docs: update generated docs (#981)
diff --git a/docs/dyn/cloudbuild_v1.projects.builds.html b/docs/dyn/cloudbuild_v1.projects.builds.html
index a52a756..a026d59 100644
--- a/docs/dyn/cloudbuild_v1.projects.builds.html
+++ b/docs/dyn/cloudbuild_v1.projects.builds.html
@@ -115,14 +115,454 @@
An object of the form:
{ # A build resource in the Cloud Build API.
- #
+ #
+ # 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.
+ }</pre>
+</div>
+
+<div class="method">
+ <code class="details" id="create">create(projectId, body=None, x__xgafv=None)</code>
+ <pre>Starts a build with the specified configuration.
+
+This method returns a long-running `Operation`, which includes the build
+ID. Pass the build ID to `GetBuild` to determine the build status (such as
+`SUCCESS` or `FAILURE`).
+
+Args:
+ projectId: string, Required. ID of the project. (required)
+ body: object, The request body.
+ The object takes the form of:
+
+{ # A build resource in the Cloud Build API.
+ #
# 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.
@@ -131,27 +571,51 @@
# - $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.
+ "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
@@ -166,77 +630,257 @@
# 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.
+ "type": "A String", # The type of hash that was performed.
},
],
},
},
- "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.
+ },
+ "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.
#
- # 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
+ # 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",
},
- "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)).
+ ],
+ "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.
- "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.
+ "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.
- "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
@@ -244,69 +888,26 @@
#
# 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.
- },
- "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)).
},
},
+ "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.
- "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
@@ -328,641 +929,56 @@
# 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",
- ],
- }</pre>
-</div>
-
-<div class="method">
- <code class="details" id="create">create(projectId, body=None, x__xgafv=None)</code>
- <pre>Starts a build with the specified configuration.
-
-This method returns a long-running `Operation`, which includes the build
-ID. Pass the build ID to `GetBuild` to determine the build status (such as
-`SUCCESS` or `FAILURE`).
-
-Args:
- projectId: string, Required. ID of the project. (required)
- body: object, The request body.
- The object takes the form of:
-
-{ # A build resource in the Cloud Build API.
- #
- # 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.
+ "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.
+ }
x__xgafv: string, V1 error format.
Allowed values
@@ -974,6 +990,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}`.
@@ -995,25 +1027,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>
@@ -1036,331 +1052,368 @@
An object of the form:
{ # A build resource in the Cloud Build API.
- #
- # 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.
+ # 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 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`.
+ # 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.
},
- ],
- },
- "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.
+ "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.
},
- "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)).
+ "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`.
#
- # 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.
+ # The keys to this map are file paths used as build source and the values
+ # contain the hash values for those files.
#
- # 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 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.
+ },
+ ],
+ },
},
},
- ],
- "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.
+ "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",
},
},
],
- },
- "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.
+ "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.
#
- # 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.
+ # [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.
#
- # Using a named volume in only one step is not valid as it is indicative
- # of a build request with an incorrect configuration.
+ # 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.
@@ -1373,85 +1426,56 @@
# 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",
- ],
- }</pre>
+ "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.
+ }</pre>
</div>
<div class="method">
@@ -1478,331 +1502,368 @@
"nextPageToken": "A String", # Token to receive the next page of results.
"builds": [ # Builds will be sorted by `create_time`, descending.
{ # A build resource in the Cloud Build API.
- #
- # 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.
+ # 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 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`.
+ # 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.
},
- ],
- },
- "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.
+ "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.
},
- "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)).
+ "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`.
#
- # 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.
+ # The keys to this map are file paths used as build source and the values
+ # contain the hash values for those files.
#
- # 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 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.
+ },
+ ],
+ },
},
},
- ],
- "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.
+ "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",
},
},
],
- },
- "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.
+ "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.
#
- # 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.
+ # [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.
#
- # Using a named volume in only one step is not valid as it is indicative
- # of a build request with an incorrect configuration.
+ # 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.
@@ -1815,85 +1876,56 @@
# 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.
+ },
],
}</pre>
</div>
@@ -1961,6 +1993,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}`.
@@ -1982,25 +2030,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>