Struct Build

Source
#[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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Output only. The ‘Build’ name with format: projects/{project}/locations/{location}/builds/{build}, where {build} is a unique identifier generated by the service.

§id: String

Output only. Unique identifier of the build.

§project_id: String

Output only. ID of the project.

§status: Status

Output only. Status of the build.

§status_detail: String

Output 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: String

Cloud 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: String

Output 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: String

Output only. URL to logs for this build in Google Cloud Console.

§substitutions: HashMap<String, String>

Substitutions data for Build resource.

§tags: Vec<String>

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: String

IAM 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

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

Source

pub fn set_id<T: Into<String>>(self, v: T) -> Self

Sets the value of id.

Source

pub fn set_project_id<T: Into<String>>(self, v: T) -> Self

Sets the value of project_id.

Source

pub fn set_status<T: Into<Status>>(self, v: T) -> Self

Sets the value of status.

Source

pub fn set_status_detail<T: Into<String>>(self, v: T) -> Self

Sets the value of status_detail.

Source

pub fn set_source<T: Into<Option<Source>>>(self, v: T) -> Self

Sets the value of source.

Source

pub fn set_results<T: Into<Option<Results>>>(self, v: T) -> Self

Sets the value of results.

Source

pub fn set_create_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of create_time.

Source

pub fn set_start_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of start_time.

Source

pub fn set_finish_time<T: Into<Option<Timestamp>>>(self, v: T) -> Self

Sets the value of finish_time.

Source

pub fn set_timeout<T: Into<Option<Duration>>>(self, v: T) -> Self

Sets the value of timeout.

Source

pub fn set_queue_ttl<T: Into<Option<Duration>>>(self, v: T) -> Self

Sets the value of queue_ttl.

Source

pub fn set_artifacts<T: Into<Option<Artifacts>>>(self, v: T) -> Self

Sets the value of artifacts.

Source

pub fn set_logs_bucket<T: Into<String>>(self, v: T) -> Self

Sets the value of logs_bucket.

Source

pub fn set_source_provenance<T: Into<Option<SourceProvenance>>>( self, v: T, ) -> Self

Sets the value of source_provenance.

Source

pub fn set_build_trigger_id<T: Into<String>>(self, v: T) -> Self

Sets the value of build_trigger_id.

Source

pub fn set_options<T: Into<Option<BuildOptions>>>(self, v: T) -> Self

Sets the value of options.

Source

pub fn set_log_url<T: Into<String>>(self, v: T) -> Self

Sets the value of log_url.

Source

pub fn set_approval<T: Into<Option<BuildApproval>>>(self, v: T) -> Self

Sets the value of approval.

Source

pub fn set_service_account<T: Into<String>>(self, v: T) -> Self

Sets the value of service_account.

Source

pub fn set_available_secrets<T: Into<Option<Secrets>>>(self, v: T) -> Self

Sets the value of available_secrets.

Source

pub fn set_failure_info<T: Into<Option<FailureInfo>>>(self, v: T) -> Self

Sets the value of failure_info.

Source

pub fn set_steps<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<BuildStep>,

Sets the value of steps.

Source

pub fn set_images<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of images.

Source

pub fn set_tags<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of tags.

Source

pub fn set_secrets<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Secret>,

Sets the value of secrets.

Source

pub fn set_warnings<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<Warning>,

Sets the value of warnings.

Source

pub fn set_substitutions<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of substitutions.

Source

pub fn set_timing<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<TimeSpan>,

Sets the value of timing.

Trait Implementations§

Source§

impl Clone for Build

Source§

fn clone(&self) -> Build

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Build

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Build

Source§

fn default() -> Build

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Build
where Build: Default,

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Message for Build

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for Build

Source§

fn eq(&self, other: &Build) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Build

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Build

Auto Trait Implementations§

§

impl Freeze for Build

§

impl RefUnwindSafe for Build

§

impl Send for Build

§

impl Sync for Build

§

impl Unpin for Build

§

impl UnwindSafe for Build

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T