Skip to main content

ProjectBuildDefinition

Struct ProjectBuildDefinition 

Source
pub struct ProjectBuildDefinition { /* private fields */ }
Expand description

An effective long-syntax build declaration.

Implementations§

Source§

impl ProjectBuildDefinition

Source

pub fn additional_contexts( &self, ) -> Option<&ProjectValue<ProjectBuildAdditionalContexts>>

Returns effective additional build contexts without normalizing mapping and list syntax.

The collection, list items, mapping keys, and mapping values each retain merge provenance and interpolation sensitivity. No builder or reference interpretation is performed. Returns effective no-cache filter form with collection provenance.

Source

pub const fn context(&self) -> Option<&ProjectValue<String>>

Returns the effective long-syntax build context when it is a scalar.

Source

pub fn args(&self) -> Option<&ProjectValue<ProjectBuildArgs>>

Returns effective build arguments without resolving list entries from an environment.

Mapping entries retain exact-key replacement provenance and scalar kind. List entries retain append/reset/override provenance, ordering, duplicates, and bare forms.

Source

pub fn entitlements(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>

Returns effective build entitlements in append order with per-item provenance.

Explicit empty and reset sequences remain distinct from omission. Entries are opaque raw strings: this view retains duplicates and does not infer allowlists, privilege state, BuildKit/platform support, execution, or runtime effect.

Source

pub fn extra_hosts(&self) -> Option<&ProjectValue<ProjectBuildExtraHosts>>

Returns effective build-time host mappings without applying service-host parsing.

Generic project merging appends list entries, recursively merges mapping keys and nested address lists, and replaces mixed forms. Collection, key, scalar, and nested-list-item provenance plus per-file interpolation sensitivity remain available. This view performs no address normalization or validation, DNS/host access, build generation, or conversion.

Source

pub const fn dockerfile(&self) -> Option<&ProjectValue<String>>

Returns the effective long-syntax Dockerfile when it is a non-empty scalar.

Source

pub const fn dockerfile_inline(&self) -> Option<&ProjectValue<String>>

Returns the effective inline Dockerfile as an exact string scalar.

Empty and multiline content remains distinct from omission. ComposeLens does not parse Containerfile syntax, resolve paths or contexts, scan content for secrets, build images, or infer Docker, BuildKit, or runtime behavior.

Source

pub const fn target(&self) -> Option<&ProjectValue<String>>

Returns the effective long-syntax build target as an opaque scalar.

An empty scalar remains an authored target; this view does not infer stage-name grammar.

Source

pub fn network(&self) -> Option<&ProjectValue<String>>

Returns the effective long-syntax build network as an opaque scalar.

An empty scalar remains authored; this view does not infer network names, defaults, or runtime behavior.

Source

pub fn isolation(&self) -> Option<&ProjectValue<String>>

Returns the effective long-syntax build isolation as an opaque YAML string.

The scalar is interpolated per file before merging and retains complete replacement, reset, or override provenance and sensitivity. This view does not validate isolation modes, platforms, defaults, privileges, or BUILDAH_ISOLATION behavior, and does not represent service-level isolation.

Source

pub fn platforms(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>

Returns effective build platforms in append order with per-item provenance.

An explicit empty or reset sequence remains distinct from omission. Platforms are raw scalars; this view does not parse OCI platform grammar or validate availability.

Source

pub fn cache_from(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>

Returns effective external build-cache sources in append order with per-item provenance.

An explicit empty or reset sequence remains distinct from omission. Entries are opaque strings: this view preserves duplicates and does not interpret cache type, reference, source, path, image, credentials, or builder behavior.

Source

pub fn cache_to(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>

Returns effective external build-cache destinations in append order with per-item provenance.

An explicit empty or reset sequence remains distinct from omission. Entries are opaque strings: this view preserves duplicates and does not interpret cache type, reference, destination, path, image, credentials, or builder behavior.

Source

pub fn no_cache(&self) -> Option<&ProjectValue<BuildNoCache>>

Returns the effective build cache-disable choice with YAML scalar type retained.

String values, including empty and interpolation-shaped values, remain strings after the explicit per-file interpolation stage and are never coerced to booleans. Omission and a reset null imply no default, builder, or cache behavior.

Source

pub fn no_cache_filter( &self, ) -> Option<&ProjectValue<ProjectBuildNoCacheFilter>>

Returns effective no-cache filter form with collection provenance.

Source

pub fn privileged(&self) -> Option<&ProjectValue<BooleanValue>>

Returns the explicit build privileged boolean or deferred expression.

Source

pub fn sbom(&self) -> Option<&ProjectValue<BuildSbom>>

Returns the effective build SBOM choice with YAML scalar type retained.

Strings, including empty, generator-shaped, and interpolation-derived values, remain strings. The value retains scalar replacement/reset/override provenance and sensitivity; this view neither parses generator data nor generates an SBOM or infers builder behavior.

Source

pub fn provenance(&self) -> Option<&ProjectValue<BuildProvenance>>

Returns effective Build provenance as a boolean or opaque string scalar.

Source

pub fn pull(&self) -> Option<&ProjectValue<BooleanValue>>

Returns the effective build-image pull choice with complete scalar merge provenance.

Literal booleans and deferred expressions remain distinct. Omission or a reset null does not imply a default, and this view neither resolves expressions nor infers build execution behavior.

Source

pub fn shm_size(&self) -> Option<&ProjectValue<ShmSize>>

Returns the effective raw-preserving build-container shared-memory size.

The value retains YAML number/string spelling, documented lowercase-unit classification, lexical zero, deferred expressions, scalar replacement/reset/override provenance, and interpolation sensitivity. This view does not infer builder defaults, allocations, host settings, or runtime behavior.

Source

pub fn tags(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>

Returns effective additional build tags in append order with per-item provenance.

An explicit empty or reset sequence remains distinct from omission. Tags are opaque scalars; this view does not apply image-reference grammar or duplicate handling.

Source

pub fn labels(&self) -> Option<&ProjectValue<ProjectBuildLabels>>

Returns effective build labels without normalizing mapping and list syntax.

Mapping entries retain key/value provenance after per-key replacement. List entries retain append/reset/override provenance, order, duplicates, and bare-label spelling.

Source

pub fn secrets(&self) -> Option<&ProjectValue<Vec<ProjectValue<ProjectGrant>>>>

Returns effective build secret grants in append order with item and nested-field provenance.

Short resource-name and long mapping syntax remain distinct. An explicit empty or reset sequence remains distinct from omission; this view does not resolve top-level secrets, read secret values, or infer build execution behavior.

Source

pub fn ssh(&self) -> Option<&ProjectValue<ProjectBuildSsh>>

Returns effective sensitive BuildKit SSH grants without normalizing their form.

Collection, item, mapping key, and mapping value provenance are retained. Every value is sensitive even without interpolation; callers must use the explicit form accessors to inspect raw grants. No identifier, path, PEM, socket, agent, mount, or runtime behavior is parsed or accessed.

Source

pub fn ulimits(&self) -> Option<&ProjectValue<ProjectUlimits>>

Returns effective build-container resource limits with nested merge provenance.

Single and soft/hard forms retain exact scalar spelling, YAML string/number identity, interpolation sensitivity, explicit empty/reset/override mappings, and independent range members. This view injects no defaults, normalizes neither -1 nor names, and does not validate host limits or infer builder or runtime behavior.

Source

pub fn unmodeled_fields(&self) -> &[ProjectFieldReference]

Returns all non-build-context/args/Dockerfile/entitlements/extra_hosts/target/network/isolation/platforms/no_cache/sbom/pull/shm_size/tags/labels/secrets/ulimits, extension, unknown, and malformed known fields.

Trait Implementations§

Source§

impl Clone for ProjectBuildDefinition

Source§

fn clone(&self) -> ProjectBuildDefinition

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ProjectBuildDefinition

Source§

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

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

impl Eq for ProjectBuildDefinition

Source§

impl PartialEq for ProjectBuildDefinition

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ProjectBuildDefinition

Auto Trait Implementations§

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<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.