kubernetes_applier_interface

Trait KubernetesApplier

Source
pub trait KubernetesApplier {
    // Required methods
    fn apply<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context,
        arg: &'life2 Vec<u8>,
    ) -> Pin<Box<dyn Future<Output = RpcResult<OperationResponse>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn delete<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        ctx: &'life1 Context,
        arg: &'life2 DeleteRequest,
    ) -> Pin<Box<dyn Future<Output = RpcResult<OperationResponse>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;

    // Provided method
    fn contract_id() -> &'static str { ... }
}
Expand description

The KubernetesApplier service has a two methods, one to apply an object (that can be a create or update) and to delete an object wasmbus.contractId: cosmonic:kubernetes_applier wasmbus.providerReceive

Required Methods§

Source

fn apply<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 Vec<u8>, ) -> Pin<Box<dyn Future<Output = RpcResult<OperationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Attempts to create or update the arbitrary object it is given

Source

fn delete<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ctx: &'life1 Context, arg: &'life2 DeleteRequest, ) -> Pin<Box<dyn Future<Output = RpcResult<OperationResponse>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Attempts to delete an object with the given GVK (group, version, kind), name, and namespace. This should be idempotent, meaning that it should return successful if the object doesn’t exist

Provided Methods§

Source

fn contract_id() -> &'static str

returns the capability contract id for this interface

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§