Build

Struct Build 

Source
#[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
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>

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

§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

Source

pub fn new() -> Self

Source

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

Sets the value of name.

§Example
let x = Build::new().set_name("example");
Source

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

Sets the value of id.

§Example
let x = Build::new().set_id("example");
Source

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

Sets the value of project_id.

§Example
let x = Build::new().set_project_id("example");
Source

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

Sets the value of status.

§Example
use google_cloud_build_v1::model::build::Status;
let x0 = Build::new().set_status(Status::Pending);
let x1 = Build::new().set_status(Status::Queued);
let x2 = Build::new().set_status(Status::Working);
Source

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

Sets the value of status_detail.

§Example
let x = Build::new().set_status_detail("example");
Source

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

Sets the value of source.

§Example
use google_cloud_build_v1::model::Source;
let x = Build::new().set_source(Source::default()/* use setters */);
Source

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

Sets or clears the value of source.

§Example
use google_cloud_build_v1::model::Source;
let x = Build::new().set_or_clear_source(Some(Source::default()/* use setters */));
let x = Build::new().set_or_clear_source(None::<Source>);
Source

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

Sets the value of steps.

§Example
use google_cloud_build_v1::model::BuildStep;
let x = Build::new()
    .set_steps([
        BuildStep::default()/* use setters */,
        BuildStep::default()/* use (different) setters */,
    ]);
Source

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

Sets the value of results.

§Example
use google_cloud_build_v1::model::Results;
let x = Build::new().set_results(Results::default()/* use setters */);
Source

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

Sets or clears the value of results.

§Example
use google_cloud_build_v1::model::Results;
let x = Build::new().set_or_clear_results(Some(Results::default()/* use setters */));
let x = Build::new().set_or_clear_results(None::<Results>);
Source

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

Sets the value of create_time.

§Example
use wkt::Timestamp;
let x = Build::new().set_create_time(Timestamp::default()/* use setters */);
Source

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

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>);
Source

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

Sets the value of start_time.

§Example
use wkt::Timestamp;
let x = Build::new().set_start_time(Timestamp::default()/* use setters */);
Source

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

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>);
Source

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

Sets the value of finish_time.

§Example
use wkt::Timestamp;
let x = Build::new().set_finish_time(Timestamp::default()/* use setters */);
Source

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

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>);
Source

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

Sets the value of timeout.

§Example
use wkt::Duration;
let x = Build::new().set_timeout(Duration::default()/* use setters */);
Source

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

Sets or clears the value of timeout.

§Example
use wkt::Duration;
let x = Build::new().set_or_clear_timeout(Some(Duration::default()/* use setters */));
let x = Build::new().set_or_clear_timeout(None::<Duration>);
Source

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

Sets the value of images.

§Example
let x = Build::new().set_images(["a", "b", "c"]);
Source

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

Sets the value of queue_ttl.

§Example
use wkt::Duration;
let x = Build::new().set_queue_ttl(Duration::default()/* use setters */);
Source

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

Sets or clears the value of queue_ttl.

§Example
use wkt::Duration;
let x = Build::new().set_or_clear_queue_ttl(Some(Duration::default()/* use setters */));
let x = Build::new().set_or_clear_queue_ttl(None::<Duration>);
Source

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

Sets the value of artifacts.

§Example
use google_cloud_build_v1::model::Artifacts;
let x = Build::new().set_artifacts(Artifacts::default()/* use setters */);
Source

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

Sets or clears the value of artifacts.

§Example
use google_cloud_build_v1::model::Artifacts;
let x = Build::new().set_or_clear_artifacts(Some(Artifacts::default()/* use setters */));
let x = Build::new().set_or_clear_artifacts(None::<Artifacts>);
Source

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

Sets the value of logs_bucket.

§Example
let x = Build::new().set_logs_bucket("example");
Source

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

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 */);
Source

pub fn set_or_clear_source_provenance<T>(self, v: Option<T>) -> Self

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>);
Source

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

Sets the value of build_trigger_id.

§Example
let x = Build::new().set_build_trigger_id("example");
Source

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

Sets the value of options.

§Example
use google_cloud_build_v1::model::BuildOptions;
let x = Build::new().set_options(BuildOptions::default()/* use setters */);
Source

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

Sets or clears the value of options.

§Example
use google_cloud_build_v1::model::BuildOptions;
let x = Build::new().set_or_clear_options(Some(BuildOptions::default()/* use setters */));
let x = Build::new().set_or_clear_options(None::<BuildOptions>);
Source

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

Sets the value of log_url.

§Example
let x = Build::new().set_log_url("example");
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.

§Example
let x = Build::new().set_substitutions([
    ("key0", "abc"),
    ("key1", "xyz"),
]);
Source

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

Sets the value of tags.

§Example
let x = Build::new().set_tags(["a", "b", "c"]);
Source

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

Sets the value of secrets.

§Example
use google_cloud_build_v1::model::Secret;
let x = Build::new()
    .set_secrets([
        Secret::default()/* use setters */,
        Secret::default()/* use (different) setters */,
    ]);
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.

§Example
use google_cloud_build_v1::model::TimeSpan;
let x = Build::new().set_timing([
    ("key0", TimeSpan::default()/* use setters */),
    ("key1", TimeSpan::default()/* use (different) setters */),
]);
Source

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

Sets the value of approval.

§Example
use google_cloud_build_v1::model::BuildApproval;
let x = Build::new().set_approval(BuildApproval::default()/* use setters */);
Source

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

Sets or clears the value of approval.

§Example
use google_cloud_build_v1::model::BuildApproval;
let x = Build::new().set_or_clear_approval(Some(BuildApproval::default()/* use setters */));
let x = Build::new().set_or_clear_approval(None::<BuildApproval>);
Source

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

Sets the value of service_account.

§Example
let x = Build::new().set_service_account("example");
Source

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

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 */);
Source

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

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>);
Source

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

Sets the value of warnings.

§Example
use google_cloud_build_v1::model::build::Warning;
let x = Build::new()
    .set_warnings([
        Warning::default()/* use setters */,
        Warning::default()/* use (different) setters */,
    ]);
Source

pub fn set_git_config<T>(self, v: T) -> Self
where T: Into<GitConfig>,

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 */);
Source

pub fn set_or_clear_git_config<T>(self, v: Option<T>) -> Self
where T: Into<GitConfig>,

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>);
Source

pub fn set_failure_info<T>(self, v: T) -> Self
where 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 */);
Source

pub fn set_or_clear_failure_info<T>(self, v: Option<T>) -> Self
where 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>);
Source

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

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 */,
    ]);

Trait Implementations§

Source§

impl Clone for Build

Source§

fn clone(&self) -> Build

Returns a duplicate 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 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 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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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>,