kcr_isindir_github_com/v1alpha1/
sopssecrets.rs1#[allow(unused_imports)]
6mod prelude {
7 pub use kube::CustomResource;
8 pub use serde::{Serialize, Deserialize};
9 pub use std::collections::BTreeMap;
10}
11use self::prelude::*;
12
13#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
15pub struct SopsSecretSops {
16 #[serde(default, skip_serializing_if = "Option::is_none")]
18 pub azure_kv: Option<Vec<SopsSecretSopsAzureKv>>,
19 #[serde(default, skip_serializing_if = "Option::is_none")]
21 pub encrypted_suffix: Option<String>,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
24 pub gcp_kms: Option<Vec<SopsSecretSopsGcpKms>>,
25 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub kms: Option<Vec<SopsSecretSopsKms>>,
28 #[serde(default, skip_serializing_if = "Option::is_none")]
30 pub lastmodified: Option<String>,
31 #[serde(default, skip_serializing_if = "Option::is_none")]
33 pub mac: Option<String>,
34 #[serde(default, skip_serializing_if = "Option::is_none")]
36 pub pgp: Option<Vec<SopsSecretSopsPgp>>,
37 #[serde(default, skip_serializing_if = "Option::is_none")]
39 pub version: Option<String>,
40}
41
42#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
44pub struct SopsSecretSopsAzureKv {
45 #[serde(default, skip_serializing_if = "Option::is_none")]
47 pub created_at: Option<String>,
48 #[serde(default, skip_serializing_if = "Option::is_none")]
49 pub enc: Option<String>,
50 #[serde(default, skip_serializing_if = "Option::is_none")]
51 pub name: Option<String>,
52 #[serde(default, skip_serializing_if = "Option::is_none")]
54 pub vault_url: Option<String>,
55 #[serde(default, skip_serializing_if = "Option::is_none")]
56 pub version: Option<String>,
57}
58
59#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
61pub struct SopsSecretSopsGcpKms {
62 #[serde(default, skip_serializing_if = "Option::is_none")]
64 pub created_at: Option<String>,
65 #[serde(default, skip_serializing_if = "Option::is_none")]
66 pub enc: Option<String>,
67 #[serde(default, skip_serializing_if = "Option::is_none")]
68 pub resource_id: Option<String>,
69}
70
71#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
73pub struct SopsSecretSopsKms {
74 #[serde(default, skip_serializing_if = "Option::is_none")]
76 pub arn: Option<String>,
77 #[serde(default, skip_serializing_if = "Option::is_none")]
78 pub aws_profile: Option<String>,
79 #[serde(default, skip_serializing_if = "Option::is_none")]
81 pub created_at: Option<String>,
82 #[serde(default, skip_serializing_if = "Option::is_none")]
83 pub enc: Option<String>,
84}
85
86#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
88pub struct SopsSecretSopsPgp {
89 #[serde(default, skip_serializing_if = "Option::is_none")]
91 pub created_at: Option<String>,
92 #[serde(default, skip_serializing_if = "Option::is_none")]
93 pub enc: Option<String>,
94 #[serde(default, skip_serializing_if = "Option::is_none")]
96 pub fp: Option<String>,
97}
98
99#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
101#[kube(group = "isindir.github.com", version = "v1alpha1", kind = "SopsSecret", plural = "sopssecrets")]
102#[kube(namespaced)]
103#[kube(schema = "disabled")]
104#[kube(derive="Default")]
105#[kube(derive="PartialEq")]
106pub struct SopsSecretSpec {
107 pub secret_templates: Vec<SopsSecretSecretTemplates>,
109}
110
111#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
113pub struct SopsSecretSecretTemplates {
114 #[serde(default, skip_serializing_if = "Option::is_none")]
116 pub annotations: Option<BTreeMap<String, String>>,
117 pub data: BTreeMap<String, String>,
120 #[serde(default, skip_serializing_if = "Option::is_none")]
122 pub labels: Option<BTreeMap<String, String>>,
123 pub name: String,
125 #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
130 pub r#type: Option<String>,
131}
132
133#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
135pub struct SopsSecretStatus {
136}
137