1use std::collections::BTreeMap;
5
6use schemars::JsonSchema;
7use serde::{Deserialize, Serialize};
8
9#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema)]
10#[serde(rename_all = "camelCase")]
11pub struct Resource {
12 pub api_version: String,
13 pub kind: String,
14 #[serde(default)]
15 pub metadata: ObjectMeta,
16}
17
18#[derive(Serialize, Deserialize, Default, Debug, Clone, PartialEq, Eq, JsonSchema)]
19#[serde(rename_all = "camelCase")]
20pub struct ObjectMeta {
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub annotations: Option<BTreeMap<String, String>>,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub labels: Option<BTreeMap<String, String>>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub name: Option<String>,
27 #[serde(skip_serializing_if = "Option::is_none")]
28 pub namespace: Option<String>,
29}