pub trait MetadataClient: Send + Sync {
    type MetadataClientError: MetadataClientError + Send + Display + From<IoError> + From<DiffError> + From<SerdeJsonError>;
Show 15 methods fn retrieve_item<'life0, 'life1, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn retrieve_items_with_option<'life0, 'async_trait, S, N>(
        &'life0 self,
        namespace: N,
        option: Option<ListArg>
    ) -> Pin<Box<dyn Future<Output = Result<K8List<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        N: Into<NameSpace> + Send + Sync,
        S: 'async_trait,
        N: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
; fn retrieve_items_in_chunks<'a, S, N>(
        self: Arc<Self>,
        namespace: N,
        limit: u32,
        option: Option<ListArg>
    ) -> BoxStream<'a, K8List<S>>
    where
        S: Spec + 'static,
        N: Into<NameSpace> + Send + Sync + 'static
; fn delete_item_with_option<'life0, 'life1, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M,
        option: Option<DeleteOptions>
    ) -> Pin<Box<dyn Future<Output = Result<DeleteStatus<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn create_item<'life0, 'async_trait, S>(
        &'life0 self,
        value: InputK8Obj<S>
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        S: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
; fn update_status<'life0, 'life1, 'async_trait, S>(
        &'life0 self,
        value: &'life1 UpdateK8ObjStatus<S>
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        S: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
; fn patch<'life0, 'life1, 'life2, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M,
        patch: &'life2 Value,
        merge_type: PatchMergeType
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Display + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn patch_status<'life0, 'life1, 'life2, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M,
        patch: &'life2 Value,
        merge_type: PatchMergeType
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Display + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn watch_stream_since<S, N>(
        &self,
        namespace: N,
        resource_version: Option<String>
    ) -> BoxStream<'_, TokenStreamResult<S, Self::MetadataClientError>>
    where
        S: Spec + 'static,
        N: Into<NameSpace>
; fn retrieve_items<'life0, 'async_trait, S, N>(
        &'life0 self,
        namespace: N
    ) -> Pin<Box<dyn Future<Output = Result<K8List<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        N: Into<NameSpace> + Send + Sync,
        S: 'async_trait,
        N: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... } fn delete_item<'life0, 'life1, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M
    ) -> Pin<Box<dyn Future<Output = Result<DeleteStatus<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... } fn apply<'life0, 'async_trait, S>(
        &'life0 self,
        value: InputK8Obj<S>
    ) -> Pin<Box<dyn Future<Output = Result<ApplyResult<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        Self::MetadataClientError: From<Error> + From<DiffError> + Send,
        S: 'async_trait,
        'life0: 'async_trait,
        Self: 'async_trait
, { ... } fn patch_obj<'life0, 'life1, 'life2, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M,
        patch: &'life2 Value
    ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Display + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
, { ... } fn watch_stream_now<S>(
        &self,
        ns: String
    ) -> BoxStream<'_, TokenStreamResult<S, Self::MetadataClientError>>
    where
        S: Spec + 'static
, { ... } fn exists<'life0, 'life1, 'async_trait, S, M>(
        &'life0 self,
        metadata: &'life1 M
    ) -> Pin<Box<dyn Future<Output = Result<bool, Self::MetadataClientError>> + Send + 'async_trait>>
    where
        S: Spec,
        M: K8Meta + Display + Send + Sync,
        S: 'async_trait,
        M: 'async_trait,
        'life0: 'async_trait,
        'life1: 'async_trait,
        Self: 'async_trait
, { ... }
}

Associated Types

Required methods

retrieval a single item

returns stream of items in chunks

create new object

update status

patch object with arbitrary patch

patch status

stream items since resource versions

Provided methods

retrieve all items a single chunk this may cause client to hang if there are too many items

apply object, this is similar to kubectl apply for now, this doesn’t do any optimization if object doesn’t exist, it will be created if object exist, it will be patched by using strategic merge diff

patch existing obj

Check if the object exists, return true or false.

Implementors