1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. dataloss
  5. PreventionJobTrigger
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

gcp.dataloss.PreventionJobTrigger

Explore with Pulumi AI

gcp logo
Google Cloud Classic v7.23.0 published on Wednesday, May 15, 2024 by Pulumi

    A job trigger configuration.

    To get more information about JobTrigger, see:

    Example Usage

    Dlp Job Trigger Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const basic = new gcp.dataloss.PreventionJobTrigger("basic", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    basic = gcp.dataloss.PreventionJobTrigger("basic",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "basic", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var basic = new Gcp.DataLoss.PreventionJobTrigger("basic", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var basic = new PreventionJobTrigger("basic", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      basic:
        type: gcp:dataloss:PreventionJobTrigger
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Dlp Job Trigger Bigquery Row Limit

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const bigqueryRowLimit = new gcp.dataloss.PreventionJobTrigger("bigquery_row_limit", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                bigQueryOptions: {
                    tableReference: {
                        projectId: "project",
                        datasetId: "dataset",
                        tableId: "table_to_scan",
                    },
                    rowsLimit: 1000,
                    sampleMethod: "RANDOM_START",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    bigquery_row_limit = gcp.dataloss.PreventionJobTrigger("bigquery_row_limit",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                big_query_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs(
                    table_reference=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs(
                        project_id="project",
                        dataset_id="dataset",
                        table_id="table_to_scan",
                    ),
                    rows_limit=1000,
                    sample_method="RANDOM_START",
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "bigquery_row_limit", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					BigQueryOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs{
    						TableReference: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs{
    							ProjectId: pulumi.String("project"),
    							DatasetId: pulumi.String("dataset"),
    							TableId:   pulumi.String("table_to_scan"),
    						},
    						RowsLimit:    pulumi.Int(1000),
    						SampleMethod: pulumi.String("RANDOM_START"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var bigqueryRowLimit = new Gcp.DataLoss.PreventionJobTrigger("bigquery_row_limit", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    BigQueryOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs
                    {
                        TableReference = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs
                        {
                            ProjectId = "project",
                            DatasetId = "dataset",
                            TableId = "table_to_scan",
                        },
                        RowsLimit = 1000,
                        SampleMethod = "RANDOM_START",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var bigqueryRowLimit = new PreventionJobTrigger("bigqueryRowLimit", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .bigQueryOptions(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs.builder()
                            .tableReference(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs.builder()
                                .projectId("project")
                                .datasetId("dataset")
                                .tableId("table_to_scan")
                                .build())
                            .rowsLimit(1000)
                            .sampleMethod("RANDOM_START")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      bigqueryRowLimit:
        type: gcp:dataloss:PreventionJobTrigger
        name: bigquery_row_limit
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              bigQueryOptions:
                tableReference:
                  projectId: project
                  datasetId: dataset
                  tableId: table_to_scan
                rowsLimit: 1000
                sampleMethod: RANDOM_START
    

    Dlp Job Trigger Bigquery Row Limit Percentage

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const bigqueryRowLimitPercentage = new gcp.dataloss.PreventionJobTrigger("bigquery_row_limit_percentage", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                bigQueryOptions: {
                    tableReference: {
                        projectId: "project",
                        datasetId: "dataset",
                        tableId: "table_to_scan",
                    },
                    rowsLimitPercent: 50,
                    sampleMethod: "RANDOM_START",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    bigquery_row_limit_percentage = gcp.dataloss.PreventionJobTrigger("bigquery_row_limit_percentage",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                big_query_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs(
                    table_reference=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs(
                        project_id="project",
                        dataset_id="dataset",
                        table_id="table_to_scan",
                    ),
                    rows_limit_percent=50,
                    sample_method="RANDOM_START",
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "bigquery_row_limit_percentage", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					BigQueryOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs{
    						TableReference: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs{
    							ProjectId: pulumi.String("project"),
    							DatasetId: pulumi.String("dataset"),
    							TableId:   pulumi.String("table_to_scan"),
    						},
    						RowsLimitPercent: pulumi.Int(50),
    						SampleMethod:     pulumi.String("RANDOM_START"),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var bigqueryRowLimitPercentage = new Gcp.DataLoss.PreventionJobTrigger("bigquery_row_limit_percentage", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    BigQueryOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs
                    {
                        TableReference = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs
                        {
                            ProjectId = "project",
                            DatasetId = "dataset",
                            TableId = "table_to_scan",
                        },
                        RowsLimitPercent = 50,
                        SampleMethod = "RANDOM_START",
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var bigqueryRowLimitPercentage = new PreventionJobTrigger("bigqueryRowLimitPercentage", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .bigQueryOptions(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs.builder()
                            .tableReference(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs.builder()
                                .projectId("project")
                                .datasetId("dataset")
                                .tableId("table_to_scan")
                                .build())
                            .rowsLimitPercent(50)
                            .sampleMethod("RANDOM_START")
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      bigqueryRowLimitPercentage:
        type: gcp:dataloss:PreventionJobTrigger
        name: bigquery_row_limit_percentage
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              bigQueryOptions:
                tableReference:
                  projectId: project
                  datasetId: dataset
                  tableId: table_to_scan
                rowsLimitPercent: 50
                sampleMethod: RANDOM_START
    

    Dlp Job Trigger Job Notification Emails

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const jobNotificationEmails = new gcp.dataloss.PreventionJobTrigger("job_notification_emails", {
        parent: "projects/my-project-name",
        description: "Description for the job_trigger created by terraform",
        displayName: "TerraformDisplayName",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "sample-inspect-template",
            actions: [{
                jobNotificationEmails: {},
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    job_notification_emails = gcp.dataloss.PreventionJobTrigger("job_notification_emails",
        parent="projects/my-project-name",
        description="Description for the job_trigger created by terraform",
        display_name="TerraformDisplayName",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="sample-inspect-template",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                job_notification_emails=gcp.dataloss.PreventionJobTriggerInspectJobActionJobNotificationEmailsArgs(),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "job_notification_emails", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description for the job_trigger created by terraform"),
    			DisplayName: pulumi.String("TerraformDisplayName"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("sample-inspect-template"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						JobNotificationEmails: nil,
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var jobNotificationEmails = new Gcp.DataLoss.PreventionJobTrigger("job_notification_emails", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description for the job_trigger created by terraform",
            DisplayName = "TerraformDisplayName",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "sample-inspect-template",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        JobNotificationEmails = null,
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var jobNotificationEmails = new PreventionJobTrigger("jobNotificationEmails", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description for the job_trigger created by terraform")
                .displayName("TerraformDisplayName")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("sample-inspect-template")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .jobNotificationEmails()
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      jobNotificationEmails:
        type: gcp:dataloss:PreventionJobTrigger
        name: job_notification_emails
        properties:
          parent: projects/my-project-name
          description: Description for the job_trigger created by terraform
          displayName: TerraformDisplayName
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: sample-inspect-template
            actions:
              - jobNotificationEmails: {}
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Dlp Job Trigger Deidentify

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const _default = new gcp.bigquery.Dataset("default", {
        datasetId: "tf_test",
        friendlyName: "terraform-test",
        description: "Description for the dataset created by terraform",
        location: "US",
        defaultTableExpirationMs: 3600000,
        labels: {
            env: "default",
        },
    });
    const defaultTable = new gcp.bigquery.Table("default", {
        datasetId: _default.datasetId,
        tableId: "tf_test",
        deletionProtection: false,
        timePartitioning: {
            type: "DAY",
        },
        labels: {
            env: "default",
        },
        schema: `    [
        {
          "name": "quantity",
          "type": "NUMERIC",
          "mode": "NULLABLE",
          "description": "The quantity"
        },
        {
          "name": "name",
          "type": "STRING",
          "mode": "NULLABLE",
          "description": "Name of the object"
        }
        ]
    `,
    });
    const deidentify = new gcp.dataloss.PreventionJobTrigger("deidentify", {
        parent: "projects/my-project-name",
        description: "Description for the job_trigger created by terraform",
        displayName: "TerraformDisplayName",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "sample-inspect-template",
            actions: [{
                deidentify: {
                    cloudStorageOutput: "gs://samplebucket/dir/",
                    fileTypesToTransforms: [
                        "CSV",
                        "TSV",
                    ],
                    transformationDetailsStorageConfig: {
                        table: {
                            projectId: "my-project-name",
                            datasetId: _default.datasetId,
                            tableId: defaultTable.tableId,
                        },
                    },
                    transformationConfig: {
                        deidentifyTemplate: "sample-deidentify-template",
                        imageRedactTemplate: "sample-image-redact-template",
                        structuredDeidentifyTemplate: "sample-structured-deidentify-template",
                    },
                },
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    default = gcp.bigquery.Dataset("default",
        dataset_id="tf_test",
        friendly_name="terraform-test",
        description="Description for the dataset created by terraform",
        location="US",
        default_table_expiration_ms=3600000,
        labels={
            "env": "default",
        })
    default_table = gcp.bigquery.Table("default",
        dataset_id=default.dataset_id,
        table_id="tf_test",
        deletion_protection=False,
        time_partitioning=gcp.bigquery.TableTimePartitioningArgs(
            type="DAY",
        ),
        labels={
            "env": "default",
        },
        schema="""    [
        {
          "name": "quantity",
          "type": "NUMERIC",
          "mode": "NULLABLE",
          "description": "The quantity"
        },
        {
          "name": "name",
          "type": "STRING",
          "mode": "NULLABLE",
          "description": "Name of the object"
        }
        ]
    """)
    deidentify = gcp.dataloss.PreventionJobTrigger("deidentify",
        parent="projects/my-project-name",
        description="Description for the job_trigger created by terraform",
        display_name="TerraformDisplayName",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="sample-inspect-template",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                deidentify=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyArgs(
                    cloud_storage_output="gs://samplebucket/dir/",
                    file_types_to_transforms=[
                        "CSV",
                        "TSV",
                    ],
                    transformation_details_storage_config=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs(
                            project_id="my-project-name",
                            dataset_id=default.dataset_id,
                            table_id=default_table.table_id,
                        ),
                    ),
                    transformation_config=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs(
                        deidentify_template="sample-deidentify-template",
                        image_redact_template="sample-image-redact-template",
                        structured_deidentify_template="sample-structured-deidentify-template",
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/bigquery"
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := bigquery.NewDataset(ctx, "default", &bigquery.DatasetArgs{
    			DatasetId:                pulumi.String("tf_test"),
    			FriendlyName:             pulumi.String("terraform-test"),
    			Description:              pulumi.String("Description for the dataset created by terraform"),
    			Location:                 pulumi.String("US"),
    			DefaultTableExpirationMs: pulumi.Int(3600000),
    			Labels: pulumi.StringMap{
    				"env": pulumi.String("default"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		defaultTable, err := bigquery.NewTable(ctx, "default", &bigquery.TableArgs{
    			DatasetId:          _default.DatasetId,
    			TableId:            pulumi.String("tf_test"),
    			DeletionProtection: pulumi.Bool(false),
    			TimePartitioning: &bigquery.TableTimePartitioningArgs{
    				Type: pulumi.String("DAY"),
    			},
    			Labels: pulumi.StringMap{
    				"env": pulumi.String("default"),
    			},
    			Schema: pulumi.String(`    [
        {
          "name": "quantity",
          "type": "NUMERIC",
          "mode": "NULLABLE",
          "description": "The quantity"
        },
        {
          "name": "name",
          "type": "STRING",
          "mode": "NULLABLE",
          "description": "Name of the object"
        }
        ]
    `),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = dataloss.NewPreventionJobTrigger(ctx, "deidentify", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description for the job_trigger created by terraform"),
    			DisplayName: pulumi.String("TerraformDisplayName"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("sample-inspect-template"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						Deidentify: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyArgs{
    							CloudStorageOutput: pulumi.String("gs://samplebucket/dir/"),
    							FileTypesToTransforms: pulumi.StringArray{
    								pulumi.String("CSV"),
    								pulumi.String("TSV"),
    							},
    							TransformationDetailsStorageConfig: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs{
    									ProjectId: pulumi.String("my-project-name"),
    									DatasetId: _default.DatasetId,
    									TableId:   defaultTable.TableId,
    								},
    							},
    							TransformationConfig: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs{
    								DeidentifyTemplate:           pulumi.String("sample-deidentify-template"),
    								ImageRedactTemplate:          pulumi.String("sample-image-redact-template"),
    								StructuredDeidentifyTemplate: pulumi.String("sample-structured-deidentify-template"),
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var @default = new Gcp.BigQuery.Dataset("default", new()
        {
            DatasetId = "tf_test",
            FriendlyName = "terraform-test",
            Description = "Description for the dataset created by terraform",
            Location = "US",
            DefaultTableExpirationMs = 3600000,
            Labels = 
            {
                { "env", "default" },
            },
        });
    
        var defaultTable = new Gcp.BigQuery.Table("default", new()
        {
            DatasetId = @default.DatasetId,
            TableId = "tf_test",
            DeletionProtection = false,
            TimePartitioning = new Gcp.BigQuery.Inputs.TableTimePartitioningArgs
            {
                Type = "DAY",
            },
            Labels = 
            {
                { "env", "default" },
            },
            Schema = @"    [
        {
          ""name"": ""quantity"",
          ""type"": ""NUMERIC"",
          ""mode"": ""NULLABLE"",
          ""description"": ""The quantity""
        },
        {
          ""name"": ""name"",
          ""type"": ""STRING"",
          ""mode"": ""NULLABLE"",
          ""description"": ""Name of the object""
        }
        ]
    ",
        });
    
        var deidentify = new Gcp.DataLoss.PreventionJobTrigger("deidentify", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description for the job_trigger created by terraform",
            DisplayName = "TerraformDisplayName",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "sample-inspect-template",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        Deidentify = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyArgs
                        {
                            CloudStorageOutput = "gs://samplebucket/dir/",
                            FileTypesToTransforms = new[]
                            {
                                "CSV",
                                "TSV",
                            },
                            TransformationDetailsStorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs
                                {
                                    ProjectId = "my-project-name",
                                    DatasetId = @default.DatasetId,
                                    TableId = defaultTable.TableId,
                                },
                            },
                            TransformationConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs
                            {
                                DeidentifyTemplate = "sample-deidentify-template",
                                ImageRedactTemplate = "sample-image-redact-template",
                                StructuredDeidentifyTemplate = "sample-structured-deidentify-template",
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.bigquery.Dataset;
    import com.pulumi.gcp.bigquery.DatasetArgs;
    import com.pulumi.gcp.bigquery.Table;
    import com.pulumi.gcp.bigquery.TableArgs;
    import com.pulumi.gcp.bigquery.inputs.TableTimePartitioningArgs;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var default_ = new Dataset("default", DatasetArgs.builder()        
                .datasetId("tf_test")
                .friendlyName("terraform-test")
                .description("Description for the dataset created by terraform")
                .location("US")
                .defaultTableExpirationMs(3600000)
                .labels(Map.of("env", "default"))
                .build());
    
            var defaultTable = new Table("defaultTable", TableArgs.builder()        
                .datasetId(default_.datasetId())
                .tableId("tf_test")
                .deletionProtection(false)
                .timePartitioning(TableTimePartitioningArgs.builder()
                    .type("DAY")
                    .build())
                .labels(Map.of("env", "default"))
                .schema("""
        [
        {
          "name": "quantity",
          "type": "NUMERIC",
          "mode": "NULLABLE",
          "description": "The quantity"
        },
        {
          "name": "name",
          "type": "STRING",
          "mode": "NULLABLE",
          "description": "Name of the object"
        }
        ]
                """)
                .build());
    
            var deidentify = new PreventionJobTrigger("deidentify", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description for the job_trigger created by terraform")
                .displayName("TerraformDisplayName")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("sample-inspect-template")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .deidentify(PreventionJobTriggerInspectJobActionDeidentifyArgs.builder()
                            .cloudStorageOutput("gs://samplebucket/dir/")
                            .fileTypesToTransforms(                        
                                "CSV",
                                "TSV")
                            .transformationDetailsStorageConfig(PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs.builder()
                                    .projectId("my-project-name")
                                    .datasetId(default_.datasetId())
                                    .tableId(defaultTable.tableId())
                                    .build())
                                .build())
                            .transformationConfig(PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs.builder()
                                .deidentifyTemplate("sample-deidentify-template")
                                .imageRedactTemplate("sample-image-redact-template")
                                .structuredDeidentifyTemplate("sample-structured-deidentify-template")
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      deidentify:
        type: gcp:dataloss:PreventionJobTrigger
        properties:
          parent: projects/my-project-name
          description: Description for the job_trigger created by terraform
          displayName: TerraformDisplayName
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: sample-inspect-template
            actions:
              - deidentify:
                  cloudStorageOutput: gs://samplebucket/dir/
                  fileTypesToTransforms:
                    - CSV
                    - TSV
                  transformationDetailsStorageConfig:
                    table:
                      projectId: my-project-name
                      datasetId: ${default.datasetId}
                      tableId: ${defaultTable.tableId}
                  transformationConfig:
                    deidentifyTemplate: sample-deidentify-template
                    imageRedactTemplate: sample-image-redact-template
                    structuredDeidentifyTemplate: sample-structured-deidentify-template
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
      default:
        type: gcp:bigquery:Dataset
        properties:
          datasetId: tf_test
          friendlyName: terraform-test
          description: Description for the dataset created by terraform
          location: US
          defaultTableExpirationMs: 3.6e+06
          labels:
            env: default
      defaultTable:
        type: gcp:bigquery:Table
        name: default
        properties:
          datasetId: ${default.datasetId}
          tableId: tf_test
          deletionProtection: false
          timePartitioning:
            type: DAY
          labels:
            env: default
          schema: |2
                [
                {
                  "name": "quantity",
                  "type": "NUMERIC",
                  "mode": "NULLABLE",
                  "description": "The quantity"
                },
                {
                  "name": "name",
                  "type": "STRING",
                  "mode": "NULLABLE",
                  "description": "Name of the object"
                }
                ]
    

    Dlp Job Trigger Hybrid

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const hybridTrigger = new gcp.dataloss.PreventionJobTrigger("hybrid_trigger", {
        parent: "projects/my-project-name",
        triggers: [{
            manual: {},
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                hybridOptions: {
                    description: "Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings",
                    requiredFindingLabelKeys: ["appointment-bookings-comments"],
                    labels: {
                        env: "prod",
                    },
                    tableOptions: {
                        identifyingFields: [{
                            name: "booking_id",
                        }],
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    hybrid_trigger = gcp.dataloss.PreventionJobTrigger("hybrid_trigger",
        parent="projects/my-project-name",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            manual=gcp.dataloss.PreventionJobTriggerTriggerManualArgs(),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                hybrid_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs(
                    description="Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings",
                    required_finding_label_keys=["appointment-bookings-comments"],
                    labels={
                        "env": "prod",
                    },
                    table_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs(
                        identifying_fields=[gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs(
                            name="booking_id",
                        )],
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "hybrid_trigger", &dataloss.PreventionJobTriggerArgs{
    			Parent: pulumi.String("projects/my-project-name"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Manual: nil,
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					HybridOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs{
    						Description: pulumi.String("Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings"),
    						RequiredFindingLabelKeys: pulumi.StringArray{
    							pulumi.String("appointment-bookings-comments"),
    						},
    						Labels: pulumi.StringMap{
    							"env": pulumi.String("prod"),
    						},
    						TableOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs{
    							IdentifyingFields: dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArray{
    								&dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs{
    									Name: pulumi.String("booking_id"),
    								},
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var hybridTrigger = new Gcp.DataLoss.PreventionJobTrigger("hybrid_trigger", new()
        {
            Parent = "projects/my-project-name",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Manual = null,
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    HybridOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs
                    {
                        Description = "Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings",
                        RequiredFindingLabelKeys = new[]
                        {
                            "appointment-bookings-comments",
                        },
                        Labels = 
                        {
                            { "env", "prod" },
                        },
                        TableOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs
                        {
                            IdentifyingFields = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs
                                {
                                    Name = "booking_id",
                                },
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerManualArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var hybridTrigger = new PreventionJobTrigger("hybridTrigger", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .manual()
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .hybridOptions(PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs.builder()
                            .description("Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings")
                            .requiredFindingLabelKeys("appointment-bookings-comments")
                            .labels(Map.of("env", "prod"))
                            .tableOptions(PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs.builder()
                                .identifyingFields(PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs.builder()
                                    .name("booking_id")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      hybridTrigger:
        type: gcp:dataloss:PreventionJobTrigger
        name: hybrid_trigger
        properties:
          parent: projects/my-project-name
          triggers:
            - manual: {}
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              hybridOptions:
                description: Hybrid job trigger for data from the comments field of a table that contains customer appointment bookings
                requiredFindingLabelKeys:
                  - appointment-bookings-comments
                labels:
                  env: prod
                tableOptions:
                  identifyingFields:
                    - name: booking_id
    

    Dlp Job Trigger Inspect

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const inspect = new gcp.dataloss.PreventionJobTrigger("inspect", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
            inspectConfig: {
                customInfoTypes: [{
                    infoType: {
                        name: "MY_CUSTOM_TYPE",
                    },
                    likelihood: "UNLIKELY",
                    regex: {
                        pattern: "test*",
                    },
                }],
                infoTypes: [{
                    name: "EMAIL_ADDRESS",
                }],
                minLikelihood: "UNLIKELY",
                ruleSets: [
                    {
                        infoTypes: [{
                            name: "EMAIL_ADDRESS",
                        }],
                        rules: [{
                            exclusionRule: {
                                regex: {
                                    pattern: ".+@example.com",
                                },
                                matchingType: "MATCHING_TYPE_FULL_MATCH",
                            },
                        }],
                    },
                    {
                        infoTypes: [{
                            name: "MY_CUSTOM_TYPE",
                        }],
                        rules: [{
                            hotwordRule: {
                                hotwordRegex: {
                                    pattern: "example*",
                                },
                                proximity: {
                                    windowBefore: 50,
                                },
                                likelihoodAdjustment: {
                                    fixedLikelihood: "VERY_LIKELY",
                                },
                            },
                        }],
                    },
                ],
                limits: {
                    maxFindingsPerItem: 10,
                    maxFindingsPerRequest: 50,
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    inspect = gcp.dataloss.PreventionJobTrigger("inspect",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
            inspect_config=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigArgs(
                custom_info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs(
                    info_type=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs(
                        name="MY_CUSTOM_TYPE",
                    ),
                    likelihood="UNLIKELY",
                    regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs(
                        pattern="test*",
                    ),
                )],
                info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs(
                    name="EMAIL_ADDRESS",
                )],
                min_likelihood="UNLIKELY",
                rule_sets=[
                    gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs(
                        info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs(
                            name="EMAIL_ADDRESS",
                        )],
                        rules=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs(
                            exclusion_rule=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs(
                                regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs(
                                    pattern=".+@example.com",
                                ),
                                matching_type="MATCHING_TYPE_FULL_MATCH",
                            ),
                        )],
                    ),
                    gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs(
                        info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs(
                            name="MY_CUSTOM_TYPE",
                        )],
                        rules=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs(
                            hotword_rule=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs(
                                hotword_regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs(
                                    pattern="example*",
                                ),
                                proximity=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs(
                                    window_before=50,
                                ),
                                likelihood_adjustment=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs(
                                    fixed_likelihood="VERY_LIKELY",
                                ),
                            ),
                        )],
                    ),
                ],
                limits=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsArgs(
                    max_findings_per_item=10,
                    max_findings_per_request=50,
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "inspect", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    				InspectConfig: &dataloss.PreventionJobTriggerInspectJobInspectConfigArgs{
    					CustomInfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArray{
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs{
    							InfoType: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs{
    								Name: pulumi.String("MY_CUSTOM_TYPE"),
    							},
    							Likelihood: pulumi.String("UNLIKELY"),
    							Regex: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs{
    								Pattern: pulumi.String("test*"),
    							},
    						},
    					},
    					InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArray{
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs{
    							Name: pulumi.String("EMAIL_ADDRESS"),
    						},
    					},
    					MinLikelihood: pulumi.String("UNLIKELY"),
    					RuleSets: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArray{
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs{
    							InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArray{
    								&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs{
    									Name: pulumi.String("EMAIL_ADDRESS"),
    								},
    							},
    							Rules: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArray{
    								&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs{
    									ExclusionRule: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs{
    										Regex: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs{
    											Pattern: pulumi.String(".+@example.com"),
    										},
    										MatchingType: pulumi.String("MATCHING_TYPE_FULL_MATCH"),
    									},
    								},
    							},
    						},
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs{
    							InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArray{
    								&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs{
    									Name: pulumi.String("MY_CUSTOM_TYPE"),
    								},
    							},
    							Rules: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArray{
    								&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs{
    									HotwordRule: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs{
    										HotwordRegex: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs{
    											Pattern: pulumi.String("example*"),
    										},
    										Proximity: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs{
    											WindowBefore: pulumi.Int(50),
    										},
    										LikelihoodAdjustment: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs{
    											FixedLikelihood: pulumi.String("VERY_LIKELY"),
    										},
    									},
    								},
    							},
    						},
    					},
    					Limits: &dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsArgs{
    						MaxFindingsPerItem:    pulumi.Int(10),
    						MaxFindingsPerRequest: pulumi.Int(50),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var inspect = new Gcp.DataLoss.PreventionJobTrigger("inspect", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
                InspectConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigArgs
                {
                    CustomInfoTypes = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs
                        {
                            InfoType = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs
                            {
                                Name = "MY_CUSTOM_TYPE",
                            },
                            Likelihood = "UNLIKELY",
                            Regex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs
                            {
                                Pattern = "test*",
                            },
                        },
                    },
                    InfoTypes = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs
                        {
                            Name = "EMAIL_ADDRESS",
                        },
                    },
                    MinLikelihood = "UNLIKELY",
                    RuleSets = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs
                        {
                            InfoTypes = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs
                                {
                                    Name = "EMAIL_ADDRESS",
                                },
                            },
                            Rules = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs
                                {
                                    ExclusionRule = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs
                                    {
                                        Regex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs
                                        {
                                            Pattern = ".+@example.com",
                                        },
                                        MatchingType = "MATCHING_TYPE_FULL_MATCH",
                                    },
                                },
                            },
                        },
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs
                        {
                            InfoTypes = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs
                                {
                                    Name = "MY_CUSTOM_TYPE",
                                },
                            },
                            Rules = new[]
                            {
                                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs
                                {
                                    HotwordRule = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs
                                    {
                                        HotwordRegex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs
                                        {
                                            Pattern = "example*",
                                        },
                                        Proximity = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs
                                        {
                                            WindowBefore = 50,
                                        },
                                        LikelihoodAdjustment = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs
                                        {
                                            FixedLikelihood = "VERY_LIKELY",
                                        },
                                    },
                                },
                            },
                        },
                    },
                    Limits = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigLimitsArgs
                    {
                        MaxFindingsPerItem = 10,
                        MaxFindingsPerRequest = 50,
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobInspectConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobInspectConfigLimitsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var inspect = new PreventionJobTrigger("inspect", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .inspectConfig(PreventionJobTriggerInspectJobInspectConfigArgs.builder()
                        .customInfoTypes(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs.builder()
                            .infoType(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs.builder()
                                .name("MY_CUSTOM_TYPE")
                                .build())
                            .likelihood("UNLIKELY")
                            .regex(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs.builder()
                                .pattern("test*")
                                .build())
                            .build())
                        .infoTypes(PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs.builder()
                            .name("EMAIL_ADDRESS")
                            .build())
                        .minLikelihood("UNLIKELY")
                        .ruleSets(                    
                            PreventionJobTriggerInspectJobInspectConfigRuleSetArgs.builder()
                                .infoTypes(PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs.builder()
                                    .name("EMAIL_ADDRESS")
                                    .build())
                                .rules(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs.builder()
                                    .exclusionRule(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs.builder()
                                        .regex(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs.builder()
                                            .pattern(".+@example.com")
                                            .build())
                                        .matchingType("MATCHING_TYPE_FULL_MATCH")
                                        .build())
                                    .build())
                                .build(),
                            PreventionJobTriggerInspectJobInspectConfigRuleSetArgs.builder()
                                .infoTypes(PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs.builder()
                                    .name("MY_CUSTOM_TYPE")
                                    .build())
                                .rules(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs.builder()
                                    .hotwordRule(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs.builder()
                                        .hotwordRegex(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs.builder()
                                            .pattern("example*")
                                            .build())
                                        .proximity(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs.builder()
                                            .windowBefore(50)
                                            .build())
                                        .likelihoodAdjustment(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs.builder()
                                            .fixedLikelihood("VERY_LIKELY")
                                            .build())
                                        .build())
                                    .build())
                                .build())
                        .limits(PreventionJobTriggerInspectJobInspectConfigLimitsArgs.builder()
                            .maxFindingsPerItem(10)
                            .maxFindingsPerRequest(50)
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      inspect:
        type: gcp:dataloss:PreventionJobTrigger
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
            inspectConfig:
              customInfoTypes:
                - infoType:
                    name: MY_CUSTOM_TYPE
                  likelihood: UNLIKELY
                  regex:
                    pattern: test*
              infoTypes:
                - name: EMAIL_ADDRESS
              minLikelihood: UNLIKELY
              ruleSets:
                - infoTypes:
                    - name: EMAIL_ADDRESS
                  rules:
                    - exclusionRule:
                        regex:
                          pattern: .+@example.com
                        matchingType: MATCHING_TYPE_FULL_MATCH
                - infoTypes:
                    - name: MY_CUSTOM_TYPE
                  rules:
                    - hotwordRule:
                        hotwordRegex:
                          pattern: example*
                        proximity:
                          windowBefore: 50
                        likelihoodAdjustment:
                          fixedLikelihood: VERY_LIKELY
              limits:
                maxFindingsPerItem: 10
                maxFindingsPerRequest: 50
    

    Dlp Job Trigger Publish To Stackdriver

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const publishToStackdriver = new gcp.dataloss.PreventionJobTrigger("publish_to_stackdriver", {
        parent: "projects/my-project-name",
        description: "Description for the job_trigger created by terraform",
        displayName: "TerraformDisplayName",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "sample-inspect-template",
            actions: [{
                publishToStackdriver: {},
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    publish_to_stackdriver = gcp.dataloss.PreventionJobTrigger("publish_to_stackdriver",
        parent="projects/my-project-name",
        description="Description for the job_trigger created by terraform",
        display_name="TerraformDisplayName",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="sample-inspect-template",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                publish_to_stackdriver=gcp.dataloss.PreventionJobTriggerInspectJobActionPublishToStackdriverArgs(),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "publish_to_stackdriver", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description for the job_trigger created by terraform"),
    			DisplayName: pulumi.String("TerraformDisplayName"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("sample-inspect-template"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						PublishToStackdriver: nil,
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var publishToStackdriver = new Gcp.DataLoss.PreventionJobTrigger("publish_to_stackdriver", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description for the job_trigger created by terraform",
            DisplayName = "TerraformDisplayName",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "sample-inspect-template",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        PublishToStackdriver = null,
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var publishToStackdriver = new PreventionJobTrigger("publishToStackdriver", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description for the job_trigger created by terraform")
                .displayName("TerraformDisplayName")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("sample-inspect-template")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .publishToStackdriver()
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      publishToStackdriver:
        type: gcp:dataloss:PreventionJobTrigger
        name: publish_to_stackdriver
        properties:
          parent: projects/my-project-name
          description: Description for the job_trigger created by terraform
          displayName: TerraformDisplayName
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: sample-inspect-template
            actions:
              - publishToStackdriver: {}
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Dlp Job Trigger With Id

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const withTriggerId = new gcp.dataloss.PreventionJobTrigger("with_trigger_id", {
        parent: "projects/my-project-name",
        description: "Starting description",
        displayName: "display",
        triggerId: "id-",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset123",
                        },
                    },
                },
            }],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    with_trigger_id = gcp.dataloss.PreventionJobTrigger("with_trigger_id",
        parent="projects/my-project-name",
        description="Starting description",
        display_name="display",
        trigger_id="id-",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset123",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "with_trigger_id", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Starting description"),
    			DisplayName: pulumi.String("display"),
    			TriggerId:   pulumi.String("id-"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset123"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var withTriggerId = new Gcp.DataLoss.PreventionJobTrigger("with_trigger_id", new()
        {
            Parent = "projects/my-project-name",
            Description = "Starting description",
            DisplayName = "display",
            TriggerId = "id-",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset123",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var withTriggerId = new PreventionJobTrigger("withTriggerId", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Starting description")
                .displayName("display")
                .triggerId("id-")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset123")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      withTriggerId:
        type: gcp:dataloss:PreventionJobTrigger
        name: with_trigger_id
        properties:
          parent: projects/my-project-name
          description: Starting description
          displayName: display
          triggerId: id-
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset123
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Dlp Job Trigger Multiple Actions

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const basic = new gcp.dataloss.PreventionJobTrigger("basic", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [
                {
                    saveFindings: {
                        outputConfig: {
                            table: {
                                projectId: "project",
                                datasetId: "dataset",
                            },
                        },
                    },
                },
                {
                    pubSub: {
                        topic: "projects/project/topics/topic-name",
                    },
                },
            ],
            storageConfig: {
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    basic = gcp.dataloss.PreventionJobTrigger("basic",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[
                gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                    save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                        output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                            table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                                project_id="project",
                                dataset_id="dataset",
                            ),
                        ),
                    ),
                ),
                gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                    pub_sub=gcp.dataloss.PreventionJobTriggerInspectJobActionPubSubArgs(
                        topic="projects/project/topics/topic-name",
                    ),
                ),
            ],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "basic", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						PubSub: &dataloss.PreventionJobTriggerInspectJobActionPubSubArgs{
    							Topic: pulumi.String("projects/project/topics/topic-name"),
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var basic = new Gcp.DataLoss.PreventionJobTrigger("basic", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        PubSub = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionPubSubArgs
                        {
                            Topic = "projects/project/topics/topic-name",
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var basic = new PreventionJobTrigger("basic", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(                
                        PreventionJobTriggerInspectJobActionArgs.builder()
                            .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                                .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                    .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                        .projectId("project")
                                        .datasetId("dataset")
                                        .build())
                                    .build())
                                .build())
                            .build(),
                        PreventionJobTriggerInspectJobActionArgs.builder()
                            .pubSub(PreventionJobTriggerInspectJobActionPubSubArgs.builder()
                                .topic("projects/project/topics/topic-name")
                                .build())
                            .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      basic:
        type: gcp:dataloss:PreventionJobTrigger
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
              - pubSub:
                  topic: projects/project/topics/topic-name
            storageConfig:
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Dlp Job Trigger Cloud Storage Optional Timespan Autopopulation

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const basic = new gcp.dataloss.PreventionJobTrigger("basic", {
        parent: "projects/my-project-name",
        description: "Description",
        displayName: "Displayname",
        triggers: [{
            schedule: {
                recurrencePeriodDuration: "86400s",
            },
        }],
        inspectJob: {
            inspectTemplateName: "fake",
            actions: [{
                saveFindings: {
                    outputConfig: {
                        table: {
                            projectId: "project",
                            datasetId: "dataset",
                        },
                    },
                },
            }],
            storageConfig: {
                timespanConfig: {
                    enableAutoPopulationOfTimespanConfig: true,
                },
                cloudStorageOptions: {
                    fileSet: {
                        url: "gs://mybucket/directory/",
                    },
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    basic = gcp.dataloss.PreventionJobTrigger("basic",
        parent="projects/my-project-name",
        description="Description",
        display_name="Displayname",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="86400s",
            ),
        )],
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            inspect_template_name="fake",
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            project_id="project",
                            dataset_id="dataset",
                        ),
                    ),
                ),
            )],
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                timespan_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs(
                    enable_auto_population_of_timespan_config=True,
                ),
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        url="gs://mybucket/directory/",
                    ),
                ),
            ),
        ))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/dataloss"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := dataloss.NewPreventionJobTrigger(ctx, "basic", &dataloss.PreventionJobTriggerArgs{
    			Parent:      pulumi.String("projects/my-project-name"),
    			Description: pulumi.String("Description"),
    			DisplayName: pulumi.String("Displayname"),
    			Triggers: dataloss.PreventionJobTriggerTriggerArray{
    				&dataloss.PreventionJobTriggerTriggerArgs{
    					Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    						RecurrencePeriodDuration: pulumi.String("86400s"),
    					},
    				},
    			},
    			InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    				InspectTemplateName: pulumi.String("fake"),
    				Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    					&dataloss.PreventionJobTriggerInspectJobActionArgs{
    						SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    							OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    								Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    									ProjectId: pulumi.String("project"),
    									DatasetId: pulumi.String("dataset"),
    								},
    							},
    						},
    					},
    				},
    				StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    					TimespanConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs{
    						EnableAutoPopulationOfTimespanConfig: pulumi.Bool(true),
    					},
    					CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    						FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    							Url: pulumi.String("gs://mybucket/directory/"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var basic = new Gcp.DataLoss.PreventionJobTrigger("basic", new()
        {
            Parent = "projects/my-project-name",
            Description = "Description",
            DisplayName = "Displayname",
            Triggers = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
                {
                    Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                    {
                        RecurrencePeriodDuration = "86400s",
                    },
                },
            },
            InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
            {
                InspectTemplateName = "fake",
                Actions = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                    {
                        SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                        {
                            OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                            {
                                Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                                {
                                    ProjectId = "project",
                                    DatasetId = "dataset",
                                },
                            },
                        },
                    },
                },
                StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
                {
                    TimespanConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs
                    {
                        EnableAutoPopulationOfTimespanConfig = true,
                    },
                    CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                    {
                        FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                        {
                            Url = "gs://mybucket/directory/",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.dataloss.PreventionJobTrigger;
    import com.pulumi.gcp.dataloss.PreventionJobTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerTriggerScheduleArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs;
    import com.pulumi.gcp.dataloss.inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var basic = new PreventionJobTrigger("basic", PreventionJobTriggerArgs.builder()        
                .parent("projects/my-project-name")
                .description("Description")
                .displayName("Displayname")
                .triggers(PreventionJobTriggerTriggerArgs.builder()
                    .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                        .recurrencePeriodDuration("86400s")
                        .build())
                    .build())
                .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
                    .inspectTemplateName("fake")
                    .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                        .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                            .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                                .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                                    .projectId("project")
                                    .datasetId("dataset")
                                    .build())
                                .build())
                            .build())
                        .build())
                    .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                        .timespanConfig(PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs.builder()
                            .enableAutoPopulationOfTimespanConfig(true)
                            .build())
                        .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                            .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                                .url("gs://mybucket/directory/")
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      basic:
        type: gcp:dataloss:PreventionJobTrigger
        properties:
          parent: projects/my-project-name
          description: Description
          displayName: Displayname
          triggers:
            - schedule:
                recurrencePeriodDuration: 86400s
          inspectJob:
            inspectTemplateName: fake
            actions:
              - saveFindings:
                  outputConfig:
                    table:
                      projectId: project
                      datasetId: dataset
            storageConfig:
              timespanConfig:
                enableAutoPopulationOfTimespanConfig: true
              cloudStorageOptions:
                fileSet:
                  url: gs://mybucket/directory/
    

    Create PreventionJobTrigger Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PreventionJobTrigger(name: string, args: PreventionJobTriggerArgs, opts?: CustomResourceOptions);
    @overload
    def PreventionJobTrigger(resource_name: str,
                             args: PreventionJobTriggerArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def PreventionJobTrigger(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             parent: Optional[str] = None,
                             triggers: Optional[Sequence[PreventionJobTriggerTriggerArgs]] = None,
                             description: Optional[str] = None,
                             display_name: Optional[str] = None,
                             inspect_job: Optional[PreventionJobTriggerInspectJobArgs] = None,
                             status: Optional[str] = None,
                             trigger_id: Optional[str] = None)
    func NewPreventionJobTrigger(ctx *Context, name string, args PreventionJobTriggerArgs, opts ...ResourceOption) (*PreventionJobTrigger, error)
    public PreventionJobTrigger(string name, PreventionJobTriggerArgs args, CustomResourceOptions? opts = null)
    public PreventionJobTrigger(String name, PreventionJobTriggerArgs args)
    public PreventionJobTrigger(String name, PreventionJobTriggerArgs args, CustomResourceOptions options)
    
    type: gcp:dataloss:PreventionJobTrigger
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PreventionJobTriggerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PreventionJobTriggerArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PreventionJobTriggerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PreventionJobTriggerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PreventionJobTriggerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var preventionJobTriggerResource = new Gcp.DataLoss.PreventionJobTrigger("preventionJobTriggerResource", new()
    {
        Parent = "string",
        Triggers = new[]
        {
            new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerArgs
            {
                Manual = null,
                Schedule = new Gcp.DataLoss.Inputs.PreventionJobTriggerTriggerScheduleArgs
                {
                    RecurrencePeriodDuration = "string",
                },
            },
        },
        Description = "string",
        DisplayName = "string",
        InspectJob = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobArgs
        {
            StorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigArgs
            {
                BigQueryOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs
                {
                    TableReference = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs
                    {
                        DatasetId = "string",
                        ProjectId = "string",
                        TableId = "string",
                    },
                    ExcludedFields = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsExcludedFieldArgs
                        {
                            Name = "string",
                        },
                    },
                    IdentifyingFields = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIdentifyingFieldArgs
                        {
                            Name = "string",
                        },
                    },
                    IncludedFields = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIncludedFieldArgs
                        {
                            Name = "string",
                        },
                    },
                    RowsLimit = 0,
                    RowsLimitPercent = 0,
                    SampleMethod = "string",
                },
                CloudStorageOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs
                {
                    FileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs
                    {
                        RegexFileSet = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSetArgs
                        {
                            BucketName = "string",
                            ExcludeRegexes = new[]
                            {
                                "string",
                            },
                            IncludeRegexes = new[]
                            {
                                "string",
                            },
                        },
                        Url = "string",
                    },
                    BytesLimitPerFile = 0,
                    BytesLimitPerFilePercent = 0,
                    FileTypes = new[]
                    {
                        "string",
                    },
                    FilesLimitPercent = 0,
                    SampleMethod = "string",
                },
                DatastoreOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsArgs
                {
                    Kind = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKindArgs
                    {
                        Name = "string",
                    },
                    PartitionId = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionIdArgs
                    {
                        ProjectId = "string",
                        NamespaceId = "string",
                    },
                },
                HybridOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs
                {
                    Description = "string",
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    RequiredFindingLabelKeys = new[]
                    {
                        "string",
                    },
                    TableOptions = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs
                    {
                        IdentifyingFields = new[]
                        {
                            new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs
                            {
                                Name = "string",
                            },
                        },
                    },
                },
                TimespanConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs
                {
                    EnableAutoPopulationOfTimespanConfig = false,
                    EndTime = "string",
                    StartTime = "string",
                    TimestampField = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampFieldArgs
                    {
                        Name = "string",
                    },
                },
            },
            Actions = new[]
            {
                new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionArgs
                {
                    Deidentify = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyArgs
                    {
                        CloudStorageOutput = "string",
                        FileTypesToTransforms = new[]
                        {
                            "string",
                        },
                        TransformationConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs
                        {
                            DeidentifyTemplate = "string",
                            ImageRedactTemplate = "string",
                            StructuredDeidentifyTemplate = "string",
                        },
                        TransformationDetailsStorageConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs
                        {
                            Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs
                            {
                                DatasetId = "string",
                                ProjectId = "string",
                                TableId = "string",
                            },
                        },
                    },
                    JobNotificationEmails = null,
                    PubSub = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionPubSubArgs
                    {
                        Topic = "string",
                    },
                    PublishFindingsToCloudDataCatalog = null,
                    PublishSummaryToCscc = null,
                    PublishToStackdriver = null,
                    SaveFindings = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsArgs
                    {
                        OutputConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs
                        {
                            Table = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs
                            {
                                DatasetId = "string",
                                ProjectId = "string",
                                TableId = "string",
                            },
                            OutputSchema = "string",
                        },
                    },
                },
            },
            InspectConfig = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigArgs
            {
                CustomInfoTypes = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs
                    {
                        InfoType = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs
                        {
                            Name = "string",
                            SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeSensitivityScoreArgs
                            {
                                Score = "string",
                            },
                            Version = "string",
                        },
                        Dictionary = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryArgs
                        {
                            CloudStoragePath = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryCloudStoragePathArgs
                            {
                                Path = "string",
                            },
                            WordList = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryWordListArgs
                            {
                                Words = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        ExclusionType = "string",
                        Likelihood = "string",
                        Regex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs
                        {
                            Pattern = "string",
                            GroupIndexes = new[]
                            {
                                0,
                            },
                        },
                        SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeSensitivityScoreArgs
                        {
                            Score = "string",
                        },
                        StoredType = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeStoredTypeArgs
                        {
                            Name = "string",
                            CreateTime = "string",
                        },
                        SurrogateType = null,
                    },
                },
                ExcludeInfoTypes = false,
                IncludeQuote = false,
                InfoTypes = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs
                    {
                        Name = "string",
                        SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigInfoTypeSensitivityScoreArgs
                        {
                            Score = "string",
                        },
                        Version = "string",
                    },
                },
                Limits = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigLimitsArgs
                {
                    MaxFindingsPerInfoTypes = new[]
                    {
                        new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeArgs
                        {
                            InfoType = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeArgs
                            {
                                Name = "string",
                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSensitivityScoreArgs
                                {
                                    Score = "string",
                                },
                                Version = "string",
                            },
                            MaxFindings = 0,
                        },
                    },
                    MaxFindingsPerItem = 0,
                    MaxFindingsPerRequest = 0,
                },
                MinLikelihood = "string",
                RuleSets = new[]
                {
                    new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs
                    {
                        Rules = new[]
                        {
                            new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs
                            {
                                ExclusionRule = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs
                                {
                                    MatchingType = "string",
                                    Dictionary = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryArgs
                                    {
                                        CloudStoragePath = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryCloudStoragePathArgs
                                        {
                                            Path = "string",
                                        },
                                        WordList = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryWordListArgs
                                        {
                                            Words = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    ExcludeByHotword = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordArgs
                                    {
                                        HotwordRegex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordHotwordRegexArgs
                                        {
                                            GroupIndexes = new[]
                                            {
                                                0,
                                            },
                                            Pattern = "string",
                                        },
                                        Proximity = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordProximityArgs
                                        {
                                            WindowAfter = 0,
                                            WindowBefore = 0,
                                        },
                                    },
                                    ExcludeInfoTypes = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesArgs
                                    {
                                        InfoTypes = new[]
                                        {
                                            new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeArgs
                                            {
                                                Name = "string",
                                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeSensitivityScoreArgs
                                                {
                                                    Score = "string",
                                                },
                                                Version = "string",
                                            },
                                        },
                                    },
                                    Regex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs
                                    {
                                        Pattern = "string",
                                        GroupIndexes = new[]
                                        {
                                            0,
                                        },
                                    },
                                },
                                HotwordRule = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs
                                {
                                    HotwordRegex = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs
                                    {
                                        GroupIndexes = new[]
                                        {
                                            0,
                                        },
                                        Pattern = "string",
                                    },
                                    LikelihoodAdjustment = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs
                                    {
                                        FixedLikelihood = "string",
                                        RelativeLikelihood = 0,
                                    },
                                    Proximity = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs
                                    {
                                        WindowAfter = 0,
                                        WindowBefore = 0,
                                    },
                                },
                            },
                        },
                        InfoTypes = new[]
                        {
                            new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs
                            {
                                Name = "string",
                                SensitivityScore = new Gcp.DataLoss.Inputs.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeSensitivityScoreArgs
                                {
                                    Score = "string",
                                },
                                Version = "string",
                            },
                        },
                    },
                },
            },
            InspectTemplateName = "string",
        },
        Status = "string",
        TriggerId = "string",
    });
    
    example, err := dataloss.NewPreventionJobTrigger(ctx, "preventionJobTriggerResource", &dataloss.PreventionJobTriggerArgs{
    	Parent: pulumi.String("string"),
    	Triggers: dataloss.PreventionJobTriggerTriggerArray{
    		&dataloss.PreventionJobTriggerTriggerArgs{
    			Manual: nil,
    			Schedule: &dataloss.PreventionJobTriggerTriggerScheduleArgs{
    				RecurrencePeriodDuration: pulumi.String("string"),
    			},
    		},
    	},
    	Description: pulumi.String("string"),
    	DisplayName: pulumi.String("string"),
    	InspectJob: &dataloss.PreventionJobTriggerInspectJobArgs{
    		StorageConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigArgs{
    			BigQueryOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs{
    				TableReference: &dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs{
    					DatasetId: pulumi.String("string"),
    					ProjectId: pulumi.String("string"),
    					TableId:   pulumi.String("string"),
    				},
    				ExcludedFields: dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsExcludedFieldArray{
    					&dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsExcludedFieldArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				IdentifyingFields: dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIdentifyingFieldArray{
    					&dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIdentifyingFieldArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				IncludedFields: dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIncludedFieldArray{
    					&dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIncludedFieldArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				RowsLimit:        pulumi.Int(0),
    				RowsLimitPercent: pulumi.Int(0),
    				SampleMethod:     pulumi.String("string"),
    			},
    			CloudStorageOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs{
    				FileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs{
    					RegexFileSet: &dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSetArgs{
    						BucketName: pulumi.String("string"),
    						ExcludeRegexes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						IncludeRegexes: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Url: pulumi.String("string"),
    				},
    				BytesLimitPerFile:        pulumi.Int(0),
    				BytesLimitPerFilePercent: pulumi.Int(0),
    				FileTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				FilesLimitPercent: pulumi.Int(0),
    				SampleMethod:      pulumi.String("string"),
    			},
    			DatastoreOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsArgs{
    				Kind: &dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKindArgs{
    					Name: pulumi.String("string"),
    				},
    				PartitionId: &dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionIdArgs{
    					ProjectId:   pulumi.String("string"),
    					NamespaceId: pulumi.String("string"),
    				},
    			},
    			HybridOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs{
    				Description: pulumi.String("string"),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				RequiredFindingLabelKeys: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				TableOptions: &dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs{
    					IdentifyingFields: dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArray{
    						&dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs{
    							Name: pulumi.String("string"),
    						},
    					},
    				},
    			},
    			TimespanConfig: &dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs{
    				EnableAutoPopulationOfTimespanConfig: pulumi.Bool(false),
    				EndTime:                              pulumi.String("string"),
    				StartTime:                            pulumi.String("string"),
    				TimestampField: &dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampFieldArgs{
    					Name: pulumi.String("string"),
    				},
    			},
    		},
    		Actions: dataloss.PreventionJobTriggerInspectJobActionArray{
    			&dataloss.PreventionJobTriggerInspectJobActionArgs{
    				Deidentify: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyArgs{
    					CloudStorageOutput: pulumi.String("string"),
    					FileTypesToTransforms: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					TransformationConfig: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs{
    						DeidentifyTemplate:           pulumi.String("string"),
    						ImageRedactTemplate:          pulumi.String("string"),
    						StructuredDeidentifyTemplate: pulumi.String("string"),
    					},
    					TransformationDetailsStorageConfig: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs{
    						Table: &dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs{
    							DatasetId: pulumi.String("string"),
    							ProjectId: pulumi.String("string"),
    							TableId:   pulumi.String("string"),
    						},
    					},
    				},
    				JobNotificationEmails: nil,
    				PubSub: &dataloss.PreventionJobTriggerInspectJobActionPubSubArgs{
    					Topic: pulumi.String("string"),
    				},
    				PublishFindingsToCloudDataCatalog: nil,
    				PublishSummaryToCscc:              nil,
    				PublishToStackdriver:              nil,
    				SaveFindings: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs{
    					OutputConfig: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs{
    						Table: &dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs{
    							DatasetId: pulumi.String("string"),
    							ProjectId: pulumi.String("string"),
    							TableId:   pulumi.String("string"),
    						},
    						OutputSchema: pulumi.String("string"),
    					},
    				},
    			},
    		},
    		InspectConfig: &dataloss.PreventionJobTriggerInspectJobInspectConfigArgs{
    			CustomInfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArray{
    				&dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs{
    					InfoType: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs{
    						Name: pulumi.String("string"),
    						SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeSensitivityScoreArgs{
    							Score: pulumi.String("string"),
    						},
    						Version: pulumi.String("string"),
    					},
    					Dictionary: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryArgs{
    						CloudStoragePath: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryCloudStoragePathArgs{
    							Path: pulumi.String("string"),
    						},
    						WordList: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryWordListArgs{
    							Words: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					ExclusionType: pulumi.String("string"),
    					Likelihood:    pulumi.String("string"),
    					Regex: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs{
    						Pattern: pulumi.String("string"),
    						GroupIndexes: pulumi.IntArray{
    							pulumi.Int(0),
    						},
    					},
    					SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeSensitivityScoreArgs{
    						Score: pulumi.String("string"),
    					},
    					StoredType: &dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeStoredTypeArgs{
    						Name:       pulumi.String("string"),
    						CreateTime: pulumi.String("string"),
    					},
    					SurrogateType: nil,
    				},
    			},
    			ExcludeInfoTypes: pulumi.Bool(false),
    			IncludeQuote:     pulumi.Bool(false),
    			InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArray{
    				&dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs{
    					Name: pulumi.String("string"),
    					SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeSensitivityScoreArgs{
    						Score: pulumi.String("string"),
    					},
    					Version: pulumi.String("string"),
    				},
    			},
    			Limits: &dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsArgs{
    				MaxFindingsPerInfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeArray{
    					&dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeArgs{
    						InfoType: &dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeArgs{
    							Name: pulumi.String("string"),
    							SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSensitivityScoreArgs{
    								Score: pulumi.String("string"),
    							},
    							Version: pulumi.String("string"),
    						},
    						MaxFindings: pulumi.Int(0),
    					},
    				},
    				MaxFindingsPerItem:    pulumi.Int(0),
    				MaxFindingsPerRequest: pulumi.Int(0),
    			},
    			MinLikelihood: pulumi.String("string"),
    			RuleSets: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArray{
    				&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs{
    					Rules: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArray{
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs{
    							ExclusionRule: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs{
    								MatchingType: pulumi.String("string"),
    								Dictionary: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryArgs{
    									CloudStoragePath: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryCloudStoragePathArgs{
    										Path: pulumi.String("string"),
    									},
    									WordList: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryWordListArgs{
    										Words: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								ExcludeByHotword: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordArgs{
    									HotwordRegex: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordHotwordRegexArgs{
    										GroupIndexes: pulumi.IntArray{
    											pulumi.Int(0),
    										},
    										Pattern: pulumi.String("string"),
    									},
    									Proximity: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordProximityArgs{
    										WindowAfter:  pulumi.Int(0),
    										WindowBefore: pulumi.Int(0),
    									},
    								},
    								ExcludeInfoTypes: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesArgs{
    									InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeArray{
    										&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeArgs{
    											Name: pulumi.String("string"),
    											SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeSensitivityScoreArgs{
    												Score: pulumi.String("string"),
    											},
    											Version: pulumi.String("string"),
    										},
    									},
    								},
    								Regex: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs{
    									Pattern: pulumi.String("string"),
    									GroupIndexes: pulumi.IntArray{
    										pulumi.Int(0),
    									},
    								},
    							},
    							HotwordRule: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs{
    								HotwordRegex: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs{
    									GroupIndexes: pulumi.IntArray{
    										pulumi.Int(0),
    									},
    									Pattern: pulumi.String("string"),
    								},
    								LikelihoodAdjustment: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs{
    									FixedLikelihood:    pulumi.String("string"),
    									RelativeLikelihood: pulumi.Int(0),
    								},
    								Proximity: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs{
    									WindowAfter:  pulumi.Int(0),
    									WindowBefore: pulumi.Int(0),
    								},
    							},
    						},
    					},
    					InfoTypes: dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArray{
    						&dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs{
    							Name: pulumi.String("string"),
    							SensitivityScore: &dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeSensitivityScoreArgs{
    								Score: pulumi.String("string"),
    							},
    							Version: pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		InspectTemplateName: pulumi.String("string"),
    	},
    	Status:    pulumi.String("string"),
    	TriggerId: pulumi.String("string"),
    })
    
    var preventionJobTriggerResource = new PreventionJobTrigger("preventionJobTriggerResource", PreventionJobTriggerArgs.builder()        
        .parent("string")
        .triggers(PreventionJobTriggerTriggerArgs.builder()
            .manual()
            .schedule(PreventionJobTriggerTriggerScheduleArgs.builder()
                .recurrencePeriodDuration("string")
                .build())
            .build())
        .description("string")
        .displayName("string")
        .inspectJob(PreventionJobTriggerInspectJobArgs.builder()
            .storageConfig(PreventionJobTriggerInspectJobStorageConfigArgs.builder()
                .bigQueryOptions(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs.builder()
                    .tableReference(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs.builder()
                        .datasetId("string")
                        .projectId("string")
                        .tableId("string")
                        .build())
                    .excludedFields(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsExcludedFieldArgs.builder()
                        .name("string")
                        .build())
                    .identifyingFields(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIdentifyingFieldArgs.builder()
                        .name("string")
                        .build())
                    .includedFields(PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIncludedFieldArgs.builder()
                        .name("string")
                        .build())
                    .rowsLimit(0)
                    .rowsLimitPercent(0)
                    .sampleMethod("string")
                    .build())
                .cloudStorageOptions(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs.builder()
                    .fileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs.builder()
                        .regexFileSet(PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSetArgs.builder()
                            .bucketName("string")
                            .excludeRegexes("string")
                            .includeRegexes("string")
                            .build())
                        .url("string")
                        .build())
                    .bytesLimitPerFile(0)
                    .bytesLimitPerFilePercent(0)
                    .fileTypes("string")
                    .filesLimitPercent(0)
                    .sampleMethod("string")
                    .build())
                .datastoreOptions(PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsArgs.builder()
                    .kind(PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKindArgs.builder()
                        .name("string")
                        .build())
                    .partitionId(PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionIdArgs.builder()
                        .projectId("string")
                        .namespaceId("string")
                        .build())
                    .build())
                .hybridOptions(PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs.builder()
                    .description("string")
                    .labels(Map.of("string", "string"))
                    .requiredFindingLabelKeys("string")
                    .tableOptions(PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs.builder()
                        .identifyingFields(PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs.builder()
                            .name("string")
                            .build())
                        .build())
                    .build())
                .timespanConfig(PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs.builder()
                    .enableAutoPopulationOfTimespanConfig(false)
                    .endTime("string")
                    .startTime("string")
                    .timestampField(PreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampFieldArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .build())
            .actions(PreventionJobTriggerInspectJobActionArgs.builder()
                .deidentify(PreventionJobTriggerInspectJobActionDeidentifyArgs.builder()
                    .cloudStorageOutput("string")
                    .fileTypesToTransforms("string")
                    .transformationConfig(PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs.builder()
                        .deidentifyTemplate("string")
                        .imageRedactTemplate("string")
                        .structuredDeidentifyTemplate("string")
                        .build())
                    .transformationDetailsStorageConfig(PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs.builder()
                        .table(PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs.builder()
                            .datasetId("string")
                            .projectId("string")
                            .tableId("string")
                            .build())
                        .build())
                    .build())
                .jobNotificationEmails()
                .pubSub(PreventionJobTriggerInspectJobActionPubSubArgs.builder()
                    .topic("string")
                    .build())
                .publishFindingsToCloudDataCatalog()
                .publishSummaryToCscc()
                .publishToStackdriver()
                .saveFindings(PreventionJobTriggerInspectJobActionSaveFindingsArgs.builder()
                    .outputConfig(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs.builder()
                        .table(PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs.builder()
                            .datasetId("string")
                            .projectId("string")
                            .tableId("string")
                            .build())
                        .outputSchema("string")
                        .build())
                    .build())
                .build())
            .inspectConfig(PreventionJobTriggerInspectJobInspectConfigArgs.builder()
                .customInfoTypes(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs.builder()
                    .infoType(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs.builder()
                        .name("string")
                        .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeSensitivityScoreArgs.builder()
                            .score("string")
                            .build())
                        .version("string")
                        .build())
                    .dictionary(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryArgs.builder()
                        .cloudStoragePath(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryCloudStoragePathArgs.builder()
                            .path("string")
                            .build())
                        .wordList(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryWordListArgs.builder()
                            .words("string")
                            .build())
                        .build())
                    .exclusionType("string")
                    .likelihood("string")
                    .regex(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs.builder()
                        .pattern("string")
                        .groupIndexes(0)
                        .build())
                    .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeSensitivityScoreArgs.builder()
                        .score("string")
                        .build())
                    .storedType(PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeStoredTypeArgs.builder()
                        .name("string")
                        .createTime("string")
                        .build())
                    .surrogateType()
                    .build())
                .excludeInfoTypes(false)
                .includeQuote(false)
                .infoTypes(PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs.builder()
                    .name("string")
                    .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigInfoTypeSensitivityScoreArgs.builder()
                        .score("string")
                        .build())
                    .version("string")
                    .build())
                .limits(PreventionJobTriggerInspectJobInspectConfigLimitsArgs.builder()
                    .maxFindingsPerInfoTypes(PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeArgs.builder()
                        .infoType(PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeArgs.builder()
                            .name("string")
                            .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSensitivityScoreArgs.builder()
                                .score("string")
                                .build())
                            .version("string")
                            .build())
                        .maxFindings(0)
                        .build())
                    .maxFindingsPerItem(0)
                    .maxFindingsPerRequest(0)
                    .build())
                .minLikelihood("string")
                .ruleSets(PreventionJobTriggerInspectJobInspectConfigRuleSetArgs.builder()
                    .rules(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs.builder()
                        .exclusionRule(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs.builder()
                            .matchingType("string")
                            .dictionary(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryArgs.builder()
                                .cloudStoragePath(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryCloudStoragePathArgs.builder()
                                    .path("string")
                                    .build())
                                .wordList(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryWordListArgs.builder()
                                    .words("string")
                                    .build())
                                .build())
                            .excludeByHotword(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordArgs.builder()
                                .hotwordRegex(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordHotwordRegexArgs.builder()
                                    .groupIndexes(0)
                                    .pattern("string")
                                    .build())
                                .proximity(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordProximityArgs.builder()
                                    .windowAfter(0)
                                    .windowBefore(0)
                                    .build())
                                .build())
                            .excludeInfoTypes(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesArgs.builder()
                                .infoTypes(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeArgs.builder()
                                    .name("string")
                                    .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeSensitivityScoreArgs.builder()
                                        .score("string")
                                        .build())
                                    .version("string")
                                    .build())
                                .build())
                            .regex(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs.builder()
                                .pattern("string")
                                .groupIndexes(0)
                                .build())
                            .build())
                        .hotwordRule(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs.builder()
                            .hotwordRegex(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs.builder()
                                .groupIndexes(0)
                                .pattern("string")
                                .build())
                            .likelihoodAdjustment(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs.builder()
                                .fixedLikelihood("string")
                                .relativeLikelihood(0)
                                .build())
                            .proximity(PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs.builder()
                                .windowAfter(0)
                                .windowBefore(0)
                                .build())
                            .build())
                        .build())
                    .infoTypes(PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs.builder()
                        .name("string")
                        .sensitivityScore(PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeSensitivityScoreArgs.builder()
                            .score("string")
                            .build())
                        .version("string")
                        .build())
                    .build())
                .build())
            .inspectTemplateName("string")
            .build())
        .status("string")
        .triggerId("string")
        .build());
    
    prevention_job_trigger_resource = gcp.dataloss.PreventionJobTrigger("preventionJobTriggerResource",
        parent="string",
        triggers=[gcp.dataloss.PreventionJobTriggerTriggerArgs(
            manual=gcp.dataloss.PreventionJobTriggerTriggerManualArgs(),
            schedule=gcp.dataloss.PreventionJobTriggerTriggerScheduleArgs(
                recurrence_period_duration="string",
            ),
        )],
        description="string",
        display_name="string",
        inspect_job=gcp.dataloss.PreventionJobTriggerInspectJobArgs(
            storage_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigArgs(
                big_query_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsArgs(
                    table_reference=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsTableReferenceArgs(
                        dataset_id="string",
                        project_id="string",
                        table_id="string",
                    ),
                    excluded_fields=[gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsExcludedFieldArgs(
                        name="string",
                    )],
                    identifying_fields=[gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIdentifyingFieldArgs(
                        name="string",
                    )],
                    included_fields=[gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigBigQueryOptionsIncludedFieldArgs(
                        name="string",
                    )],
                    rows_limit=0,
                    rows_limit_percent=0,
                    sample_method="string",
                ),
                cloud_storage_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsArgs(
                    file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetArgs(
                        regex_file_set=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigCloudStorageOptionsFileSetRegexFileSetArgs(
                            bucket_name="string",
                            exclude_regexes=["string"],
                            include_regexes=["string"],
                        ),
                        url="string",
                    ),
                    bytes_limit_per_file=0,
                    bytes_limit_per_file_percent=0,
                    file_types=["string"],
                    files_limit_percent=0,
                    sample_method="string",
                ),
                datastore_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsArgs(
                    kind=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsKindArgs(
                        name="string",
                    ),
                    partition_id=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigDatastoreOptionsPartitionIdArgs(
                        project_id="string",
                        namespace_id="string",
                    ),
                ),
                hybrid_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsArgs(
                    description="string",
                    labels={
                        "string": "string",
                    },
                    required_finding_label_keys=["string"],
                    table_options=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsArgs(
                        identifying_fields=[gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigHybridOptionsTableOptionsIdentifyingFieldArgs(
                            name="string",
                        )],
                    ),
                ),
                timespan_config=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigArgs(
                    enable_auto_population_of_timespan_config=False,
                    end_time="string",
                    start_time="string",
                    timestamp_field=gcp.dataloss.PreventionJobTriggerInspectJobStorageConfigTimespanConfigTimestampFieldArgs(
                        name="string",
                    ),
                ),
            ),
            actions=[gcp.dataloss.PreventionJobTriggerInspectJobActionArgs(
                deidentify=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyArgs(
                    cloud_storage_output="string",
                    file_types_to_transforms=["string"],
                    transformation_config=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationConfigArgs(
                        deidentify_template="string",
                        image_redact_template="string",
                        structured_deidentify_template="string",
                    ),
                    transformation_details_storage_config=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfigTableArgs(
                            dataset_id="string",
                            project_id="string",
                            table_id="string",
                        ),
                    ),
                ),
                job_notification_emails=gcp.dataloss.PreventionJobTriggerInspectJobActionJobNotificationEmailsArgs(),
                pub_sub=gcp.dataloss.PreventionJobTriggerInspectJobActionPubSubArgs(
                    topic="string",
                ),
                publish_findings_to_cloud_data_catalog=gcp.dataloss.PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalogArgs(),
                publish_summary_to_cscc=gcp.dataloss.PreventionJobTriggerInspectJobActionPublishSummaryToCsccArgs(),
                publish_to_stackdriver=gcp.dataloss.PreventionJobTriggerInspectJobActionPublishToStackdriverArgs(),
                save_findings=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsArgs(
                    output_config=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigArgs(
                        table=gcp.dataloss.PreventionJobTriggerInspectJobActionSaveFindingsOutputConfigTableArgs(
                            dataset_id="string",
                            project_id="string",
                            table_id="string",
                        ),
                        output_schema="string",
                    ),
                ),
            )],
            inspect_config=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigArgs(
                custom_info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeArgs(
                    info_type=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeArgs(
                        name="string",
                        sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeInfoTypeSensitivityScoreArgs(
                            score="string",
                        ),
                        version="string",
                    ),
                    dictionary=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryArgs(
                        cloud_storage_path=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryCloudStoragePathArgs(
                            path="string",
                        ),
                        word_list=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeDictionaryWordListArgs(
                            words=["string"],
                        ),
                    ),
                    exclusion_type="string",
                    likelihood="string",
                    regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeRegexArgs(
                        pattern="string",
                        group_indexes=[0],
                    ),
                    sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeSensitivityScoreArgs(
                        score="string",
                    ),
                    stored_type=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeStoredTypeArgs(
                        name="string",
                        create_time="string",
                    ),
                    surrogate_type=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigCustomInfoTypeSurrogateTypeArgs(),
                )],
                exclude_info_types=False,
                include_quote=False,
                info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeArgs(
                    name="string",
                    sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigInfoTypeSensitivityScoreArgs(
                        score="string",
                    ),
                    version="string",
                )],
                limits=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsArgs(
                    max_findings_per_info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeArgs(
                        info_type=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeArgs(
                            name="string",
                            sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSensitivityScoreArgs(
                                score="string",
                            ),
                            version="string",
                        ),
                        max_findings=0,
                    )],
                    max_findings_per_item=0,
                    max_findings_per_request=0,
                ),
                min_likelihood="string",
                rule_sets=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetArgs(
                    rules=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleArgs(
                        exclusion_rule=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleArgs(
                            matching_type="string",
                            dictionary=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryArgs(
                                cloud_storage_path=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryCloudStoragePathArgs(
                                    path="string",
                                ),
                                word_list=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleDictionaryWordListArgs(
                                    words=["string"],
                                ),
                            ),
                            exclude_by_hotword=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordArgs(
                                hotword_regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordHotwordRegexArgs(
                                    group_indexes=[0],
                                    pattern="string",
                                ),
                                proximity=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeByHotwordProximityArgs(
                                    window_after=0,
                                    window_before=0,
                                ),
                            ),
                            exclude_info_types=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesArgs(
                                info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeArgs(
                                    name="string",
                                    sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleExcludeInfoTypesInfoTypeSensitivityScoreArgs(
                                        score="string",
                                    ),
                                    version="string",
                                )],
                            ),
                            regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleExclusionRuleRegexArgs(
                                pattern="string",
                                group_indexes=[0],
                            ),
                        ),
                        hotword_rule=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleArgs(
                            hotword_regex=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleHotwordRegexArgs(
                                group_indexes=[0],
                                pattern="string",
                            ),
                            likelihood_adjustment=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleLikelihoodAdjustmentArgs(
                                fixed_likelihood="string",
                                relative_likelihood=0,
                            ),
                            proximity=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetRuleHotwordRuleProximityArgs(
                                window_after=0,
                                window_before=0,
                            ),
                        ),
                    )],
                    info_types=[gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeArgs(
                        name="string",
                        sensitivity_score=gcp.dataloss.PreventionJobTriggerInspectJobInspectConfigRuleSetInfoTypeSensitivityScoreArgs(
                            score="string",
                        ),
                        version="string",
                    )],
                )],
            ),
            inspect_template_name="string",
        ),
        status="string",
        trigger_id="string")
    
    const preventionJobTriggerResource = new gcp.dataloss.PreventionJobTrigger("preventionJobTriggerResource", {
        parent: "string",
        triggers: [{
            manual: {},
            schedule: {
                recurrencePeriodDuration: "string",
            },
        }],
        description: "string",
        displayName: "string",
        inspectJob: {
            storageConfig: {
                bigQueryOptions: {
                    tableReference: {
                        datasetId: "string",
                        projectId: "string",
                        tableId: "string",
                    },
                    excludedFields: [{
                        name: "string",
                    }],
                    identifyingFields: [{
                        name: "string",
                    }],
                    includedFields: [{
                        name: "string",
                    }],
                    rowsLimit: 0,
                    rowsLimitPercent: 0,
                    sampleMethod: "string",
                },
                cloudStorageOptions: {
                    fileSet: {
                        regexFileSet: {
                            bucketName: "string",
                            excludeRegexes: ["string"],
                            includeRegexes: ["string"],
                        },
                        url: "string",
                    },
                    bytesLimitPerFile: 0,
                    bytesLimitPerFilePercent: 0,
                    fileTypes: ["string"],
                    filesLimitPercent: 0,
                    sampleMethod: "string",
                },
                datastoreOptions: {
                    kind: {
                        name: "string",
                    },
                    partitionId: {
                        projectId: "string",
                        namespaceId: "string",
                    },
                },
                hybridOptions: {
                    description: "string",
                    labels: {
                        string: "string",
                    },
                    requiredFindingLabelKeys: ["string"],
                    tableOptions: {
                        identifyingFields: [{
                            name: "string",
                        }],
                    },
                },
                timespanConfig: {
                    enableAutoPopulationOfTimespanConfig: false,
                    endTime: "string",
                    startTime: "string",
                    timestampField: {
                        name: "string",
                    },
                },
            },
            actions: [{
                deidentify: {
                    cloudStorageOutput: "string",
                    fileTypesToTransforms: ["string"],
                    transformationConfig: {
                        deidentifyTemplate: "string",
                        imageRedactTemplate: "string",
                        structuredDeidentifyTemplate: "string",
                    },
                    transformationDetailsStorageConfig: {
                        table: {
                            datasetId: "string",
                            projectId: "string",
                            tableId: "string",
                        },
                    },
                },
                jobNotificationEmails: {},
                pubSub: {
                    topic: "string",
                },
                publishFindingsToCloudDataCatalog: {},
                publishSummaryToCscc: {},
                publishToStackdriver: {},
                saveFindings: {
                    outputConfig: {
                        table: {
                            datasetId: "string",
                            projectId: "string",
                            tableId: "string",
                        },
                        outputSchema: "string",
                    },
                },
            }],
            inspectConfig: {
                customInfoTypes: [{
                    infoType: {
                        name: "string",
                        sensitivityScore: {
                            score: "string",
                        },
                        version: "string",
                    },
                    dictionary: {
                        cloudStoragePath: {
                            path: "string",
                        },
                        wordList: {
                            words: ["string"],
                        },
                    },
                    exclusionType: "string",
                    likelihood: "string",
                    regex: {
                        pattern: "string",
                        groupIndexes: [0],
                    },
                    sensitivityScore: {
                        score: "string",
                    },
                    storedType: {
                        name: "string",
                        createTime: "string",
                    },
                    surrogateType: {},
                }],
                excludeInfoTypes: false,
                includeQuote: false,
                infoTypes: [{
                    name: "string",
                    sensitivityScore: {
                        score: "string",
                    },
                    version: "string",
                }],
                limits: {
                    maxFindingsPerInfoTypes: [{
                        infoType: {
                            name: "string",
                            sensitivityScore: {
                                score: "string",
                            },
                            version: "string",
                        },
                        maxFindings: 0,
                    }],
                    maxFindingsPerItem: 0,
                    maxFindingsPerRequest: 0,
                },
                minLikelihood: "string",
                ruleSets: [{
                    rules: [{
                        exclusionRule: {
                            matchingType: "string",
                            dictionary: {
                                cloudStoragePath: {
                                    path: "string",
                                },
                                wordList: {
                                    words: ["string"],
                                },
                            },
                            excludeByHotword: {
                                hotwordRegex: {
                                    groupIndexes: [0],
                                    pattern: "string",
                                },
                                proximity: {
                                    windowAfter: 0,
                                    windowBefore: 0,
                                },
                            },
                            excludeInfoTypes: {
                                infoTypes: [{
                                    name: "string",
                                    sensitivityScore: {
                                        score: "string",
                                    },
                                    version: "string",
                                }],
                            },
                            regex: {
                                pattern: "string",
                                groupIndexes: [0],
                            },
                        },
                        hotwordRule: {
                            hotwordRegex: {
                                groupIndexes: [0],
                                pattern: "string",
                            },
                            likelihoodAdjustment: {
                                fixedLikelihood: "string",
                                relativeLikelihood: 0,
                            },
                            proximity: {
                                windowAfter: 0,
                                windowBefore: 0,
                            },
                        },
                    }],
                    infoTypes: [{
                        name: "string",
                        sensitivityScore: {
                            score: "string",
                        },
                        version: "string",
                    }],
                }],
            },
            inspectTemplateName: "string",
        },
        status: "string",
        triggerId: "string",
    });
    
    type: gcp:dataloss:PreventionJobTrigger
    properties:
        description: string
        displayName: string
        inspectJob:
            actions:
                - deidentify:
                    cloudStorageOutput: string
                    fileTypesToTransforms:
                        - string
                    transformationConfig:
                        deidentifyTemplate: string
                        imageRedactTemplate: string
                        structuredDeidentifyTemplate: string
                    transformationDetailsStorageConfig:
                        table:
                            datasetId: string
                            projectId: string
                            tableId: string
                  jobNotificationEmails: {}
                  pubSub:
                    topic: string
                  publishFindingsToCloudDataCatalog: {}
                  publishSummaryToCscc: {}
                  publishToStackdriver: {}
                  saveFindings:
                    outputConfig:
                        outputSchema: string
                        table:
                            datasetId: string
                            projectId: string
                            tableId: string
            inspectConfig:
                customInfoTypes:
                    - dictionary:
                        cloudStoragePath:
                            path: string
                        wordList:
                            words:
                                - string
                      exclusionType: string
                      infoType:
                        name: string
                        sensitivityScore:
                            score: string
                        version: string
                      likelihood: string
                      regex:
                        groupIndexes:
                            - 0
                        pattern: string
                      sensitivityScore:
                        score: string
                      storedType:
                        createTime: string
                        name: string
                      surrogateType: {}
                excludeInfoTypes: false
                includeQuote: false
                infoTypes:
                    - name: string
                      sensitivityScore:
                        score: string
                      version: string
                limits:
                    maxFindingsPerInfoTypes:
                        - infoType:
                            name: string
                            sensitivityScore:
                                score: string
                            version: string
                          maxFindings: 0
                    maxFindingsPerItem: 0
                    maxFindingsPerRequest: 0
                minLikelihood: string
                ruleSets:
                    - infoTypes:
                        - name: string
                          sensitivityScore:
                            score: string
                          version: string
                      rules:
                        - exclusionRule:
                            dictionary:
                                cloudStoragePath:
                                    path: string
                                wordList:
                                    words:
                                        - string
                            excludeByHotword:
                                hotwordRegex:
                                    groupIndexes:
                                        - 0
                                    pattern: string
                                proximity:
                                    windowAfter: 0
                                    windowBefore: 0
                            excludeInfoTypes:
                                infoTypes:
                                    - name: string
                                      sensitivityScore:
                                        score: string
                                      version: string
                            matchingType: string
                            regex:
                                groupIndexes:
                                    - 0
                                pattern: string
                          hotwordRule:
                            hotwordRegex:
                                groupIndexes:
                                    - 0
                                pattern: string
                            likelihoodAdjustment:
                                fixedLikelihood: string
                                relativeLikelihood: 0
                            proximity:
                                windowAfter: 0
                                windowBefore: 0
            inspectTemplateName: string
            storageConfig:
                bigQueryOptions:
                    excludedFields:
                        - name: string
                    identifyingFields:
                        - name: string
                    includedFields:
                        - name: string
                    rowsLimit: 0
                    rowsLimitPercent: 0
                    sampleMethod: string
                    tableReference:
                        datasetId: string
                        projectId: string
                        tableId: string
                cloudStorageOptions:
                    bytesLimitPerFile: 0
                    bytesLimitPerFilePercent: 0
                    fileSet:
                        regexFileSet:
                            bucketName: string
                            excludeRegexes:
                                - string
                            includeRegexes:
                                - string
                        url: string
                    fileTypes:
                        - string
                    filesLimitPercent: 0
                    sampleMethod: string
                datastoreOptions:
                    kind:
                        name: string
                    partitionId:
                        namespaceId: string
                        projectId: string
                hybridOptions:
                    description: string
                    labels:
                        string: string
                    requiredFindingLabelKeys:
                        - string
                    tableOptions:
                        identifyingFields:
                            - name: string
                timespanConfig:
                    enableAutoPopulationOfTimespanConfig: false
                    endTime: string
                    startTime: string
                    timestampField:
                        name: string
        parent: string
        status: string
        triggerId: string
        triggers:
            - manual: {}
              schedule:
                recurrencePeriodDuration: string
    

    PreventionJobTrigger Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The PreventionJobTrigger resource accepts the following input properties:

    Parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    Triggers List<PreventionJobTriggerTrigger>
    What event needs to occur for a new job to be started. Structure is documented below.
    Description string
    A description of the job trigger.
    DisplayName string
    User set display name of the job trigger.
    InspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    Status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    TriggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    Parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    Triggers []PreventionJobTriggerTriggerArgs
    What event needs to occur for a new job to be started. Structure is documented below.
    Description string
    A description of the job trigger.
    DisplayName string
    User set display name of the job trigger.
    InspectJob PreventionJobTriggerInspectJobArgs
    Controls what and how to inspect for findings.
    Status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    TriggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    parent String
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    triggers List<PreventionJobTriggerTrigger>
    What event needs to occur for a new job to be started. Structure is documented below.
    description String
    A description of the job trigger.
    displayName String
    User set display name of the job trigger.
    inspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    status String
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId String
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    triggers PreventionJobTriggerTrigger[]
    What event needs to occur for a new job to be started. Structure is documented below.
    description string
    A description of the job trigger.
    displayName string
    User set display name of the job trigger.
    inspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    parent str
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    triggers Sequence[PreventionJobTriggerTriggerArgs]
    What event needs to occur for a new job to be started. Structure is documented below.
    description str
    A description of the job trigger.
    display_name str
    User set display name of the job trigger.
    inspect_job PreventionJobTriggerInspectJobArgs
    Controls what and how to inspect for findings.
    status str
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    trigger_id str
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    parent String
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    triggers List<Property Map>
    What event needs to occur for a new job to be started. Structure is documented below.
    description String
    A description of the job trigger.
    displayName String
    User set display name of the job trigger.
    inspectJob Property Map
    Controls what and how to inspect for findings.
    status String
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId String
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PreventionJobTrigger resource produces the following output properties:

    CreateTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastRunTime string
    The timestamp of the last time this trigger executed.
    Name string
    The resource name of the job trigger. Set by the server.
    UpdateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    CreateTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastRunTime string
    The timestamp of the last time this trigger executed.
    Name string
    The resource name of the job trigger. Set by the server.
    UpdateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime String
    The creation timestamp of an inspectTemplate. Set by the server.
    id String
    The provider-assigned unique ID for this managed resource.
    lastRunTime String
    The timestamp of the last time this trigger executed.
    name String
    The resource name of the job trigger. Set by the server.
    updateTime String
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    id string
    The provider-assigned unique ID for this managed resource.
    lastRunTime string
    The timestamp of the last time this trigger executed.
    name string
    The resource name of the job trigger. Set by the server.
    updateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    create_time str
    The creation timestamp of an inspectTemplate. Set by the server.
    id str
    The provider-assigned unique ID for this managed resource.
    last_run_time str
    The timestamp of the last time this trigger executed.
    name str
    The resource name of the job trigger. Set by the server.
    update_time str
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime String
    The creation timestamp of an inspectTemplate. Set by the server.
    id String
    The provider-assigned unique ID for this managed resource.
    lastRunTime String
    The timestamp of the last time this trigger executed.
    name String
    The resource name of the job trigger. Set by the server.
    updateTime String
    The last update timestamp of an inspectTemplate. Set by the server.

    Look up Existing PreventionJobTrigger Resource

    Get an existing PreventionJobTrigger resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PreventionJobTriggerState, opts?: CustomResourceOptions): PreventionJobTrigger
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            inspect_job: Optional[PreventionJobTriggerInspectJobArgs] = None,
            last_run_time: Optional[str] = None,
            name: Optional[str] = None,
            parent: Optional[str] = None,
            status: Optional[str] = None,
            trigger_id: Optional[str] = None,
            triggers: Optional[Sequence[PreventionJobTriggerTriggerArgs]] = None,
            update_time: Optional[str] = None) -> PreventionJobTrigger
    func GetPreventionJobTrigger(ctx *Context, name string, id IDInput, state *PreventionJobTriggerState, opts ...ResourceOption) (*PreventionJobTrigger, error)
    public static PreventionJobTrigger Get(string name, Input<string> id, PreventionJobTriggerState? state, CustomResourceOptions? opts = null)
    public static PreventionJobTrigger get(String name, Output<String> id, PreventionJobTriggerState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CreateTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    Description string
    A description of the job trigger.
    DisplayName string
    User set display name of the job trigger.
    InspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    LastRunTime string
    The timestamp of the last time this trigger executed.
    Name string
    The resource name of the job trigger. Set by the server.
    Parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    Status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    TriggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    Triggers List<PreventionJobTriggerTrigger>
    What event needs to occur for a new job to be started. Structure is documented below.
    UpdateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    CreateTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    Description string
    A description of the job trigger.
    DisplayName string
    User set display name of the job trigger.
    InspectJob PreventionJobTriggerInspectJobArgs
    Controls what and how to inspect for findings.
    LastRunTime string
    The timestamp of the last time this trigger executed.
    Name string
    The resource name of the job trigger. Set by the server.
    Parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    Status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    TriggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    Triggers []PreventionJobTriggerTriggerArgs
    What event needs to occur for a new job to be started. Structure is documented below.
    UpdateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime String
    The creation timestamp of an inspectTemplate. Set by the server.
    description String
    A description of the job trigger.
    displayName String
    User set display name of the job trigger.
    inspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    lastRunTime String
    The timestamp of the last time this trigger executed.
    name String
    The resource name of the job trigger. Set by the server.
    parent String
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    status String
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId String
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    triggers List<PreventionJobTriggerTrigger>
    What event needs to occur for a new job to be started. Structure is documented below.
    updateTime String
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime string
    The creation timestamp of an inspectTemplate. Set by the server.
    description string
    A description of the job trigger.
    displayName string
    User set display name of the job trigger.
    inspectJob PreventionJobTriggerInspectJob
    Controls what and how to inspect for findings.
    lastRunTime string
    The timestamp of the last time this trigger executed.
    name string
    The resource name of the job trigger. Set by the server.
    parent string
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    status string
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId string
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    triggers PreventionJobTriggerTrigger[]
    What event needs to occur for a new job to be started. Structure is documented below.
    updateTime string
    The last update timestamp of an inspectTemplate. Set by the server.
    create_time str
    The creation timestamp of an inspectTemplate. Set by the server.
    description str
    A description of the job trigger.
    display_name str
    User set display name of the job trigger.
    inspect_job PreventionJobTriggerInspectJobArgs
    Controls what and how to inspect for findings.
    last_run_time str
    The timestamp of the last time this trigger executed.
    name str
    The resource name of the job trigger. Set by the server.
    parent str
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    status str
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    trigger_id str
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    triggers Sequence[PreventionJobTriggerTriggerArgs]
    What event needs to occur for a new job to be started. Structure is documented below.
    update_time str
    The last update timestamp of an inspectTemplate. Set by the server.
    createTime String
    The creation timestamp of an inspectTemplate. Set by the server.
    description String
    A description of the job trigger.
    displayName String
    User set display name of the job trigger.
    inspectJob Property Map
    Controls what and how to inspect for findings.
    lastRunTime String
    The timestamp of the last time this trigger executed.
    name String
    The resource name of the job trigger. Set by the server.
    parent String
    The parent of the trigger, either in the format projects/{{project}} or projects/{{project}}/locations/{{location}}
    status String
    Whether the trigger is currently active. Default value: "HEALTHY" Possible values: ["PAUSED", "HEALTHY", "CANCELLED"]
    triggerId String
    The trigger id can contain uppercase and lowercase letters, numbers, and hyphens; that is, it must match the regular expression: [a-zA-Z\d-_]+. The maximum length is 100 characters. Can be empty to allow the system to generate one.
    triggers List<Property Map>
    What event needs to occur for a new job to be started. Structure is documented below.
    updateTime String
    The last update timestamp of an inspectTemplate. Set by the server.

    Supporting Types

    PreventionJobTriggerInspectJob, PreventionJobTriggerInspectJobArgs

    StorageConfig PreventionJobTriggerInspectJobStorageConfig
    Information on where to inspect Structure is documented below.
    Actions List<PreventionJobTriggerInspectJobAction>
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    InspectConfig PreventionJobTriggerInspectJobInspectConfig
    The core content of the template. Structure is documented below.
    InspectTemplateName string
    The name of the template to run when this job is triggered.
    StorageConfig PreventionJobTriggerInspectJobStorageConfig
    Information on where to inspect Structure is documented below.
    Actions []PreventionJobTriggerInspectJobAction
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    InspectConfig PreventionJobTriggerInspectJobInspectConfig
    The core content of the template. Structure is documented below.
    InspectTemplateName string
    The name of the template to run when this job is triggered.
    storageConfig PreventionJobTriggerInspectJobStorageConfig
    Information on where to inspect Structure is documented below.
    actions List<PreventionJobTriggerInspectJobAction>
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    inspectConfig PreventionJobTriggerInspectJobInspectConfig
    The core content of the template. Structure is documented below.
    inspectTemplateName String
    The name of the template to run when this job is triggered.
    storageConfig PreventionJobTriggerInspectJobStorageConfig
    Information on where to inspect Structure is documented below.
    actions PreventionJobTriggerInspectJobAction[]
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    inspectConfig PreventionJobTriggerInspectJobInspectConfig
    The core content of the template. Structure is documented below.
    inspectTemplateName string
    The name of the template to run when this job is triggered.
    storage_config PreventionJobTriggerInspectJobStorageConfig
    Information on where to inspect Structure is documented below.
    actions Sequence[PreventionJobTriggerInspectJobAction]
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    inspect_config PreventionJobTriggerInspectJobInspectConfig
    The core content of the template. Structure is documented below.
    inspect_template_name str
    The name of the template to run when this job is triggered.
    storageConfig Property Map
    Information on where to inspect Structure is documented below.
    actions List<Property Map>
    Configuration block for the actions to execute on the completion of a job. Can be specified multiple times, but only one for each type. Each action block supports fields documented below. This argument is processed in attribute-as-blocks mode. Structure is documented below.
    inspectConfig Property Map
    The core content of the template. Structure is documented below.
    inspectTemplateName String
    The name of the template to run when this job is triggered.

    PreventionJobTriggerInspectJobAction, PreventionJobTriggerInspectJobActionArgs

    Deidentify PreventionJobTriggerInspectJobActionDeidentify
    Create a de-identified copy of the requested table or files. Structure is documented below.
    JobNotificationEmails PreventionJobTriggerInspectJobActionJobNotificationEmails
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    PubSub PreventionJobTriggerInspectJobActionPubSub
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    PublishFindingsToCloudDataCatalog PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalog
    Publish findings of a DlpJob to Data Catalog.
    PublishSummaryToCscc PreventionJobTriggerInspectJobActionPublishSummaryToCscc
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    PublishToStackdriver PreventionJobTriggerInspectJobActionPublishToStackdriver
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    SaveFindings PreventionJobTriggerInspectJobActionSaveFindings
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.
    Deidentify PreventionJobTriggerInspectJobActionDeidentify
    Create a de-identified copy of the requested table or files. Structure is documented below.
    JobNotificationEmails PreventionJobTriggerInspectJobActionJobNotificationEmails
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    PubSub PreventionJobTriggerInspectJobActionPubSub
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    PublishFindingsToCloudDataCatalog PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalog
    Publish findings of a DlpJob to Data Catalog.
    PublishSummaryToCscc PreventionJobTriggerInspectJobActionPublishSummaryToCscc
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    PublishToStackdriver PreventionJobTriggerInspectJobActionPublishToStackdriver
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    SaveFindings PreventionJobTriggerInspectJobActionSaveFindings
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.
    deidentify PreventionJobTriggerInspectJobActionDeidentify
    Create a de-identified copy of the requested table or files. Structure is documented below.
    jobNotificationEmails PreventionJobTriggerInspectJobActionJobNotificationEmails
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    pubSub PreventionJobTriggerInspectJobActionPubSub
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    publishFindingsToCloudDataCatalog PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalog
    Publish findings of a DlpJob to Data Catalog.
    publishSummaryToCscc PreventionJobTriggerInspectJobActionPublishSummaryToCscc
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    publishToStackdriver PreventionJobTriggerInspectJobActionPublishToStackdriver
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    saveFindings PreventionJobTriggerInspectJobActionSaveFindings
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.
    deidentify PreventionJobTriggerInspectJobActionDeidentify
    Create a de-identified copy of the requested table or files. Structure is documented below.
    jobNotificationEmails PreventionJobTriggerInspectJobActionJobNotificationEmails
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    pubSub PreventionJobTriggerInspectJobActionPubSub
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    publishFindingsToCloudDataCatalog PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalog
    Publish findings of a DlpJob to Data Catalog.
    publishSummaryToCscc PreventionJobTriggerInspectJobActionPublishSummaryToCscc
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    publishToStackdriver PreventionJobTriggerInspectJobActionPublishToStackdriver
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    saveFindings PreventionJobTriggerInspectJobActionSaveFindings
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.
    deidentify PreventionJobTriggerInspectJobActionDeidentify
    Create a de-identified copy of the requested table or files. Structure is documented below.
    job_notification_emails PreventionJobTriggerInspectJobActionJobNotificationEmails
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    pub_sub PreventionJobTriggerInspectJobActionPubSub
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    publish_findings_to_cloud_data_catalog PreventionJobTriggerInspectJobActionPublishFindingsToCloudDataCatalog
    Publish findings of a DlpJob to Data Catalog.
    publish_summary_to_cscc PreventionJobTriggerInspectJobActionPublishSummaryToCscc
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    publish_to_stackdriver PreventionJobTriggerInspectJobActionPublishToStackdriver
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    save_findings PreventionJobTriggerInspectJobActionSaveFindings
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.
    deidentify Property Map
    Create a de-identified copy of the requested table or files. Structure is documented below.
    jobNotificationEmails Property Map
    Sends an email when the job completes. The email goes to IAM project owners and technical Essential Contacts.
    pubSub Property Map
    Publish a message into a given Pub/Sub topic when the job completes. Structure is documented below.
    publishFindingsToCloudDataCatalog Property Map
    Publish findings of a DlpJob to Data Catalog.
    publishSummaryToCscc Property Map
    Publish the result summary of a DlpJob to the Cloud Security Command Center.
    publishToStackdriver Property Map
    Enable Stackdriver metric dlp.googleapis.com/findingCount.
    saveFindings Property Map
    If set, the detailed findings will be persisted to the specified OutputStorageConfig. Only a single instance of this action can be specified. Compatible with: Inspect, Risk Structure is documented below.

    PreventionJobTriggerInspectJobActionDeidentify, PreventionJobTriggerInspectJobActionDeidentifyArgs

    CloudStorageOutput string
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    FileTypesToTransforms List<string>
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE, CSV, TSV.
    TransformationConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationConfig
    User specified deidentify templates and configs for structured, unstructured, and image files. Structure is documented below.
    TransformationDetailsStorageConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfig
    Config for storing transformation details. Structure is documented below.
    CloudStorageOutput string
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    FileTypesToTransforms []string
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE, CSV, TSV.
    TransformationConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationConfig
    User specified deidentify templates and configs for structured, unstructured, and image files. Structure is documented below.
    TransformationDetailsStorageConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfig
    Config for storing transformation details. Structure is documented below.
    cloudStorageOutput String
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    fileTypesToTransforms List<String>
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE, CSV, TSV.
    transformationConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationConfig
    User specified deidentify templates and configs for structured, unstructured, and image files. Structure is documented below.
    transformationDetailsStorageConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfig
    Config for storing transformation details. Structure is documented below.
    cloudStorageOutput string
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    fileTypesToTransforms string[]
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE, CSV, TSV.
    transformationConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationConfig
    User specified deidentify templates and configs for structured, unstructured, and image files. Structure is documented below.
    transformationDetailsStorageConfig PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfig
    Config for storing transformation details. Structure is documented below.
    cloud_storage_output str
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    file_types_to_transforms Sequence[str]
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE, CSV, TSV.
    transformation_config PreventionJobTriggerInspectJobActionDeidentifyTransformationConfig
    User specified deidentify templates and configs for structured, unstructured, and image files. Structure is documented below.
    transformation_details_storage_config PreventionJobTriggerInspectJobActionDeidentifyTransformationDetailsStorageConfig
    Config for storing transformation details. Structure is documented below.
    cloudStorageOutput String
    User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for cloud storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
    fileTypesToTransforms List<String>
    List of user-specified file type groups to transform. If specified, only the files with these filetypes will be transformed. If empty, all supported files will be transformed. Supported types may be automatically added over time. If a file type is set in this field that isn't supported by the Deidentify action then the job will fail and will not be successfully created/started. Each value may be one of: IMAGE, TEXT_FILE