k8_obj_core/
config_map.rs

1use std::collections::BTreeMap;
2
3use serde::Deserialize;
4use serde::Serialize;
5
6use k8_obj_metadata::Crd;
7use k8_obj_metadata::CrdNames;
8use k8_obj_metadata::Header;
9use k8_obj_metadata::Spec;
10use k8_obj_metadata::Status;
11
12//
13// ConfigMap Object
14const CONFIG_MAP_API: Crd = Crd {
15    group: "core",
16    version: "v1",
17    names: CrdNames {
18        kind: "ConfigMap",
19        plural: "configmaps",
20        singular: "configmap",
21    },
22};
23
24impl Spec for ConfigMapSpec {
25    type Status = ConfigMapStatus;
26    type Header = ConfigMapHeader;
27
28    fn metadata() -> &'static Crd {
29        &CONFIG_MAP_API
30    }
31}
32
33#[derive(Deserialize, Serialize, Debug, Default, Clone)]
34#[serde(rename_all = "camelCase")]
35pub struct ConfigMapSpec {}
36
37#[derive(Deserialize, Serialize, Default, Debug, Clone)]
38#[serde(rename_all = "camelCase")]
39pub struct ConfigMapStatus {}
40
41impl Status for ConfigMapStatus {}
42
43#[derive(Deserialize, Serialize, Debug, Default, Clone)]
44#[serde(rename_all = "camelCase")]
45pub struct ConfigMapHeader {
46    #[serde(default)]
47    pub data: BTreeMap<String, String>,
48}
49
50impl Header for ConfigMapHeader {}