pub struct ProjectBuildDefinition { /* private fields */ }Expand description
An effective long-syntax build declaration.
Implementations§
Source§impl ProjectBuildDefinition
impl ProjectBuildDefinition
Sourcepub fn additional_contexts(
&self,
) -> Option<&ProjectValue<ProjectBuildAdditionalContexts>>
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.
Sourcepub const fn context(&self) -> Option<&ProjectValue<String>>
pub const fn context(&self) -> Option<&ProjectValue<String>>
Returns the effective long-syntax build context when it is a scalar.
Sourcepub fn args(&self) -> Option<&ProjectValue<ProjectBuildArgs>>
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.
Sourcepub fn entitlements(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>
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.
Sourcepub fn extra_hosts(&self) -> Option<&ProjectValue<ProjectBuildExtraHosts>>
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.
Sourcepub const fn dockerfile(&self) -> Option<&ProjectValue<String>>
pub const fn dockerfile(&self) -> Option<&ProjectValue<String>>
Returns the effective long-syntax Dockerfile when it is a non-empty scalar.
Sourcepub const fn dockerfile_inline(&self) -> Option<&ProjectValue<String>>
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.
Sourcepub const fn target(&self) -> Option<&ProjectValue<String>>
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.
Sourcepub fn network(&self) -> Option<&ProjectValue<String>>
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.
Sourcepub fn isolation(&self) -> Option<&ProjectValue<String>>
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.
Sourcepub fn platforms(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>
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.
Sourcepub fn cache_from(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>
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.
Sourcepub fn cache_to(&self) -> Option<&ProjectValue<Vec<ProjectValue<String>>>>
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.
Sourcepub fn no_cache(&self) -> Option<&ProjectValue<BuildNoCache>>
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.
Sourcepub fn no_cache_filter(
&self,
) -> Option<&ProjectValue<ProjectBuildNoCacheFilter>>
pub fn no_cache_filter( &self, ) -> Option<&ProjectValue<ProjectBuildNoCacheFilter>>
Returns effective no-cache filter form with collection provenance.
Sourcepub fn privileged(&self) -> Option<&ProjectValue<BooleanValue>>
pub fn privileged(&self) -> Option<&ProjectValue<BooleanValue>>
Returns the explicit build privileged boolean or deferred expression.
Sourcepub fn sbom(&self) -> Option<&ProjectValue<BuildSbom>>
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.
Sourcepub fn provenance(&self) -> Option<&ProjectValue<BuildProvenance>>
pub fn provenance(&self) -> Option<&ProjectValue<BuildProvenance>>
Returns effective Build provenance as a boolean or opaque string scalar.
Sourcepub fn pull(&self) -> Option<&ProjectValue<BooleanValue>>
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.
Sourcepub fn shm_size(&self) -> Option<&ProjectValue<ShmSize>>
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.
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.
Sourcepub fn labels(&self) -> Option<&ProjectValue<ProjectBuildLabels>>
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.
Sourcepub fn secrets(&self) -> Option<&ProjectValue<Vec<ProjectValue<ProjectGrant>>>>
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.
Sourcepub fn ssh(&self) -> Option<&ProjectValue<ProjectBuildSsh>>
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.
Sourcepub fn ulimits(&self) -> Option<&ProjectValue<ProjectUlimits>>
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.
Sourcepub fn unmodeled_fields(&self) -> &[ProjectFieldReference]
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
impl Clone for ProjectBuildDefinition
Source§fn clone(&self) -> ProjectBuildDefinition
fn clone(&self) -> ProjectBuildDefinition
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more