docs: update generated docs (#981)
diff --git a/docs/dyn/cloudbuild_v1.projects.triggers.html b/docs/dyn/cloudbuild_v1.projects.triggers.html
index c41317b..a4c8ba8 100644
--- a/docs/dyn/cloudbuild_v1.projects.triggers.html
+++ b/docs/dyn/cloudbuild_v1.projects.triggers.html
@@ -108,882 +108,406 @@
The object takes the form of:
{ # Configuration for an automated build in response to source repository
- # changes.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
- "a_key": "A String",
- },
- "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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
- },
- ],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
- },
- ],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- },
- "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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start 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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- ],
- },
- "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.
- "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.
- "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.
- },
- ],
- "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",
- ],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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",
- ],
- "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",
- ],
- },
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
- "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.
- "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
- # Requests.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
- "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
- "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
- },
- "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
- },
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
- },
- "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",
- ],
- "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",
- },
- "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",
- ],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
-}
-
- 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.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
+ "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",
},
- "timing": { # Output only. Stores timing information for phases of the build. Valid keys
- # are:
+ "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.
#
- # * BUILD: time to execute all build steps
- # * PUSH: time to push all specified images.
- # * FETCHSOURCE: time to fetch source.
+ # 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.
#
- # 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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`.
+ # 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 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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
- },
- ],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
+ # 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.
#
- # 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.
+ # 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.
#
- # 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.
+ # 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",
+ },
},
],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
+ "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.
},
- "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)).
+ "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.
#
- # Files in the workspace matching any path pattern will be uploaded to
- # Cloud Storage with this location as a prefix.
- "paths": [ # Path globs used to match files in the build's workspace.
+ # [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",
],
},
- "images": [ # A list of images to be pushed upon the successful completion of all build
- # steps.
+ "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:
#
- # The images will be pushed using the builder service account's credentials.
+ # * BUILD: time to execute all build steps
+ # * PUSH: time to push all specified images.
+ # * FETCHSOURCE: time to fetch source.
#
- # 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",
- ],
- },
- "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",
+ # 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.
},
},
- ],
- "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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
- # corresponding to build step indices.
+ "finishTime": "A String", # Output only. Time at which execution of the build was finished.
#
- # [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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
+ # 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.
},
},
],
- },
- "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.
- "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.
- "volumes": [ # List of volumes to mount into the build step.
+ "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 execution of the
- # build step. Upon completion of the build, volumes and their contents are
- # discarded.
+ # 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 named volume in only one step is not valid as it is indicative
- # of a build request with an incorrect configuration.
+ # 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.
@@ -996,102 +520,102 @@
# Docker volumes. Each named volume must be used by at least two build steps.
},
],
- "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",
- ],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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",
- ],
- "env": [ # A list of environment variable definitions to be used when running a step.
+ "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.
},
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
- "A String",
- ],
- },
+ "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.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
"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.
#
@@ -1104,72 +628,564 @@
# The syntax of the regular expressions accepted is the syntax accepted by
# RE2 and described at https://github.com/google/re2/wiki/Syntax
},
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
},
- "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",
- ],
- "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",
- },
+ "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",
],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
+ "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",
},
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- }</pre>
+ "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.
+ }</pre>
</div>
<div class="method">
@@ -1219,532 +1235,540 @@
An object of the form:
{ # Configuration for an automated build in response to source repository
- # changes.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
+ # 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",
},
- "timing": { # Output only. Stores timing information for phases of the build. Valid keys
- # are:
+ "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # Template describing the types of source changes to trigger a build.
#
- # * BUILD: time to execute all build steps
- # * PUSH: time to push all specified images.
- # * FETCHSOURCE: time to fetch source.
+ # 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.
#
- # 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ # 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.
},
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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`.
+ "id": "A String", # Output only. Unique identifier of the trigger.
+ "build": { # A build resource in the Cloud Build API. # Contents of the build template.
#
- # The keys to this map are file paths used as build source and the values
- # contain the hash values for those files.
+ # 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.
#
- # 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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
+ # 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.
+ },
},
],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
+ "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
+ # corresponding to build step indices.
#
- # 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.
+ # [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",
+ ],
},
- ],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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)).
+ "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:
#
- # Files in the workspace matching any path pattern will be uploaded to
- # Cloud Storage with this location as a prefix.
- "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",
- ],
- },
- "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.
+ # * BUILD: time to execute all build steps
+ # * PUSH: time to push all specified images.
+ # * FETCHSOURCE: time to fetch source.
#
- # 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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start 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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
+ # 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.
},
},
- ],
- },
- "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.
- "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.
- "volumes": [ # List of volumes to mount into the build step.
+ "finishTime": "A String", # Output only. Time at which execution of the build was finished.
#
- # 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.
+ # 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`.
#
- # 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.
+ # `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)).
#
- # 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.
+ # 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.
#
- # 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.
+ # 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.
+ },
},
],
- "args": [ # A list of arguments that will be presented to the step when it is started.
+ "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.
#
- # 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.
+ # 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",
],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ "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.
+ },
},
- "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.
- "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`.
+ "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
"A String",
],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ "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.
},
- "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",
- ],
- "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",
- ],
+ "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.
},
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
+ "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",
],
- },
- "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.
- "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
- # Requests.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
- "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
- "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
- },
- "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
- },
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
- },
- "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",
- ],
- "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",
- },
- "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",
- ],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "branchName": "A String", # Regex matching branches to build.
+ "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:
#
- # 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.
+ # + 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.
#
- # 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.
- "tagName": "A String", # Regex matching tags to build.
+ # Mutually exclusive with `trigger_template`.
+ # build whenever a GitHub event is received.
#
- # 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.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
+ # 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
+ },
},
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- }</pre>
+ "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.
+ }</pre>
</div>
<div class="method">
@@ -1768,532 +1792,540 @@
{ # 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.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
+ # 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",
},
- "timing": { # Output only. Stores timing information for phases of the build. Valid keys
- # are:
+ "triggerTemplate": { # Location of the source in a Google Cloud Source Repository. # Template describing the types of source changes to trigger a build.
#
- # * BUILD: time to execute all build steps
- # * PUSH: time to push all specified images.
- # * FETCHSOURCE: time to fetch source.
+ # 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.
#
- # 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ # 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.
},
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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`.
+ "id": "A String", # Output only. Unique identifier of the trigger.
+ "build": { # A build resource in the Cloud Build API. # Contents of the build template.
#
- # The keys to this map are file paths used as build source and the values
- # contain the hash values for those files.
+ # 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.
#
- # 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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
+ # 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.
+ },
},
],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
+ "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
+ # corresponding to build step indices.
#
- # 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.
+ # [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",
+ ],
},
- ],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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)).
+ "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:
#
- # Files in the workspace matching any path pattern will be uploaded to
- # Cloud Storage with this location as a prefix.
- "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",
- ],
- },
- "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.
+ # * BUILD: time to execute all build steps
+ # * PUSH: time to push all specified images.
+ # * FETCHSOURCE: time to fetch source.
#
- # 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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start 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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
+ # 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.
},
},
- ],
- },
- "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.
- "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.
- "volumes": [ # List of volumes to mount into the build step.
+ "finishTime": "A String", # Output only. Time at which execution of the build was finished.
#
- # 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.
+ # 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`.
#
- # 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.
+ # `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)).
#
- # 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.
+ # 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.
#
- # 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.
+ # 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.
+ },
},
],
- "args": [ # A list of arguments that will be presented to the step when it is started.
+ "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.
#
- # 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.
+ # 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",
],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ "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.
+ },
},
- "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.
- "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`.
+ "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
"A String",
],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
+ "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.
},
- "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",
- ],
- "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",
- ],
+ "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.
},
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
+ "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",
],
- },
- "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.
- "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
- # Requests.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
- "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
- "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
- },
- "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
- },
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
- },
- "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",
- ],
- "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",
- },
- "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",
- ],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "branchName": "A String", # Regex matching branches to build.
+ "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:
#
- # 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.
+ # + 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.
#
- # 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.
- "tagName": "A String", # Regex matching tags to build.
+ # Mutually exclusive with `trigger_template`.
+ # build whenever a GitHub event is received.
#
- # 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.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
+ # 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
+ },
},
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
+ "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.
}</pre>
@@ -2326,882 +2358,406 @@
The object takes the form of:
{ # Configuration for an automated build in response to source repository
- # changes.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
- "a_key": "A String",
- },
- "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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
- },
- ],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
- },
- ],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- },
- "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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start 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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- ],
- },
- "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.
- "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.
- "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.
- },
- ],
- "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",
- ],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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",
- ],
- "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",
- ],
- },
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
- "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.
- "pullRequest": { # PullRequestFilter contains filter properties for matching GitHub Pull # filter to match changes in pull requests.
- # Requests.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
- "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
- "invertRegex": True or False, # If true, branches that do NOT match the git_ref will trigger a build.
- },
- "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
- },
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
- },
- "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",
- ],
- "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",
- },
- "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",
- ],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
-}
-
- 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.
- "description": "A String", # Human-readable description of this trigger.
- "filename": "A String", # Path, from the source root, to a file whose contents is used for the
- # template.
- "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",
- ],
- "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.
- "startTime": "A String", # Output only. Time at which execution of the build was started.
- "substitutions": { # Substitutions data for `Build` resource.
+ "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",
},
- "timing": { # Output only. Stores timing information for phases of the build. Valid keys
- # are:
+ "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.
#
- # * BUILD: time to execute all build steps
- # * PUSH: time to push all specified images.
- # * FETCHSOURCE: time to fetch source.
+ # 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.
#
- # 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- },
- "createTime": "A String", # Output only. Time at which the request to create the build was received.
- "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.
- "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`.
+ # 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 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.
- "type": "A String", # The type of hash that was performed.
- "value": "A String", # The hash value.
- },
- ],
- },
- },
- "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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "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.
- "logUrl": "A String", # Output only. URL to logs for this build in Google Cloud Console.
- "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.
- "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.
- "source": { # Location of the source in a supported storage service. # The location of the source files 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.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- "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.
- "object": "A String", # Google Cloud Storage object containing the source.
- #
- # This object must be a gzipped archive file (`.tar.gz`) containing source to
- # build.
- "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)).
- },
- },
- "options": { # Optional arguments to enable specific features of builds. # Special options for this build.
- "logStreamingOption": "A String", # Option to define build log streaming behavior to Google Cloud
- # Storage.
- "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",
- ],
- "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 where the logs are
- # stored.
- "substitutionOption": "A String", # Option to specify behavior when there is an error in the substitution
- # checks.
- "requestedVerifyOption": "A String", # Requested verifiability options.
- "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.
- "sourceProvenanceHash": [ # Requested hash for SourceProvenance.
- "A String",
- ],
- "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",
- ],
- "machineType": "A String", # Compute Engine machine type on which to run the 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.
+ # 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.
#
- # 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.
+ # 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.
#
- # 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.
+ # 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",
+ },
},
],
- },
- "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.
- "status": "A String", # Output only. Status of the build.
- "statusDetail": "A String", # Output only. Customer-readable message about the current status.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing all artifact objects.
- "endTime": "A String", # End of time span.
+ "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.
},
- "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)).
+ "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.
#
- # Files in the workspace matching any path pattern will be uploaded to
- # Cloud Storage with this location as a prefix.
- "paths": [ # Path globs used to match files in the build's workspace.
+ # [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",
],
},
- "images": [ # A list of images to be pushed upon the successful completion of all build
- # steps.
+ "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:
#
- # The images will be pushed using the builder service account's credentials.
+ # * BUILD: time to execute all build steps
+ # * PUSH: time to push all specified images.
+ # * FETCHSOURCE: time to fetch source.
#
- # 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",
- ],
- },
- "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",
+ # 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.
},
},
- ],
- "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.
- "artifactManifest": "A String", # Path to the artifact manifest. 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.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "buildStepOutputs": [ # List of build step outputs, produced by builder images, in the order
- # corresponding to build step indices.
+ "finishTime": "A String", # Output only. Time at which execution of the build was finished.
#
- # [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",
- ],
- "images": [ # Container images that were built as a part of the build.
- { # An image built by the pipeline.
- "name": "A String", # Name used to push the container image to Google Container Registry, as
- # presented to `docker push`.
- "digest": "A String", # Docker Registry 2.0 digest.
- "pushTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pushing the specified image.
- "endTime": "A String", # End of time span.
+ # 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.
},
},
],
- },
- "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.
- "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.
- "volumes": [ # List of volumes to mount into the build step.
+ "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 execution of the
- # build step. Upon completion of the build, volumes and their contents are
- # discarded.
+ # 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 named volume in only one step is not valid as it is indicative
- # of a build request with an incorrect configuration.
+ # 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.
@@ -3214,102 +2770,102 @@
# Docker volumes. Each named volume must be used by at least two build steps.
},
],
- "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",
- ],
- "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.
- "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.
- "pullTiming": { # Start and end times for a build execution phase. # Output only. Stores timing information for pulling this build step's
- # builder image only.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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.
- "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",
- ],
- "id": "A String", # Unique identifier for this build step, used in `wait_for` to
- # reference this build step as a dependency.
- "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.
- "timing": { # Start and end times for a build execution phase. # Output only. Stores timing information for executing this build step.
- "endTime": "A String", # End of time span.
- "startTime": "A String", # Start of time span.
- },
- "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",
- ],
- "env": [ # A list of environment variable definitions to be used when running a step.
+ "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.
},
- ],
- "buildTriggerId": "A String", # Output only. The ID of the `BuildTrigger` that triggered this build, if it
- # was triggered automatically.
- "id": "A String", # Output only. Unique identifier of the build.
- "tags": [ # Tags for annotation of a `Build`. These are not docker tags.
- "A String",
- ],
- },
+ "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.
- "commentControl": "A String", # Configure builds to run only when a repository owner or collaborator
- # comments `/gcbrun`.
"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.
#
@@ -3322,72 +2878,564 @@
# The syntax of the regular expressions accepted is the syntax accepted by
# RE2 and described at https://github.com/google/re2/wiki/Syntax
},
- "installationId": "A String", # The installationID that emits the GitHub event.
- "owner": "A String", # Owner of the repository. For example: The owner for
- # https://github.com/googlecloudplatform/cloud-builders is
- # "googlecloudplatform".
- "name": "A String", # Name of the repository. For example: The name for
- # https://github.com/googlecloudplatform/cloud-builders is "cloud-builders".
},
- "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",
- ],
- "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",
- },
+ "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",
],
- "disabled": True or False, # If true, the trigger will never result in a build.
- "createTime": "A String", # Output only. Time when the trigger was created.
- "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`.
- "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
- "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.
- "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
- "projectId": "A String", # ID of the project that owns the Cloud Source Repository. If omitted, the
- # project ID requesting the build is assumed.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
+ "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",
},
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
- },
- }</pre>
+ "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.
+ }</pre>
</div>
<div class="method">
@@ -3401,7 +3449,7 @@
The object takes the form of:
{ # Location of the source in a Google Cloud Source Repository.
- "branchName": "A String", # Regex matching branches to build.
+ "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
@@ -3409,20 +3457,20 @@
#
# 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.
- "tagName": "A String", # Regex matching tags to build.
+ "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.
- "repoName": "A String", # Required. Name of the Cloud Source Repository.
- "commitSha": "A String", # Explicit commit SHA to build.
- "substitutions": { # Substitutions to use in a triggered build.
- # Should only be used with RunBuildTrigger
- "a_key": "A String",
- },
- "invertRegex": True or False, # Only trigger a build if the revision regex does NOT match the revision
- # regex.
}
x__xgafv: string, V1 error format.
@@ -3435,6 +3483,22 @@
{ # 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}`.
@@ -3456,25 +3520,9 @@
],
"code": 42, # The status code, which should be an enum value of google.rpc.Code.
},
- "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.
- },
"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.
- "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.
- },
}</pre>
</div>