k8s_crds_helm_controller/
helmchartconfigs.rs1#[allow(unused_imports)]
6mod prelude {
7 pub use kube_derive::CustomResource;
8 #[cfg(feature = "schemars")]
9 pub use schemars::JsonSchema;
10 pub use serde::{Deserialize, Serialize};
11 #[cfg(feature = "builder")]
12 pub use typed_builder::TypedBuilder;
13}
14
15use self::prelude::*;
16
17#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
20#[cfg_attr(feature = "builder", derive(TypedBuilder))]
21#[cfg_attr(feature = "schemars", derive(JsonSchema))]
22#[cfg_attr(not(feature = "schemars"), kube(schema = "disabled"))]
23#[kube(
24 group = "helm.cattle.io",
25 version = "v1",
26 kind = "HelmChartConfig",
27 plural = "helmchartconfigs"
28)]
29#[kube(namespaced)]
30#[kube(derive = "Default")]
31#[kube(derive = "PartialEq")]
32pub struct HelmChartConfigSpec {
33 #[serde(
38 default,
39 skip_serializing_if = "Option::is_none",
40 rename = "failurePolicy"
41 )]
42 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
43 pub failure_policy: Option<HelmChartConfigFailurePolicy>,
44 #[serde(
47 default,
48 skip_serializing_if = "Option::is_none",
49 rename = "forceConflicts"
50 )]
51 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
52 pub force_conflicts: Option<bool>,
53 #[serde(
59 default,
60 skip_serializing_if = "Option::is_none",
61 rename = "serverSide"
62 )]
63 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
64 pub server_side: Option<HelmChartConfigServerSide>,
65 #[serde(default, skip_serializing_if = "Option::is_none")]
68 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
69 pub values: Option<serde_json::Value>,
70 #[serde(
73 default,
74 skip_serializing_if = "Option::is_none",
75 rename = "valuesContent"
76 )]
77 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
78 pub values_content: Option<String>,
79 #[serde(
82 default,
83 skip_serializing_if = "Option::is_none",
84 rename = "valuesSecrets"
85 )]
86 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
87 pub values_secrets: Option<Vec<HelmChartConfigValuesSecrets>>,
88}
89
90#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
93#[cfg_attr(feature = "schemars", derive(JsonSchema))]
94pub enum HelmChartConfigFailurePolicy {
95 #[serde(rename = "abort")]
96 Abort,
97 #[serde(rename = "reinstall")]
98 Reinstall,
99 #[serde(rename = "retry")]
100 Retry,
101}
102
103#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
106#[cfg_attr(feature = "schemars", derive(JsonSchema))]
107pub enum HelmChartConfigServerSide {
108 #[serde(rename = "true")]
109 True,
110 #[serde(rename = "false")]
111 False,
112 #[serde(rename = "auto")]
113 Auto,
114}
115
116#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
118#[cfg_attr(feature = "builder", derive(TypedBuilder))]
119#[cfg_attr(feature = "schemars", derive(JsonSchema))]
120pub struct HelmChartConfigValuesSecrets {
121 #[serde(
125 default,
126 skip_serializing_if = "Option::is_none",
127 rename = "ignoreUpdates"
128 )]
129 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
130 pub ignore_updates: Option<bool>,
131 #[serde(default, skip_serializing_if = "Option::is_none")]
133 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
134 pub keys: Option<Vec<String>>,
135 #[serde(default, skip_serializing_if = "Option::is_none")]
137 #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
138 pub name: Option<String>,
139}