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 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 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.
Trait Implementations§
Source§impl Clone for Application
impl Clone for Application
Source§fn clone(&self) -> Application
fn clone(&self) -> Application
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more