1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. cloudbuild
  5. Trigger
Google Cloud Classic v6.67.0 published on Wednesday, Sep 27, 2023 by Pulumi

gcp.cloudbuild.Trigger

Explore with Pulumi AI

gcp logo
Google Cloud Classic v6.67.0 published on Wednesday, Sep 27, 2023 by Pulumi

    Configuration for an automated build in response to source repository changes.

    To get more information about Trigger, see:

    Note: You can retrieve the email of the Cloud Build Service Account used in jobs by using the gcp.projects.ServiceIdentity resource.

    Example Usage

    Cloudbuild Trigger Filename

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var filename_trigger = new Gcp.CloudBuild.Trigger("filename-trigger", new()
        {
            Filename = "cloudbuild.yaml",
            Location = "us-central1",
            Substitutions = 
            {
                { "_BAZ", "qux" },
                { "_FOO", "bar" },
            },
            TriggerTemplate = new Gcp.CloudBuild.Inputs.TriggerTriggerTemplateArgs
            {
                BranchName = "main",
                RepoName = "my-repo",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "filename-trigger", &cloudbuild.TriggerArgs{
    			Filename: pulumi.String("cloudbuild.yaml"),
    			Location: pulumi.String("us-central1"),
    			Substitutions: pulumi.StringMap{
    				"_BAZ": pulumi.String("qux"),
    				"_FOO": pulumi.String("bar"),
    			},
    			TriggerTemplate: &cloudbuild.TriggerTriggerTemplateArgs{
    				BranchName: pulumi.String("main"),
    				RepoName:   pulumi.String("my-repo"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerTriggerTemplateArgs;
    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 filename_trigger = new Trigger("filename-trigger", TriggerArgs.builder()        
                .filename("cloudbuild.yaml")
                .location("us-central1")
                .substitutions(Map.ofEntries(
                    Map.entry("_BAZ", "qux"),
                    Map.entry("_FOO", "bar")
                ))
                .triggerTemplate(TriggerTriggerTemplateArgs.builder()
                    .branchName("main")
                    .repoName("my-repo")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    filename_trigger = gcp.cloudbuild.Trigger("filename-trigger",
        filename="cloudbuild.yaml",
        location="us-central1",
        substitutions={
            "_BAZ": "qux",
            "_FOO": "bar",
        },
        trigger_template=gcp.cloudbuild.TriggerTriggerTemplateArgs(
            branch_name="main",
            repo_name="my-repo",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const filename_trigger = new gcp.cloudbuild.Trigger("filename-trigger", {
        filename: "cloudbuild.yaml",
        location: "us-central1",
        substitutions: {
            _BAZ: "qux",
            _FOO: "bar",
        },
        triggerTemplate: {
            branchName: "main",
            repoName: "my-repo",
        },
    });
    
    resources:
      filename-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          filename: cloudbuild.yaml
          location: us-central1
          substitutions:
            _BAZ: qux
            _FOO: bar
          triggerTemplate:
            branchName: main
            repoName: my-repo
    

    Cloudbuild Trigger Build

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var cloudbuildServiceAccount = new Gcp.ServiceAccount.Account("cloudbuildServiceAccount", new()
        {
            AccountId = "cloud-sa",
        });
    
        var actAs = new Gcp.Projects.IAMMember("actAs", new()
        {
            Project = project.Apply(getProjectResult => getProjectResult.ProjectId),
            Role = "roles/iam.serviceAccountUser",
            Member = cloudbuildServiceAccount.Email.Apply(email => $"serviceAccount:{email}"),
        });
    
        var logsWriter = new Gcp.Projects.IAMMember("logsWriter", new()
        {
            Project = project.Apply(getProjectResult => getProjectResult.ProjectId),
            Role = "roles/logging.logWriter",
            Member = cloudbuildServiceAccount.Email.Apply(email => $"serviceAccount:{email}"),
        });
    
        var service_account_trigger = new Gcp.CloudBuild.Trigger("service-account-trigger", new()
        {
            TriggerTemplate = new Gcp.CloudBuild.Inputs.TriggerTriggerTemplateArgs
            {
                BranchName = "main",
                RepoName = "my-repo",
            },
            ServiceAccount = cloudbuildServiceAccount.Id,
            Filename = "cloudbuild.yaml",
        }, new CustomResourceOptions
        {
            DependsOn = new[]
            {
                actAs,
                logsWriter,
            },
        });
    
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/projects"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		project, err := organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		cloudbuildServiceAccount, err := serviceAccount.NewAccount(ctx, "cloudbuildServiceAccount", &serviceAccount.AccountArgs{
    			AccountId: pulumi.String("cloud-sa"),
    		})
    		if err != nil {
    			return err
    		}
    		actAs, err := projects.NewIAMMember(ctx, "actAs", &projects.IAMMemberArgs{
    			Project: *pulumi.String(project.ProjectId),
    			Role:    pulumi.String("roles/iam.serviceAccountUser"),
    			Member: cloudbuildServiceAccount.Email.ApplyT(func(email string) (string, error) {
    				return fmt.Sprintf("serviceAccount:%v", email), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		logsWriter, err := projects.NewIAMMember(ctx, "logsWriter", &projects.IAMMemberArgs{
    			Project: *pulumi.String(project.ProjectId),
    			Role:    pulumi.String("roles/logging.logWriter"),
    			Member: cloudbuildServiceAccount.Email.ApplyT(func(email string) (string, error) {
    				return fmt.Sprintf("serviceAccount:%v", email), nil
    			}).(pulumi.StringOutput),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuild.NewTrigger(ctx, "service-account-trigger", &cloudbuild.TriggerArgs{
    			TriggerTemplate: &cloudbuild.TriggerTriggerTemplateArgs{
    				BranchName: pulumi.String("main"),
    				RepoName:   pulumi.String("my-repo"),
    			},
    			ServiceAccount: cloudbuildServiceAccount.ID(),
    			Filename:       pulumi.String("cloudbuild.yaml"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			actAs,
    			logsWriter,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsObjectsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildAvailableSecretsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildOptionsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceStorageSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerTriggerTemplateArgs;
    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 build_trigger = new Trigger("build-trigger", TriggerArgs.builder()        
                .build(TriggerBuildArgs.builder()
                    .artifacts(TriggerBuildArtifactsArgs.builder()
                        .images("gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA")
                        .objects(TriggerBuildArtifactsObjectsArgs.builder()
                            .location("gs://bucket/path/to/somewhere/")
                            .paths("path")
                            .build())
                        .build())
                    .availableSecrets(TriggerBuildAvailableSecretsArgs.builder()
                        .secretManager(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .logsBucket("gs://mybucket/logs")
                    .options(TriggerBuildOptionsArgs.builder()
                        .diskSizeGb(100)
                        .dynamicSubstitutions(true)
                        .env("ekey = evalue")
                        .logStreamingOption("STREAM_OFF")
                        .logging("LEGACY")
                        .machineType("N1_HIGHCPU_8")
                        .requestedVerifyOption("VERIFIED")
                        .secretEnv("secretenv = svalue")
                        .sourceProvenanceHash("MD5")
                        .substitutionOption("ALLOW_LOOSE")
                        .volumes(TriggerBuildOptionsVolumeArgs.builder()
                            .name("v1")
                            .path("v1")
                            .build())
                        .workerPool("pool")
                        .build())
                    .queueTtl("20s")
                    .secrets(TriggerBuildSecretArgs.builder()
                        .kmsKeyName("projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name")
                        .secretEnv(Map.of("PASSWORD", "ZW5jcnlwdGVkLXBhc3N3b3JkCg=="))
                        .build())
                    .source(TriggerBuildSourceArgs.builder()
                        .storageSource(TriggerBuildSourceStorageSourceArgs.builder()
                            .bucket("mybucket")
                            .object("source_code.tar.gz")
                            .build())
                        .build())
                    .steps(                
                        TriggerBuildStepArgs.builder()
                            .args(                        
                                "cp",
                                "gs://mybucket/remotefile.zip",
                                "localfile.zip")
                            .name("gcr.io/cloud-builders/gsutil")
                            .secretEnv("MY_SECRET")
                            .timeout("120s")
                            .build(),
                        TriggerBuildStepArgs.builder()
                            .name("ubuntu")
                            .script("echo hello")
                            .build())
                    .substitutions(Map.ofEntries(
                        Map.entry("_BAZ", "qux"),
                        Map.entry("_FOO", "bar")
                    ))
                    .tags(                
                        "build",
                        "newFeature")
                    .build())
                .location("global")
                .triggerTemplate(TriggerTriggerTemplateArgs.builder()
                    .branchName("main")
                    .repoName("my-repo")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    project = gcp.organizations.get_project()
    cloudbuild_service_account = gcp.service_account.Account("cloudbuildServiceAccount", account_id="cloud-sa")
    act_as = gcp.projects.IAMMember("actAs",
        project=project.project_id,
        role="roles/iam.serviceAccountUser",
        member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
    logs_writer = gcp.projects.IAMMember("logsWriter",
        project=project.project_id,
        role="roles/logging.logWriter",
        member=cloudbuild_service_account.email.apply(lambda email: f"serviceAccount:{email}"))
    service_account_trigger = gcp.cloudbuild.Trigger("service-account-trigger",
        trigger_template=gcp.cloudbuild.TriggerTriggerTemplateArgs(
            branch_name="main",
            repo_name="my-repo",
        ),
        service_account=cloudbuild_service_account.id,
        filename="cloudbuild.yaml",
        opts=pulumi.ResourceOptions(depends_on=[
                act_as,
                logs_writer,
            ]))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const project = gcp.organizations.getProject({});
    const cloudbuildServiceAccount = new gcp.serviceaccount.Account("cloudbuildServiceAccount", {accountId: "cloud-sa"});
    const actAs = new gcp.projects.IAMMember("actAs", {
        project: project.then(project => project.projectId),
        role: "roles/iam.serviceAccountUser",
        member: pulumi.interpolate`serviceAccount:${cloudbuildServiceAccount.email}`,
    });
    const logsWriter = new gcp.projects.IAMMember("logsWriter", {
        project: project.then(project => project.projectId),
        role: "roles/logging.logWriter",
        member: pulumi.interpolate`serviceAccount:${cloudbuildServiceAccount.email}`,
    });
    const service_account_trigger = new gcp.cloudbuild.Trigger("service-account-trigger", {
        triggerTemplate: {
            branchName: "main",
            repoName: "my-repo",
        },
        serviceAccount: cloudbuildServiceAccount.id,
        filename: "cloudbuild.yaml",
    }, {
        dependsOn: [
            actAs,
            logsWriter,
        ],
    });
    
    resources:
      build-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          build:
            artifacts:
              images:
                - gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA
              objects:
                location: gs://bucket/path/to/somewhere/
                paths:
                  - path
            availableSecrets:
              secretManager:
                - env: MY_SECRET
                  versionName: projects/myProject/secrets/mySecret/versions/latest
            logsBucket: gs://mybucket/logs
            options:
              diskSizeGb: 100
              dynamicSubstitutions: true
              env:
                - ekey = evalue
              logStreamingOption: STREAM_OFF
              logging: LEGACY
              machineType: N1_HIGHCPU_8
              requestedVerifyOption: VERIFIED
              secretEnv:
                - secretenv = svalue
              sourceProvenanceHash:
                - MD5
              substitutionOption: ALLOW_LOOSE
              volumes:
                - name: v1
                  path: v1
              workerPool: pool
            queueTtl: 20s
            secrets:
              - kmsKeyName: projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name
                secretEnv:
                  PASSWORD: ZW5jcnlwdGVkLXBhc3N3b3JkCg==
            source:
              storageSource:
                bucket: mybucket
                object: source_code.tar.gz
            steps:
              - args:
                  - cp
                  - gs://mybucket/remotefile.zip
                  - localfile.zip
                name: gcr.io/cloud-builders/gsutil
                secretEnv:
                  - MY_SECRET
                timeout: 120s
              - name: ubuntu
                script: echo hello
            substitutions:
              _BAZ: qux
              _FOO: bar
            tags:
              - build
              - newFeature
          location: global
          triggerTemplate:
            branchName: main
            repoName: my-repo
    

    Cloudbuild Trigger Service Account

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var include_build_logs_trigger = new Gcp.CloudBuild.Trigger("include-build-logs-trigger", new()
        {
            Filename = "cloudbuild.yaml",
            Github = new Gcp.CloudBuild.Inputs.TriggerGithubArgs
            {
                Name = "terraform-provider-google-beta",
                Owner = "hashicorp",
                Push = new Gcp.CloudBuild.Inputs.TriggerGithubPushArgs
                {
                    Branch = "^main$",
                },
            },
            IncludeBuildLogs = "INCLUDE_BUILD_LOGS_WITH_STATUS",
            Location = "us-central1",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "include-build-logs-trigger", &cloudbuild.TriggerArgs{
    			Filename: pulumi.String("cloudbuild.yaml"),
    			Github: &cloudbuild.TriggerGithubArgs{
    				Name:  pulumi.String("terraform-provider-google-beta"),
    				Owner: pulumi.String("hashicorp"),
    				Push: &cloudbuild.TriggerGithubPushArgs{
    					Branch: pulumi.String("^main$"),
    				},
    			},
    			IncludeBuildLogs: pulumi.String("INCLUDE_BUILD_LOGS_WITH_STATUS"),
    			Location:         pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.serviceAccount.Account;
    import com.pulumi.gcp.serviceAccount.AccountArgs;
    import com.pulumi.gcp.projects.IAMMember;
    import com.pulumi.gcp.projects.IAMMemberArgs;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerTriggerTemplateArgs;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            final var project = OrganizationsFunctions.getProject();
    
            var cloudbuildServiceAccount = new Account("cloudbuildServiceAccount", AccountArgs.builder()        
                .accountId("cloud-sa")
                .build());
    
            var actAs = new IAMMember("actAs", IAMMemberArgs.builder()        
                .project(project.applyValue(getProjectResult -> getProjectResult.projectId()))
                .role("roles/iam.serviceAccountUser")
                .member(cloudbuildServiceAccount.email().applyValue(email -> String.format("serviceAccount:%s", email)))
                .build());
    
            var logsWriter = new IAMMember("logsWriter", IAMMemberArgs.builder()        
                .project(project.applyValue(getProjectResult -> getProjectResult.projectId()))
                .role("roles/logging.logWriter")
                .member(cloudbuildServiceAccount.email().applyValue(email -> String.format("serviceAccount:%s", email)))
                .build());
    
            var service_account_trigger = new Trigger("service-account-trigger", TriggerArgs.builder()        
                .triggerTemplate(TriggerTriggerTemplateArgs.builder()
                    .branchName("main")
                    .repoName("my-repo")
                    .build())
                .serviceAccount(cloudbuildServiceAccount.id())
                .filename("cloudbuild.yaml")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        actAs,
                        logsWriter)
                    .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    include_build_logs_trigger = gcp.cloudbuild.Trigger("include-build-logs-trigger",
        filename="cloudbuild.yaml",
        github=gcp.cloudbuild.TriggerGithubArgs(
            name="terraform-provider-google-beta",
            owner="hashicorp",
            push=gcp.cloudbuild.TriggerGithubPushArgs(
                branch="^main$",
            ),
        ),
        include_build_logs="INCLUDE_BUILD_LOGS_WITH_STATUS",
        location="us-central1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const include_build_logs_trigger = new gcp.cloudbuild.Trigger("include-build-logs-trigger", {
        filename: "cloudbuild.yaml",
        github: {
            name: "terraform-provider-google-beta",
            owner: "hashicorp",
            push: {
                branch: "^main$",
            },
        },
        includeBuildLogs: "INCLUDE_BUILD_LOGS_WITH_STATUS",
        location: "us-central1",
    });
    
    resources:
      service-account-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          triggerTemplate:
            branchName: main
            repoName: my-repo
          serviceAccount: ${cloudbuildServiceAccount.id}
          filename: cloudbuild.yaml
        options:
          dependson:
            - ${actAs}
            - ${logsWriter}
      cloudbuildServiceAccount:
        type: gcp:serviceAccount:Account
        properties:
          accountId: cloud-sa
      actAs:
        type: gcp:projects:IAMMember
        properties:
          project: ${project.projectId}
          role: roles/iam.serviceAccountUser
          member: serviceAccount:${cloudbuildServiceAccount.email}
      logsWriter:
        type: gcp:projects:IAMMember
        properties:
          project: ${project.projectId}
          role: roles/logging.logWriter
          member: serviceAccount:${cloudbuildServiceAccount.email}
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
    

    Cloudbuild Trigger Include Build Logs

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var mytopic = new Gcp.PubSub.Topic("mytopic");
    
        var pubsub_config_trigger = new Gcp.CloudBuild.Trigger("pubsub-config-trigger", new()
        {
            Location = "us-central1",
            Description = "acceptance test example pubsub build trigger",
            PubsubConfig = new Gcp.CloudBuild.Inputs.TriggerPubsubConfigArgs
            {
                Topic = mytopic.Id,
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                Uri = "https://hashicorp/terraform-provider-google-beta",
                Ref = "refs/heads/main",
                RepoType = "GITHUB",
            },
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                Path = "cloudbuild.yaml",
                Uri = "https://hashicorp/terraform-provider-google-beta",
                Revision = "refs/heads/main",
                RepoType = "GITHUB",
            },
            Substitutions = 
            {
                { "_ACTION", "$(body.message.data.action)" },
            },
            Filter = "_ACTION.matches('INSERT')",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		mytopic, err := pubsub.NewTopic(ctx, "mytopic", nil)
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuild.NewTrigger(ctx, "pubsub-config-trigger", &cloudbuild.TriggerArgs{
    			Location:    pulumi.String("us-central1"),
    			Description: pulumi.String("acceptance test example pubsub build trigger"),
    			PubsubConfig: &cloudbuild.TriggerPubsubConfigArgs{
    				Topic: mytopic.ID(),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    				Ref:      pulumi.String("refs/heads/main"),
    				RepoType: pulumi.String("GITHUB"),
    			},
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				Path:     pulumi.String("cloudbuild.yaml"),
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    				Revision: pulumi.String("refs/heads/main"),
    				RepoType: pulumi.String("GITHUB"),
    			},
    			Substitutions: pulumi.StringMap{
    				"_ACTION": pulumi.String("$(body.message.data.action)"),
    			},
    			Filter: pulumi.String("_ACTION.matches('INSERT')"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGithubArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGithubPushArgs;
    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 include_build_logs_trigger = new Trigger("include-build-logs-trigger", TriggerArgs.builder()        
                .filename("cloudbuild.yaml")
                .github(TriggerGithubArgs.builder()
                    .name("terraform-provider-google-beta")
                    .owner("hashicorp")
                    .push(TriggerGithubPushArgs.builder()
                        .branch("^main$")
                        .build())
                    .build())
                .includeBuildLogs("INCLUDE_BUILD_LOGS_WITH_STATUS")
                .location("us-central1")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    mytopic = gcp.pubsub.Topic("mytopic")
    pubsub_config_trigger = gcp.cloudbuild.Trigger("pubsub-config-trigger",
        location="us-central1",
        description="acceptance test example pubsub build trigger",
        pubsub_config=gcp.cloudbuild.TriggerPubsubConfigArgs(
            topic=mytopic.id,
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            uri="https://hashicorp/terraform-provider-google-beta",
            ref="refs/heads/main",
            repo_type="GITHUB",
        ),
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            path="cloudbuild.yaml",
            uri="https://hashicorp/terraform-provider-google-beta",
            revision="refs/heads/main",
            repo_type="GITHUB",
        ),
        substitutions={
            "_ACTION": "$(body.message.data.action)",
        },
        filter="_ACTION.matches('INSERT')")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const mytopic = new gcp.pubsub.Topic("mytopic", {});
    const pubsub_config_trigger = new gcp.cloudbuild.Trigger("pubsub-config-trigger", {
        location: "us-central1",
        description: "acceptance test example pubsub build trigger",
        pubsubConfig: {
            topic: mytopic.id,
        },
        sourceToBuild: {
            uri: "https://hashicorp/terraform-provider-google-beta",
            ref: "refs/heads/main",
            repoType: "GITHUB",
        },
        gitFileSource: {
            path: "cloudbuild.yaml",
            uri: "https://hashicorp/terraform-provider-google-beta",
            revision: "refs/heads/main",
            repoType: "GITHUB",
        },
        substitutions: {
            _ACTION: "$(body.message.data.action)",
        },
        filter: "_ACTION.matches('INSERT')",
    });
    
    resources:
      include-build-logs-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          filename: cloudbuild.yaml
          github:
            name: terraform-provider-google-beta
            owner: hashicorp
            push:
              branch: ^main$
          includeBuildLogs: INCLUDE_BUILD_LOGS_WITH_STATUS
          location: us-central1
    

    Cloudbuild Trigger Pubsub Config

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var webhookTriggerSecretKey = new Gcp.SecretManager.Secret("webhookTriggerSecretKey", new()
        {
            SecretId = "webhook-trigger-secret-key",
            Replication = new Gcp.SecretManager.Inputs.SecretReplicationArgs
            {
                UserManaged = new Gcp.SecretManager.Inputs.SecretReplicationUserManagedArgs
                {
                    Replicas = new[]
                    {
                        new Gcp.SecretManager.Inputs.SecretReplicationUserManagedReplicaArgs
                        {
                            Location = "us-central1",
                        },
                    },
                },
            },
        });
    
        var webhookTriggerSecretKeyData = new Gcp.SecretManager.SecretVersion("webhookTriggerSecretKeyData", new()
        {
            Secret = webhookTriggerSecretKey.Id,
            SecretData = "secretkeygoeshere",
        });
    
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var secretAccessor = Gcp.Organizations.GetIAMPolicy.Invoke(new()
        {
            Bindings = new[]
            {
                new Gcp.Organizations.Inputs.GetIAMPolicyBindingInputArgs
                {
                    Role = "roles/secretmanager.secretAccessor",
                    Members = new[]
                    {
                        $"serviceAccount:service-{project.Apply(getProjectResult => getProjectResult.Number)}@gcp-sa-cloudbuild.iam.gserviceaccount.com",
                    },
                },
            },
        });
    
        var policy = new Gcp.SecretManager.SecretIamPolicy("policy", new()
        {
            Project = webhookTriggerSecretKey.Project,
            SecretId = webhookTriggerSecretKey.SecretId,
            PolicyData = secretAccessor.Apply(getIAMPolicyResult => getIAMPolicyResult.PolicyData),
        });
    
        var webhook_config_trigger = new Gcp.CloudBuild.Trigger("webhook-config-trigger", new()
        {
            Description = "acceptance test example webhook build trigger",
            WebhookConfig = new Gcp.CloudBuild.Inputs.TriggerWebhookConfigArgs
            {
                Secret = webhookTriggerSecretKeyData.Id,
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                Uri = "https://hashicorp/terraform-provider-google-beta",
                Ref = "refs/heads/main",
                RepoType = "GITHUB",
            },
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                Path = "cloudbuild.yaml",
                Uri = "https://hashicorp/terraform-provider-google-beta",
                Revision = "refs/heads/main",
                RepoType = "GITHUB",
            },
        });
    
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/secretmanager"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		webhookTriggerSecretKey, err := secretmanager.NewSecret(ctx, "webhookTriggerSecretKey", &secretmanager.SecretArgs{
    			SecretId: pulumi.String("webhook-trigger-secret-key"),
    			Replication: &secretmanager.SecretReplicationArgs{
    				UserManaged: &secretmanager.SecretReplicationUserManagedArgs{
    					Replicas: secretmanager.SecretReplicationUserManagedReplicaArray{
    						&secretmanager.SecretReplicationUserManagedReplicaArgs{
    							Location: pulumi.String("us-central1"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		webhookTriggerSecretKeyData, err := secretmanager.NewSecretVersion(ctx, "webhookTriggerSecretKeyData", &secretmanager.SecretVersionArgs{
    			Secret:     webhookTriggerSecretKey.ID(),
    			SecretData: pulumi.String("secretkeygoeshere"),
    		})
    		if err != nil {
    			return err
    		}
    		project, err := organizations.LookupProject(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		secretAccessor, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
    			Bindings: []organizations.GetIAMPolicyBinding{
    				{
    					Role: "roles/secretmanager.secretAccessor",
    					Members: []string{
    						fmt.Sprintf("serviceAccount:service-%v@gcp-sa-cloudbuild.iam.gserviceaccount.com", project.Number),
    					},
    				},
    			},
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = secretmanager.NewSecretIamPolicy(ctx, "policy", &secretmanager.SecretIamPolicyArgs{
    			Project:    webhookTriggerSecretKey.Project,
    			SecretId:   webhookTriggerSecretKey.SecretId,
    			PolicyData: *pulumi.String(secretAccessor.PolicyData),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuild.NewTrigger(ctx, "webhook-config-trigger", &cloudbuild.TriggerArgs{
    			Description: pulumi.String("acceptance test example webhook build trigger"),
    			WebhookConfig: &cloudbuild.TriggerWebhookConfigArgs{
    				Secret: webhookTriggerSecretKeyData.ID(),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    				Ref:      pulumi.String("refs/heads/main"),
    				RepoType: pulumi.String("GITHUB"),
    			},
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				Path:     pulumi.String("cloudbuild.yaml"),
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    				Revision: pulumi.String("refs/heads/main"),
    				RepoType: pulumi.String("GITHUB"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.pubsub.Topic;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerPubsubConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    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 mytopic = new Topic("mytopic");
    
            var pubsub_config_trigger = new Trigger("pubsub-config-trigger", TriggerArgs.builder()        
                .location("us-central1")
                .description("acceptance test example pubsub build trigger")
                .pubsubConfig(TriggerPubsubConfigArgs.builder()
                    .topic(mytopic.id())
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .ref("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .path("cloudbuild.yaml")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .revision("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .substitutions(Map.of("_ACTION", "$(body.message.data.action)"))
                .filter("_ACTION.matches('INSERT')")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    webhook_trigger_secret_key = gcp.secretmanager.Secret("webhookTriggerSecretKey",
        secret_id="webhook-trigger-secret-key",
        replication=gcp.secretmanager.SecretReplicationArgs(
            user_managed=gcp.secretmanager.SecretReplicationUserManagedArgs(
                replicas=[gcp.secretmanager.SecretReplicationUserManagedReplicaArgs(
                    location="us-central1",
                )],
            ),
        ))
    webhook_trigger_secret_key_data = gcp.secretmanager.SecretVersion("webhookTriggerSecretKeyData",
        secret=webhook_trigger_secret_key.id,
        secret_data="secretkeygoeshere")
    project = gcp.organizations.get_project()
    secret_accessor = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
        role="roles/secretmanager.secretAccessor",
        members=[f"serviceAccount:service-{project.number}@gcp-sa-cloudbuild.iam.gserviceaccount.com"],
    )])
    policy = gcp.secretmanager.SecretIamPolicy("policy",
        project=webhook_trigger_secret_key.project,
        secret_id=webhook_trigger_secret_key.secret_id,
        policy_data=secret_accessor.policy_data)
    webhook_config_trigger = gcp.cloudbuild.Trigger("webhook-config-trigger",
        description="acceptance test example webhook build trigger",
        webhook_config=gcp.cloudbuild.TriggerWebhookConfigArgs(
            secret=webhook_trigger_secret_key_data.id,
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            uri="https://hashicorp/terraform-provider-google-beta",
            ref="refs/heads/main",
            repo_type="GITHUB",
        ),
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            path="cloudbuild.yaml",
            uri="https://hashicorp/terraform-provider-google-beta",
            revision="refs/heads/main",
            repo_type="GITHUB",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const webhookTriggerSecretKey = new gcp.secretmanager.Secret("webhookTriggerSecretKey", {
        secretId: "webhook-trigger-secret-key",
        replication: {
            userManaged: {
                replicas: [{
                    location: "us-central1",
                }],
            },
        },
    });
    const webhookTriggerSecretKeyData = new gcp.secretmanager.SecretVersion("webhookTriggerSecretKeyData", {
        secret: webhookTriggerSecretKey.id,
        secretData: "secretkeygoeshere",
    });
    const project = gcp.organizations.getProject({});
    const secretAccessor = project.then(project => gcp.organizations.getIAMPolicy({
        bindings: [{
            role: "roles/secretmanager.secretAccessor",
            members: [`serviceAccount:service-${project.number}@gcp-sa-cloudbuild.iam.gserviceaccount.com`],
        }],
    }));
    const policy = new gcp.secretmanager.SecretIamPolicy("policy", {
        project: webhookTriggerSecretKey.project,
        secretId: webhookTriggerSecretKey.secretId,
        policyData: secretAccessor.then(secretAccessor => secretAccessor.policyData),
    });
    const webhook_config_trigger = new gcp.cloudbuild.Trigger("webhook-config-trigger", {
        description: "acceptance test example webhook build trigger",
        webhookConfig: {
            secret: webhookTriggerSecretKeyData.id,
        },
        sourceToBuild: {
            uri: "https://hashicorp/terraform-provider-google-beta",
            ref: "refs/heads/main",
            repoType: "GITHUB",
        },
        gitFileSource: {
            path: "cloudbuild.yaml",
            uri: "https://hashicorp/terraform-provider-google-beta",
            revision: "refs/heads/main",
            repoType: "GITHUB",
        },
    });
    
    resources:
      mytopic:
        type: gcp:pubsub:Topic
      pubsub-config-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          location: us-central1
          description: acceptance test example pubsub build trigger
          pubsubConfig:
            topic: ${mytopic.id}
          sourceToBuild:
            uri: https://hashicorp/terraform-provider-google-beta
            ref: refs/heads/main
            repoType: GITHUB
          gitFileSource:
            path: cloudbuild.yaml
            uri: https://hashicorp/terraform-provider-google-beta
            revision: refs/heads/main
            repoType: GITHUB
          substitutions:
            _ACTION: $(body.message.data.action)
          filter: _ACTION.matches('INSERT')
    

    Cloudbuild Trigger Webhook Config

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var manual_trigger = new Gcp.CloudBuild.Trigger("manual-trigger", new()
        {
            ApprovalConfig = new Gcp.CloudBuild.Inputs.TriggerApprovalConfigArgs
            {
                ApprovalRequired = true,
            },
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                Path = "cloudbuild.yaml",
                RepoType = "GITHUB",
                Revision = "refs/heads/main",
                Uri = "https://hashicorp/terraform-provider-google-beta",
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                Ref = "refs/heads/main",
                RepoType = "GITHUB",
                Uri = "https://hashicorp/terraform-provider-google-beta",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "manual-trigger", &cloudbuild.TriggerArgs{
    			ApprovalConfig: &cloudbuild.TriggerApprovalConfigArgs{
    				ApprovalRequired: pulumi.Bool(true),
    			},
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				Path:     pulumi.String("cloudbuild.yaml"),
    				RepoType: pulumi.String("GITHUB"),
    				Revision: pulumi.String("refs/heads/main"),
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				Ref:      pulumi.String("refs/heads/main"),
    				RepoType: pulumi.String("GITHUB"),
    				Uri:      pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.secretmanager.Secret;
    import com.pulumi.gcp.secretmanager.SecretArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationUserManagedArgs;
    import com.pulumi.gcp.secretmanager.SecretVersion;
    import com.pulumi.gcp.secretmanager.SecretVersionArgs;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.organizations.inputs.GetIAMPolicyArgs;
    import com.pulumi.gcp.secretmanager.SecretIamPolicy;
    import com.pulumi.gcp.secretmanager.SecretIamPolicyArgs;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerWebhookConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    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 webhookTriggerSecretKey = new Secret("webhookTriggerSecretKey", SecretArgs.builder()        
                .secretId("webhook-trigger-secret-key")
                .replication(SecretReplicationArgs.builder()
                    .userManaged(SecretReplicationUserManagedArgs.builder()
                        .replicas(SecretReplicationUserManagedReplicaArgs.builder()
                            .location("us-central1")
                            .build())
                        .build())
                    .build())
                .build());
    
            var webhookTriggerSecretKeyData = new SecretVersion("webhookTriggerSecretKeyData", SecretVersionArgs.builder()        
                .secret(webhookTriggerSecretKey.id())
                .secretData("secretkeygoeshere")
                .build());
    
            final var project = OrganizationsFunctions.getProject();
    
            final var secretAccessor = OrganizationsFunctions.getIAMPolicy(GetIAMPolicyArgs.builder()
                .bindings(GetIAMPolicyBindingArgs.builder()
                    .role("roles/secretmanager.secretAccessor")
                    .members(String.format("serviceAccount:service-%s@gcp-sa-cloudbuild.iam.gserviceaccount.com", project.applyValue(getProjectResult -> getProjectResult.number())))
                    .build())
                .build());
    
            var policy = new SecretIamPolicy("policy", SecretIamPolicyArgs.builder()        
                .project(webhookTriggerSecretKey.project())
                .secretId(webhookTriggerSecretKey.secretId())
                .policyData(secretAccessor.applyValue(getIAMPolicyResult -> getIAMPolicyResult.policyData()))
                .build());
    
            var webhook_config_trigger = new Trigger("webhook-config-trigger", TriggerArgs.builder()        
                .description("acceptance test example webhook build trigger")
                .webhookConfig(TriggerWebhookConfigArgs.builder()
                    .secret(webhookTriggerSecretKeyData.id())
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .ref("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .path("cloudbuild.yaml")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .revision("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    manual_trigger = gcp.cloudbuild.Trigger("manual-trigger",
        approval_config=gcp.cloudbuild.TriggerApprovalConfigArgs(
            approval_required=True,
        ),
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            path="cloudbuild.yaml",
            repo_type="GITHUB",
            revision="refs/heads/main",
            uri="https://hashicorp/terraform-provider-google-beta",
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            ref="refs/heads/main",
            repo_type="GITHUB",
            uri="https://hashicorp/terraform-provider-google-beta",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const manual_trigger = new gcp.cloudbuild.Trigger("manual-trigger", {
        approvalConfig: {
            approvalRequired: true,
        },
        gitFileSource: {
            path: "cloudbuild.yaml",
            repoType: "GITHUB",
            revision: "refs/heads/main",
            uri: "https://hashicorp/terraform-provider-google-beta",
        },
        sourceToBuild: {
            ref: "refs/heads/main",
            repoType: "GITHUB",
            uri: "https://hashicorp/terraform-provider-google-beta",
        },
    });
    
    resources:
      webhookTriggerSecretKey:
        type: gcp:secretmanager:Secret
        properties:
          secretId: webhook-trigger-secret-key
          replication:
            userManaged:
              replicas:
                - location: us-central1
      webhookTriggerSecretKeyData:
        type: gcp:secretmanager:SecretVersion
        properties:
          secret: ${webhookTriggerSecretKey.id}
          secretData: secretkeygoeshere
      policy:
        type: gcp:secretmanager:SecretIamPolicy
        properties:
          project: ${webhookTriggerSecretKey.project}
          secretId: ${webhookTriggerSecretKey.secretId}
          policyData: ${secretAccessor.policyData}
      webhook-config-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          description: acceptance test example webhook build trigger
          webhookConfig:
            secret: ${webhookTriggerSecretKeyData.id}
          sourceToBuild:
            uri: https://hashicorp/terraform-provider-google-beta
            ref: refs/heads/main
            repoType: GITHUB
          gitFileSource:
            path: cloudbuild.yaml
            uri: https://hashicorp/terraform-provider-google-beta
            revision: refs/heads/main
            repoType: GITHUB
    variables:
      project:
        fn::invoke:
          Function: gcp:organizations:getProject
          Arguments: {}
      secretAccessor:
        fn::invoke:
          Function: gcp:organizations:getIAMPolicy
          Arguments:
            bindings:
              - role: roles/secretmanager.secretAccessor
                members:
                  - serviceAccount:service-${project.number}@gcp-sa-cloudbuild.iam.gserviceaccount.com
    

    Cloudbuild Trigger Manual

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var manual_ghe_trigger = new Gcp.CloudBuild.Trigger("manual-ghe-trigger", new()
        {
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                GithubEnterpriseConfig = "projects/myProject/locations/global/githubEnterpriseConfigs/configID",
                Path = "cloudbuild.yaml",
                RepoType = "GITHUB",
                Revision = "refs/heads/main",
                Uri = "https://hashicorp/terraform-provider-google-beta",
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                GithubEnterpriseConfig = "projects/myProject/locations/global/githubEnterpriseConfigs/configID",
                Ref = "refs/heads/main",
                RepoType = "GITHUB",
                Uri = "https://hashicorp/terraform-provider-google-beta",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "manual-ghe-trigger", &cloudbuild.TriggerArgs{
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				GithubEnterpriseConfig: pulumi.String("projects/myProject/locations/global/githubEnterpriseConfigs/configID"),
    				Path:                   pulumi.String("cloudbuild.yaml"),
    				RepoType:               pulumi.String("GITHUB"),
    				Revision:               pulumi.String("refs/heads/main"),
    				Uri:                    pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				GithubEnterpriseConfig: pulumi.String("projects/myProject/locations/global/githubEnterpriseConfigs/configID"),
    				Ref:                    pulumi.String("refs/heads/main"),
    				RepoType:               pulumi.String("GITHUB"),
    				Uri:                    pulumi.String("https://hashicorp/terraform-provider-google-beta"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerApprovalConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    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 manual_trigger = new Trigger("manual-trigger", TriggerArgs.builder()        
                .approvalConfig(TriggerApprovalConfigArgs.builder()
                    .approvalRequired(true)
                    .build())
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .path("cloudbuild.yaml")
                    .repoType("GITHUB")
                    .revision("refs/heads/main")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .ref("refs/heads/main")
                    .repoType("GITHUB")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    manual_ghe_trigger = gcp.cloudbuild.Trigger("manual-ghe-trigger",
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            github_enterprise_config="projects/myProject/locations/global/githubEnterpriseConfigs/configID",
            path="cloudbuild.yaml",
            repo_type="GITHUB",
            revision="refs/heads/main",
            uri="https://hashicorp/terraform-provider-google-beta",
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            github_enterprise_config="projects/myProject/locations/global/githubEnterpriseConfigs/configID",
            ref="refs/heads/main",
            repo_type="GITHUB",
            uri="https://hashicorp/terraform-provider-google-beta",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const manual_ghe_trigger = new gcp.cloudbuild.Trigger("manual-ghe-trigger", {
        gitFileSource: {
            githubEnterpriseConfig: "projects/myProject/locations/global/githubEnterpriseConfigs/configID",
            path: "cloudbuild.yaml",
            repoType: "GITHUB",
            revision: "refs/heads/main",
            uri: "https://hashicorp/terraform-provider-google-beta",
        },
        sourceToBuild: {
            githubEnterpriseConfig: "projects/myProject/locations/global/githubEnterpriseConfigs/configID",
            ref: "refs/heads/main",
            repoType: "GITHUB",
            uri: "https://hashicorp/terraform-provider-google-beta",
        },
    });
    
    resources:
      manual-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          # If this is set on a build, it will become pending when it is run, 
          #     // and will need to be explicitly approved to start.
          approvalConfig:
            approvalRequired: true
          gitFileSource:
            path: cloudbuild.yaml
            repoType: GITHUB
            revision: refs/heads/main
            uri: https://hashicorp/terraform-provider-google-beta
          sourceToBuild:
            ref: refs/heads/main
            repoType: GITHUB
            uri: https://hashicorp/terraform-provider-google-beta
    

    Cloudbuild Trigger Manual Github Enterprise

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var manual_bitbucket_trigger = new Gcp.CloudBuild.Trigger("manual-bitbucket-trigger", new()
        {
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                BitbucketServerConfig = "projects/myProject/locations/global/bitbucketServerConfigs/configID",
                Path = "cloudbuild.yaml",
                RepoType = "BITBUCKET_SERVER",
                Revision = "refs/heads/main",
                Uri = "https://bbs.com/scm/stag/test-repo.git",
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                BitbucketServerConfig = "projects/myProject/locations/global/bitbucketServerConfigs/configID",
                Ref = "refs/heads/main",
                RepoType = "BITBUCKET_SERVER",
                Uri = "https://bbs.com/scm/stag/test-repo.git",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "manual-bitbucket-trigger", &cloudbuild.TriggerArgs{
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				BitbucketServerConfig: pulumi.String("projects/myProject/locations/global/bitbucketServerConfigs/configID"),
    				Path:                  pulumi.String("cloudbuild.yaml"),
    				RepoType:              pulumi.String("BITBUCKET_SERVER"),
    				Revision:              pulumi.String("refs/heads/main"),
    				Uri:                   pulumi.String("https://bbs.com/scm/stag/test-repo.git"),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				BitbucketServerConfig: pulumi.String("projects/myProject/locations/global/bitbucketServerConfigs/configID"),
    				Ref:                   pulumi.String("refs/heads/main"),
    				RepoType:              pulumi.String("BITBUCKET_SERVER"),
    				Uri:                   pulumi.String("https://bbs.com/scm/stag/test-repo.git"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    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 manual_ghe_trigger = new Trigger("manual-ghe-trigger", TriggerArgs.builder()        
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .githubEnterpriseConfig("projects/myProject/locations/global/githubEnterpriseConfigs/configID")
                    .path("cloudbuild.yaml")
                    .repoType("GITHUB")
                    .revision("refs/heads/main")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .githubEnterpriseConfig("projects/myProject/locations/global/githubEnterpriseConfigs/configID")
                    .ref("refs/heads/main")
                    .repoType("GITHUB")
                    .uri("https://hashicorp/terraform-provider-google-beta")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    manual_bitbucket_trigger = gcp.cloudbuild.Trigger("manual-bitbucket-trigger",
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            bitbucket_server_config="projects/myProject/locations/global/bitbucketServerConfigs/configID",
            path="cloudbuild.yaml",
            repo_type="BITBUCKET_SERVER",
            revision="refs/heads/main",
            uri="https://bbs.com/scm/stag/test-repo.git",
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            bitbucket_server_config="projects/myProject/locations/global/bitbucketServerConfigs/configID",
            ref="refs/heads/main",
            repo_type="BITBUCKET_SERVER",
            uri="https://bbs.com/scm/stag/test-repo.git",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const manual_bitbucket_trigger = new gcp.cloudbuild.Trigger("manual-bitbucket-trigger", {
        gitFileSource: {
            bitbucketServerConfig: "projects/myProject/locations/global/bitbucketServerConfigs/configID",
            path: "cloudbuild.yaml",
            repoType: "BITBUCKET_SERVER",
            revision: "refs/heads/main",
            uri: "https://bbs.com/scm/stag/test-repo.git",
        },
        sourceToBuild: {
            bitbucketServerConfig: "projects/myProject/locations/global/bitbucketServerConfigs/configID",
            ref: "refs/heads/main",
            repoType: "BITBUCKET_SERVER",
            uri: "https://bbs.com/scm/stag/test-repo.git",
        },
    });
    
    resources:
      manual-ghe-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          gitFileSource:
            githubEnterpriseConfig: projects/myProject/locations/global/githubEnterpriseConfigs/configID
            path: cloudbuild.yaml
            repoType: GITHUB
            revision: refs/heads/main
            uri: https://hashicorp/terraform-provider-google-beta
          sourceToBuild:
            githubEnterpriseConfig: projects/myProject/locations/global/githubEnterpriseConfigs/configID
            ref: refs/heads/main
            repoType: GITHUB
            uri: https://hashicorp/terraform-provider-google-beta
    

    Cloudbuild Trigger Manual Bitbucket Server

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var my_connection = new Gcp.CloudBuildV2.Connection("my-connection", new()
        {
            Location = "us-central1",
            GithubConfig = new Gcp.CloudBuildV2.Inputs.ConnectionGithubConfigArgs
            {
                AppInstallationId = 123123,
                AuthorizerCredential = new Gcp.CloudBuildV2.Inputs.ConnectionGithubConfigAuthorizerCredentialArgs
                {
                    OauthTokenSecretVersion = "projects/my-project/secrets/github-pat-secret/versions/latest",
                },
            },
        });
    
        var my_repository = new Gcp.CloudBuildV2.Repository("my-repository", new()
        {
            ParentConnection = my_connection.Id,
            RemoteUri = "https://github.com/myuser/my-repo.git",
        });
    
        var repo_trigger = new Gcp.CloudBuild.Trigger("repo-trigger", new()
        {
            Location = "us-central1",
            RepositoryEventConfig = new Gcp.CloudBuild.Inputs.TriggerRepositoryEventConfigArgs
            {
                Repository = my_repository.Id,
                Push = new Gcp.CloudBuild.Inputs.TriggerRepositoryEventConfigPushArgs
                {
                    Branch = "feature-.*",
                },
            },
            Filename = "cloudbuild.yaml",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuildv2"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuildv2.NewConnection(ctx, "my-connection", &cloudbuildv2.ConnectionArgs{
    			Location: pulumi.String("us-central1"),
    			GithubConfig: &cloudbuildv2.ConnectionGithubConfigArgs{
    				AppInstallationId: pulumi.Int(123123),
    				AuthorizerCredential: &cloudbuildv2.ConnectionGithubConfigAuthorizerCredentialArgs{
    					OauthTokenSecretVersion: pulumi.String("projects/my-project/secrets/github-pat-secret/versions/latest"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuildv2.NewRepository(ctx, "my-repository", &cloudbuildv2.RepositoryArgs{
    			ParentConnection: my_connection.ID(),
    			RemoteUri:        pulumi.String("https://github.com/myuser/my-repo.git"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuild.NewTrigger(ctx, "repo-trigger", &cloudbuild.TriggerArgs{
    			Location: pulumi.String("us-central1"),
    			RepositoryEventConfig: &cloudbuild.TriggerRepositoryEventConfigArgs{
    				Repository: my_repository.ID(),
    				Push: &cloudbuild.TriggerRepositoryEventConfigPushArgs{
    					Branch: pulumi.String("feature-.*"),
    				},
    			},
    			Filename: pulumi.String("cloudbuild.yaml"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    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 manual_bitbucket_trigger = new Trigger("manual-bitbucket-trigger", TriggerArgs.builder()        
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .bitbucketServerConfig("projects/myProject/locations/global/bitbucketServerConfigs/configID")
                    .path("cloudbuild.yaml")
                    .repoType("BITBUCKET_SERVER")
                    .revision("refs/heads/main")
                    .uri("https://bbs.com/scm/stag/test-repo.git")
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .bitbucketServerConfig("projects/myProject/locations/global/bitbucketServerConfigs/configID")
                    .ref("refs/heads/main")
                    .repoType("BITBUCKET_SERVER")
                    .uri("https://bbs.com/scm/stag/test-repo.git")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_connection = gcp.cloudbuildv2.Connection("my-connection",
        location="us-central1",
        github_config=gcp.cloudbuildv2.ConnectionGithubConfigArgs(
            app_installation_id=123123,
            authorizer_credential=gcp.cloudbuildv2.ConnectionGithubConfigAuthorizerCredentialArgs(
                oauth_token_secret_version="projects/my-project/secrets/github-pat-secret/versions/latest",
            ),
        ))
    my_repository = gcp.cloudbuildv2.Repository("my-repository",
        parent_connection=my_connection.id,
        remote_uri="https://github.com/myuser/my-repo.git")
    repo_trigger = gcp.cloudbuild.Trigger("repo-trigger",
        location="us-central1",
        repository_event_config=gcp.cloudbuild.TriggerRepositoryEventConfigArgs(
            repository=my_repository.id,
            push=gcp.cloudbuild.TriggerRepositoryEventConfigPushArgs(
                branch="feature-.*",
            ),
        ),
        filename="cloudbuild.yaml")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const my_connection = new gcp.cloudbuildv2.Connection("my-connection", {
        location: "us-central1",
        githubConfig: {
            appInstallationId: 123123,
            authorizerCredential: {
                oauthTokenSecretVersion: "projects/my-project/secrets/github-pat-secret/versions/latest",
            },
        },
    });
    const my_repository = new gcp.cloudbuildv2.Repository("my-repository", {
        parentConnection: my_connection.id,
        remoteUri: "https://github.com/myuser/my-repo.git",
    });
    const repo_trigger = new gcp.cloudbuild.Trigger("repo-trigger", {
        location: "us-central1",
        repositoryEventConfig: {
            repository: my_repository.id,
            push: {
                branch: "feature-.*",
            },
        },
        filename: "cloudbuild.yaml",
    });
    
    resources:
      manual-bitbucket-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          gitFileSource:
            bitbucketServerConfig: projects/myProject/locations/global/bitbucketServerConfigs/configID
            path: cloudbuild.yaml
            repoType: BITBUCKET_SERVER
            revision: refs/heads/main
            uri: https://bbs.com/scm/stag/test-repo.git
          sourceToBuild:
            bitbucketServerConfig: projects/myProject/locations/global/bitbucketServerConfigs/configID
            ref: refs/heads/main
            repoType: BITBUCKET_SERVER
            uri: https://bbs.com/scm/stag/test-repo.git
    

    Cloudbuild Trigger Repo

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var bbs_push_trigger = new Gcp.CloudBuild.Trigger("bbs-push-trigger", new()
        {
            BitbucketServerTriggerConfig = new Gcp.CloudBuild.Inputs.TriggerBitbucketServerTriggerConfigArgs
            {
                BitbucketServerConfigResource = "projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
                ProjectKey = "STAG",
                Push = new Gcp.CloudBuild.Inputs.TriggerBitbucketServerTriggerConfigPushArgs
                {
                    InvertRegex = true,
                    Tag = "^0.1.*",
                },
                RepoSlug = "bbs-push-trigger",
            },
            Filename = "cloudbuild.yaml",
            Location = "us-central1",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "bbs-push-trigger", &cloudbuild.TriggerArgs{
    			BitbucketServerTriggerConfig: &cloudbuild.TriggerBitbucketServerTriggerConfigArgs{
    				BitbucketServerConfigResource: pulumi.String("projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig"),
    				ProjectKey:                    pulumi.String("STAG"),
    				Push: &cloudbuild.TriggerBitbucketServerTriggerConfigPushArgs{
    					InvertRegex: pulumi.Bool(true),
    					Tag:         pulumi.String("^0.1.*"),
    				},
    				RepoSlug: pulumi.String("bbs-push-trigger"),
    			},
    			Filename: pulumi.String("cloudbuild.yaml"),
    			Location: pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuildv2.Connection;
    import com.pulumi.gcp.cloudbuildv2.ConnectionArgs;
    import com.pulumi.gcp.cloudbuildv2.inputs.ConnectionGithubConfigArgs;
    import com.pulumi.gcp.cloudbuildv2.inputs.ConnectionGithubConfigAuthorizerCredentialArgs;
    import com.pulumi.gcp.cloudbuildv2.Repository;
    import com.pulumi.gcp.cloudbuildv2.RepositoryArgs;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerRepositoryEventConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerRepositoryEventConfigPushArgs;
    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 my_connection = new Connection("my-connection", ConnectionArgs.builder()        
                .location("us-central1")
                .githubConfig(ConnectionGithubConfigArgs.builder()
                    .appInstallationId(123123)
                    .authorizerCredential(ConnectionGithubConfigAuthorizerCredentialArgs.builder()
                        .oauthTokenSecretVersion("projects/my-project/secrets/github-pat-secret/versions/latest")
                        .build())
                    .build())
                .build());
    
            var my_repository = new Repository("my-repository", RepositoryArgs.builder()        
                .parentConnection(my_connection.id())
                .remoteUri("https://github.com/myuser/my-repo.git")
                .build());
    
            var repo_trigger = new Trigger("repo-trigger", TriggerArgs.builder()        
                .location("us-central1")
                .repositoryEventConfig(TriggerRepositoryEventConfigArgs.builder()
                    .repository(my_repository.id())
                    .push(TriggerRepositoryEventConfigPushArgs.builder()
                        .branch("feature-.*")
                        .build())
                    .build())
                .filename("cloudbuild.yaml")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    bbs_push_trigger = gcp.cloudbuild.Trigger("bbs-push-trigger",
        bitbucket_server_trigger_config=gcp.cloudbuild.TriggerBitbucketServerTriggerConfigArgs(
            bitbucket_server_config_resource="projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
            project_key="STAG",
            push=gcp.cloudbuild.TriggerBitbucketServerTriggerConfigPushArgs(
                invert_regex=True,
                tag="^0.1.*",
            ),
            repo_slug="bbs-push-trigger",
        ),
        filename="cloudbuild.yaml",
        location="us-central1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const bbs_push_trigger = new gcp.cloudbuild.Trigger("bbs-push-trigger", {
        bitbucketServerTriggerConfig: {
            bitbucketServerConfigResource: "projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
            projectKey: "STAG",
            push: {
                invertRegex: true,
                tag: "^0.1.*",
            },
            repoSlug: "bbs-push-trigger",
        },
        filename: "cloudbuild.yaml",
        location: "us-central1",
    });
    
    resources:
      my-connection:
        type: gcp:cloudbuildv2:Connection
        properties:
          location: us-central1
          githubConfig:
            appInstallationId: 123123
            authorizerCredential:
              oauthTokenSecretVersion: projects/my-project/secrets/github-pat-secret/versions/latest
      my-repository:
        type: gcp:cloudbuildv2:Repository
        properties:
          parentConnection: ${["my-connection"].id}
          remoteUri: https://github.com/myuser/my-repo.git
      repo-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          location: us-central1
          repositoryEventConfig:
            repository: ${["my-repository"].id}
            push:
              branch: feature-.*
          filename: cloudbuild.yaml
    

    Cloudbuild Trigger Bitbucket Server Push

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var bbs_pull_request_trigger = new Gcp.CloudBuild.Trigger("bbs-pull-request-trigger", new()
        {
            BitbucketServerTriggerConfig = new Gcp.CloudBuild.Inputs.TriggerBitbucketServerTriggerConfigArgs
            {
                BitbucketServerConfigResource = "projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
                ProjectKey = "STAG",
                PullRequest = new Gcp.CloudBuild.Inputs.TriggerBitbucketServerTriggerConfigPullRequestArgs
                {
                    Branch = "^master$",
                    CommentControl = "COMMENTS_ENABLED",
                    InvertRegex = false,
                },
                RepoSlug = "terraform-provider-google",
            },
            Filename = "cloudbuild.yaml",
            Location = "us-central1",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "bbs-pull-request-trigger", &cloudbuild.TriggerArgs{
    			BitbucketServerTriggerConfig: &cloudbuild.TriggerBitbucketServerTriggerConfigArgs{
    				BitbucketServerConfigResource: pulumi.String("projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig"),
    				ProjectKey:                    pulumi.String("STAG"),
    				PullRequest: &cloudbuild.TriggerBitbucketServerTriggerConfigPullRequestArgs{
    					Branch:         pulumi.String("^master$"),
    					CommentControl: pulumi.String("COMMENTS_ENABLED"),
    					InvertRegex:    pulumi.Bool(false),
    				},
    				RepoSlug: pulumi.String("terraform-provider-google"),
    			},
    			Filename: pulumi.String("cloudbuild.yaml"),
    			Location: pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBitbucketServerTriggerConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBitbucketServerTriggerConfigPushArgs;
    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 bbs_push_trigger = new Trigger("bbs-push-trigger", TriggerArgs.builder()        
                .bitbucketServerTriggerConfig(TriggerBitbucketServerTriggerConfigArgs.builder()
                    .bitbucketServerConfigResource("projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig")
                    .projectKey("STAG")
                    .push(TriggerBitbucketServerTriggerConfigPushArgs.builder()
                        .invertRegex(true)
                        .tag("^0.1.*")
                        .build())
                    .repoSlug("bbs-push-trigger")
                    .build())
                .filename("cloudbuild.yaml")
                .location("us-central1")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    bbs_pull_request_trigger = gcp.cloudbuild.Trigger("bbs-pull-request-trigger",
        bitbucket_server_trigger_config=gcp.cloudbuild.TriggerBitbucketServerTriggerConfigArgs(
            bitbucket_server_config_resource="projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
            project_key="STAG",
            pull_request=gcp.cloudbuild.TriggerBitbucketServerTriggerConfigPullRequestArgs(
                branch="^master$",
                comment_control="COMMENTS_ENABLED",
                invert_regex=False,
            ),
            repo_slug="terraform-provider-google",
        ),
        filename="cloudbuild.yaml",
        location="us-central1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const bbs_pull_request_trigger = new gcp.cloudbuild.Trigger("bbs-pull-request-trigger", {
        bitbucketServerTriggerConfig: {
            bitbucketServerConfigResource: "projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig",
            projectKey: "STAG",
            pullRequest: {
                branch: "^master$",
                commentControl: "COMMENTS_ENABLED",
                invertRegex: false,
            },
            repoSlug: "terraform-provider-google",
        },
        filename: "cloudbuild.yaml",
        location: "us-central1",
    });
    
    resources:
      bbs-push-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          bitbucketServerTriggerConfig:
            bitbucketServerConfigResource: projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig
            projectKey: STAG
            push:
              invertRegex: true
              tag: ^0.1.*
            repoSlug: bbs-push-trigger
          filename: cloudbuild.yaml
          location: us-central1
    

    Cloudbuild Trigger Bitbucket Server Pull Request

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var ghe_trigger = new Gcp.CloudBuild.Trigger("ghe-trigger", new()
        {
            Filename = "cloudbuild.yaml",
            Github = new Gcp.CloudBuild.Inputs.TriggerGithubArgs
            {
                EnterpriseConfigResourceName = "projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID",
                Name = "terraform-provider-google",
                Owner = "hashicorp",
                Push = new Gcp.CloudBuild.Inputs.TriggerGithubPushArgs
                {
                    Branch = "^main$",
                },
            },
            Location = "us-central1",
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuild.NewTrigger(ctx, "ghe-trigger", &cloudbuild.TriggerArgs{
    			Filename: pulumi.String("cloudbuild.yaml"),
    			Github: &cloudbuild.TriggerGithubArgs{
    				EnterpriseConfigResourceName: pulumi.String("projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID"),
    				Name:                         pulumi.String("terraform-provider-google"),
    				Owner:                        pulumi.String("hashicorp"),
    				Push: &cloudbuild.TriggerGithubPushArgs{
    					Branch: pulumi.String("^main$"),
    				},
    			},
    			Location: pulumi.String("us-central1"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBitbucketServerTriggerConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBitbucketServerTriggerConfigPullRequestArgs;
    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 bbs_pull_request_trigger = new Trigger("bbs-pull-request-trigger", TriggerArgs.builder()        
                .bitbucketServerTriggerConfig(TriggerBitbucketServerTriggerConfigArgs.builder()
                    .bitbucketServerConfigResource("projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig")
                    .projectKey("STAG")
                    .pullRequest(TriggerBitbucketServerTriggerConfigPullRequestArgs.builder()
                        .branch("^master$")
                        .commentControl("COMMENTS_ENABLED")
                        .invertRegex(false)
                        .build())
                    .repoSlug("terraform-provider-google")
                    .build())
                .filename("cloudbuild.yaml")
                .location("us-central1")
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    ghe_trigger = gcp.cloudbuild.Trigger("ghe-trigger",
        filename="cloudbuild.yaml",
        github=gcp.cloudbuild.TriggerGithubArgs(
            enterprise_config_resource_name="projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID",
            name="terraform-provider-google",
            owner="hashicorp",
            push=gcp.cloudbuild.TriggerGithubPushArgs(
                branch="^main$",
            ),
        ),
        location="us-central1")
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const ghe_trigger = new gcp.cloudbuild.Trigger("ghe-trigger", {
        filename: "cloudbuild.yaml",
        github: {
            enterpriseConfigResourceName: "projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID",
            name: "terraform-provider-google",
            owner: "hashicorp",
            push: {
                branch: "^main$",
            },
        },
        location: "us-central1",
    });
    
    resources:
      bbs-pull-request-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          bitbucketServerTriggerConfig:
            bitbucketServerConfigResource: projects/123456789/locations/us-central1/bitbucketServerConfigs/myBitbucketConfig
            projectKey: STAG
            pullRequest:
              branch: ^master$
              commentControl: COMMENTS_ENABLED
              invertRegex: false
            repoSlug: terraform-provider-google
          filename: cloudbuild.yaml
          location: us-central1
    

    Cloudbuild Trigger Github Enterprise

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGithubArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGithubPushArgs;
    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 ghe_trigger = new Trigger("ghe-trigger", TriggerArgs.builder()        
                .filename("cloudbuild.yaml")
                .github(TriggerGithubArgs.builder()
                    .enterpriseConfigResourceName("projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID")
                    .name("terraform-provider-google")
                    .owner("hashicorp")
                    .push(TriggerGithubPushArgs.builder()
                        .branch("^main$")
                        .build())
                    .build())
                .location("us-central1")
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      ghe-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          filename: cloudbuild.yaml
          github:
            enterpriseConfigResourceName: projects/123456789/locations/us-central1/githubEnterpriseConfigs/configID
            name: terraform-provider-google
            owner: hashicorp
            push:
              branch: ^main$
          location: us-central1
    

    Cloudbuild Trigger Allow Failure

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsObjectsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildAvailableSecretsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildOptionsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceStorageSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerTriggerTemplateArgs;
    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 allow_failure_trigger = new Trigger("allow-failure-trigger", TriggerArgs.builder()        
                .build(TriggerBuildArgs.builder()
                    .artifacts(TriggerBuildArtifactsArgs.builder()
                        .images("gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA")
                        .objects(TriggerBuildArtifactsObjectsArgs.builder()
                            .location("gs://bucket/path/to/somewhere/")
                            .paths("path")
                            .build())
                        .build())
                    .availableSecrets(TriggerBuildAvailableSecretsArgs.builder()
                        .secretManager(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .logsBucket("gs://mybucket/logs")
                    .options(TriggerBuildOptionsArgs.builder()
                        .diskSizeGb(100)
                        .dynamicSubstitutions(true)
                        .env("ekey = evalue")
                        .logStreamingOption("STREAM_OFF")
                        .logging("LEGACY")
                        .machineType("N1_HIGHCPU_8")
                        .requestedVerifyOption("VERIFIED")
                        .secretEnv("secretenv = svalue")
                        .sourceProvenanceHash("MD5")
                        .substitutionOption("ALLOW_LOOSE")
                        .volumes(TriggerBuildOptionsVolumeArgs.builder()
                            .name("v1")
                            .path("v1")
                            .build())
                        .workerPool("pool")
                        .build())
                    .queueTtl("20s")
                    .secrets(TriggerBuildSecretArgs.builder()
                        .kmsKeyName("projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name")
                        .secretEnv(Map.of("PASSWORD", "ZW5jcnlwdGVkLXBhc3N3b3JkCg=="))
                        .build())
                    .source(TriggerBuildSourceArgs.builder()
                        .storageSource(TriggerBuildSourceStorageSourceArgs.builder()
                            .bucket("mybucket")
                            .object("source_code.tar.gz")
                            .build())
                        .build())
                    .steps(TriggerBuildStepArgs.builder()
                        .allowFailure(true)
                        .args(                    
                            "-c",
                            "exit 1")
                        .name("ubuntu")
                        .build())
                    .substitutions(Map.ofEntries(
                        Map.entry("_BAZ", "qux"),
                        Map.entry("_FOO", "bar")
                    ))
                    .tags(                
                        "build",
                        "newFeature")
                    .build())
                .location("global")
                .triggerTemplate(TriggerTriggerTemplateArgs.builder()
                    .branchName("main")
                    .repoName("my-repo")
                    .build())
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      allow-failure-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          build:
            artifacts:
              images:
                - gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA
              objects:
                location: gs://bucket/path/to/somewhere/
                paths:
                  - path
            availableSecrets:
              secretManager:
                - env: MY_SECRET
                  versionName: projects/myProject/secrets/mySecret/versions/latest
            logsBucket: gs://mybucket/logs
            options:
              diskSizeGb: 100
              dynamicSubstitutions: true
              env:
                - ekey = evalue
              logStreamingOption: STREAM_OFF
              logging: LEGACY
              machineType: N1_HIGHCPU_8
              requestedVerifyOption: VERIFIED
              secretEnv:
                - secretenv = svalue
              sourceProvenanceHash:
                - MD5
              substitutionOption: ALLOW_LOOSE
              volumes:
                - name: v1
                  path: v1
              workerPool: pool
            queueTtl: 20s
            secrets:
              - kmsKeyName: projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name
                secretEnv:
                  PASSWORD: ZW5jcnlwdGVkLXBhc3N3b3JkCg==
            source:
              storageSource:
                bucket: mybucket
                object: source_code.tar.gz
            steps:
              - allowFailure: true
                args:
                  - -c
                  - exit 1
                name: ubuntu
            substitutions:
              _BAZ: qux
              _FOO: bar
            tags:
              - build
              - newFeature
          location: global
          triggerTemplate:
            branchName: main
            repoName: my-repo
    

    Cloudbuild Trigger Allow Exit Codes

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var my_connection = new Gcp.CloudBuildV2.Connection("my-connection", new()
        {
            Location = "us-central1",
            GithubConfig = new Gcp.CloudBuildV2.Inputs.ConnectionGithubConfigArgs
            {
                AppInstallationId = 123123,
                AuthorizerCredential = new Gcp.CloudBuildV2.Inputs.ConnectionGithubConfigAuthorizerCredentialArgs
                {
                    OauthTokenSecretVersion = "projects/my-project/secrets/github-pat-secret/versions/latest",
                },
            },
        });
    
        var my_repository = new Gcp.CloudBuildV2.Repository("my-repository", new()
        {
            ParentConnection = my_connection.Id,
            RemoteUri = "https://github.com/myuser/my-repo.git",
        });
    
        var mytopic = new Gcp.PubSub.Topic("mytopic");
    
        var pubsub_with_repo_trigger = new Gcp.CloudBuild.Trigger("pubsub-with-repo-trigger", new()
        {
            Location = "us-central1",
            PubsubConfig = new Gcp.CloudBuild.Inputs.TriggerPubsubConfigArgs
            {
                Topic = mytopic.Id,
            },
            SourceToBuild = new Gcp.CloudBuild.Inputs.TriggerSourceToBuildArgs
            {
                Repository = my_repository.Id,
                Ref = "refs/heads/main",
                RepoType = "GITHUB",
            },
            GitFileSource = new Gcp.CloudBuild.Inputs.TriggerGitFileSourceArgs
            {
                Path = "cloudbuild.yaml",
                Repository = my_repository.Id,
                Revision = "refs/heads/main",
                RepoType = "GITHUB",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuild"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/cloudbuildv2"
    	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/pubsub"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := cloudbuildv2.NewConnection(ctx, "my-connection", &cloudbuildv2.ConnectionArgs{
    			Location: pulumi.String("us-central1"),
    			GithubConfig: &cloudbuildv2.ConnectionGithubConfigArgs{
    				AppInstallationId: pulumi.Int(123123),
    				AuthorizerCredential: &cloudbuildv2.ConnectionGithubConfigAuthorizerCredentialArgs{
    					OauthTokenSecretVersion: pulumi.String("projects/my-project/secrets/github-pat-secret/versions/latest"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuildv2.NewRepository(ctx, "my-repository", &cloudbuildv2.RepositoryArgs{
    			ParentConnection: my_connection.ID(),
    			RemoteUri:        pulumi.String("https://github.com/myuser/my-repo.git"),
    		})
    		if err != nil {
    			return err
    		}
    		mytopic, err := pubsub.NewTopic(ctx, "mytopic", nil)
    		if err != nil {
    			return err
    		}
    		_, err = cloudbuild.NewTrigger(ctx, "pubsub-with-repo-trigger", &cloudbuild.TriggerArgs{
    			Location: pulumi.String("us-central1"),
    			PubsubConfig: &cloudbuild.TriggerPubsubConfigArgs{
    				Topic: mytopic.ID(),
    			},
    			SourceToBuild: &cloudbuild.TriggerSourceToBuildArgs{
    				Repository: my_repository.ID(),
    				Ref:        pulumi.String("refs/heads/main"),
    				RepoType:   pulumi.String("GITHUB"),
    			},
    			GitFileSource: &cloudbuild.TriggerGitFileSourceArgs{
    				Path:       pulumi.String("cloudbuild.yaml"),
    				Repository: my_repository.ID(),
    				Revision:   pulumi.String("refs/heads/main"),
    				RepoType:   pulumi.String("GITHUB"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildArtifactsObjectsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildAvailableSecretsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildOptionsArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerBuildSourceStorageSourceArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerTriggerTemplateArgs;
    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 allow_exit_codes_trigger = new Trigger("allow-exit-codes-trigger", TriggerArgs.builder()        
                .build(TriggerBuildArgs.builder()
                    .artifacts(TriggerBuildArtifactsArgs.builder()
                        .images("gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA")
                        .objects(TriggerBuildArtifactsObjectsArgs.builder()
                            .location("gs://bucket/path/to/somewhere/")
                            .paths("path")
                            .build())
                        .build())
                    .availableSecrets(TriggerBuildAvailableSecretsArgs.builder()
                        .secretManager(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .logsBucket("gs://mybucket/logs")
                    .options(TriggerBuildOptionsArgs.builder()
                        .diskSizeGb(100)
                        .dynamicSubstitutions(true)
                        .env("ekey = evalue")
                        .logStreamingOption("STREAM_OFF")
                        .logging("LEGACY")
                        .machineType("N1_HIGHCPU_8")
                        .requestedVerifyOption("VERIFIED")
                        .secretEnv("secretenv = svalue")
                        .sourceProvenanceHash("MD5")
                        .substitutionOption("ALLOW_LOOSE")
                        .volumes(TriggerBuildOptionsVolumeArgs.builder()
                            .name("v1")
                            .path("v1")
                            .build())
                        .workerPool("pool")
                        .build())
                    .queueTtl("20s")
                    .secrets(TriggerBuildSecretArgs.builder()
                        .kmsKeyName("projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name")
                        .secretEnv(Map.of("PASSWORD", "ZW5jcnlwdGVkLXBhc3N3b3JkCg=="))
                        .build())
                    .source(TriggerBuildSourceArgs.builder()
                        .storageSource(TriggerBuildSourceStorageSourceArgs.builder()
                            .bucket("mybucket")
                            .object("source_code.tar.gz")
                            .build())
                        .build())
                    .steps(TriggerBuildStepArgs.builder()
                        .allowExitCodes(                    
                            1,
                            3)
                        .args(                    
                            "-c",
                            "exit 1")
                        .name("ubuntu")
                        .build())
                    .substitutions(Map.ofEntries(
                        Map.entry("_BAZ", "qux"),
                        Map.entry("_FOO", "bar")
                    ))
                    .tags(                
                        "build",
                        "newFeature")
                    .build())
                .location("global")
                .triggerTemplate(TriggerTriggerTemplateArgs.builder()
                    .branchName("main")
                    .repoName("my-repo")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_connection = gcp.cloudbuildv2.Connection("my-connection",
        location="us-central1",
        github_config=gcp.cloudbuildv2.ConnectionGithubConfigArgs(
            app_installation_id=123123,
            authorizer_credential=gcp.cloudbuildv2.ConnectionGithubConfigAuthorizerCredentialArgs(
                oauth_token_secret_version="projects/my-project/secrets/github-pat-secret/versions/latest",
            ),
        ))
    my_repository = gcp.cloudbuildv2.Repository("my-repository",
        parent_connection=my_connection.id,
        remote_uri="https://github.com/myuser/my-repo.git")
    mytopic = gcp.pubsub.Topic("mytopic")
    pubsub_with_repo_trigger = gcp.cloudbuild.Trigger("pubsub-with-repo-trigger",
        location="us-central1",
        pubsub_config=gcp.cloudbuild.TriggerPubsubConfigArgs(
            topic=mytopic.id,
        ),
        source_to_build=gcp.cloudbuild.TriggerSourceToBuildArgs(
            repository=my_repository.id,
            ref="refs/heads/main",
            repo_type="GITHUB",
        ),
        git_file_source=gcp.cloudbuild.TriggerGitFileSourceArgs(
            path="cloudbuild.yaml",
            repository=my_repository.id,
            revision="refs/heads/main",
            repo_type="GITHUB",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const my_connection = new gcp.cloudbuildv2.Connection("my-connection", {
        location: "us-central1",
        githubConfig: {
            appInstallationId: 123123,
            authorizerCredential: {
                oauthTokenSecretVersion: "projects/my-project/secrets/github-pat-secret/versions/latest",
            },
        },
    });
    const my_repository = new gcp.cloudbuildv2.Repository("my-repository", {
        parentConnection: my_connection.id,
        remoteUri: "https://github.com/myuser/my-repo.git",
    });
    const mytopic = new gcp.pubsub.Topic("mytopic", {});
    const pubsub_with_repo_trigger = new gcp.cloudbuild.Trigger("pubsub-with-repo-trigger", {
        location: "us-central1",
        pubsubConfig: {
            topic: mytopic.id,
        },
        sourceToBuild: {
            repository: my_repository.id,
            ref: "refs/heads/main",
            repoType: "GITHUB",
        },
        gitFileSource: {
            path: "cloudbuild.yaml",
            repository: my_repository.id,
            revision: "refs/heads/main",
            repoType: "GITHUB",
        },
    });
    
    resources:
      allow-exit-codes-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          build:
            artifacts:
              images:
                - gcr.io/$PROJECT_ID/$REPO_NAME:$COMMIT_SHA
              objects:
                location: gs://bucket/path/to/somewhere/
                paths:
                  - path
            availableSecrets:
              secretManager:
                - env: MY_SECRET
                  versionName: projects/myProject/secrets/mySecret/versions/latest
            logsBucket: gs://mybucket/logs
            options:
              diskSizeGb: 100
              dynamicSubstitutions: true
              env:
                - ekey = evalue
              logStreamingOption: STREAM_OFF
              logging: LEGACY
              machineType: N1_HIGHCPU_8
              requestedVerifyOption: VERIFIED
              secretEnv:
                - secretenv = svalue
              sourceProvenanceHash:
                - MD5
              substitutionOption: ALLOW_LOOSE
              volumes:
                - name: v1
                  path: v1
              workerPool: pool
            queueTtl: 20s
            secrets:
              - kmsKeyName: projects/myProject/locations/global/keyRings/keyring-name/cryptoKeys/key-name
                secretEnv:
                  PASSWORD: ZW5jcnlwdGVkLXBhc3N3b3JkCg==
            source:
              storageSource:
                bucket: mybucket
                object: source_code.tar.gz
            steps:
              - allowExitCodes:
                  - 1
                  - 3
                args:
                  - -c
                  - exit 1
                name: ubuntu
            substitutions:
              _BAZ: qux
              _FOO: bar
            tags:
              - build
              - newFeature
          location: global
          triggerTemplate:
            branchName: main
            repoName: my-repo
    

    Cloudbuild Trigger Pubsub With Repo

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.cloudbuildv2.Connection;
    import com.pulumi.gcp.cloudbuildv2.ConnectionArgs;
    import com.pulumi.gcp.cloudbuildv2.inputs.ConnectionGithubConfigArgs;
    import com.pulumi.gcp.cloudbuildv2.inputs.ConnectionGithubConfigAuthorizerCredentialArgs;
    import com.pulumi.gcp.cloudbuildv2.Repository;
    import com.pulumi.gcp.cloudbuildv2.RepositoryArgs;
    import com.pulumi.gcp.pubsub.Topic;
    import com.pulumi.gcp.cloudbuild.Trigger;
    import com.pulumi.gcp.cloudbuild.TriggerArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerPubsubConfigArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerSourceToBuildArgs;
    import com.pulumi.gcp.cloudbuild.inputs.TriggerGitFileSourceArgs;
    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 my_connection = new Connection("my-connection", ConnectionArgs.builder()        
                .location("us-central1")
                .githubConfig(ConnectionGithubConfigArgs.builder()
                    .appInstallationId(123123)
                    .authorizerCredential(ConnectionGithubConfigAuthorizerCredentialArgs.builder()
                        .oauthTokenSecretVersion("projects/my-project/secrets/github-pat-secret/versions/latest")
                        .build())
                    .build())
                .build());
    
            var my_repository = new Repository("my-repository", RepositoryArgs.builder()        
                .parentConnection(my_connection.id())
                .remoteUri("https://github.com/myuser/my-repo.git")
                .build());
    
            var mytopic = new Topic("mytopic");
    
            var pubsub_with_repo_trigger = new Trigger("pubsub-with-repo-trigger", TriggerArgs.builder()        
                .location("us-central1")
                .pubsubConfig(TriggerPubsubConfigArgs.builder()
                    .topic(mytopic.id())
                    .build())
                .sourceToBuild(TriggerSourceToBuildArgs.builder()
                    .repository(my_repository.id())
                    .ref("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .gitFileSource(TriggerGitFileSourceArgs.builder()
                    .path("cloudbuild.yaml")
                    .repository(my_repository.id())
                    .revision("refs/heads/main")
                    .repoType("GITHUB")
                    .build())
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      my-connection:
        type: gcp:cloudbuildv2:Connection
        properties:
          location: us-central1
          githubConfig:
            appInstallationId: 123123
            authorizerCredential:
              oauthTokenSecretVersion: projects/my-project/secrets/github-pat-secret/versions/latest
      my-repository:
        type: gcp:cloudbuildv2:Repository
        properties:
          parentConnection: ${["my-connection"].id}
          remoteUri: https://github.com/myuser/my-repo.git
      mytopic:
        type: gcp:pubsub:Topic
      pubsub-with-repo-trigger:
        type: gcp:cloudbuild:Trigger
        properties:
          location: us-central1
          pubsubConfig:
            topic: ${mytopic.id}
          sourceToBuild:
            repository: ${["my-repository"].id}
            ref: refs/heads/main
            repoType: GITHUB
          gitFileSource:
            path: cloudbuild.yaml
            repository: ${["my-repository"].id}
            revision: refs/heads/main
            repoType: GITHUB
    

    Create Trigger Resource

    new Trigger(name: string, args?: TriggerArgs, opts?: CustomResourceOptions);
    @overload
    def Trigger(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                approval_config: Optional[TriggerApprovalConfigArgs] = None,
                bitbucket_server_trigger_config: Optional[TriggerBitbucketServerTriggerConfigArgs] = None,
                build: Optional[TriggerBuildArgs] = None,
                description: Optional[str] = None,
                disabled: Optional[bool] = None,
                filename: Optional[str] = None,
                filter: Optional[str] = None,
                git_file_source: Optional[TriggerGitFileSourceArgs] = None,
                github: Optional[TriggerGithubArgs] = None,
                ignored_files: Optional[Sequence[str]] = None,
                include_build_logs: Optional[str] = None,
                included_files: Optional[Sequence[str]] = None,
                location: Optional[str] = None,
                name: Optional[str] = None,
                project: Optional[str] = None,
                pubsub_config: Optional[TriggerPubsubConfigArgs] = None,
                repository_event_config: Optional[TriggerRepositoryEventConfigArgs] = None,
                service_account: Optional[str] = None,
                source_to_build: Optional[TriggerSourceToBuildArgs] = None,
                substitutions: Optional[Mapping[str, str]] = None,
                tags: Optional[Sequence[str]] = None,
                trigger_template: Optional[TriggerTriggerTemplateArgs] = None,
                webhook_config: Optional[TriggerWebhookConfigArgs] = None)
    @overload
    def Trigger(resource_name: str,
                args: Optional[TriggerArgs] = None,
                opts: Optional[ResourceOptions] = None)
    func NewTrigger(ctx *Context, name string, args *TriggerArgs, opts ...ResourceOption) (*Trigger, error)
    public Trigger(string name, TriggerArgs? args = null, CustomResourceOptions? opts = null)
    public Trigger(String name, TriggerArgs args)
    public Trigger(String name, TriggerArgs args, CustomResourceOptions options)
    
    type: gcp:cloudbuild:Trigger
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args TriggerArgs
    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 TriggerArgs
    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 TriggerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args TriggerArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args TriggerArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Trigger 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 Trigger resource accepts the following input properties:

    ApprovalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    BitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    Build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    Description string

    Human-readable description of the trigger.

    Disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    Filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    Filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    GitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    Github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    IgnoredFiles List<string>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    IncludeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    IncludedFiles List<string>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    Location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    Name string

    Name of the trigger. Must be unique within the project.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    PubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    RepositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    ServiceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    SourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Substitutions Dictionary<string, string>

    Substitutions data for Build resource.

    Tags List<string>

    Tags for annotation of a BuildTrigger

    TriggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    WebhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    ApprovalConfig TriggerApprovalConfigArgs

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    BitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfigArgs

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    Build TriggerBuildArgs

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    Description string

    Human-readable description of the trigger.

    Disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    Filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    Filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    GitFileSource TriggerGitFileSourceArgs

    The file source describing the local or remote Build template. Structure is documented below.

    Github TriggerGithubArgs

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    IgnoredFiles []string

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    IncludeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    IncludedFiles []string

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    Location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    Name string

    Name of the trigger. Must be unique within the project.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    PubsubConfig TriggerPubsubConfigArgs

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    RepositoryEventConfig TriggerRepositoryEventConfigArgs

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    ServiceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    SourceToBuild TriggerSourceToBuildArgs

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Substitutions map[string]string

    Substitutions data for Build resource.

    Tags []string

    Tags for annotation of a BuildTrigger

    TriggerTemplate TriggerTriggerTemplateArgs

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    WebhookConfig TriggerWebhookConfigArgs

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    description String

    Human-readable description of the trigger.

    disabled Boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename String

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter String

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs String

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location String

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name String

    Name of the trigger. Must be unique within the project.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount String

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Map<String,String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a BuildTrigger

    triggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    description string

    Human-readable description of the trigger.

    disabled boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles string[]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles string[]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name string

    Name of the trigger. Must be unique within the project.

    project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions {[key: string]: string}

    Substitutions data for Build resource.

    tags string[]

    Tags for annotation of a BuildTrigger

    triggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approval_config TriggerApprovalConfigArgs

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucket_server_trigger_config TriggerBitbucketServerTriggerConfigArgs

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuildArgs

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    description str

    Human-readable description of the trigger.

    disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename str

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter str

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    git_file_source TriggerGitFileSourceArgs

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithubArgs

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignored_files Sequence[str]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    include_build_logs str

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    included_files Sequence[str]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location str

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name str

    Name of the trigger. Must be unique within the project.

    project str

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsub_config TriggerPubsubConfigArgs

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repository_event_config TriggerRepositoryEventConfigArgs

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    service_account str

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    source_to_build TriggerSourceToBuildArgs

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Mapping[str, str]

    Substitutions data for Build resource.

    tags Sequence[str]

    Tags for annotation of a BuildTrigger

    trigger_template TriggerTriggerTemplateArgs

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhook_config TriggerWebhookConfigArgs

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig Property Map

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig Property Map

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build Property Map

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    description String

    Human-readable description of the trigger.

    disabled Boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename String

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter String

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource Property Map

    The file source describing the local or remote Build template. Structure is documented below.

    github Property Map

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs String

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location String

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name String

    Name of the trigger. Must be unique within the project.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig Property Map

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig Property Map

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount String

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild Property Map

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Map<String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a BuildTrigger

    triggerTemplate Property Map

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig Property Map

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Outputs

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

    CreateTime string

    Time when the trigger was created.

    Id string

    The provider-assigned unique ID for this managed resource.

    TriggerId string

    The unique identifier for the trigger.

    CreateTime string

    Time when the trigger was created.

    Id string

    The provider-assigned unique ID for this managed resource.

    TriggerId string

    The unique identifier for the trigger.

    createTime String

    Time when the trigger was created.

    id String

    The provider-assigned unique ID for this managed resource.

    triggerId String

    The unique identifier for the trigger.

    createTime string

    Time when the trigger was created.

    id string

    The provider-assigned unique ID for this managed resource.

    triggerId string

    The unique identifier for the trigger.

    create_time str

    Time when the trigger was created.

    id str

    The provider-assigned unique ID for this managed resource.

    trigger_id str

    The unique identifier for the trigger.

    createTime String

    Time when the trigger was created.

    id String

    The provider-assigned unique ID for this managed resource.

    triggerId String

    The unique identifier for the trigger.

    Look up Existing Trigger Resource

    Get an existing Trigger 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?: TriggerState, opts?: CustomResourceOptions): Trigger
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            approval_config: Optional[TriggerApprovalConfigArgs] = None,
            bitbucket_server_trigger_config: Optional[TriggerBitbucketServerTriggerConfigArgs] = None,
            build: Optional[TriggerBuildArgs] = None,
            create_time: Optional[str] = None,
            description: Optional[str] = None,
            disabled: Optional[bool] = None,
            filename: Optional[str] = None,
            filter: Optional[str] = None,
            git_file_source: Optional[TriggerGitFileSourceArgs] = None,
            github: Optional[TriggerGithubArgs] = None,
            ignored_files: Optional[Sequence[str]] = None,
            include_build_logs: Optional[str] = None,
            included_files: Optional[Sequence[str]] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            project: Optional[str] = None,
            pubsub_config: Optional[TriggerPubsubConfigArgs] = None,
            repository_event_config: Optional[TriggerRepositoryEventConfigArgs] = None,
            service_account: Optional[str] = None,
            source_to_build: Optional[TriggerSourceToBuildArgs] = None,
            substitutions: Optional[Mapping[str, str]] = None,
            tags: Optional[Sequence[str]] = None,
            trigger_id: Optional[str] = None,
            trigger_template: Optional[TriggerTriggerTemplateArgs] = None,
            webhook_config: Optional[TriggerWebhookConfigArgs] = None) -> Trigger
    func GetTrigger(ctx *Context, name string, id IDInput, state *TriggerState, opts ...ResourceOption) (*Trigger, error)
    public static Trigger Get(string name, Input<string> id, TriggerState? state, CustomResourceOptions? opts = null)
    public static Trigger get(String name, Output<String> id, TriggerState 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:
    ApprovalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    BitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    Build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    CreateTime string

    Time when the trigger was created.

    Description string

    Human-readable description of the trigger.

    Disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    Filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    Filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    GitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    Github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    IgnoredFiles List<string>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    IncludeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    IncludedFiles List<string>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    Location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    Name string

    Name of the trigger. Must be unique within the project.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    PubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    RepositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    ServiceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    SourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Substitutions Dictionary<string, string>

    Substitutions data for Build resource.

    Tags List<string>

    Tags for annotation of a BuildTrigger

    TriggerId string

    The unique identifier for the trigger.

    TriggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    WebhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    ApprovalConfig TriggerApprovalConfigArgs

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    BitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfigArgs

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    Build TriggerBuildArgs

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    CreateTime string

    Time when the trigger was created.

    Description string

    Human-readable description of the trigger.

    Disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    Filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    Filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    GitFileSource TriggerGitFileSourceArgs

    The file source describing the local or remote Build template. Structure is documented below.

    Github TriggerGithubArgs

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    IgnoredFiles []string

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    IncludeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    IncludedFiles []string

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    Location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    Name string

    Name of the trigger. Must be unique within the project.

    Project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    PubsubConfig TriggerPubsubConfigArgs

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    RepositoryEventConfig TriggerRepositoryEventConfigArgs

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    ServiceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    SourceToBuild TriggerSourceToBuildArgs

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Substitutions map[string]string

    Substitutions data for Build resource.

    Tags []string

    Tags for annotation of a BuildTrigger

    TriggerId string

    The unique identifier for the trigger.

    TriggerTemplate TriggerTriggerTemplateArgs

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    WebhookConfig TriggerWebhookConfigArgs

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    createTime String

    Time when the trigger was created.

    description String

    Human-readable description of the trigger.

    disabled Boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename String

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter String

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs String

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location String

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name String

    Name of the trigger. Must be unique within the project.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount String

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Map<String,String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a BuildTrigger

    triggerId String

    The unique identifier for the trigger.

    triggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig TriggerApprovalConfig

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig TriggerBitbucketServerTriggerConfig

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuild

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    createTime string

    Time when the trigger was created.

    description string

    Human-readable description of the trigger.

    disabled boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename string

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter string

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource TriggerGitFileSource

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithub

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles string[]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs string

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles string[]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location string

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name string

    Name of the trigger. Must be unique within the project.

    project string

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig TriggerPubsubConfig

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig TriggerRepositoryEventConfig

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount string

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild TriggerSourceToBuild

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions {[key: string]: string}

    Substitutions data for Build resource.

    tags string[]

    Tags for annotation of a BuildTrigger

    triggerId string

    The unique identifier for the trigger.

    triggerTemplate TriggerTriggerTemplate

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig TriggerWebhookConfig

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approval_config TriggerApprovalConfigArgs

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucket_server_trigger_config TriggerBitbucketServerTriggerConfigArgs

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build TriggerBuildArgs

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    create_time str

    Time when the trigger was created.

    description str

    Human-readable description of the trigger.

    disabled bool

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename str

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter str

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    git_file_source TriggerGitFileSourceArgs

    The file source describing the local or remote Build template. Structure is documented below.

    github TriggerGithubArgs

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignored_files Sequence[str]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    include_build_logs str

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    included_files Sequence[str]

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location str

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name str

    Name of the trigger. Must be unique within the project.

    project str

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsub_config TriggerPubsubConfigArgs

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repository_event_config TriggerRepositoryEventConfigArgs

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    service_account str

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    source_to_build TriggerSourceToBuildArgs

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Mapping[str, str]

    Substitutions data for Build resource.

    tags Sequence[str]

    Tags for annotation of a BuildTrigger

    trigger_id str

    The unique identifier for the trigger.

    trigger_template TriggerTriggerTemplateArgs

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhook_config TriggerWebhookConfigArgs

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    approvalConfig Property Map

    Configuration for manual approval to start a build invocation of this BuildTrigger. Builds created by this trigger will require approval before they execute. Any user with a Cloud Build Approver role for the project can approve a build. Structure is documented below.

    bitbucketServerTriggerConfig Property Map

    BitbucketServerTriggerConfig describes the configuration of a trigger that creates a build whenever a Bitbucket Server event is received. Structure is documented below.

    build Property Map

    Contents of the build template. Either a filename or build template must be provided. Structure is documented below.

    createTime String

    Time when the trigger was created.

    description String

    Human-readable description of the trigger.

    disabled Boolean

    Whether the trigger is disabled or not. If true, the trigger will never result in a build.

    filename String

    Path, from the source root, to a file whose contents is used for the template. Either a filename or build template must be provided. Set this only when using trigger_template or github. When using Pub/Sub, Webhook or Manual set the file name using git_file_source instead.

    filter String

    A Common Expression Language string. Used only with Pub/Sub and Webhook.

    gitFileSource Property Map

    The file source describing the local or remote Build template. Structure is documented below.

    github Property Map

    Describes the configuration of a trigger that creates a build whenever a GitHub event is received. One of trigger_template, github, pubsub_config or webhook_config must be provided. Structure is documented below.

    ignoredFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If ignoredFiles and changed files are both empty, then they are not used to determine whether or not to trigger a build. If ignoredFiles is not empty, then we ignore any files that match any of the ignored_file globs. If the change has no files that are outside of the ignoredFiles globs, then we do not trigger a build.

    includeBuildLogs String

    Build logs will be sent back to GitHub as part of the checkrun result. Values can be INCLUDE_BUILD_LOGS_UNSPECIFIED or INCLUDE_BUILD_LOGS_WITH_STATUS Possible values are: INCLUDE_BUILD_LOGS_UNSPECIFIED, INCLUDE_BUILD_LOGS_WITH_STATUS.

    includedFiles List<String>

    ignoredFiles and includedFiles are file glob matches using https://golang.org/pkg/path/filepath/#Match extended with support for **. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is empty, then as far as this filter is concerned, we should trigger the build. If any of the files altered in the commit pass the ignoredFiles filter and includedFiles is not empty, then we make sure that at least one of those files matches a includedFiles glob. If not, then we do not trigger a build.

    location String

    The Cloud Build location for the trigger. If not specified, "global" is used.

    name String

    Name of the trigger. Must be unique within the project.

    project String

    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

    pubsubConfig Property Map

    PubsubConfig describes the configuration of a trigger that creates a build whenever a Pub/Sub message is published. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    repositoryEventConfig Property Map

    The configuration of a trigger that creates a build whenever an event from Repo API is received. Structure is documented below.

    serviceAccount String

    The service account used for all user-controlled operations including triggers.patch, triggers.run, builds.create, and builds.cancel. If no service account is set, then the standard Cloud Build service account ([PROJECT_NUM]@system.gserviceaccount.com) will be used instead. Format: projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT_ID_OR_EMAIL}

    sourceToBuild Property Map

    The repo and ref of the repository from which to build. This field is used only for those triggers that do not respond to SCM events. Triggers that respond to such events build source at whatever commit caused the event. This field is currently only used by Webhook, Pub/Sub, Manual, and Cron triggers. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    substitutions Map<String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a BuildTrigger

    triggerId String

    The unique identifier for the trigger.

    triggerTemplate Property Map

    Template describing the types of source changes to trigger a build. Branch and tag names in trigger templates are interpreted as regular expressions. Any branch or tag change that matches that regular expression will trigger a build. One of trigger_template, github, pubsub_config, webhook_config or source_to_build must be provided. Structure is documented below.

    webhookConfig Property Map

    WebhookConfig describes the configuration of a trigger that creates a build whenever a webhook is sent to a trigger's webhook URL. One of trigger_template, github, pubsub_config webhook_config or source_to_build must be provided. Structure is documented below.

    Supporting Types

    TriggerApprovalConfig, TriggerApprovalConfigArgs

    ApprovalRequired bool

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    ApprovalRequired bool

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    approvalRequired Boolean

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    approvalRequired boolean

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    approval_required bool

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    approvalRequired Boolean

    Whether or not approval is needed. If this is set on a build, it will become pending when run, and will need to be explicitly approved to start.

    TriggerBitbucketServerTriggerConfig, TriggerBitbucketServerTriggerConfigArgs

    BitbucketServerConfigResource string

    The Bitbucket server config resource that this trigger config maps to.

    ProjectKey string

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    RepoSlug string

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    PullRequest TriggerBitbucketServerTriggerConfigPullRequest

    Filter to match changes in pull requests. Structure is documented below.

    Push TriggerBitbucketServerTriggerConfigPush

    Filter to match changes in refs like branches, tags. Structure is documented below.

    BitbucketServerConfigResource string

    The Bitbucket server config resource that this trigger config maps to.

    ProjectKey string

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    RepoSlug string

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    PullRequest TriggerBitbucketServerTriggerConfigPullRequest

    Filter to match changes in pull requests. Structure is documented below.

    Push TriggerBitbucketServerTriggerConfigPush

    Filter to match changes in refs like branches, tags. Structure is documented below.

    bitbucketServerConfigResource String

    The Bitbucket server config resource that this trigger config maps to.

    projectKey String

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    repoSlug String

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    pullRequest TriggerBitbucketServerTriggerConfigPullRequest

    Filter to match changes in pull requests. Structure is documented below.

    push TriggerBitbucketServerTriggerConfigPush

    Filter to match changes in refs like branches, tags. Structure is documented below.

    bitbucketServerConfigResource string

    The Bitbucket server config resource that this trigger config maps to.

    projectKey string

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    repoSlug string

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    pullRequest TriggerBitbucketServerTriggerConfigPullRequest

    Filter to match changes in pull requests. Structure is documented below.

    push TriggerBitbucketServerTriggerConfigPush

    Filter to match changes in refs like branches, tags. Structure is documented below.

    bitbucket_server_config_resource str

    The Bitbucket server config resource that this trigger config maps to.

    project_key str

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    repo_slug str

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    pull_request TriggerBitbucketServerTriggerConfigPullRequest

    Filter to match changes in pull requests. Structure is documented below.

    push TriggerBitbucketServerTriggerConfigPush

    Filter to match changes in refs like branches, tags. Structure is documented below.

    bitbucketServerConfigResource String

    The Bitbucket server config resource that this trigger config maps to.

    projectKey String

    Key of the project that the repo is in. For example: The key for https://mybitbucket.server/projects/TEST/repos/test-repo is "TEST".

    repoSlug String

    Slug of the repository. A repository slug is a URL-friendly version of a repository name, automatically generated by Bitbucket for use in the URL. For example, if the repository name is 'test repo', in the URL it would become 'test-repo' as in https://mybitbucket.server/projects/TEST/repos/test-repo.

    pullRequest Property Map

    Filter to match changes in pull requests. Structure is documented below.

    push Property Map

    Filter to match changes in refs like branches, tags. Structure is documented below.

    TriggerBitbucketServerTriggerConfigPullRequest, TriggerBitbucketServerTriggerConfigPullRequestArgs

    Branch string

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    CommentControl string

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    InvertRegex bool

    If true, branches that do NOT match the git_ref will trigger a build.

    Branch string

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    CommentControl string

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    InvertRegex bool

    If true, branches that do NOT match the git_ref will trigger a build.

    branch String

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commentControl String

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    invertRegex Boolean

    If true, branches that do NOT match the git_ref will trigger a build.

    branch string

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commentControl string

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    invertRegex boolean

    If true, branches that do NOT match the git_ref will trigger a build.

    branch str

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    comment_control str

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    invert_regex bool

    If true, branches that do NOT match the git_ref will trigger a build.

    branch String

    Regex of branches to match. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commentControl String

    Configure builds to run whether a repository owner or collaborator need to comment /gcbrun. Possible values are: COMMENTS_DISABLED, COMMENTS_ENABLED, COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY.

    invertRegex Boolean

    If true, branches that do NOT match the git_ref will trigger a build.

    TriggerBitbucketServerTriggerConfigPush, TriggerBitbucketServerTriggerConfigPushArgs

    Branch string

    Regex of branches to match. Specify only one of branch or tag.

    InvertRegex bool

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    Tag string

    Regex of tags to match. Specify only one of branch or tag.

    Branch string

    Regex of branches to match. Specify only one of branch or tag.

    InvertRegex bool

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    Tag string

    Regex of tags to match. Specify only one of branch or tag.

    branch String

    Regex of branches to match. Specify only one of branch or tag.

    invertRegex Boolean

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    tag String

    Regex of tags to match. Specify only one of branch or tag.

    branch string

    Regex of branches to match. Specify only one of branch or tag.

    invertRegex boolean

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    tag string

    Regex of tags to match. Specify only one of branch or tag.

    branch str

    Regex of branches to match. Specify only one of branch or tag.

    invert_regex bool

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    tag str

    Regex of tags to match. Specify only one of branch or tag.

    branch String

    Regex of branches to match. Specify only one of branch or tag.

    invertRegex Boolean

    When true, only trigger a build if the revision regex does NOT match the gitRef regex.

    tag String

    Regex of tags to match. Specify only one of branch or tag.

    TriggerBuild, TriggerBuildArgs

    Steps List<TriggerBuildStep>

    The operations to be performed on the workspace. Structure is documented below.

    Artifacts TriggerBuildArtifacts

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    AvailableSecrets TriggerBuildAvailableSecrets

    Secrets and secret environment variables. Structure is documented below.

    Images List<string>

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    LogsBucket string

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    Options TriggerBuildOptions

    Special options for this build. Structure is documented below.

    QueueTtl string

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    Secrets List<TriggerBuildSecret>

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    Source TriggerBuildSource

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    Substitutions Dictionary<string, string>

    Substitutions data for Build resource.

    Tags List<string>

    Tags for annotation of a Build. These are not docker tags.

    Timeout string

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    Steps []TriggerBuildStep

    The operations to be performed on the workspace. Structure is documented below.

    Artifacts TriggerBuildArtifacts

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    AvailableSecrets TriggerBuildAvailableSecrets

    Secrets and secret environment variables. Structure is documented below.

    Images []string

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    LogsBucket string

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    Options TriggerBuildOptions

    Special options for this build. Structure is documented below.

    QueueTtl string

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    Secrets []TriggerBuildSecret

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    Source TriggerBuildSource

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    Substitutions map[string]string

    Substitutions data for Build resource.

    Tags []string

    Tags for annotation of a Build. These are not docker tags.

    Timeout string

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    steps List<TriggerBuildStep>

    The operations to be performed on the workspace. Structure is documented below.

    artifacts TriggerBuildArtifacts

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    availableSecrets TriggerBuildAvailableSecrets

    Secrets and secret environment variables. Structure is documented below.

    images List<String>

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    logsBucket String

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    options TriggerBuildOptions

    Special options for this build. Structure is documented below.

    queueTtl String

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    secrets List<TriggerBuildSecret>

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    source TriggerBuildSource

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    substitutions Map<String,String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a Build. These are not docker tags.

    timeout String

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    steps TriggerBuildStep[]

    The operations to be performed on the workspace. Structure is documented below.

    artifacts TriggerBuildArtifacts

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    availableSecrets TriggerBuildAvailableSecrets

    Secrets and secret environment variables. Structure is documented below.

    images string[]

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    logsBucket string

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    options TriggerBuildOptions

    Special options for this build. Structure is documented below.

    queueTtl string

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    secrets TriggerBuildSecret[]

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    source TriggerBuildSource

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    substitutions {[key: string]: string}

    Substitutions data for Build resource.

    tags string[]

    Tags for annotation of a Build. These are not docker tags.

    timeout string

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    steps Sequence[TriggerBuildStep]

    The operations to be performed on the workspace. Structure is documented below.

    artifacts TriggerBuildArtifacts

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    available_secrets TriggerBuildAvailableSecrets

    Secrets and secret environment variables. Structure is documented below.

    images Sequence[str]

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    logs_bucket str

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    options TriggerBuildOptions

    Special options for this build. Structure is documented below.

    queue_ttl str

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    secrets Sequence[TriggerBuildSecret]

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    source TriggerBuildSource

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    substitutions Mapping[str, str]

    Substitutions data for Build resource.

    tags Sequence[str]

    Tags for annotation of a Build. These are not docker tags.

    timeout str

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    steps List<Property Map>

    The operations to be performed on the workspace. Structure is documented below.

    artifacts Property Map

    Artifacts produced by the build that should be uploaded upon successful completion of all build steps. Structure is documented below.

    availableSecrets Property Map

    Secrets and secret environment variables. Structure is documented below.

    images List<String>

    A list of images to be pushed upon the successful completion of all build steps. The images are pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build status is marked FAILURE.

    logsBucket String

    Google Cloud Storage bucket where logs should be written. Logs file names will be of the format ${logsBucket}/log-${build_id}.txt.

    options Property Map

    Special options for this build. Structure is documented below.

    queueTtl String

    TTL in queue for this build. If provided and the build is enqueued longer than this value, the build will expire and the build status will be EXPIRED. The TTL starts ticking from createTime. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

    secrets List<Property Map>

    Secrets to decrypt using Cloud Key Management Service. Structure is documented below.

    source Property Map

    The location of the source files to build. One of storageSource or repoSource must be provided. Structure is documented below.

    substitutions Map<String>

    Substitutions data for Build resource.

    tags List<String>

    Tags for annotation of a Build. These are not docker tags.

    timeout String

    Amount of time that this build should be allowed to run, to second granularity. If this amount of time elapses, work on the build will cease and the build status will be TIMEOUT. This timeout must be equal to or greater than the sum of the timeouts for build steps within the build. The expected format is the number of seconds followed by s. Default time is ten minutes (600s).

    TriggerBuildArtifacts, TriggerBuildArtifactsArgs

    Images List<string>

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    Objects TriggerBuildArtifactsObjects

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    Images []string

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    Objects TriggerBuildArtifactsObjects

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    images List<String>

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    objects TriggerBuildArtifactsObjects

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    images string[]

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    objects TriggerBuildArtifactsObjects

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    images Sequence[str]

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    objects TriggerBuildArtifactsObjects

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    images List<String>

    A list of images to be pushed upon the successful completion of all build steps. The images will be pushed using the builder service account's credentials. The digests of the pushed images will be stored in the Build resource's results field. If any of the images fail to be pushed, the build is marked FAILURE.

    objects Property Map

    A list of objects to be uploaded to Cloud Storage upon successful completion of all build steps. Files in the workspace matching specified paths globs will be uploaded to the Cloud Storage location using the builder service account's credentials. The location and generation of the uploaded objects will be stored in the Build resource's results field. If any objects fail to be pushed, the build is marked FAILURE. Structure is documented below.

    TriggerBuildArtifactsObjects, TriggerBuildArtifactsObjectsArgs

    Location string

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    Paths List<string>

    Path globs used to match files in the build's workspace.

    Timings List<TriggerBuildArtifactsObjectsTiming>

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    Location string

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    Paths []string

    Path globs used to match files in the build's workspace.

    Timings []TriggerBuildArtifactsObjectsTiming

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    location String

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    paths List<String>

    Path globs used to match files in the build's workspace.

    timings List<TriggerBuildArtifactsObjectsTiming>

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    location string

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    paths string[]

    Path globs used to match files in the build's workspace.

    timings TriggerBuildArtifactsObjectsTiming[]

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    location str

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    paths Sequence[str]

    Path globs used to match files in the build's workspace.

    timings Sequence[TriggerBuildArtifactsObjectsTiming]

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    location String

    Cloud Storage bucket and optional object path, in the form "gs://bucket/path/to/somewhere/". Files in the workspace matching any path pattern will be uploaded to Cloud Storage with this location as a prefix.

    paths List<String>

    Path globs used to match files in the build's workspace.

    timings List<Property Map>

    (Output) Output only. Stores timing information for pushing all artifact objects. Structure is documented below.

    The timing block contains:

    TriggerBuildArtifactsObjectsTiming, TriggerBuildArtifactsObjectsTimingArgs

    EndTime string

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    StartTime string

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    EndTime string

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    StartTime string

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    endTime String

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    startTime String

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    endTime string

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    startTime string

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    end_time str

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    start_time str

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    endTime String

    End of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    startTime String

    Start of time span. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".

    TriggerBuildAvailableSecrets, TriggerBuildAvailableSecretsArgs

    SecretManagers List<TriggerBuildAvailableSecretsSecretManager>

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    SecretManagers []TriggerBuildAvailableSecretsSecretManager

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    secretManagers List<TriggerBuildAvailableSecretsSecretManager>

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    secretManagers TriggerBuildAvailableSecretsSecretManager[]

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    secret_managers Sequence[TriggerBuildAvailableSecretsSecretManager]

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    secretManagers List<Property Map>

    Pairs a secret environment variable with a SecretVersion in Secret Manager. Structure is documented below.

    TriggerBuildAvailableSecretsSecretManager, TriggerBuildAvailableSecretsSecretManagerArgs

    Env string

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    VersionName string

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    Env string

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    VersionName string

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    env String

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    versionName String

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    env string

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    versionName string

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    env str

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    version_name str

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    env String

    Environment variable name to associate with the secret. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step.

    versionName String

    Resource name of the SecretVersion. In format: projects//secrets//versions/*

    TriggerBuildOptions, TriggerBuildOptionsArgs

    DiskSizeGb int

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    DynamicSubstitutions bool

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    Envs List<string>

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    LogStreamingOption string

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    Logging string

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    MachineType string

    Compute Engine machine type on which to run the build.

    RequestedVerifyOption string

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    SecretEnvs List<string>

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    SourceProvenanceHashes List<string>

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    SubstitutionOption string

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    Volumes List<TriggerBuildOptionsVolume>

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    WorkerPool string

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    DiskSizeGb int

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    DynamicSubstitutions bool

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    Envs []string

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    LogStreamingOption string

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    Logging string

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    MachineType string

    Compute Engine machine type on which to run the build.

    RequestedVerifyOption string

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    SecretEnvs []string

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    SourceProvenanceHashes []string

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    SubstitutionOption string

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    Volumes []TriggerBuildOptionsVolume

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    WorkerPool string

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    diskSizeGb Integer

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    dynamicSubstitutions Boolean

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    envs List<String>

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    logStreamingOption String

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    logging String

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    machineType String

    Compute Engine machine type on which to run the build.

    requestedVerifyOption String

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    secretEnvs List<String>

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    sourceProvenanceHashes List<String>

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    substitutionOption String

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    volumes List<TriggerBuildOptionsVolume>

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    workerPool String

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    diskSizeGb number

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    dynamicSubstitutions boolean

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    envs string[]

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    logStreamingOption string

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    logging string

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    machineType string

    Compute Engine machine type on which to run the build.

    requestedVerifyOption string

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    secretEnvs string[]

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    sourceProvenanceHashes string[]

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    substitutionOption string

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    volumes TriggerBuildOptionsVolume[]

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    workerPool string

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    disk_size_gb int

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    dynamic_substitutions bool

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    envs Sequence[str]

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    log_streaming_option str

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    logging str

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    machine_type str

    Compute Engine machine type on which to run the build.

    requested_verify_option str

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    secret_envs Sequence[str]

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    source_provenance_hashes Sequence[str]

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    substitution_option str

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    volumes Sequence[TriggerBuildOptionsVolume]

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    worker_pool str

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    diskSizeGb Number

    Requested disk size for the VM that runs the build. Note that this is NOT "disk free"; some of the space will be used by the operating system and build utilities. Also note that this is the minimum disk size that will be allocated for the build -- the build may run with a larger disk than requested. At present, the maximum disk size is 1000GB; builds that request more than the maximum are rejected with an error.

    dynamicSubstitutions Boolean

    Option to specify whether or not to apply bash style string operations to the substitutions. NOTE this is always enabled for triggered builds and cannot be overridden in the build configuration file.

    envs List<String>

    A list of global environment variable definitions that will exist for all build steps in this build. If a variable is defined in both globally and in a build step, the variable will use the build step value. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    logStreamingOption String

    Option to define build log streaming behavior to Google Cloud Storage. Possible values are: STREAM_DEFAULT, STREAM_ON, STREAM_OFF.

    logging String

    Option to specify the logging mode, which determines if and where build logs are stored. Possible values are: LOGGING_UNSPECIFIED, LEGACY, GCS_ONLY, STACKDRIVER_ONLY, CLOUD_LOGGING_ONLY, NONE.

    machineType String

    Compute Engine machine type on which to run the build.

    requestedVerifyOption String

    Requested verifiability options. Possible values are: NOT_VERIFIED, VERIFIED.

    secretEnvs List<String>

    A list of global environment variables, which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret. These variables will be available to all build steps in this build.

    sourceProvenanceHashes List<String>

    Requested hash for SourceProvenance. Each value may be one of: NONE, SHA256, MD5.

    substitutionOption String

    Option to specify behavior when there is an error in the substitution checks. NOTE this is always set to ALLOW_LOOSE for triggered builds and cannot be overridden in the build configuration file. Possible values are: MUST_MATCH, ALLOW_LOOSE.

    volumes List<Property Map>

    Global list of volumes to mount for ALL build steps Each volume is created as an empty volume prior to starting the build process. Upon completion of the build, volumes and their contents are discarded. Global volume names and paths cannot conflict with the volumes defined a build step. Using a global volume in a build with only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    workerPool String

    Option to specify a WorkerPool for the build. Format projects/{project}/workerPools/{workerPool} This field is experimental.

    TriggerBuildOptionsVolume, TriggerBuildOptionsVolumeArgs

    Name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    Path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    Name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    Path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name String

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path String

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name str

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path str

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name String

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path String

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    TriggerBuildSecret, TriggerBuildSecretArgs

    KmsKeyName string

    Cloud KMS key name to use to decrypt these envs.

    SecretEnv Dictionary<string, string>

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    KmsKeyName string

    Cloud KMS key name to use to decrypt these envs.

    SecretEnv map[string]string

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    kmsKeyName String

    Cloud KMS key name to use to decrypt these envs.

    secretEnv Map<String,String>

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    kmsKeyName string

    Cloud KMS key name to use to decrypt these envs.

    secretEnv {[key: string]: string}

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    kms_key_name str

    Cloud KMS key name to use to decrypt these envs.

    secret_env Mapping[str, str]

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    kmsKeyName String

    Cloud KMS key name to use to decrypt these envs.

    secretEnv Map<String>

    Map of environment variable name to its encrypted value. Secret environment variables must be unique across all of a build's secrets, and must be used by at least one build step. Values can be at most 64 KB in size. There can be at most 100 secret values across all of a build's secrets.

    TriggerBuildSource, TriggerBuildSourceArgs

    RepoSource TriggerBuildSourceRepoSource

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    StorageSource TriggerBuildSourceStorageSource

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    RepoSource TriggerBuildSourceRepoSource

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    StorageSource TriggerBuildSourceStorageSource

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    repoSource TriggerBuildSourceRepoSource

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    storageSource TriggerBuildSourceStorageSource

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    repoSource TriggerBuildSourceRepoSource

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    storageSource TriggerBuildSourceStorageSource

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    repo_source TriggerBuildSourceRepoSource

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    storage_source TriggerBuildSourceStorageSource

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    repoSource Property Map

    Location of the source in a Google Cloud Source Repository. Structure is documented below.

    storageSource Property Map

    Location of the source in an archive file in Google Cloud Storage. Structure is documented below.

    TriggerBuildSourceRepoSource, TriggerBuildSourceRepoSourceArgs

    RepoName string

    Name of the Cloud Source Repository.

    BranchName string

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    CommitSha string

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    Dir string

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    InvertRegex bool

    Only trigger a build if the revision regex does NOT match the revision regex.

    ProjectId string

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    Substitutions Dictionary<string, string>

    Substitutions to use in a triggered build. Should only be used with triggers.run

    TagName string

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    RepoName string

    Name of the Cloud Source Repository.

    BranchName string

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    CommitSha string

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    Dir string

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    InvertRegex bool

    Only trigger a build if the revision regex does NOT match the revision regex.

    ProjectId string

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    Substitutions map[string]string

    Substitutions to use in a triggered build. Should only be used with triggers.run

    TagName string

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    repoName String

    Name of the Cloud Source Repository.

    branchName String

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commitSha String

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    dir String

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    invertRegex Boolean

    Only trigger a build if the revision regex does NOT match the revision regex.

    projectId String

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    substitutions Map<String,String>

    Substitutions to use in a triggered build. Should only be used with triggers.run

    tagName String

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    repoName string

    Name of the Cloud Source Repository.

    branchName string

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commitSha string

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    dir string

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    invertRegex boolean

    Only trigger a build if the revision regex does NOT match the revision regex.

    projectId string

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    substitutions {[key: string]: string}

    Substitutions to use in a triggered build. Should only be used with triggers.run

    tagName string

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    repo_name str

    Name of the Cloud Source Repository.

    branch_name str

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commit_sha str

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    dir str

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    invert_regex bool

    Only trigger a build if the revision regex does NOT match the revision regex.

    project_id str

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    substitutions Mapping[str, str]

    Substitutions to use in a triggered build. Should only be used with triggers.run

    tag_name str

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    repoName String

    Name of the Cloud Source Repository.

    branchName String

    Regex matching branches to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    commitSha String

    Explicit commit SHA to build. Exactly one a of branch name, tag, or commit SHA must be provided.

    dir String

    Directory, relative to the source root, in which to run the build. This must be a relative path. If a step's dir is specified and is an absolute path, this value is ignored for that step's execution.

    invertRegex Boolean

    Only trigger a build if the revision regex does NOT match the revision regex.

    projectId String

    ID of the project that owns the Cloud Source Repository. If omitted, the project ID requesting the build is assumed.

    substitutions Map<String>

    Substitutions to use in a triggered build. Should only be used with triggers.run

    tagName String

    Regex matching tags to build. Exactly one a of branch name, tag, or commit SHA must be provided. The syntax of the regular expressions accepted is the syntax accepted by RE2 and described at https://github.com/google/re2/wiki/Syntax

    TriggerBuildSourceStorageSource, TriggerBuildSourceStorageSourceArgs

    Bucket string

    Google Cloud Storage bucket containing the source.

    Object string

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    Generation string

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    Bucket string

    Google Cloud Storage bucket containing the source.

    Object string

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    Generation string

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    bucket String

    Google Cloud Storage bucket containing the source.

    object String

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    generation String

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    bucket string

    Google Cloud Storage bucket containing the source.

    object string

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    generation string

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    bucket str

    Google Cloud Storage bucket containing the source.

    object str

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    generation str

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    bucket String

    Google Cloud Storage bucket containing the source.

    object String

    Google Cloud Storage object containing the source. This object must be a gzipped archive file (.tar.gz) containing source to build.

    generation String

    Google Cloud Storage generation for the object. If the generation is omitted, the latest generation will be used

    TriggerBuildStep, TriggerBuildStepArgs

    Name string

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    AllowExitCodes List<int>

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    AllowFailure bool

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    Args List<string>

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    Dir string

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    Entrypoint string

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    Envs List<string>

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    Id string

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    Script string

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    SecretEnvs List<string>

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    Timeout string

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    Timing string

    Output only. Stores timing information for executing this build step.

    Volumes List<TriggerBuildStepVolume>

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    WaitFors List<string>

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    Name string

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    AllowExitCodes []int

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    AllowFailure bool

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    Args []string

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    Dir string

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    Entrypoint string

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    Envs []string

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    Id string

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    Script string

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    SecretEnvs []string

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    Timeout string

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    Timing string

    Output only. Stores timing information for executing this build step.

    Volumes []TriggerBuildStepVolume

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    WaitFors []string

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    name String

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    allowExitCodes List<Integer>

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    allowFailure Boolean

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    args List<String>

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    dir String

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    entrypoint String

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    envs List<String>

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    id String

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    script String

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    secretEnvs List<String>

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    timeout String

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    timing String

    Output only. Stores timing information for executing this build step.

    volumes List<TriggerBuildStepVolume>

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    waitFors List<String>

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    name string

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    allowExitCodes number[]

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    allowFailure boolean

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    args string[]

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    dir string

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    entrypoint string

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    envs string[]

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    id string

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    script string

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    secretEnvs string[]

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    timeout string

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    timing string

    Output only. Stores timing information for executing this build step.

    volumes TriggerBuildStepVolume[]

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    waitFors string[]

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    name str

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    allow_exit_codes Sequence[int]

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    allow_failure bool

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    args Sequence[str]

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    dir str

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    entrypoint str

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    envs Sequence[str]

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    id str

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    script str

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    secret_envs Sequence[str]

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    timeout str

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    timing str

    Output only. Stores timing information for executing this build step.

    volumes Sequence[TriggerBuildStepVolume]

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    wait_fors Sequence[str]

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    name String

    The name of the container image that will run this particular build step. If the image is available in the host's Docker daemon's cache, it will be run directly. If not, the host will attempt to pull the image first, using the builder service account's credentials if necessary. The Docker daemon's cache will already have the latest versions of all of the officially supported build steps (see https://github.com/GoogleCloudPlatform/cloud-builders for images and examples). The Docker daemon will also have cached many of the layers for some popular images, like "ubuntu", "debian", but they will be refreshed at the time you attempt to use them. If you built an image in a previous build step, it will be stored in the host's Docker daemon's cache and is available to use as the name for a later build step.

    allowExitCodes List<Number>

    Allow this build step to fail without failing the entire build if and only if the exit code is one of the specified codes. If allowFailure is also specified, this field will take precedence.

    allowFailure Boolean

    Allow this build step to fail without failing the entire build. If false, the entire build will fail if this step fails. Otherwise, the build will succeed, but this step will still have a failure status. Error information will be reported in the failureDetail field. allowExitCodes takes precedence over this field.

    args List<String>

    A list of arguments that will be presented to the step when it is started. If the image used to run the step's container has an entrypoint, the args are used as arguments to that entrypoint. If the image does not define an entrypoint, the first element in args is used as the entrypoint, and the remainder will be used as arguments.

    dir String

    Working directory to use when running this step's container. If this value is a relative path, it is relative to the build's working directory. If this value is absolute, it may be outside the build's working directory, in which case the contents of the path may not be persisted across build step executions, unless a volume for that path is specified. If the build specifies a RepoSource with dir and a step with a dir, which specifies an absolute path, the RepoSource dir is ignored for the step's execution.

    entrypoint String

    Entrypoint to be used instead of the build step image's default entrypoint. If unset, the image's default entrypoint is used

    envs List<String>

    A list of environment variable definitions to be used when running a step. The elements are of the form "KEY=VALUE" for the environment variable "KEY" being given the value "VALUE".

    id String

    Unique identifier for this build step, used in wait_for to reference this build step as a dependency.

    script String

    A shell script to be executed in the step. When script is provided, the user cannot specify the entrypoint or args.

    secretEnvs List<String>

    A list of environment variables which are encrypted using a Cloud Key Management Service crypto key. These values must be specified in the build's Secret.

    timeout String

    Time limit for executing this build step. If not defined, the step has no time limit and will be allowed to continue to run until either it completes or the build itself times out.

    timing String

    Output only. Stores timing information for executing this build step.

    volumes List<Property Map>

    List of volumes to mount into the build step. Each volume is created as an empty volume prior to execution of the build step. Upon completion of the build, volumes and their contents are discarded. Using a named volume in only one step is not valid as it is indicative of a build request with an incorrect configuration. Structure is documented below.

    waitFors List<String>

    The ID(s) of the step(s) that this build step depends on. This build step will not start until all the build steps in wait_for have completed successfully. If wait_for is empty, this build step will start when all previous build steps in the Build.Steps list have completed successfully.

    TriggerBuildStepVolume, TriggerBuildStepVolumeArgs

    Name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    Path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    Name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    Path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name String

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path String

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name string

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path string

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name str

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path str

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    name String

    Name of the volume to mount. Volume names must be unique per build step and must be valid names for Docker volumes. Each named volume must be used by at least two build steps.

    path String

    Path at which to mount the volume. Paths must be absolute and cannot conflict with other volume paths on the same build step or with certain reserved volume paths.

    TriggerGitFileSource, TriggerGitFileSourceArgs

    Path string

    The path of the file, with the repo root as the root of the path.

    RepoType string

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    BitbucketServerConfig string

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    GithubEnterpriseConfig string

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    Repository string

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    Revision string

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    Uri string

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    Path string

    The path of the file, with the repo root as the root of the path.

    RepoType string

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    BitbucketServerConfig string

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    GithubEnterpriseConfig string

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    Repository string

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    Revision string

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    Uri string

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    path String

    The path of the file, with the repo root as the root of the path.

    repoType String

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    bitbucketServerConfig String

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    githubEnterpriseConfig String

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    repository String

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    revision String

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    uri String

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    path string

    The path of the file, with the repo root as the root of the path.

    repoType string

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    bitbucketServerConfig string

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    githubEnterpriseConfig string

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    repository string

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    revision string

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    uri string

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    path str

    The path of the file, with the repo root as the root of the path.

    repo_type str

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    bitbucket_server_config str

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    github_enterprise_config str

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    repository str

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    revision str

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    uri str

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    path String

    The path of the file, with the repo root as the root of the path.

    repoType String

    The type of the repo, since it may not be explicit from the repo field (e.g from a URL). Values can be UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER Possible values are: UNKNOWN, CLOUD_SOURCE_REPOSITORIES, GITHUB, BITBUCKET_SERVER.

    bitbucketServerConfig String

    The full resource name of the bitbucket server config. Format: projects/{project}/locations/{location}/bitbucketServerConfigs/{id}.

    githubEnterpriseConfig String

    The full resource name of the github enterprise config. Format: projects/{project}/locations/{location}/githubEnterpriseConfigs/{id}. projects/{project}/githubEnterpriseConfigs/{id}.

    repository String

    The fully qualified resource name of the Repo API repository. The fully qualified resource name of the Repo API repository. If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    revision String

    The branch, tag, arbitrary ref, or SHA version of the repo to use when resolving the filename (optional). This field respects the same syntax/resolution as described here: https://git-scm.com/docs/gitrevisions If unspecified, the revision from which the trigger invocation originated is assumed to be the revision from which to read the specified path.

    uri String

    The URI of the repo (optional). If unspecified, the repo from which the trigger invocation originated is assumed to be the repo from which to read the specified path.

    TriggerGithub, TriggerGithubArgs

    EnterpriseConfigResourceName string

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    Name string

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    Owner string

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    PullRequest TriggerGithubPullRequest

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    Push TriggerGithubPush

    filter to match changes in refs, like branches or tags. Specify only one of pull_request or push. Structure is documented below.

    EnterpriseConfigResourceName string

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    Name string

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    Owner string

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    PullRequest TriggerGithubPullRequest

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    Push TriggerGithubPush

    filter to match changes in refs, like branches or tags. Specify only one of pull_request or push. Structure is documented below.

    enterpriseConfigResourceName String

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    name String

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    owner String

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    pullRequest TriggerGithubPullRequest

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    push TriggerGithubPush

    filter to match changes in refs, like branches or tags. Specify only one of pull_request or push. Structure is documented below.

    enterpriseConfigResourceName string

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    name string

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    owner string

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    pullRequest TriggerGithubPullRequest

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    push TriggerGithubPush

    filter to match changes in refs, like branches or tags. Specify only one of pull_request or push. Structure is documented below.

    enterprise_config_resource_name str

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    name str

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    owner str

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    pull_request TriggerGithubPullRequest

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    push TriggerGithubPush

    filter to match changes in refs, like branches or tags. Specify only one of pull_request or push. Structure is documented below.

    enterpriseConfigResourceName String

    The resource name of the github enterprise config that should be applied to this installation. For example: "projects/{$projectId}/locations/{$locationId}/githubEnterpriseConfigs/{$configId}"

    name String

    Name of the repository. For example: The name for https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".

    owner String

    Owner of the repository. For example: The owner for https://github.com/googlecloudplatform/cloud-builders is "googlecloudplatform".

    pullRequest Property Map

    filter to match changes in pull requests. Specify only one of pull_request or push. Structure is documented below.

    push