pub struct ApplicationManifestV1 { /* private fields */ }Expand description
Contract published by an application and consumed by any compatible runtime.
It contains application intent and requirements only. Provider selection, installation paths and secrets belong to the deployment manifest.
Implementations§
Source§impl ApplicationManifestV1
impl ApplicationManifestV1
Sourcepub fn new(
application_id: ApplicationId,
application_version: impl Into<String>,
display_name: impl Into<String>,
vendor: impl Into<String>,
service_id: ServiceId,
runtime: RuntimeRequirements,
) -> ContractResult<Self>
pub fn new( application_id: ApplicationId, application_version: impl Into<String>, display_name: impl Into<String>, vendor: impl Into<String>, service_id: ServiceId, runtime: RuntimeRequirements, ) -> ContractResult<Self>
Creates a minimal application manifest with conservative local defaults.
Sourcepub fn with_capability(
self,
capability: CapabilityDeclaration,
) -> ContractResult<Self>
pub fn with_capability( self, capability: CapabilityDeclaration, ) -> ContractResult<Self>
Adds a capability declaration.
Sourcepub fn with_leadership(
self,
requirement: LeadershipRequirement,
) -> ContractResult<Self>
pub fn with_leadership( self, requirement: LeadershipRequirement, ) -> ContractResult<Self>
Adds a service-scoped leadership requirement.
Sourcepub fn with_job_policy(self, policy: JobPolicy) -> ContractResult<Self>
pub fn with_job_policy(self, policy: JobPolicy) -> ContractResult<Self>
Replaces the job policy.
Sourcepub fn with_dependency(
self,
dependency: ApplicationDependency,
) -> ContractResult<Self>
pub fn with_dependency( self, dependency: ApplicationDependency, ) -> ContractResult<Self>
Adds an application dependency.
Sourcepub fn with_storage_requirements(
self,
requirements: StorageRequirements,
) -> Self
pub fn with_storage_requirements( self, requirements: StorageRequirements, ) -> Self
Replaces provider-independent storage requirements.
Sourcepub fn with_scheduler_requirements(
self,
requirements: SchedulerRequirements,
) -> ContractResult<Self>
pub fn with_scheduler_requirements( self, requirements: SchedulerRequirements, ) -> ContractResult<Self>
Replaces scheduler requirements.
Sourcepub fn with_health_requirements(
self,
requirements: HealthRequirements,
) -> ContractResult<Self>
pub fn with_health_requirements( self, requirements: HealthRequirements, ) -> ContractResult<Self>
Replaces health requirements.
Sourcepub fn with_update_policy(self, policy: UpdatePolicy) -> ContractResult<Self>
pub fn with_update_policy(self, policy: UpdatePolicy) -> ContractResult<Self>
Replaces application update preferences.
Sourcepub fn with_module(self, module: ModuleDeclaration) -> ContractResult<Self>
pub fn with_module(self, module: ModuleDeclaration) -> ContractResult<Self>
Adds an application module.
Sourcepub fn with_feature_flag(self, feature: FeatureId, enabled: bool) -> Self
pub fn with_feature_flag(self, feature: FeatureId, enabled: bool) -> Self
Sets one application feature flag.
Sourcepub fn with_metadata(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> ContractResult<Self>
pub fn with_metadata( self, key: impl Into<String>, value: impl Into<String>, ) -> ContractResult<Self>
Adds non-sensitive, portable application metadata.
Sourcepub fn manifest_version(&self) -> u16
pub fn manifest_version(&self) -> u16
Returns the manifest schema version.
Sourcepub fn application_id(&self) -> &ApplicationId
pub fn application_id(&self) -> &ApplicationId
Returns the stable application identity.
Sourcepub fn application_version(&self) -> &str
pub fn application_version(&self) -> &str
Returns the application version.
Sourcepub fn display_name(&self) -> &str
pub fn display_name(&self) -> &str
Returns the human-readable application name.
Sourcepub fn service_id(&self) -> &ServiceId
pub fn service_id(&self) -> &ServiceId
Returns the primary service identity.
Sourcepub fn runtime_requirements(&self) -> &RuntimeRequirements
pub fn runtime_requirements(&self) -> &RuntimeRequirements
Returns runtime compatibility requirements.
Sourcepub fn capabilities(&self) -> &[CapabilityDeclaration]
pub fn capabilities(&self) -> &[CapabilityDeclaration]
Returns declared capabilities.
Sourcepub fn leadership(&self) -> &[LeadershipRequirement]
pub fn leadership(&self) -> &[LeadershipRequirement]
Returns service-scoped leadership requirements.
Sourcepub fn job_policy(&self) -> &JobPolicy
pub fn job_policy(&self) -> &JobPolicy
Returns the job policy.
Sourcepub fn dependencies(&self) -> &[ApplicationDependency]
pub fn dependencies(&self) -> &[ApplicationDependency]
Returns application dependencies.
Sourcepub fn storage_requirements(&self) -> &StorageRequirements
pub fn storage_requirements(&self) -> &StorageRequirements
Returns storage requirements.
Sourcepub fn scheduler_requirements(&self) -> &SchedulerRequirements
pub fn scheduler_requirements(&self) -> &SchedulerRequirements
Returns scheduler requirements.
Sourcepub fn health_requirements(&self) -> &HealthRequirements
pub fn health_requirements(&self) -> &HealthRequirements
Returns health requirements.
Sourcepub fn update_policy(&self) -> &UpdatePolicy
pub fn update_policy(&self) -> &UpdatePolicy
Returns update preferences.
Sourcepub fn modules(&self) -> &[ModuleDeclaration]
pub fn modules(&self) -> &[ModuleDeclaration]
Returns application modules.
Sourcepub fn feature_flags(&self) -> &BTreeMap<FeatureId, bool>
pub fn feature_flags(&self) -> &BTreeMap<FeatureId, bool>
Returns application feature flags.
Sourcepub fn validate(&self) -> ContractResult<()>
pub fn validate(&self) -> ContractResult<()>
Validates the complete manifest and all cross-field invariants.
Trait Implementations§
Source§impl Clone for ApplicationManifestV1
impl Clone for ApplicationManifestV1
Source§fn clone(&self) -> ApplicationManifestV1
fn clone(&self) -> ApplicationManifestV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more