#[non_exhaustive]pub struct Build {Show 29 fields
pub name: String,
pub id: String,
pub project_id: String,
pub status: Status,
pub status_detail: String,
pub source: Option<Source>,
pub steps: Vec<BuildStep>,
pub results: Option<Results>,
pub create_time: Option<Timestamp>,
pub start_time: Option<Timestamp>,
pub finish_time: Option<Timestamp>,
pub timeout: Option<Duration>,
pub images: Vec<String>,
pub queue_ttl: Option<Duration>,
pub artifacts: Option<Artifacts>,
pub logs_bucket: String,
pub source_provenance: Option<SourceProvenance>,
pub build_trigger_id: String,
pub options: Option<BuildOptions>,
pub log_url: String,
pub substitutions: HashMap<String, String>,
pub tags: Vec<String>,
pub secrets: Vec<Secret>,
pub timing: HashMap<String, TimeSpan>,
pub approval: Option<BuildApproval>,
pub service_account: String,
pub available_secrets: Option<Secrets>,
pub warnings: Vec<Warning>,
pub failure_info: Option<FailureInfo>,
}Expand description
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.
- $PROJECT_NUMBER: the project number of the build.
- $LOCATION: the location/region 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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringOutput only. The ‘Build’ name with format:
projects/{project}/locations/{location}/builds/{build}, where {build}
is a unique identifier generated by the service.
id: StringOutput only. Unique identifier of the build.
project_id: StringOutput only. ID of the project.
status: StatusOutput only. Status of the build.
status_detail: StringOutput only. Customer-readable message about the current status.
source: Option<Source>The location of the source files to build.
steps: Vec<BuildStep>Required. The operations to be performed on the workspace.
results: Option<Results>Output only. Results of the build.
create_time: Option<Timestamp>Output only. Time at which the request to create the build was received.
start_time: Option<Timestamp>Output only. Time at which execution of the build was started.
finish_time: Option<Timestamp>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.
timeout: Option<Duration>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 60 minutes.
images: Vec<String>A list of images to be pushed upon the successful completion of all build steps.
The images are pushed using the builder service account’s credentials.
The digests of the pushed images will be stored in the Build resource’s
results field.
If any of the images fail to be pushed, the build status is marked
FAILURE.
queue_ttl: Option<Duration>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.
artifacts: Option<Artifacts>Artifacts produced by the build that should be uploaded upon successful completion of all build steps.
logs_bucket: StringCloud Storage bucket where logs should be written (see
Bucket Name
Requirements).
Logs file names will be of the format ${logs_bucket}/log-${build_id}.txt.
source_provenance: Option<SourceProvenance>Output only. A permanent fixed identifier for source.
build_trigger_id: StringOutput only. The ID of the BuildTrigger that triggered this build, if it
was triggered automatically.
options: Option<BuildOptions>Special options for this build.
log_url: StringOutput only. URL to logs for this build in Google Cloud Console.
substitutions: HashMap<String, String>Substitutions data for Build resource.
Tags for annotation of a Build. These are not docker tags.
secrets: Vec<Secret>Secrets to decrypt using Cloud Key Management Service.
Note: Secret Manager is the recommended technique
for managing sensitive data with Cloud Build. Use available_secrets to
configure builds to access secrets from Secret Manager. For instructions,
see: https://cloud.google.com/cloud-build/docs/securing-builds/use-secrets
timing: HashMap<String, TimeSpan>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 artifacts including docker images and non docker artifacts.
- FETCHSOURCE: time to fetch source.
- SETUPBUILD: time to set up build.
If the build does not specify source or images, these keys will not be included.
approval: Option<BuildApproval>Output only. Describes this build’s approval configuration, status, and result.
service_account: StringIAM service account whose credentials will be used at build runtime.
Must be of the format projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}.
ACCOUNT can be email address or uniqueId of the service account.
available_secrets: Option<Secrets>Secrets and secret environment variables.
warnings: Vec<Warning>Output only. Non-fatal problems encountered during the execution of the build.
failure_info: Option<FailureInfo>Output only. Contains information about the build when status=FAILURE.
Implementations§
Source§impl Build
impl Build
Sourcepub fn set_project_id<T: Into<String>>(self, v: T) -> Self
pub fn set_project_id<T: Into<String>>(self, v: T) -> Self
Sets the value of project_id.
Sourcepub fn set_status<T: Into<Status>>(self, v: T) -> Self
pub fn set_status<T: Into<Status>>(self, v: T) -> Self
Sets the value of status.
Sourcepub fn set_status_detail<T: Into<String>>(self, v: T) -> Self
pub fn set_status_detail<T: Into<String>>(self, v: T) -> Self
Sets the value of status_detail.
Sourcepub fn set_create_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
pub fn set_create_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
Sets the value of create_time.
Sourcepub fn set_start_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
pub fn set_start_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
Sets the value of start_time.
Sourcepub fn set_finish_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
pub fn set_finish_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self
Sets the value of finish_time.
Sourcepub fn set_queue_ttl<T: Into<Option<Duration>>>(self, v: T) -> Self
pub fn set_queue_ttl<T: Into<Option<Duration>>>(self, v: T) -> Self
Sets the value of queue_ttl.
Sourcepub fn set_artifacts<T: Into<Option<Artifacts>>>(self, v: T) -> Self
pub fn set_artifacts<T: Into<Option<Artifacts>>>(self, v: T) -> Self
Sets the value of artifacts.
Sourcepub fn set_logs_bucket<T: Into<String>>(self, v: T) -> Self
pub fn set_logs_bucket<T: Into<String>>(self, v: T) -> Self
Sets the value of logs_bucket.
Sourcepub fn set_source_provenance<T: Into<Option<SourceProvenance>>>(
self,
v: T,
) -> Self
pub fn set_source_provenance<T: Into<Option<SourceProvenance>>>( self, v: T, ) -> Self
Sets the value of source_provenance.
Sourcepub fn set_build_trigger_id<T: Into<String>>(self, v: T) -> Self
pub fn set_build_trigger_id<T: Into<String>>(self, v: T) -> Self
Sets the value of build_trigger_id.
Sourcepub fn set_options<T: Into<Option<BuildOptions>>>(self, v: T) -> Self
pub fn set_options<T: Into<Option<BuildOptions>>>(self, v: T) -> Self
Sets the value of options.
Sourcepub fn set_log_url<T: Into<String>>(self, v: T) -> Self
pub fn set_log_url<T: Into<String>>(self, v: T) -> Self
Sets the value of log_url.
Sourcepub fn set_approval<T: Into<Option<BuildApproval>>>(self, v: T) -> Self
pub fn set_approval<T: Into<Option<BuildApproval>>>(self, v: T) -> Self
Sets the value of approval.
Sourcepub fn set_service_account<T: Into<String>>(self, v: T) -> Self
pub fn set_service_account<T: Into<String>>(self, v: T) -> Self
Sets the value of service_account.
Sourcepub fn set_available_secrets<T: Into<Option<Secrets>>>(self, v: T) -> Self
pub fn set_available_secrets<T: Into<Option<Secrets>>>(self, v: T) -> Self
Sets the value of available_secrets.
Sourcepub fn set_failure_info<T: Into<Option<FailureInfo>>>(self, v: T) -> Self
pub fn set_failure_info<T: Into<Option<FailureInfo>>>(self, v: T) -> Self
Sets the value of failure_info.
Sourcepub fn set_images<T, V>(self, v: T) -> Self
pub fn set_images<T, V>(self, v: T) -> Self
Sets the value of images.
Sets the value of tags.
Sourcepub fn set_secrets<T, V>(self, v: T) -> Self
pub fn set_secrets<T, V>(self, v: T) -> Self
Sets the value of secrets.
Sourcepub fn set_warnings<T, V>(self, v: T) -> Self
pub fn set_warnings<T, V>(self, v: T) -> Self
Sets the value of warnings.
Sourcepub fn set_substitutions<T, K, V>(self, v: T) -> Self
pub fn set_substitutions<T, K, V>(self, v: T) -> Self
Sets the value of substitutions.
Sourcepub fn set_timing<T, K, V>(self, v: T) -> Self
pub fn set_timing<T, K, V>(self, v: T) -> Self
Sets the value of timing.