fluvio_controlplane_metadata/spg/
mod.rs1mod spec;
2mod status;
3pub mod store;
4
5pub use spec::*;
6pub use status::*;
7
8#[cfg(feature = "k8")]
9mod k8;
10#[cfg(feature = "k8")]
11pub use k8::*;
12
13mod convert {
14
15 use crate::core::{Spec, Status, Removable, Creatable};
16 use crate::extended::{ObjectType, SpecExt};
17 use super::*;
18
19 impl Spec for SpuGroupSpec {
20 const LABEL: &'static str = "SpuGroup";
21
22 type Status = SpuGroupStatus;
23
24 type Owner = Self;
25 type IndexKey = String;
26 }
27
28 impl SpecExt for SpuGroupSpec {
29 const OBJECT_TYPE: ObjectType = ObjectType::SpuGroup;
30 }
31
32 impl Removable for SpuGroupSpec {
33 type DeleteKey = String;
34 }
35
36 impl Creatable for SpuGroupSpec {}
37
38 impl Status for SpuGroupStatus {}
39
40 #[cfg(feature = "k8")]
41 mod extended {
42
43 use crate::store::k8::K8ExtendedSpec;
44 use crate::store::k8::K8ConvertError;
45 use crate::store::k8::K8MetaItem;
46 use crate::store::MetadataStoreObject;
47 use crate::k8_types::K8Obj;
48 use crate::store::k8::default_convert_from_k8;
49
50 use super::SpuGroupSpec;
51 use super::K8SpuGroupSpec;
52
53 impl K8ExtendedSpec for SpuGroupSpec {
54 type K8Spec = K8SpuGroupSpec;
55
56 fn convert_from_k8(
57 k8_obj: K8Obj<Self::K8Spec>,
58 multi_namespace_context: bool,
59 ) -> Result<MetadataStoreObject<Self, K8MetaItem>, K8ConvertError<Self::K8Spec>>
60 {
61 default_convert_from_k8(k8_obj, multi_namespace_context)
62 }
63
64 fn convert_status_from_k8(status: Self::Status) -> Self::Status {
65 status
66 }
67
68 fn into_k8(self) -> Self::K8Spec {
69 self.into()
70 }
71 }
72 }
73}