#[non_exhaustive]pub struct Build {Show 31 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 git_config: Option<GitConfig>,
pub failure_info: Option<FailureInfo>,
pub dependencies: Vec<Dependency>,
/* private fields */
}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>Optional. 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.
git_config: Option<GitConfig>Optional. Configuration for git operations.
failure_info: Option<FailureInfo>Output only. Contains information about the build when status=FAILURE.
dependencies: Vec<Dependency>Optional. Dependencies that the Cloud Build worker will fetch before executing user steps.
Implementations§
Source§impl Build
impl Build
pub fn new() -> Self
Sourcepub fn set_project_id<T: Into<String>>(self, v: T) -> Self
pub fn set_project_id<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_status<T: Into<Status>>(self, v: T) -> Self
pub fn set_status<T: Into<Status>>(self, v: T) -> Self
Sourcepub fn set_status_detail<T: Into<String>>(self, v: T) -> Self
pub fn set_status_detail<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_source<T>(self, v: T) -> Self
pub fn set_source<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_source<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_source<T>(self, v: Option<T>) -> Self
Sourcepub fn set_results<T>(self, v: T) -> Self
pub fn set_results<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_results<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_results<T>(self, v: Option<T>) -> Self
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Build::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_start_time<T>(self, v: T) -> Self
pub fn set_start_time<T>(self, v: T) -> Self
Sets the value of start_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_start_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_start_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of start_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_or_clear_start_time(Some(Timestamp::default()/* use setters */));
let x = Build::new().set_or_clear_start_time(None::<Timestamp>);Sourcepub fn set_finish_time<T>(self, v: T) -> Self
pub fn set_finish_time<T>(self, v: T) -> Self
Sets the value of finish_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_finish_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_finish_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_finish_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of finish_time.
§Example
use wkt::Timestamp;
let x = Build::new().set_or_clear_finish_time(Some(Timestamp::default()/* use setters */));
let x = Build::new().set_or_clear_finish_time(None::<Timestamp>);Sourcepub fn set_timeout<T>(self, v: T) -> Self
pub fn set_timeout<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_timeout<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_timeout<T>(self, v: Option<T>) -> Self
Sourcepub fn set_images<T, V>(self, v: T) -> Self
pub fn set_images<T, V>(self, v: T) -> Self
Sourcepub fn set_queue_ttl<T>(self, v: T) -> Self
pub fn set_queue_ttl<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_queue_ttl<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_queue_ttl<T>(self, v: Option<T>) -> Self
Sourcepub fn set_artifacts<T>(self, v: T) -> Self
pub fn set_artifacts<T>(self, v: T) -> Self
Sourcepub fn set_or_clear_artifacts<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_artifacts<T>(self, v: Option<T>) -> Self
Sourcepub fn set_logs_bucket<T: Into<String>>(self, v: T) -> Self
pub fn set_logs_bucket<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_source_provenance<T>(self, v: T) -> Selfwhere
T: Into<SourceProvenance>,
pub fn set_source_provenance<T>(self, v: T) -> Selfwhere
T: Into<SourceProvenance>,
Sets the value of source_provenance.
§Example
use google_cloud_build_v1::model::SourceProvenance;
let x = Build::new().set_source_provenance(SourceProvenance::default()/* use setters */);Sourcepub fn set_or_clear_source_provenance<T>(self, v: Option<T>) -> Selfwhere
T: Into<SourceProvenance>,
pub fn set_or_clear_source_provenance<T>(self, v: Option<T>) -> Selfwhere
T: Into<SourceProvenance>,
Sets or clears the value of source_provenance.
§Example
use google_cloud_build_v1::model::SourceProvenance;
let x = Build::new().set_or_clear_source_provenance(Some(SourceProvenance::default()/* use setters */));
let x = Build::new().set_or_clear_source_provenance(None::<SourceProvenance>);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
Sourcepub fn set_options<T>(self, v: T) -> Selfwhere
T: Into<BuildOptions>,
pub fn set_options<T>(self, v: T) -> Selfwhere
T: Into<BuildOptions>,
Sourcepub fn set_or_clear_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<BuildOptions>,
pub fn set_or_clear_options<T>(self, v: Option<T>) -> Selfwhere
T: Into<BuildOptions>,
Sourcepub fn set_log_url<T: Into<String>>(self, v: T) -> Self
pub fn set_log_url<T: Into<String>>(self, v: T) -> Self
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.
§Example
let x = Build::new().set_substitutions([
("key0", "abc"),
("key1", "xyz"),
]);Sourcepub fn set_secrets<T, V>(self, v: T) -> Self
pub fn set_secrets<T, V>(self, v: T) -> Self
Sourcepub fn set_timing<T, K, V>(self, v: T) -> Self
pub fn set_timing<T, K, V>(self, v: T) -> Self
Sourcepub fn set_approval<T>(self, v: T) -> Selfwhere
T: Into<BuildApproval>,
pub fn set_approval<T>(self, v: T) -> Selfwhere
T: Into<BuildApproval>,
Sourcepub fn set_or_clear_approval<T>(self, v: Option<T>) -> Selfwhere
T: Into<BuildApproval>,
pub fn set_or_clear_approval<T>(self, v: Option<T>) -> Selfwhere
T: Into<BuildApproval>,
Sourcepub fn set_service_account<T: Into<String>>(self, v: T) -> Self
pub fn set_service_account<T: Into<String>>(self, v: T) -> Self
Sourcepub fn set_available_secrets<T>(self, v: T) -> Self
pub fn set_available_secrets<T>(self, v: T) -> Self
Sets the value of available_secrets.
§Example
use google_cloud_build_v1::model::Secrets;
let x = Build::new().set_available_secrets(Secrets::default()/* use setters */);Sourcepub fn set_or_clear_available_secrets<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_available_secrets<T>(self, v: Option<T>) -> Self
Sets or clears the value of available_secrets.
§Example
use google_cloud_build_v1::model::Secrets;
let x = Build::new().set_or_clear_available_secrets(Some(Secrets::default()/* use setters */));
let x = Build::new().set_or_clear_available_secrets(None::<Secrets>);Sourcepub fn set_warnings<T, V>(self, v: T) -> Self
pub fn set_warnings<T, V>(self, v: T) -> Self
Sourcepub fn set_git_config<T>(self, v: T) -> Self
pub fn set_git_config<T>(self, v: T) -> Self
Sets the value of git_config.
§Example
use google_cloud_build_v1::model::GitConfig;
let x = Build::new().set_git_config(GitConfig::default()/* use setters */);Sourcepub fn set_or_clear_git_config<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_git_config<T>(self, v: Option<T>) -> Self
Sets or clears the value of git_config.
§Example
use google_cloud_build_v1::model::GitConfig;
let x = Build::new().set_or_clear_git_config(Some(GitConfig::default()/* use setters */));
let x = Build::new().set_or_clear_git_config(None::<GitConfig>);Sourcepub fn set_failure_info<T>(self, v: T) -> Selfwhere
T: Into<FailureInfo>,
pub fn set_failure_info<T>(self, v: T) -> Selfwhere
T: Into<FailureInfo>,
Sets the value of failure_info.
§Example
use google_cloud_build_v1::model::build::FailureInfo;
let x = Build::new().set_failure_info(FailureInfo::default()/* use setters */);Sourcepub fn set_or_clear_failure_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<FailureInfo>,
pub fn set_or_clear_failure_info<T>(self, v: Option<T>) -> Selfwhere
T: Into<FailureInfo>,
Sets or clears the value of failure_info.
§Example
use google_cloud_build_v1::model::build::FailureInfo;
let x = Build::new().set_or_clear_failure_info(Some(FailureInfo::default()/* use setters */));
let x = Build::new().set_or_clear_failure_info(None::<FailureInfo>);Sourcepub fn set_dependencies<T, V>(self, v: T) -> Self
pub fn set_dependencies<T, V>(self, v: T) -> Self
Sets the value of dependencies.
§Example
use google_cloud_build_v1::model::Dependency;
let x = Build::new()
.set_dependencies([
Dependency::default()/* use setters */,
Dependency::default()/* use (different) setters */,
]);