pub struct Application { /* private fields */ }Expand description
One ordered multi-service application graph.
Implementations§
Source§impl Application
impl Application
Sourcepub const fn new(name: Identifier) -> Self
pub const fn new(name: Identifier) -> Self
Creates an empty application.
Sourcepub const fn name(&self) -> &Identifier
pub const fn name(&self) -> &Identifier
Returns the application name.
Sourcepub fn vendor_metadata(&self) -> &[VendorMetadata]
pub fn vendor_metadata(&self) -> &[VendorMetadata]
Returns ordered inert vendor extensions, including exact namespaces and ownership.
Sourcepub fn add_vendor_metadata(
&mut self,
metadata: VendorMetadata,
) -> Result<(), MetadataError>
pub fn add_vendor_metadata( &mut self, metadata: VendorMetadata, ) -> Result<(), MetadataError>
Adds bounded metadata after declaring its service owner.
§Errors
Rejects absent owners, duplicate exact scope/namespace identities and aggregate size excess.
Sourcepub fn add_retained_native_evidence(
&mut self,
evidence: RetainedNativeEvidence,
) -> Result<(), ModelError>
pub fn add_retained_native_evidence( &mut self, evidence: RetainedNativeEvidence, ) -> Result<(), ModelError>
Adds one opaque source event after its owning resource has been declared.
§Errors
Returns ModelError::UnknownNativeEvidenceOwner when the typed subject
refers to a service or volume absent from this application.
Sourcepub fn retained_native_evidence(&self) -> &[RetainedNativeEvidence]
pub fn retained_native_evidence(&self) -> &[RetainedNativeEvidence]
Returns opaque source events in global authored order.
Sourcepub fn add_image_acquisition(
&mut self,
acquisition: Sourced<ImageAcquisition>,
) -> Result<(), ModelError>
pub fn add_image_acquisition( &mut self, acquisition: Sourced<ImageAcquisition>, ) -> Result<(), ModelError>
Adds a uniquely named image-acquisition resource while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate acquisition name.
Sourcepub fn image_acquisitions(&self) -> &[Sourced<ImageAcquisition>]
pub fn image_acquisitions(&self) -> &[Sourced<ImageAcquisition>]
Returns image-acquisition resources in declaration order.
Sourcepub fn add_image_build(
&mut self,
build: Sourced<ImageBuild>,
) -> Result<(), ModelError>
pub fn add_image_build( &mut self, build: Sourced<ImageBuild>, ) -> Result<(), ModelError>
Adds a uniquely named image-build resource while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate build name.
Sourcepub fn image_builds(&self) -> &[Sourced<ImageBuild>]
pub fn image_builds(&self) -> &[Sourced<ImageBuild>]
Returns image-build resources in declaration order.
Sourcepub fn validate_image_artifact_references(&self) -> Result<(), ModelError>
pub fn validate_image_artifact_references(&self) -> Result<(), ModelError>
Validates every typed image-artifact reference after the complete graph is assembled.
Unlike incremental insertion, this validation does not make a source document’s declaration order significant. Adapters that receive forward references should add their resources first and invoke this method before treating the application as convertible.
§Errors
Returns the matching unknown-reference error for a service or image-backed volume.
Sourcepub fn validate_image_artifact_dependencies(
&self,
dependencies: &[Sourced<ArtifactDependency>],
) -> Result<(), ModelError>
pub fn validate_image_artifact_dependencies( &self, dependencies: &[Sourced<ArtifactDependency>], ) -> Result<(), ModelError>
Validates explicit format-neutral artifact edges for missing nodes and cycles.
The supplied edges must already be typed by a source adapter. In particular, BoxFerry does
not parse native raw argument, mount, or unit-name text to infer dependencies. Duplicate
edges are ignored deterministically, and input order does not affect validation.
§Errors
Returns a missing-reference error, ModelError::UnknownArtifactDependencyNode, or
ModelError::ImageArtifactDependencyCycle.
Sourcepub fn add_service(
&mut self,
service: Sourced<Service>,
) -> Result<(), ModelError>
pub fn add_service( &mut self, service: Sourced<Service>, ) -> Result<(), ModelError>
Adds a uniquely named service while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate service name,
ModelError::UnknownImageAcquisitionReference, or
ModelError::UnknownImageBuildReference for an unresolved artifact reference.
Sourcepub fn withhold_literal_environment_values(&mut self)
pub fn withhold_literal_environment_values(&mut self)
Withholds literal and opaque-source service environment values, retaining names and origins.
This is an artifact authorization boundary, independent of conversion fidelity. An exporter must report each required value as an unsupported target prerequisite.
Sourcepub fn add_service_group(
&mut self,
group: Sourced<ServiceGroup>,
) -> Result<(), ModelError>
pub fn add_service_group( &mut self, group: Sourced<ServiceGroup>, ) -> Result<(), ModelError>
Adds a uniquely named structural service group.
Every referenced service must already exist in the application, and one service may belong to at most one group.
§Errors
Returns ModelError::DuplicateResource, ModelError::UnknownServiceGroupMember, or
ModelError::ServiceInMultipleGroups when a relationship is ambiguous.
Sourcepub fn service_groups(&self) -> &[Sourced<ServiceGroup>]
pub fn service_groups(&self) -> &[Sourced<ServiceGroup>]
Returns structural service groups in source order.
Sourcepub fn add_volume(&mut self, volume: Sourced<Volume>) -> Result<(), ModelError>
pub fn add_volume(&mut self, volume: Sourced<Volume>) -> Result<(), ModelError>
Adds a uniquely named volume while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate volume name.
Sourcepub fn add_network(
&mut self,
network: Sourced<Network>,
) -> Result<(), ModelError>
pub fn add_network( &mut self, network: Sourced<Network>, ) -> Result<(), ModelError>
Adds a uniquely named network while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate network name.
Sourcepub fn add_config(&mut self, config: Sourced<Config>) -> Result<(), ModelError>
pub fn add_config(&mut self, config: Sourced<Config>) -> Result<(), ModelError>
Adds a uniquely named configuration while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate configuration name.
Sourcepub fn configs(&self) -> &[Sourced<Config>]
pub fn configs(&self) -> &[Sourced<Config>]
Returns configuration resources in declaration order.
Sourcepub fn add_secret(&mut self, secret: Sourced<Secret>) -> Result<(), ModelError>
pub fn add_secret(&mut self, secret: Sourced<Secret>) -> Result<(), ModelError>
Adds a uniquely named secret while preserving declaration order.
§Errors
Returns ModelError::DuplicateResource for a duplicate secret name.