Trait k8_metadata_client::MetadataClient
source · pub trait MetadataClient: Send + Sync {
Show 15 methods
// Required methods
fn retrieve_item<'life0, 'life1, 'async_trait, S, M>(
&'life0 self,
metadata: &'life1 M
) -> Pin<Box<dyn Future<Output = Result<Option<K8Obj<S>>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
N: Into<NameSpace> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: '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>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn create_item<'life0, 'async_trait, S>(
&'life0 self,
value: InputK8Obj<S>
) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn update_status<'life0, 'life1, 'async_trait, S>(
&'life0 self,
value: &'life1 UpdateK8ObjStatus<S>
) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: '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>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn watch_stream_since<S, N>(
&self,
namespace: N,
resource_version: Option<String>
) -> BoxStream<'_, TokenStreamResult<S>>
where S: Spec + 'static,
N: Into<NameSpace>;
// Provided methods
fn retrieve_items<'life0, 'async_trait, S, N>(
&'life0 self,
namespace: N
) -> Pin<Box<dyn Future<Output = Result<K8List<S>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
N: Into<NameSpace> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait { ... }
fn delete_item<'life0, 'life1, 'async_trait, S, M>(
&'life0 self,
metadata: &'life1 M
) -> Pin<Box<dyn Future<Output = Result<DeleteStatus<S>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn apply<'life0, 'async_trait, S>(
&'life0 self,
value: InputK8Obj<S>
) -> Pin<Box<dyn Future<Output = Result<ApplyResult<S>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
Self: 'async_trait,
'life0: '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>>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn watch_stream_now<S>(
&self,
ns: String
) -> BoxStream<'_, TokenStreamResult<S>>
where S: Spec + 'static { ... }
fn exists<'life0, 'life1, 'async_trait, S, M>(
&'life0 self,
metadata: &'life1 M
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}
Required Methods§
sourcefn retrieve_item<'life0, 'life1, 'async_trait, S, M>(
&'life0 self,
metadata: &'life1 M
) -> Pin<Box<dyn Future<Output = Result<Option<K8Obj<S>>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
M: K8Meta + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn retrieve_item<'life0, 'life1, 'async_trait, S, M>( &'life0 self, metadata: &'life1 M ) -> Pin<Box<dyn Future<Output = Result<Option<K8Obj<S>>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
retrieval a single item
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>>> + Send + 'async_trait>>where S: Spec + 'async_trait, N: Into<NameSpace> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,
sourcefn 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 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,
returns stream of items in chunks
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>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
sourcefn create_item<'life0, 'async_trait, S>(
&'life0 self,
value: InputK8Obj<S>
) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
fn create_item<'life0, 'async_trait, S>( &'life0 self, value: InputK8Obj<S> ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>where S: Spec + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,
create new object
sourcefn update_status<'life0, 'life1, 'async_trait, S>(
&'life0 self,
value: &'life1 UpdateK8ObjStatus<S>
) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn update_status<'life0, 'life1, 'async_trait, S>( &'life0 self, value: &'life1 UpdateK8ObjStatus<S> ) -> Pin<Box<dyn Future<Output = Result<K8Obj<S>>> + Send + 'async_trait>>where S: Spec + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
update status
sourcefn 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>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Display + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
patch object with arbitrary patch
sourcefn 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>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Display + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
patch status
sourcefn watch_stream_since<S, N>(
&self,
namespace: N,
resource_version: Option<String>
) -> BoxStream<'_, TokenStreamResult<S>>where
S: Spec + 'static,
N: Into<NameSpace>,
fn watch_stream_since<S, N>( &self, namespace: N, resource_version: Option<String> ) -> BoxStream<'_, TokenStreamResult<S>>where S: Spec + 'static, N: Into<NameSpace>,
stream items since resource versions
Provided Methods§
sourcefn retrieve_items<'life0, 'async_trait, S, N>(
&'life0 self,
namespace: N
) -> Pin<Box<dyn Future<Output = Result<K8List<S>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
N: Into<NameSpace> + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
fn retrieve_items<'life0, 'async_trait, S, N>( &'life0 self, namespace: N ) -> Pin<Box<dyn Future<Output = Result<K8List<S>>> + Send + 'async_trait>>where S: Spec + 'async_trait, N: Into<NameSpace> + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,
retrieve all items a single chunk this may cause client to hang if there are too many items
fn delete_item<'life0, 'life1, 'async_trait, S, M>( &'life0 self, metadata: &'life1 M ) -> Pin<Box<dyn Future<Output = Result<DeleteStatus<S>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
sourcefn apply<'life0, 'async_trait, S>(
&'life0 self,
value: InputK8Obj<S>
) -> Pin<Box<dyn Future<Output = Result<ApplyResult<S>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
fn apply<'life0, 'async_trait, S>( &'life0 self, value: InputK8Obj<S> ) -> Pin<Box<dyn Future<Output = Result<ApplyResult<S>>> + Send + 'async_trait>>where S: Spec + 'async_trait, Self: 'async_trait, 'life0: 'async_trait,
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
sourcefn 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>>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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>>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Display + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
patch existing obj
fn watch_stream_now<S>(&self, ns: String) -> BoxStream<'_, TokenStreamResult<S>>where S: Spec + 'static,
sourcefn exists<'life0, 'life1, 'async_trait, S, M>(
&'life0 self,
metadata: &'life1 M
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
S: Spec + 'async_trait,
M: K8Meta + Display + Send + Sync + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn exists<'life0, 'life1, 'async_trait, S, M>( &'life0 self, metadata: &'life1 M ) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where S: Spec + 'async_trait, M: K8Meta + Display + Send + Sync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Check if the object exists, return true or false.