Preview of the proposed up-rust native-frame-model branch (up-rust b6b99c6d, up-spec f0e9b17) — not released documentation. branch · write-up

Trait DeploymentTarget

Source
pub trait DeploymentTarget: Send + Sync {
    // Required methods
    fn get<'life0, 'async_trait>(
        &'life0 self,
        components: Vec<ComponentSpec>,
        deployment_spec: DeploymentSpec,
    ) -> Pin<Box<dyn Future<Output = Result<Vec<ComponentSpec>, Box<dyn Error>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn update<'life0, 'async_trait>(
        &'life0 self,
        components_to_update: Vec<ComponentSpec>,
        deployment_spec: DeploymentSpec,
    ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, ComponentResultSpec>, Box<dyn Error>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn delete<'life0, 'async_trait>(
        &'life0 self,
        components_to_delete: Vec<ComponentSpec>,
        deployment_spec: DeploymentSpec,
    ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, ComponentResultSpec>, Box<dyn Error>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Deployment-side hooks a symphony target implements to apply resource changes.

Required Methods§

Source

fn get<'life0, 'async_trait>( &'life0 self, components: Vec<ComponentSpec>, deployment_spec: DeploymentSpec, ) -> Pin<Box<dyn Future<Output = Result<Vec<ComponentSpec>, Box<dyn Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieves the current status of components within a deployment.

§Arguments
  • components - The components whose current status should be retrieved
  • deployment_spec - The deployment context containing these components
§Returns

A vector of [ComponentSpec] representing the currently deployed state of the requested components.

§Errors

Returns an error if the current deployment status cannot be determined.

Source

fn update<'life0, 'async_trait>( &'life0 self, components_to_update: Vec<ComponentSpec>, deployment_spec: DeploymentSpec, ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, ComponentResultSpec>, Box<dyn Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Updates the specified components within a deployment.

§Arguments
  • components_to_update - The components to be updated
  • deployment_spec - The deployment context for these components
§Returns

A map where keys are component identifiers and values are [ComponentResultSpec] indicating the outcome of each component’s update operation.

§Errors

Returns an error if the update operation cannot be performed. Individual component failures should be reported in the returned map rather than as an overall error.

Source

fn delete<'life0, 'async_trait>( &'life0 self, components_to_delete: Vec<ComponentSpec>, deployment_spec: DeploymentSpec, ) -> Pin<Box<dyn Future<Output = Result<HashMap<String, ComponentResultSpec>, Box<dyn Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Removes the specified components from a deployment.

§Arguments
  • components_to_delete - The components to be removed
  • deployment_spec - The deployment context for these components
§Returns

A map where keys are component identifiers and values are [ComponentResultSpec] indicating the outcome of each component’s deletion operation.

§Errors

Returns an error if the delete operation cannot be performed. Individual component failures should be reported in the returned map rather than as an overall error.

Implementors§

Source§

impl DeploymentTarget for MockDeploymentTarget

Deployment-side hooks a symphony target implements to apply resource changes.