Cloud Build API . projects . triggers

Instance Methods

create(projectId, body=None, x__xgafv=None)

Creates a new `BuildTrigger`.

delete(projectId, triggerId, x__xgafv=None)

Deletes a `BuildTrigger` by its project ID and trigger ID.

get(projectId, triggerId, x__xgafv=None)

Returns information about a `BuildTrigger`.

list(projectId, pageToken=None, pageSize=None, x__xgafv=None)

Lists existing `BuildTrigger`s.

list_next(previous_request, previous_response)

Retrieves the next page of results.

patch(projectId, triggerId, body=None, x__xgafv=None)

Updates a `BuildTrigger` by its project ID and trigger ID.

run(projectId, triggerId, body=None, x__xgafv=None)

Runs a `BuildTrigger` at a particular source revision.

Method Details

create(projectId, body=None, x__xgafv=None)
Creates a new `BuildTrigger`.

This API is experimental.

Args:
  projectId: string, Required. ID of the project for which to configure automatic builds. (required)
  body: object, The request body.
    The object takes the form of:

{ # Configuration for an automated build in response to source repository
      # changes.
    "substitutions": { # Substitutions for Build resource. The keys must match the following
        # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
        # keys in bindings.
      "a_key": "A String",
    },
    "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
        # 
        # Mutually exclusive with `github`.
      "tagName": "A String", # Regex matching tags to build.
          #
          # The syntax of the regular expressions accepted is the syntax accepted by
          # RE2 and described at https://github.com/google/re2/wiki/Syntax
      "dir": "A 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.
      "substitutions": { # Substitutions to use in a triggered build.
          # Should only be used with RunBuildTrigger
        "a_key": "A String",
      },
      "repoName": "A String", # Required. Name of the Cloud Source Repository.
      "commitSha": "A String", # Explicit commit SHA to build.
      "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
          # regex.
      "branchName": "A String", # Regex matching branches to build.
          #
          # The syntax of the regular expressions accepted is the syntax accepted by
          # RE2 and described at https://github.com/google/re2/wiki/Syntax
      "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
          # project ID requesting the build is assumed.
    },
    "id": "A String", # Output only. Unique identifier of the trigger.
    "build": { # A build resource in the Cloud Build API. # Contents of the build template.
          #
          # At a high level, a `Build` describes where to find source code, how to build
          # it (for example, the builder image to run on the source), and where to store
          # the built artifacts.
          #
          # Fields can include the following variables, which will be expanded when the
          # build is created:
          #
          # - $PROJECT_ID: the project ID of the build.
          # - $BUILD_ID: the autogenerated ID of the build.
          # - $REPO_NAME: the source repository name specified by RepoSource.
          # - $BRANCH_NAME: the branch name specified by RepoSource.
          # - $TAG_NAME: the tag name specified by RepoSource.
          # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
          #   resolved from the specified branch or tag.
          # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
        "queueTtl": "A 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 create_time.
        "statusDetail": "A String", # Output only. Customer-readable message about the current status.
        "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
            # some source was used for this build.
          "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
              # revisions resolved.
            "tagName": "A String", # Regex matching tags to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "dir": "A 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.
            "substitutions": { # Substitutions to use in a triggered build.
                # Should only be used with RunBuildTrigger
              "a_key": "A String",
            },
            "repoName": "A String", # Required. Name of the Cloud Source Repository.
            "commitSha": "A String", # Explicit commit SHA to build.
            "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                # regex.
            "branchName": "A String", # Regex matching branches to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                # project ID requesting the build is assumed.
          },
          "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
              # generations resolved.
            "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                # omitted, the latest generation will be used.
            "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                # [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            "object": "A String", # Google Cloud Storage object containing the source.
                #
                # This object must be a gzipped archive file (`.tar.gz`) containing source to
                # build.
          },
          "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
              # the original source integrity was maintained in the build. Note that
              # `FileHashes` will only be populated if `BuildOptions` has requested a
              # `SourceProvenanceHash`.
              #
              # The keys to this map are file paths used as build source and the values
              # contain the hash values for those files.
              #
              # If the build source came in a single package such as a gzipped tarfile
              # (`.tar.gz`), the `FileHash` will be for the single path to that file.
            "a_key": { # Container message for hashes of byte content of files, used in
                # SourceProvenance messages to verify integrity of source input to the build.
              "fileHash": [ # Collection of file hashes.
                { # Container message for hash values.
                  "value": "A String", # The hash value.
                  "type": "A String", # The type of hash that was performed.
                },
              ],
            },
          },
        },
        "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
          { # Pairs a set of secret environment variables containing encrypted
              # values with the Cloud KMS key to use to decrypt the value.
            "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
            "secretEnv": { # 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.
              "a_key": "A String",
            },
          },
        ],
        "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
          "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
          "buildStepImages": [ # List of build step digests, in the order corresponding to build step
              # indices.
            "A String",
          ],
          "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
            "startTime": "A String", # Start of time span.
            "endTime": "A String", # End of time span.
          },
          "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
          "images": [ # Container images that were built as a part of the build.
            { # An image built by the pipeline.
              "digest": "A String", # Docker Registry 2.0 digest.
              "name": "A String", # Name used to push the container image to Google Container Registry, as
                  # presented to `docker push`.
              "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
            },
          ],
          "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
              # corresponding to build step indices.
              #
              # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
              # can produce this output by writing to `$BUILDER_OUTPUT/output`.
              # Only the first 4KB of data is stored.
            "A String",
          ],
        },
        "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
        "timing": { # Output only. Stores timing information for phases of the build. Valid keys
            # are:
            #
            # * BUILD: time to execute all build steps
            # * PUSH: time to push all specified images.
            # * FETCHSOURCE: time to fetch source.
            #
            # If the build does not specify source or images,
            # these keys will not be included.
          "a_key": { # Start and end times for a build execution phase.
            "startTime": "A String", # Start of time span.
            "endTime": "A String", # End of time span.
          },
        },
        "finishTime": "A String", # Output only. Time at which execution of the build was finished.
            #
            # The difference between finish_time and start_time is the duration of the
            # build's execution.
        "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
            # was triggered automatically.
        "timeout": "A 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`.
            #
            # `timeout` starts ticking from `startTime`.
            #
            # Default time is ten minutes.
        "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
            # successful completion of all build steps.
            # successful completion of all build steps.
          "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
              # completion of all build steps.
            "location": "A String", # Cloud Storage bucket and optional object path, in the form
                # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                #
                # Files in the workspace matching any path pattern will be uploaded to
                # Cloud Storage with this location as a prefix.
            "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "paths": [ # Path globs used to match files in the build's workspace.
              "A String",
            ],
          },
          "images": [ # 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.
            "A String",
          ],
        },
        "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
            # [Bucket Name
            # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
        "steps": [ # Required. The operations to be performed on the workspace.
          { # A step in the build pipeline.
            "args": [ # 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.
              "A String",
            ],
            "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                # If unset, the image's default entrypoint is used.
            "secretEnv": [ # 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`.
              "A String",
            ],
            "status": "A String", # Output only. Status of the build step. At this time, build step status is
                # only updated on build completion; step status is not updated in real-time
                # as the build progresses.
            "volumes": [ # 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.
              { # Volume describes a Docker container volume which is mounted into build steps
                  # in order to persist files across build step execution.
                "path": "A 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": "A 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.
              },
            ],
            "timeout": "A 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.
            "dir": "A 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.
            "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                # reference this build step as a dependency.
            "env": [ # 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".
              "A String",
            ],
            "waitFor": [ # 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.
              "A String",
            ],
            "name": "A String", # Required. 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
                # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                # 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.
            "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                # builder image only.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
          },
        ],
        "id": "A String", # Output only. Unique identifier of the build.
        "status": "A String", # Output only. Status of the build.
        "images": [ # 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`.
          "A String",
        ],
        "projectId": "A String", # Output only. ID of the project.
        "source": { # Location of the source in a supported storage service. # The location of the source files to build.
          "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
            "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                # omitted, the latest generation will be used.
            "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                # [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            "object": "A String", # Google Cloud Storage object containing the source.
                #
                # This object must be a gzipped archive file (`.tar.gz`) containing source to
                # build.
          },
          "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
              # Repository.
            "tagName": "A String", # Regex matching tags to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "dir": "A 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.
            "substitutions": { # Substitutions to use in a triggered build.
                # Should only be used with RunBuildTrigger
              "a_key": "A String",
            },
            "repoName": "A String", # Required. Name of the Cloud Source Repository.
            "commitSha": "A String", # Explicit commit SHA to build.
            "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                # regex.
            "branchName": "A String", # Regex matching branches to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                # project ID requesting the build is assumed.
          },
        },
        "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
          "A String",
        ],
        "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
          "volumes": [ # 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.
            { # Volume describes a Docker container volume which is mounted into build steps
                # in order to persist files across build step execution.
              "path": "A 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": "A 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.
            },
          ],
          "env": [ # 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".
            "A String",
          ],
          "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
            "A String",
          ],
          "machineType": "A String", # Compute Engine machine type on which to run the build.
          "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
              # Storage.
          "requestedVerifyOption": "A String", # Requested verifiability options.
          "substitutionOption": "A 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.
          "diskSizeGb": "A String", # 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.
          "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
              # Format: projects/{project}/workerPools/{workerPool}
              #
              # This field is experimental.
          "logging": "A String", # Option to specify the logging mode, which determines if and where build
              # logs are stored.
          "secretEnv": [ # 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.
            "A String",
          ],
          "dynamicSubstitutions": True or False, # 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.
        },
        "substitutions": { # Substitutions data for `Build` resource.
          "a_key": "A String",
        },
        "createTime": "A String", # Output only. Time at which the request to create the build was received.
        "startTime": "A String", # Output only. Time at which execution of the build was started.
      },
    "ignoredFiles": [ # ignored_files and included_files are file glob matches using
        # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
        # 
        # If ignored_files and changed files are both empty, then they are
        # not used to determine whether or not to trigger a build.
        # 
        # If ignored_files 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 ignored_files globs, then we do not trigger a build.
      "A String",
    ],
    "filename": "A String", # Path, from the source root, to a file whose contents is used for the
        # template.
    "disabled": True or False, # If true, the trigger will never automatically execute a build.
    "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
        # Trigger names must meet the following requirements:
        # 
        # + They must contain only alphanumeric characters and dashes.
        # + They can be 1-64 characters long.
        # + They must begin and end with an alphanumeric character.
    "tags": [ # Tags for annotation of a `BuildTrigger`
      "A String",
    ],
    "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
        # a build whenever a GitHub event is received.
        # 
        # Mutually exclusive with `trigger_template`.
        # build whenever a GitHub event is received.
        #
        # This message is experimental.
      "installationId": "A String", # The installationID that emits the GitHub event.
      "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
          # Requests.
        "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
            # comment `/gcbrun`.
        "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
      },
      "name": "A String", # Name of the repository. For example: The name for
          # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
      "owner": "A String", # Owner of the repository. For example: The owner for
          # https://github.com/googlecloudplatform/cloud-builders is
          # "googlecloudplatform".
      "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
        "branch": "A String", # Regexes matching branches to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
            # git_ref regex.
        "tag": "A String", # Regexes matching tags to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
      },
    },
    "createTime": "A String", # Output only. Time when the trigger was created.
    "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
        # filter and included_files 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 ignored_files
        # filter and included_files is not empty, then we make sure that at
        # least one of those files matches a included_files glob. If not,
        # then we do not trigger a build.
      "A String",
    ],
    "description": "A String", # Human-readable description of this trigger.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Configuration for an automated build in response to source repository
        # changes.
      "substitutions": { # Substitutions for Build resource. The keys must match the following
          # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
          # keys in bindings.
        "a_key": "A String",
      },
      "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
          #
          # Mutually exclusive with `github`.
        "tagName": "A String", # Regex matching tags to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "dir": "A 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.
        "substitutions": { # Substitutions to use in a triggered build.
            # Should only be used with RunBuildTrigger
          "a_key": "A String",
        },
        "repoName": "A String", # Required. Name of the Cloud Source Repository.
        "commitSha": "A String", # Explicit commit SHA to build.
        "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
            # regex.
        "branchName": "A String", # Regex matching branches to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
            # project ID requesting the build is assumed.
      },
      "id": "A String", # Output only. Unique identifier of the trigger.
      "build": { # A build resource in the Cloud Build API. # Contents of the build template.
            #
            # At a high level, a `Build` describes where to find source code, how to build
            # it (for example, the builder image to run on the source), and where to store
            # the built artifacts.
            #
            # Fields can include the following variables, which will be expanded when the
            # build is created:
            #
            # - $PROJECT_ID: the project ID of the build.
            # - $BUILD_ID: the autogenerated ID of the build.
            # - $REPO_NAME: the source repository name specified by RepoSource.
            # - $BRANCH_NAME: the branch name specified by RepoSource.
            # - $TAG_NAME: the tag name specified by RepoSource.
            # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
            #   resolved from the specified branch or tag.
            # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
          "queueTtl": "A 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 create_time.
          "statusDetail": "A String", # Output only. Customer-readable message about the current status.
          "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
              # some source was used for this build.
            "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
                # revisions resolved.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
            "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
                # generations resolved.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
                # the original source integrity was maintained in the build. Note that
                # `FileHashes` will only be populated if `BuildOptions` has requested a
                # `SourceProvenanceHash`.
                #
                # The keys to this map are file paths used as build source and the values
                # contain the hash values for those files.
                #
                # If the build source came in a single package such as a gzipped tarfile
                # (`.tar.gz`), the `FileHash` will be for the single path to that file.
              "a_key": { # Container message for hashes of byte content of files, used in
                  # SourceProvenance messages to verify integrity of source input to the build.
                "fileHash": [ # Collection of file hashes.
                  { # Container message for hash values.
                    "value": "A String", # The hash value.
                    "type": "A String", # The type of hash that was performed.
                  },
                ],
              },
            },
          },
          "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
            { # Pairs a set of secret environment variables containing encrypted
                # values with the Cloud KMS key to use to decrypt the value.
              "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
              "secretEnv": { # 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.
                "a_key": "A String",
              },
            },
          ],
          "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
            "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
            "buildStepImages": [ # List of build step digests, in the order corresponding to build step
                # indices.
              "A String",
            ],
            "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
            "images": [ # Container images that were built as a part of the build.
              { # An image built by the pipeline.
                "digest": "A String", # Docker Registry 2.0 digest.
                "name": "A String", # Name used to push the container image to Google Container Registry, as
                    # presented to `docker push`.
                "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                  "startTime": "A String", # Start of time span.
                  "endTime": "A String", # End of time span.
                },
              },
            ],
            "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
                # corresponding to build step indices.
                #
                # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
                # can produce this output by writing to `$BUILDER_OUTPUT/output`.
                # Only the first 4KB of data is stored.
              "A String",
            ],
          },
          "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
          "timing": { # Output only. Stores timing information for phases of the build. Valid keys
              # are:
              #
              # * BUILD: time to execute all build steps
              # * PUSH: time to push all specified images.
              # * FETCHSOURCE: time to fetch source.
              #
              # If the build does not specify source or images,
              # these keys will not be included.
            "a_key": { # Start and end times for a build execution phase.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
          },
          "finishTime": "A String", # Output only. Time at which execution of the build was finished.
              #
              # The difference between finish_time and start_time is the duration of the
              # build's execution.
          "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
              # was triggered automatically.
          "timeout": "A 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`.
              #
              # `timeout` starts ticking from `startTime`.
              #
              # Default time is ten minutes.
          "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
              # successful completion of all build steps.
              # successful completion of all build steps.
            "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
                # completion of all build steps.
              "location": "A String", # Cloud Storage bucket and optional object path, in the form
                  # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  #
                  # Files in the workspace matching any path pattern will be uploaded to
                  # Cloud Storage with this location as a prefix.
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "paths": [ # Path globs used to match files in the build's workspace.
                "A String",
              ],
            },
            "images": [ # 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.
              "A String",
            ],
          },
          "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
              # [Bucket Name
              # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
          "steps": [ # Required. The operations to be performed on the workspace.
            { # A step in the build pipeline.
              "args": [ # 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.
                "A String",
              ],
              "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                  # If unset, the image's default entrypoint is used.
              "secretEnv": [ # 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`.
                "A String",
              ],
              "status": "A String", # Output only. Status of the build step. At this time, build step status is
                  # only updated on build completion; step status is not updated in real-time
                  # as the build progresses.
              "volumes": [ # 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.
                { # Volume describes a Docker container volume which is mounted into build steps
                    # in order to persist files across build step execution.
                  "path": "A 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": "A 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.
                },
              ],
              "timeout": "A 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.
              "dir": "A 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.
              "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                  # reference this build step as a dependency.
              "env": [ # 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".
                "A String",
              ],
              "waitFor": [ # 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.
                "A String",
              ],
              "name": "A String", # Required. 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
                  # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                  # 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.
              "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                  # builder image only.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
            },
          ],
          "id": "A String", # Output only. Unique identifier of the build.
          "status": "A String", # Output only. Status of the build.
          "images": [ # 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`.
            "A String",
          ],
          "projectId": "A String", # Output only. ID of the project.
          "source": { # Location of the source in a supported storage service. # The location of the source files to build.
            "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
                # Repository.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
          },
          "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
            "A String",
          ],
          "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
            "volumes": [ # 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.
              { # Volume describes a Docker container volume which is mounted into build steps
                  # in order to persist files across build step execution.
                "path": "A 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": "A 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.
              },
            ],
            "env": [ # 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".
              "A String",
            ],
            "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
              "A String",
            ],
            "machineType": "A String", # Compute Engine machine type on which to run the build.
            "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
                # Storage.
            "requestedVerifyOption": "A String", # Requested verifiability options.
            "substitutionOption": "A 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.
            "diskSizeGb": "A String", # 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.
            "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
                # Format: projects/{project}/workerPools/{workerPool}
                #
                # This field is experimental.
            "logging": "A String", # Option to specify the logging mode, which determines if and where build
                # logs are stored.
            "secretEnv": [ # 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.
              "A String",
            ],
            "dynamicSubstitutions": True or False, # 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.
          },
          "substitutions": { # Substitutions data for `Build` resource.
            "a_key": "A String",
          },
          "createTime": "A String", # Output only. Time at which the request to create the build was received.
          "startTime": "A String", # Output only. Time at which execution of the build was started.
        },
      "ignoredFiles": [ # ignored_files and included_files are file glob matches using
          # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
          #
          # If ignored_files and changed files are both empty, then they are
          # not used to determine whether or not to trigger a build.
          #
          # If ignored_files 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 ignored_files globs, then we do not trigger a build.
        "A String",
      ],
      "filename": "A String", # Path, from the source root, to a file whose contents is used for the
          # template.
      "disabled": True or False, # If true, the trigger will never automatically execute a build.
      "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
          # Trigger names must meet the following requirements:
          #
          # + They must contain only alphanumeric characters and dashes.
          # + They can be 1-64 characters long.
          # + They must begin and end with an alphanumeric character.
      "tags": [ # Tags for annotation of a `BuildTrigger`
        "A String",
      ],
      "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
          # a build whenever a GitHub event is received.
          #
          # Mutually exclusive with `trigger_template`.
          # build whenever a GitHub event is received.
          #
          # This message is experimental.
        "installationId": "A String", # The installationID that emits the GitHub event.
        "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
            # Requests.
          "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
              # comment `/gcbrun`.
          "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
        },
        "name": "A String", # Name of the repository. For example: The name for
            # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
        "owner": "A String", # Owner of the repository. For example: The owner for
            # https://github.com/googlecloudplatform/cloud-builders is
            # "googlecloudplatform".
        "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
          "branch": "A String", # Regexes matching branches to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
          "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
              # git_ref regex.
          "tag": "A String", # Regexes matching tags to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
        },
      },
      "createTime": "A String", # Output only. Time when the trigger was created.
      "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
          # filter and included_files 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 ignored_files
          # filter and included_files is not empty, then we make sure that at
          # least one of those files matches a included_files glob. If not,
          # then we do not trigger a build.
        "A String",
      ],
      "description": "A String", # Human-readable description of this trigger.
    }
delete(projectId, triggerId, x__xgafv=None)
Deletes a `BuildTrigger` by its project ID and trigger ID.

This API is experimental.

Args:
  projectId: string, Required. ID of the project that owns the trigger. (required)
  triggerId: string, Required. ID of the `BuildTrigger` to delete. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated
      # empty messages in your APIs. A typical example is to use it as the request
      # or the response type of an API method. For instance:
      #
      #     service Foo {
      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
      #     }
      #
      # The JSON representation for `Empty` is empty JSON object `{}`.
  }
get(projectId, triggerId, x__xgafv=None)
Returns information about a `BuildTrigger`.

This API is experimental.

Args:
  projectId: string, Required. ID of the project that owns the trigger. (required)
  triggerId: string, Required. Identifier (`id` or `name`) of the `BuildTrigger` to get. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Configuration for an automated build in response to source repository
        # changes.
      "substitutions": { # Substitutions for Build resource. The keys must match the following
          # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
          # keys in bindings.
        "a_key": "A String",
      },
      "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
          #
          # Mutually exclusive with `github`.
        "tagName": "A String", # Regex matching tags to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "dir": "A 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.
        "substitutions": { # Substitutions to use in a triggered build.
            # Should only be used with RunBuildTrigger
          "a_key": "A String",
        },
        "repoName": "A String", # Required. Name of the Cloud Source Repository.
        "commitSha": "A String", # Explicit commit SHA to build.
        "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
            # regex.
        "branchName": "A String", # Regex matching branches to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
            # project ID requesting the build is assumed.
      },
      "id": "A String", # Output only. Unique identifier of the trigger.
      "build": { # A build resource in the Cloud Build API. # Contents of the build template.
            #
            # At a high level, a `Build` describes where to find source code, how to build
            # it (for example, the builder image to run on the source), and where to store
            # the built artifacts.
            #
            # Fields can include the following variables, which will be expanded when the
            # build is created:
            #
            # - $PROJECT_ID: the project ID of the build.
            # - $BUILD_ID: the autogenerated ID of the build.
            # - $REPO_NAME: the source repository name specified by RepoSource.
            # - $BRANCH_NAME: the branch name specified by RepoSource.
            # - $TAG_NAME: the tag name specified by RepoSource.
            # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
            #   resolved from the specified branch or tag.
            # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
          "queueTtl": "A 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 create_time.
          "statusDetail": "A String", # Output only. Customer-readable message about the current status.
          "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
              # some source was used for this build.
            "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
                # revisions resolved.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
            "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
                # generations resolved.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
                # the original source integrity was maintained in the build. Note that
                # `FileHashes` will only be populated if `BuildOptions` has requested a
                # `SourceProvenanceHash`.
                #
                # The keys to this map are file paths used as build source and the values
                # contain the hash values for those files.
                #
                # If the build source came in a single package such as a gzipped tarfile
                # (`.tar.gz`), the `FileHash` will be for the single path to that file.
              "a_key": { # Container message for hashes of byte content of files, used in
                  # SourceProvenance messages to verify integrity of source input to the build.
                "fileHash": [ # Collection of file hashes.
                  { # Container message for hash values.
                    "value": "A String", # The hash value.
                    "type": "A String", # The type of hash that was performed.
                  },
                ],
              },
            },
          },
          "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
            { # Pairs a set of secret environment variables containing encrypted
                # values with the Cloud KMS key to use to decrypt the value.
              "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
              "secretEnv": { # 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.
                "a_key": "A String",
              },
            },
          ],
          "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
            "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
            "buildStepImages": [ # List of build step digests, in the order corresponding to build step
                # indices.
              "A String",
            ],
            "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
            "images": [ # Container images that were built as a part of the build.
              { # An image built by the pipeline.
                "digest": "A String", # Docker Registry 2.0 digest.
                "name": "A String", # Name used to push the container image to Google Container Registry, as
                    # presented to `docker push`.
                "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                  "startTime": "A String", # Start of time span.
                  "endTime": "A String", # End of time span.
                },
              },
            ],
            "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
                # corresponding to build step indices.
                #
                # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
                # can produce this output by writing to `$BUILDER_OUTPUT/output`.
                # Only the first 4KB of data is stored.
              "A String",
            ],
          },
          "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
          "timing": { # Output only. Stores timing information for phases of the build. Valid keys
              # are:
              #
              # * BUILD: time to execute all build steps
              # * PUSH: time to push all specified images.
              # * FETCHSOURCE: time to fetch source.
              #
              # If the build does not specify source or images,
              # these keys will not be included.
            "a_key": { # Start and end times for a build execution phase.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
          },
          "finishTime": "A String", # Output only. Time at which execution of the build was finished.
              #
              # The difference between finish_time and start_time is the duration of the
              # build's execution.
          "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
              # was triggered automatically.
          "timeout": "A 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`.
              #
              # `timeout` starts ticking from `startTime`.
              #
              # Default time is ten minutes.
          "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
              # successful completion of all build steps.
              # successful completion of all build steps.
            "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
                # completion of all build steps.
              "location": "A String", # Cloud Storage bucket and optional object path, in the form
                  # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  #
                  # Files in the workspace matching any path pattern will be uploaded to
                  # Cloud Storage with this location as a prefix.
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "paths": [ # Path globs used to match files in the build's workspace.
                "A String",
              ],
            },
            "images": [ # 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.
              "A String",
            ],
          },
          "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
              # [Bucket Name
              # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
          "steps": [ # Required. The operations to be performed on the workspace.
            { # A step in the build pipeline.
              "args": [ # 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.
                "A String",
              ],
              "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                  # If unset, the image's default entrypoint is used.
              "secretEnv": [ # 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`.
                "A String",
              ],
              "status": "A String", # Output only. Status of the build step. At this time, build step status is
                  # only updated on build completion; step status is not updated in real-time
                  # as the build progresses.
              "volumes": [ # 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.
                { # Volume describes a Docker container volume which is mounted into build steps
                    # in order to persist files across build step execution.
                  "path": "A 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": "A 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.
                },
              ],
              "timeout": "A 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.
              "dir": "A 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.
              "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                  # reference this build step as a dependency.
              "env": [ # 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".
                "A String",
              ],
              "waitFor": [ # 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.
                "A String",
              ],
              "name": "A String", # Required. 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
                  # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                  # 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.
              "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                  # builder image only.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
            },
          ],
          "id": "A String", # Output only. Unique identifier of the build.
          "status": "A String", # Output only. Status of the build.
          "images": [ # 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`.
            "A String",
          ],
          "projectId": "A String", # Output only. ID of the project.
          "source": { # Location of the source in a supported storage service. # The location of the source files to build.
            "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
                # Repository.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
          },
          "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
            "A String",
          ],
          "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
            "volumes": [ # 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.
              { # Volume describes a Docker container volume which is mounted into build steps
                  # in order to persist files across build step execution.
                "path": "A 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": "A 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.
              },
            ],
            "env": [ # 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".
              "A String",
            ],
            "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
              "A String",
            ],
            "machineType": "A String", # Compute Engine machine type on which to run the build.
            "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
                # Storage.
            "requestedVerifyOption": "A String", # Requested verifiability options.
            "substitutionOption": "A 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.
            "diskSizeGb": "A String", # 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.
            "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
                # Format: projects/{project}/workerPools/{workerPool}
                #
                # This field is experimental.
            "logging": "A String", # Option to specify the logging mode, which determines if and where build
                # logs are stored.
            "secretEnv": [ # 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.
              "A String",
            ],
            "dynamicSubstitutions": True or False, # 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.
          },
          "substitutions": { # Substitutions data for `Build` resource.
            "a_key": "A String",
          },
          "createTime": "A String", # Output only. Time at which the request to create the build was received.
          "startTime": "A String", # Output only. Time at which execution of the build was started.
        },
      "ignoredFiles": [ # ignored_files and included_files are file glob matches using
          # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
          #
          # If ignored_files and changed files are both empty, then they are
          # not used to determine whether or not to trigger a build.
          #
          # If ignored_files 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 ignored_files globs, then we do not trigger a build.
        "A String",
      ],
      "filename": "A String", # Path, from the source root, to a file whose contents is used for the
          # template.
      "disabled": True or False, # If true, the trigger will never automatically execute a build.
      "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
          # Trigger names must meet the following requirements:
          #
          # + They must contain only alphanumeric characters and dashes.
          # + They can be 1-64 characters long.
          # + They must begin and end with an alphanumeric character.
      "tags": [ # Tags for annotation of a `BuildTrigger`
        "A String",
      ],
      "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
          # a build whenever a GitHub event is received.
          #
          # Mutually exclusive with `trigger_template`.
          # build whenever a GitHub event is received.
          #
          # This message is experimental.
        "installationId": "A String", # The installationID that emits the GitHub event.
        "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
            # Requests.
          "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
              # comment `/gcbrun`.
          "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
        },
        "name": "A String", # Name of the repository. For example: The name for
            # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
        "owner": "A String", # Owner of the repository. For example: The owner for
            # https://github.com/googlecloudplatform/cloud-builders is
            # "googlecloudplatform".
        "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
          "branch": "A String", # Regexes matching branches to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
          "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
              # git_ref regex.
          "tag": "A String", # Regexes matching tags to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
        },
      },
      "createTime": "A String", # Output only. Time when the trigger was created.
      "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
          # filter and included_files 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 ignored_files
          # filter and included_files is not empty, then we make sure that at
          # least one of those files matches a included_files glob. If not,
          # then we do not trigger a build.
        "A String",
      ],
      "description": "A String", # Human-readable description of this trigger.
    }
list(projectId, pageToken=None, pageSize=None, x__xgafv=None)
Lists existing `BuildTrigger`s.

This API is experimental.

Args:
  projectId: string, Required. ID of the project for which to list BuildTriggers. (required)
  pageToken: string, Token to provide to skip to a particular spot in the list.
  pageSize: integer, Number of results to return in the list.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response containing existing `BuildTriggers`.
    "triggers": [ # `BuildTriggers` for the project, sorted by `create_time` descending.
      { # Configuration for an automated build in response to source repository
            # changes.
          "substitutions": { # Substitutions for Build resource. The keys must match the following
              # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
              # keys in bindings.
            "a_key": "A String",
          },
          "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
              #
              # Mutually exclusive with `github`.
            "tagName": "A String", # Regex matching tags to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "dir": "A 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.
            "substitutions": { # Substitutions to use in a triggered build.
                # Should only be used with RunBuildTrigger
              "a_key": "A String",
            },
            "repoName": "A String", # Required. Name of the Cloud Source Repository.
            "commitSha": "A String", # Explicit commit SHA to build.
            "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                # regex.
            "branchName": "A String", # Regex matching branches to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                # project ID requesting the build is assumed.
          },
          "id": "A String", # Output only. Unique identifier of the trigger.
          "build": { # A build resource in the Cloud Build API. # Contents of the build template.
                #
                # At a high level, a `Build` describes where to find source code, how to build
                # it (for example, the builder image to run on the source), and where to store
                # the built artifacts.
                #
                # Fields can include the following variables, which will be expanded when the
                # build is created:
                #
                # - $PROJECT_ID: the project ID of the build.
                # - $BUILD_ID: the autogenerated ID of the build.
                # - $REPO_NAME: the source repository name specified by RepoSource.
                # - $BRANCH_NAME: the branch name specified by RepoSource.
                # - $TAG_NAME: the tag name specified by RepoSource.
                # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
                #   resolved from the specified branch or tag.
                # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
              "queueTtl": "A 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 create_time.
              "statusDetail": "A String", # Output only. Customer-readable message about the current status.
              "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
                  # some source was used for this build.
                "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
                    # revisions resolved.
                  "tagName": "A String", # Regex matching tags to build.
                      #
                      # The syntax of the regular expressions accepted is the syntax accepted by
                      # RE2 and described at https://github.com/google/re2/wiki/Syntax
                  "dir": "A 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.
                  "substitutions": { # Substitutions to use in a triggered build.
                      # Should only be used with RunBuildTrigger
                    "a_key": "A String",
                  },
                  "repoName": "A String", # Required. Name of the Cloud Source Repository.
                  "commitSha": "A String", # Explicit commit SHA to build.
                  "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                      # regex.
                  "branchName": "A String", # Regex matching branches to build.
                      #
                      # The syntax of the regular expressions accepted is the syntax accepted by
                      # RE2 and described at https://github.com/google/re2/wiki/Syntax
                  "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                      # project ID requesting the build is assumed.
                },
                "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
                    # generations resolved.
                  "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                      # omitted, the latest generation will be used.
                  "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                      # [Bucket Name
                      # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  "object": "A String", # Google Cloud Storage object containing the source.
                      #
                      # This object must be a gzipped archive file (`.tar.gz`) containing source to
                      # build.
                },
                "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
                    # the original source integrity was maintained in the build. Note that
                    # `FileHashes` will only be populated if `BuildOptions` has requested a
                    # `SourceProvenanceHash`.
                    #
                    # The keys to this map are file paths used as build source and the values
                    # contain the hash values for those files.
                    #
                    # If the build source came in a single package such as a gzipped tarfile
                    # (`.tar.gz`), the `FileHash` will be for the single path to that file.
                  "a_key": { # Container message for hashes of byte content of files, used in
                      # SourceProvenance messages to verify integrity of source input to the build.
                    "fileHash": [ # Collection of file hashes.
                      { # Container message for hash values.
                        "value": "A String", # The hash value.
                        "type": "A String", # The type of hash that was performed.
                      },
                    ],
                  },
                },
              },
              "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
                { # Pairs a set of secret environment variables containing encrypted
                    # values with the Cloud KMS key to use to decrypt the value.
                  "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
                  "secretEnv": { # 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.
                    "a_key": "A String",
                  },
                },
              ],
              "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
                "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
                "buildStepImages": [ # List of build step digests, in the order corresponding to build step
                    # indices.
                  "A String",
                ],
                "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
                  "startTime": "A String", # Start of time span.
                  "endTime": "A String", # End of time span.
                },
                "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
                "images": [ # Container images that were built as a part of the build.
                  { # An image built by the pipeline.
                    "digest": "A String", # Docker Registry 2.0 digest.
                    "name": "A String", # Name used to push the container image to Google Container Registry, as
                        # presented to `docker push`.
                    "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                      "startTime": "A String", # Start of time span.
                      "endTime": "A String", # End of time span.
                    },
                  },
                ],
                "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
                    # corresponding to build step indices.
                    #
                    # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
                    # can produce this output by writing to `$BUILDER_OUTPUT/output`.
                    # Only the first 4KB of data is stored.
                  "A String",
                ],
              },
              "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
              "timing": { # Output only. Stores timing information for phases of the build. Valid keys
                  # are:
                  #
                  # * BUILD: time to execute all build steps
                  # * PUSH: time to push all specified images.
                  # * FETCHSOURCE: time to fetch source.
                  #
                  # If the build does not specify source or images,
                  # these keys will not be included.
                "a_key": { # Start and end times for a build execution phase.
                  "startTime": "A String", # Start of time span.
                  "endTime": "A String", # End of time span.
                },
              },
              "finishTime": "A String", # Output only. Time at which execution of the build was finished.
                  #
                  # The difference between finish_time and start_time is the duration of the
                  # build's execution.
              "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
                  # was triggered automatically.
              "timeout": "A 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`.
                  #
                  # `timeout` starts ticking from `startTime`.
                  #
                  # Default time is ten minutes.
              "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
                  # successful completion of all build steps.
                  # successful completion of all build steps.
                "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
                    # completion of all build steps.
                  "location": "A String", # Cloud Storage bucket and optional object path, in the form
                      # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                      # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                      #
                      # Files in the workspace matching any path pattern will be uploaded to
                      # Cloud Storage with this location as a prefix.
                  "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
                    "startTime": "A String", # Start of time span.
                    "endTime": "A String", # End of time span.
                  },
                  "paths": [ # Path globs used to match files in the build's workspace.
                    "A String",
                  ],
                },
                "images": [ # 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.
                  "A String",
                ],
              },
              "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
              "steps": [ # Required. The operations to be performed on the workspace.
                { # A step in the build pipeline.
                  "args": [ # 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.
                    "A String",
                  ],
                  "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                      # If unset, the image's default entrypoint is used.
                  "secretEnv": [ # 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`.
                    "A String",
                  ],
                  "status": "A String", # Output only. Status of the build step. At this time, build step status is
                      # only updated on build completion; step status is not updated in real-time
                      # as the build progresses.
                  "volumes": [ # 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.
                    { # Volume describes a Docker container volume which is mounted into build steps
                        # in order to persist files across build step execution.
                      "path": "A 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": "A 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.
                    },
                  ],
                  "timeout": "A 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.
                  "dir": "A 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.
                  "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                      # reference this build step as a dependency.
                  "env": [ # 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".
                    "A String",
                  ],
                  "waitFor": [ # 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.
                    "A String",
                  ],
                  "name": "A String", # Required. 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
                      # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                      # 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.
                  "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                      # builder image only.
                    "startTime": "A String", # Start of time span.
                    "endTime": "A String", # End of time span.
                  },
                  "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
                    "startTime": "A String", # Start of time span.
                    "endTime": "A String", # End of time span.
                  },
                },
              ],
              "id": "A String", # Output only. Unique identifier of the build.
              "status": "A String", # Output only. Status of the build.
              "images": [ # 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`.
                "A String",
              ],
              "projectId": "A String", # Output only. ID of the project.
              "source": { # Location of the source in a supported storage service. # The location of the source files to build.
                "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
                  "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                      # omitted, the latest generation will be used.
                  "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                      # [Bucket Name
                      # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  "object": "A String", # Google Cloud Storage object containing the source.
                      #
                      # This object must be a gzipped archive file (`.tar.gz`) containing source to
                      # build.
                },
                "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
                    # Repository.
                  "tagName": "A String", # Regex matching tags to build.
                      #
                      # The syntax of the regular expressions accepted is the syntax accepted by
                      # RE2 and described at https://github.com/google/re2/wiki/Syntax
                  "dir": "A 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.
                  "substitutions": { # Substitutions to use in a triggered build.
                      # Should only be used with RunBuildTrigger
                    "a_key": "A String",
                  },
                  "repoName": "A String", # Required. Name of the Cloud Source Repository.
                  "commitSha": "A String", # Explicit commit SHA to build.
                  "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                      # regex.
                  "branchName": "A String", # Regex matching branches to build.
                      #
                      # The syntax of the regular expressions accepted is the syntax accepted by
                      # RE2 and described at https://github.com/google/re2/wiki/Syntax
                  "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                      # project ID requesting the build is assumed.
                },
              },
              "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
                "A String",
              ],
              "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
                "volumes": [ # 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.
                  { # Volume describes a Docker container volume which is mounted into build steps
                      # in order to persist files across build step execution.
                    "path": "A 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": "A 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.
                  },
                ],
                "env": [ # 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".
                  "A String",
                ],
                "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
                  "A String",
                ],
                "machineType": "A String", # Compute Engine machine type on which to run the build.
                "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
                    # Storage.
                "requestedVerifyOption": "A String", # Requested verifiability options.
                "substitutionOption": "A 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.
                "diskSizeGb": "A String", # 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.
                "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
                    # Format: projects/{project}/workerPools/{workerPool}
                    #
                    # This field is experimental.
                "logging": "A String", # Option to specify the logging mode, which determines if and where build
                    # logs are stored.
                "secretEnv": [ # 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.
                  "A String",
                ],
                "dynamicSubstitutions": True or False, # 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.
              },
              "substitutions": { # Substitutions data for `Build` resource.
                "a_key": "A String",
              },
              "createTime": "A String", # Output only. Time at which the request to create the build was received.
              "startTime": "A String", # Output only. Time at which execution of the build was started.
            },
          "ignoredFiles": [ # ignored_files and included_files are file glob matches using
              # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
              #
              # If ignored_files and changed files are both empty, then they are
              # not used to determine whether or not to trigger a build.
              #
              # If ignored_files 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 ignored_files globs, then we do not trigger a build.
            "A String",
          ],
          "filename": "A String", # Path, from the source root, to a file whose contents is used for the
              # template.
          "disabled": True or False, # If true, the trigger will never automatically execute a build.
          "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
              # Trigger names must meet the following requirements:
              #
              # + They must contain only alphanumeric characters and dashes.
              # + They can be 1-64 characters long.
              # + They must begin and end with an alphanumeric character.
          "tags": [ # Tags for annotation of a `BuildTrigger`
            "A String",
          ],
          "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
              # a build whenever a GitHub event is received.
              #
              # Mutually exclusive with `trigger_template`.
              # build whenever a GitHub event is received.
              #
              # This message is experimental.
            "installationId": "A String", # The installationID that emits the GitHub event.
            "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
                # Requests.
              "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
                  # comment `/gcbrun`.
              "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
            },
            "name": "A String", # Name of the repository. For example: The name for
                # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
            "owner": "A String", # Owner of the repository. For example: The owner for
                # https://github.com/googlecloudplatform/cloud-builders is
                # "googlecloudplatform".
            "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
              "branch": "A String", # Regexes matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
                  # git_ref regex.
              "tag": "A String", # Regexes matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
            },
          },
          "createTime": "A String", # Output only. Time when the trigger was created.
          "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
              # filter and included_files 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 ignored_files
              # filter and included_files is not empty, then we make sure that at
              # least one of those files matches a included_files glob. If not,
              # then we do not trigger a build.
            "A String",
          ],
          "description": "A String", # Human-readable description of this trigger.
        },
    ],
    "nextPageToken": "A String", # Token to receive the next page of results.
  }
list_next(previous_request, previous_response)
Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call 'execute()' on to request the next
  page. Returns None if there are no more items in the collection.
    
patch(projectId, triggerId, body=None, x__xgafv=None)
Updates a `BuildTrigger` by its project ID and trigger ID.

This API is experimental.

Args:
  projectId: string, Required. ID of the project that owns the trigger. (required)
  triggerId: string, Required. ID of the `BuildTrigger` to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # Configuration for an automated build in response to source repository
      # changes.
    "substitutions": { # Substitutions for Build resource. The keys must match the following
        # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
        # keys in bindings.
      "a_key": "A String",
    },
    "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
        # 
        # Mutually exclusive with `github`.
      "tagName": "A String", # Regex matching tags to build.
          #
          # The syntax of the regular expressions accepted is the syntax accepted by
          # RE2 and described at https://github.com/google/re2/wiki/Syntax
      "dir": "A 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.
      "substitutions": { # Substitutions to use in a triggered build.
          # Should only be used with RunBuildTrigger
        "a_key": "A String",
      },
      "repoName": "A String", # Required. Name of the Cloud Source Repository.
      "commitSha": "A String", # Explicit commit SHA to build.
      "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
          # regex.
      "branchName": "A String", # Regex matching branches to build.
          #
          # The syntax of the regular expressions accepted is the syntax accepted by
          # RE2 and described at https://github.com/google/re2/wiki/Syntax
      "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
          # project ID requesting the build is assumed.
    },
    "id": "A String", # Output only. Unique identifier of the trigger.
    "build": { # A build resource in the Cloud Build API. # Contents of the build template.
          #
          # At a high level, a `Build` describes where to find source code, how to build
          # it (for example, the builder image to run on the source), and where to store
          # the built artifacts.
          #
          # Fields can include the following variables, which will be expanded when the
          # build is created:
          #
          # - $PROJECT_ID: the project ID of the build.
          # - $BUILD_ID: the autogenerated ID of the build.
          # - $REPO_NAME: the source repository name specified by RepoSource.
          # - $BRANCH_NAME: the branch name specified by RepoSource.
          # - $TAG_NAME: the tag name specified by RepoSource.
          # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
          #   resolved from the specified branch or tag.
          # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
        "queueTtl": "A 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 create_time.
        "statusDetail": "A String", # Output only. Customer-readable message about the current status.
        "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
            # some source was used for this build.
          "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
              # revisions resolved.
            "tagName": "A String", # Regex matching tags to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "dir": "A 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.
            "substitutions": { # Substitutions to use in a triggered build.
                # Should only be used with RunBuildTrigger
              "a_key": "A String",
            },
            "repoName": "A String", # Required. Name of the Cloud Source Repository.
            "commitSha": "A String", # Explicit commit SHA to build.
            "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                # regex.
            "branchName": "A String", # Regex matching branches to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                # project ID requesting the build is assumed.
          },
          "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
              # generations resolved.
            "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                # omitted, the latest generation will be used.
            "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                # [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            "object": "A String", # Google Cloud Storage object containing the source.
                #
                # This object must be a gzipped archive file (`.tar.gz`) containing source to
                # build.
          },
          "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
              # the original source integrity was maintained in the build. Note that
              # `FileHashes` will only be populated if `BuildOptions` has requested a
              # `SourceProvenanceHash`.
              #
              # The keys to this map are file paths used as build source and the values
              # contain the hash values for those files.
              #
              # If the build source came in a single package such as a gzipped tarfile
              # (`.tar.gz`), the `FileHash` will be for the single path to that file.
            "a_key": { # Container message for hashes of byte content of files, used in
                # SourceProvenance messages to verify integrity of source input to the build.
              "fileHash": [ # Collection of file hashes.
                { # Container message for hash values.
                  "value": "A String", # The hash value.
                  "type": "A String", # The type of hash that was performed.
                },
              ],
            },
          },
        },
        "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
          { # Pairs a set of secret environment variables containing encrypted
              # values with the Cloud KMS key to use to decrypt the value.
            "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
            "secretEnv": { # 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.
              "a_key": "A String",
            },
          },
        ],
        "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
          "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
          "buildStepImages": [ # List of build step digests, in the order corresponding to build step
              # indices.
            "A String",
          ],
          "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
            "startTime": "A String", # Start of time span.
            "endTime": "A String", # End of time span.
          },
          "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
          "images": [ # Container images that were built as a part of the build.
            { # An image built by the pipeline.
              "digest": "A String", # Docker Registry 2.0 digest.
              "name": "A String", # Name used to push the container image to Google Container Registry, as
                  # presented to `docker push`.
              "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
            },
          ],
          "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
              # corresponding to build step indices.
              #
              # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
              # can produce this output by writing to `$BUILDER_OUTPUT/output`.
              # Only the first 4KB of data is stored.
            "A String",
          ],
        },
        "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
        "timing": { # Output only. Stores timing information for phases of the build. Valid keys
            # are:
            #
            # * BUILD: time to execute all build steps
            # * PUSH: time to push all specified images.
            # * FETCHSOURCE: time to fetch source.
            #
            # If the build does not specify source or images,
            # these keys will not be included.
          "a_key": { # Start and end times for a build execution phase.
            "startTime": "A String", # Start of time span.
            "endTime": "A String", # End of time span.
          },
        },
        "finishTime": "A String", # Output only. Time at which execution of the build was finished.
            #
            # The difference between finish_time and start_time is the duration of the
            # build's execution.
        "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
            # was triggered automatically.
        "timeout": "A 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`.
            #
            # `timeout` starts ticking from `startTime`.
            #
            # Default time is ten minutes.
        "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
            # successful completion of all build steps.
            # successful completion of all build steps.
          "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
              # completion of all build steps.
            "location": "A String", # Cloud Storage bucket and optional object path, in the form
                # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                #
                # Files in the workspace matching any path pattern will be uploaded to
                # Cloud Storage with this location as a prefix.
            "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "paths": [ # Path globs used to match files in the build's workspace.
              "A String",
            ],
          },
          "images": [ # 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.
            "A String",
          ],
        },
        "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
            # [Bucket Name
            # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
        "steps": [ # Required. The operations to be performed on the workspace.
          { # A step in the build pipeline.
            "args": [ # 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.
              "A String",
            ],
            "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                # If unset, the image's default entrypoint is used.
            "secretEnv": [ # 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`.
              "A String",
            ],
            "status": "A String", # Output only. Status of the build step. At this time, build step status is
                # only updated on build completion; step status is not updated in real-time
                # as the build progresses.
            "volumes": [ # 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.
              { # Volume describes a Docker container volume which is mounted into build steps
                  # in order to persist files across build step execution.
                "path": "A 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": "A 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.
              },
            ],
            "timeout": "A 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.
            "dir": "A 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.
            "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                # reference this build step as a dependency.
            "env": [ # 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".
              "A String",
            ],
            "waitFor": [ # 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.
              "A String",
            ],
            "name": "A String", # Required. 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
                # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                # 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.
            "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                # builder image only.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
          },
        ],
        "id": "A String", # Output only. Unique identifier of the build.
        "status": "A String", # Output only. Status of the build.
        "images": [ # 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`.
          "A String",
        ],
        "projectId": "A String", # Output only. ID of the project.
        "source": { # Location of the source in a supported storage service. # The location of the source files to build.
          "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
            "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                # omitted, the latest generation will be used.
            "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                # [Bucket Name
                # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
            "object": "A String", # Google Cloud Storage object containing the source.
                #
                # This object must be a gzipped archive file (`.tar.gz`) containing source to
                # build.
          },
          "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
              # Repository.
            "tagName": "A String", # Regex matching tags to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "dir": "A 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.
            "substitutions": { # Substitutions to use in a triggered build.
                # Should only be used with RunBuildTrigger
              "a_key": "A String",
            },
            "repoName": "A String", # Required. Name of the Cloud Source Repository.
            "commitSha": "A String", # Explicit commit SHA to build.
            "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                # regex.
            "branchName": "A String", # Regex matching branches to build.
                #
                # The syntax of the regular expressions accepted is the syntax accepted by
                # RE2 and described at https://github.com/google/re2/wiki/Syntax
            "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                # project ID requesting the build is assumed.
          },
        },
        "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
          "A String",
        ],
        "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
          "volumes": [ # 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.
            { # Volume describes a Docker container volume which is mounted into build steps
                # in order to persist files across build step execution.
              "path": "A 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": "A 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.
            },
          ],
          "env": [ # 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".
            "A String",
          ],
          "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
            "A String",
          ],
          "machineType": "A String", # Compute Engine machine type on which to run the build.
          "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
              # Storage.
          "requestedVerifyOption": "A String", # Requested verifiability options.
          "substitutionOption": "A 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.
          "diskSizeGb": "A String", # 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.
          "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
              # Format: projects/{project}/workerPools/{workerPool}
              #
              # This field is experimental.
          "logging": "A String", # Option to specify the logging mode, which determines if and where build
              # logs are stored.
          "secretEnv": [ # 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.
            "A String",
          ],
          "dynamicSubstitutions": True or False, # 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.
        },
        "substitutions": { # Substitutions data for `Build` resource.
          "a_key": "A String",
        },
        "createTime": "A String", # Output only. Time at which the request to create the build was received.
        "startTime": "A String", # Output only. Time at which execution of the build was started.
      },
    "ignoredFiles": [ # ignored_files and included_files are file glob matches using
        # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
        # 
        # If ignored_files and changed files are both empty, then they are
        # not used to determine whether or not to trigger a build.
        # 
        # If ignored_files 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 ignored_files globs, then we do not trigger a build.
      "A String",
    ],
    "filename": "A String", # Path, from the source root, to a file whose contents is used for the
        # template.
    "disabled": True or False, # If true, the trigger will never automatically execute a build.
    "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
        # Trigger names must meet the following requirements:
        # 
        # + They must contain only alphanumeric characters and dashes.
        # + They can be 1-64 characters long.
        # + They must begin and end with an alphanumeric character.
    "tags": [ # Tags for annotation of a `BuildTrigger`
      "A String",
    ],
    "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
        # a build whenever a GitHub event is received.
        # 
        # Mutually exclusive with `trigger_template`.
        # build whenever a GitHub event is received.
        #
        # This message is experimental.
      "installationId": "A String", # The installationID that emits the GitHub event.
      "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
          # Requests.
        "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
            # comment `/gcbrun`.
        "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
      },
      "name": "A String", # Name of the repository. For example: The name for
          # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
      "owner": "A String", # Owner of the repository. For example: The owner for
          # https://github.com/googlecloudplatform/cloud-builders is
          # "googlecloudplatform".
      "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
        "branch": "A String", # Regexes matching branches to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
            # git_ref regex.
        "tag": "A String", # Regexes matching tags to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
      },
    },
    "createTime": "A String", # Output only. Time when the trigger was created.
    "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
        # filter and included_files 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 ignored_files
        # filter and included_files is not empty, then we make sure that at
        # least one of those files matches a included_files glob. If not,
        # then we do not trigger a build.
      "A String",
    ],
    "description": "A String", # Human-readable description of this trigger.
  }

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Configuration for an automated build in response to source repository
        # changes.
      "substitutions": { # Substitutions for Build resource. The keys must match the following
          # regular expression: `^_[A-Z0-9_]+$`.The keys cannot conflict with the
          # keys in bindings.
        "a_key": "A String",
      },
      "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # 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.
          #
          # Mutually exclusive with `github`.
        "tagName": "A String", # Regex matching tags to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "dir": "A 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.
        "substitutions": { # Substitutions to use in a triggered build.
            # Should only be used with RunBuildTrigger
          "a_key": "A String",
        },
        "repoName": "A String", # Required. Name of the Cloud Source Repository.
        "commitSha": "A String", # Explicit commit SHA to build.
        "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
            # regex.
        "branchName": "A String", # Regex matching branches to build.
            #
            # The syntax of the regular expressions accepted is the syntax accepted by
            # RE2 and described at https://github.com/google/re2/wiki/Syntax
        "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
            # project ID requesting the build is assumed.
      },
      "id": "A String", # Output only. Unique identifier of the trigger.
      "build": { # A build resource in the Cloud Build API. # Contents of the build template.
            #
            # At a high level, a `Build` describes where to find source code, how to build
            # it (for example, the builder image to run on the source), and where to store
            # the built artifacts.
            #
            # Fields can include the following variables, which will be expanded when the
            # build is created:
            #
            # - $PROJECT_ID: the project ID of the build.
            # - $BUILD_ID: the autogenerated ID of the build.
            # - $REPO_NAME: the source repository name specified by RepoSource.
            # - $BRANCH_NAME: the branch name specified by RepoSource.
            # - $TAG_NAME: the tag name specified by RepoSource.
            # - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
            #   resolved from the specified branch or tag.
            # - $SHORT_SHA: first 7 characters of $REVISION_ID or $COMMIT_SHA.
          "queueTtl": "A 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 create_time.
          "statusDetail": "A String", # Output only. Customer-readable message about the current status.
          "sourceProvenance": { # Provenance of the source. Ways to find the original source, or verify that # Output only. A permanent fixed identifier for source.
              # some source was used for this build.
            "resolvedRepoSource": { # Location of the source in a Google Cloud Source Repository. # A copy of the build's `source.repo_source`, if exists, with any
                # revisions resolved.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
            "resolvedStorageSource": { # Location of the source in an archive file in Google Cloud Storage. # A copy of the build's `source.storage_source`, if exists, with any
                # generations resolved.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "fileHashes": { # Output only. Hash(es) of the build source, which can be used to verify that
                # the original source integrity was maintained in the build. Note that
                # `FileHashes` will only be populated if `BuildOptions` has requested a
                # `SourceProvenanceHash`.
                #
                # The keys to this map are file paths used as build source and the values
                # contain the hash values for those files.
                #
                # If the build source came in a single package such as a gzipped tarfile
                # (`.tar.gz`), the `FileHash` will be for the single path to that file.
              "a_key": { # Container message for hashes of byte content of files, used in
                  # SourceProvenance messages to verify integrity of source input to the build.
                "fileHash": [ # Collection of file hashes.
                  { # Container message for hash values.
                    "value": "A String", # The hash value.
                    "type": "A String", # The type of hash that was performed.
                  },
                ],
              },
            },
          },
          "secrets": [ # Secrets to decrypt using Cloud Key Management Service.
            { # Pairs a set of secret environment variables containing encrypted
                # values with the Cloud KMS key to use to decrypt the value.
              "kmsKeyName": "A String", # Cloud KMS key name to use to decrypt these envs.
              "secretEnv": { # 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.
                "a_key": "A String",
              },
            },
          ],
          "results": { # Artifacts created by the build pipeline. # Output only. Results of the build.
            "numArtifacts": "A String", # Number of artifacts uploaded. Only populated when artifacts are uploaded.
            "buildStepImages": [ # List of build step digests, in the order corresponding to build step
                # indices.
              "A String",
            ],
            "artifactTiming": { # Start and end times for a build execution phase. # Time to push all non-container artifacts.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
            "artifactManifest": "A String", # Path to the artifact manifest. Only populated when artifacts are uploaded.
            "images": [ # Container images that were built as a part of the build.
              { # An image built by the pipeline.
                "digest": "A String", # Docker Registry 2.0 digest.
                "name": "A String", # Name used to push the container image to Google Container Registry, as
                    # presented to `docker push`.
                "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
                  "startTime": "A String", # Start of time span.
                  "endTime": "A String", # End of time span.
                },
              },
            ],
            "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
                # corresponding to build step indices.
                #
                # [Cloud Builders](https://cloud.google.com/cloud-build/docs/cloud-builders)
                # can produce this output by writing to `$BUILDER_OUTPUT/output`.
                # Only the first 4KB of data is stored.
              "A String",
            ],
          },
          "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
          "timing": { # Output only. Stores timing information for phases of the build. Valid keys
              # are:
              #
              # * BUILD: time to execute all build steps
              # * PUSH: time to push all specified images.
              # * FETCHSOURCE: time to fetch source.
              #
              # If the build does not specify source or images,
              # these keys will not be included.
            "a_key": { # Start and end times for a build execution phase.
              "startTime": "A String", # Start of time span.
              "endTime": "A String", # End of time span.
            },
          },
          "finishTime": "A String", # Output only. Time at which execution of the build was finished.
              #
              # The difference between finish_time and start_time is the duration of the
              # build's execution.
          "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
              # was triggered automatically.
          "timeout": "A 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`.
              #
              # `timeout` starts ticking from `startTime`.
              #
              # Default time is ten minutes.
          "artifacts": { # Artifacts produced by a build that should be uploaded upon # Artifacts produced by the build that should be uploaded upon
              # successful completion of all build steps.
              # successful completion of all build steps.
            "objects": { # Files in the workspace to upload to Cloud Storage upon successful # 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 specified 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.
                # completion of all build steps.
              "location": "A String", # Cloud Storage bucket and optional object path, in the form
                  # "gs://bucket/path/to/somewhere/". (see [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
                  #
                  # Files in the workspace matching any path pattern will be uploaded to
                  # Cloud Storage with this location as a prefix.
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "paths": [ # Path globs used to match files in the build's workspace.
                "A String",
              ],
            },
            "images": [ # 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.
              "A String",
            ],
          },
          "logsBucket": "A String", # Google Cloud Storage bucket where logs should be written (see
              # [Bucket Name
              # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              # Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
          "steps": [ # Required. The operations to be performed on the workspace.
            { # A step in the build pipeline.
              "args": [ # 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.
                "A String",
              ],
              "entrypoint": "A String", # Entrypoint to be used instead of the build step image's default entrypoint.
                  # If unset, the image's default entrypoint is used.
              "secretEnv": [ # 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`.
                "A String",
              ],
              "status": "A String", # Output only. Status of the build step. At this time, build step status is
                  # only updated on build completion; step status is not updated in real-time
                  # as the build progresses.
              "volumes": [ # 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.
                { # Volume describes a Docker container volume which is mounted into build steps
                    # in order to persist files across build step execution.
                  "path": "A 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": "A 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.
                },
              ],
              "timeout": "A 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.
              "dir": "A 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.
              "id": "A String", # Unique identifier for this build step, used in `wait_for` to
                  # reference this build step as a dependency.
              "env": [ # 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".
                "A String",
              ],
              "waitFor": [ # 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.
                "A String",
              ],
              "name": "A String", # Required. 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
                  # ([https://github.com/GoogleCloudPlatform/cloud-builders](https://github.com/GoogleCloudPlatform/cloud-builders)).
                  # 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.
              "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
                  # builder image only.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
              "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
                "startTime": "A String", # Start of time span.
                "endTime": "A String", # End of time span.
              },
            },
          ],
          "id": "A String", # Output only. Unique identifier of the build.
          "status": "A String", # Output only. Status of the build.
          "images": [ # 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`.
            "A String",
          ],
          "projectId": "A String", # Output only. ID of the project.
          "source": { # Location of the source in a supported storage service. # The location of the source files to build.
            "storageSource": { # Location of the source in an archive file in Google Cloud Storage. # If provided, get the source from this location in Google Cloud Storage.
              "generation": "A String", # Google Cloud Storage generation for the object. If the generation is
                  # omitted, the latest generation will be used.
              "bucket": "A String", # Google Cloud Storage bucket containing the source (see
                  # [Bucket Name
                  # Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
              "object": "A String", # Google Cloud Storage object containing the source.
                  #
                  # This object must be a gzipped archive file (`.tar.gz`) containing source to
                  # build.
            },
            "repoSource": { # Location of the source in a Google Cloud Source Repository. # If provided, get the source from this location in a Cloud Source
                # Repository.
              "tagName": "A String", # Regex matching tags to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "dir": "A 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.
              "substitutions": { # Substitutions to use in a triggered build.
                  # Should only be used with RunBuildTrigger
                "a_key": "A String",
              },
              "repoName": "A String", # Required. Name of the Cloud Source Repository.
              "commitSha": "A String", # Explicit commit SHA to build.
              "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
                  # regex.
              "branchName": "A String", # Regex matching branches to build.
                  #
                  # The syntax of the regular expressions accepted is the syntax accepted by
                  # RE2 and described at https://github.com/google/re2/wiki/Syntax
              "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
                  # project ID requesting the build is assumed.
            },
          },
          "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
            "A String",
          ],
          "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
            "volumes": [ # 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.
              { # Volume describes a Docker container volume which is mounted into build steps
                  # in order to persist files across build step execution.
                "path": "A 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": "A 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.
              },
            ],
            "env": [ # 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".
              "A String",
            ],
            "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
              "A String",
            ],
            "machineType": "A String", # Compute Engine machine type on which to run the build.
            "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
                # Storage.
            "requestedVerifyOption": "A String", # Requested verifiability options.
            "substitutionOption": "A 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.
            "diskSizeGb": "A String", # 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.
            "workerPool": "A String", # Option to specify a `WorkerPool` for the build.
                # Format: projects/{project}/workerPools/{workerPool}
                #
                # This field is experimental.
            "logging": "A String", # Option to specify the logging mode, which determines if and where build
                # logs are stored.
            "secretEnv": [ # 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.
              "A String",
            ],
            "dynamicSubstitutions": True or False, # 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.
          },
          "substitutions": { # Substitutions data for `Build` resource.
            "a_key": "A String",
          },
          "createTime": "A String", # Output only. Time at which the request to create the build was received.
          "startTime": "A String", # Output only. Time at which execution of the build was started.
        },
      "ignoredFiles": [ # ignored_files and included_files are file glob matches using
          # https://golang.org/pkg/path/filepath/#Match extended with support for "**".
          #
          # If ignored_files and changed files are both empty, then they are
          # not used to determine whether or not to trigger a build.
          #
          # If ignored_files 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 ignored_files globs, then we do not trigger a build.
        "A String",
      ],
      "filename": "A String", # Path, from the source root, to a file whose contents is used for the
          # template.
      "disabled": True or False, # If true, the trigger will never automatically execute a build.
      "name": "A String", # User-assigned name of the trigger. Must be unique within the project.
          # Trigger names must meet the following requirements:
          #
          # + They must contain only alphanumeric characters and dashes.
          # + They can be 1-64 characters long.
          # + They must begin and end with an alphanumeric character.
      "tags": [ # Tags for annotation of a `BuildTrigger`
        "A String",
      ],
      "github": { # GitHubEventsConfig describes the configuration of a trigger that creates a # GitHubEventsConfig describes the configuration of a trigger that creates
          # a build whenever a GitHub event is received.
          #
          # Mutually exclusive with `trigger_template`.
          # build whenever a GitHub event is received.
          #
          # This message is experimental.
        "installationId": "A String", # The installationID that emits the GitHub event.
        "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
            # Requests.
          "branch": "A 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": "A String", # Configure builds to run whether a repository owner or collaborator need to
              # comment `/gcbrun`.
          "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
        },
        "name": "A String", # Name of the repository. For example: The name for
            # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
        "owner": "A String", # Owner of the repository. For example: The owner for
            # https://github.com/googlecloudplatform/cloud-builders is
            # "googlecloudplatform".
        "push": { # Push contains filter properties for matching GitHub git pushes. # filter to match changes in refs like branches, tags.
          "branch": "A String", # Regexes matching branches to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
          "invertRegex": True or False, # When true, only trigger a build if the revision regex does NOT match the
              # git_ref regex.
          "tag": "A String", # Regexes matching tags to build.
              #
              # The syntax of the regular expressions accepted is the syntax accepted by
              # RE2 and described at https://github.com/google/re2/wiki/Syntax
        },
      },
      "createTime": "A String", # Output only. Time when the trigger was created.
      "includedFiles": [ # If any of the files altered in the commit pass the ignored_files
          # filter and included_files 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 ignored_files
          # filter and included_files is not empty, then we make sure that at
          # least one of those files matches a included_files glob. If not,
          # then we do not trigger a build.
        "A String",
      ],
      "description": "A String", # Human-readable description of this trigger.
    }
run(projectId, triggerId, body=None, x__xgafv=None)
Runs a `BuildTrigger` at a particular source revision.

Args:
  projectId: string, Required. ID of the project. (required)
  triggerId: string, Required. ID of the trigger. (required)
  body: object, The request body.
    The object takes the form of:

{ # Location of the source in a Google Cloud Source Repository.
  "tagName": "A String", # Regex matching tags to build.
      # 
      # The syntax of the regular expressions accepted is the syntax accepted by
      # RE2 and described at https://github.com/google/re2/wiki/Syntax
  "dir": "A 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.
  "substitutions": { # Substitutions to use in a triggered build.
      # Should only be used with RunBuildTrigger
    "a_key": "A String",
  },
  "repoName": "A String", # Required. Name of the Cloud Source Repository.
  "commitSha": "A String", # Explicit commit SHA to build.
  "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
      # regex.
  "branchName": "A String", # Regex matching branches to build.
      # 
      # The syntax of the regular expressions accepted is the syntax accepted by
      # RE2 and described at https://github.com/google/re2/wiki/Syntax
  "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
      # project ID requesting the build is assumed.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a
      # network API call.
    "response": { # The normal response of the operation in case of success.  If the original
        # method returns no data on success, such as `Delete`, the response is
        # `google.protobuf.Empty`.  If the original method is standard
        # `Get`/`Create`/`Update`, the response should be the resource.  For other
        # methods, the response should have the type `XxxResponse`, where `Xxx`
        # is the original method name.  For example, if the original method name
        # is `TakeSnapshot()`, the inferred response type is
        # `TakeSnapshotResponse`.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "metadata": { # Service-specific metadata associated with the operation.  It typically
        # contains progress information and common metadata such as create time.
        # Some services might not provide such metadata.  Any method that returns a
        # long-running operation should document the metadata type, if any.
      "a_key": "", # Properties of the object. Contains field @type with type URL.
    },
    "name": "A String", # The server-assigned name, which is only unique within the same service that
        # originally returns it. If you use the default HTTP mapping, the
        # `name` should be a resource name ending with `operations/{unique_id}`.
    "error": { # The `Status` type defines a logical error model that is suitable for # The error result of the operation in case of failure or cancellation.
        # different programming environments, including REST APIs and RPC APIs. It is
        # used by [gRPC](https://github.com/grpc). Each `Status` message contains
        # three pieces of data: error code, error message, and error details.
        #
        # You can find out more about this error model and how to work with it in the
        # [API Design Guide](https://cloud.google.com/apis/design/errors).
      "message": "A String", # A developer-facing error message, which should be in English. Any
          # user-facing error message should be localized and sent in the
          # google.rpc.Status.details field, or localized by the client.
      "details": [ # A list of messages that carry the error details.  There is a common set of
          # message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    },
    "done": True or False, # If the value is `false`, it means the operation is still in progress.
        # If `true`, the operation is completed, and either `error` or `response` is
        # available.
  }