k8s_crds_system_upgrade_controller/
plans.rs

1// WARNING: generated by kopium - manual changes will be overwritten
2// kopium command: kopium -f plans.yml --schema=derived --docs -b --derive=Default --derive=PartialEq --smart-derive-elision
3// kopium version: 0.21.1
4
5#[allow(unused_imports)]
6mod prelude {
7    pub use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition;
8    pub use kube_derive::CustomResource;
9    #[cfg(feature = "schemars")]
10    pub use schemars::JsonSchema;
11    pub use serde::{Deserialize, Serialize};
12    pub use std::collections::BTreeMap;
13    #[cfg(feature = "builder")]
14    pub use typed_builder::TypedBuilder;
15}
16use self::prelude::*;
17
18#[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
19#[cfg_attr(feature = "builder", derive(TypedBuilder))]
20#[cfg_attr(feature = "schemars", derive(JsonSchema))]
21#[cfg_attr(not(feature = "schemars"), kube(schema = "disabled"))]
22#[kube(
23    group = "upgrade.cattle.io",
24    version = "v1",
25    kind = "Plan",
26    plural = "plans"
27)]
28#[kube(namespaced)]
29#[kube(status = "PlanStatus")]
30#[kube(derive = "Default")]
31#[kube(derive = "PartialEq")]
32pub struct PlanSpec {
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
35    pub channel: Option<String>,
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
38    pub concurrency: Option<i64>,
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
41    pub cordon: Option<bool>,
42    #[serde(default, skip_serializing_if = "Option::is_none")]
43    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
44    pub drain: Option<PlanDrain>,
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
47    pub exclusive: Option<bool>,
48    #[serde(
49        default,
50        skip_serializing_if = "Option::is_none",
51        rename = "imagePullSecrets"
52    )]
53    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
54    pub image_pull_secrets: Option<Vec<PlanImagePullSecrets>>,
55    #[serde(
56        default,
57        skip_serializing_if = "Option::is_none",
58        rename = "jobActiveDeadlineSecs"
59    )]
60    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
61    pub job_active_deadline_secs: Option<i64>,
62    #[serde(
63        default,
64        skip_serializing_if = "Option::is_none",
65        rename = "nodeSelector"
66    )]
67    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
68    pub node_selector: Option<PlanNodeSelector>,
69    #[serde(default, skip_serializing_if = "Option::is_none")]
70    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
71    pub prepare: Option<PlanPrepare>,
72    #[serde(default, skip_serializing_if = "Option::is_none")]
73    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
74    pub secrets: Option<Vec<PlanSecrets>>,
75    #[serde(
76        default,
77        skip_serializing_if = "Option::is_none",
78        rename = "serviceAccountName"
79    )]
80    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
81    pub service_account_name: Option<String>,
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
84    pub tolerations: Option<Vec<PlanTolerations>>,
85    pub upgrade: PlanUpgrade,
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
88    pub version: Option<String>,
89}
90
91#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
92#[cfg_attr(feature = "builder", derive(TypedBuilder))]
93#[cfg_attr(feature = "schemars", derive(JsonSchema))]
94pub struct PlanDrain {
95    #[serde(
96        default,
97        skip_serializing_if = "Option::is_none",
98        rename = "deleteEmptydirData"
99    )]
100    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
101    pub delete_emptydir_data: Option<bool>,
102    #[serde(
103        default,
104        skip_serializing_if = "Option::is_none",
105        rename = "deleteLocalData"
106    )]
107    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
108    pub delete_local_data: Option<bool>,
109    #[serde(
110        default,
111        skip_serializing_if = "Option::is_none",
112        rename = "disableEviction"
113    )]
114    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
115    pub disable_eviction: Option<bool>,
116    #[serde(default, skip_serializing_if = "Option::is_none")]
117    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
118    pub force: Option<bool>,
119    #[serde(
120        default,
121        skip_serializing_if = "Option::is_none",
122        rename = "gracePeriod"
123    )]
124    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
125    pub grace_period: Option<i64>,
126    #[serde(
127        default,
128        skip_serializing_if = "Option::is_none",
129        rename = "ignoreDaemonSets"
130    )]
131    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
132    pub ignore_daemon_sets: Option<bool>,
133    #[serde(
134        default,
135        skip_serializing_if = "Option::is_none",
136        rename = "podSelector"
137    )]
138    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
139    pub pod_selector: Option<PlanDrainPodSelector>,
140    #[serde(
141        default,
142        skip_serializing_if = "Option::is_none",
143        rename = "skipWaitForDeleteTimeout"
144    )]
145    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
146    pub skip_wait_for_delete_timeout: Option<i64>,
147    #[serde(default, skip_serializing_if = "Option::is_none")]
148    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
149    pub timeout: Option<i64>,
150}
151
152#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
153#[cfg_attr(feature = "builder", derive(TypedBuilder))]
154#[cfg_attr(feature = "schemars", derive(JsonSchema))]
155pub struct PlanDrainPodSelector {
156    #[serde(
157        default,
158        skip_serializing_if = "Option::is_none",
159        rename = "matchExpressions"
160    )]
161    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
162    pub match_expressions: Option<Vec<PlanDrainPodSelectorMatchExpressions>>,
163    #[serde(
164        default,
165        skip_serializing_if = "Option::is_none",
166        rename = "matchLabels"
167    )]
168    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
169    pub match_labels: Option<BTreeMap<String, String>>,
170}
171
172#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
173#[cfg_attr(feature = "builder", derive(TypedBuilder))]
174#[cfg_attr(feature = "schemars", derive(JsonSchema))]
175pub struct PlanDrainPodSelectorMatchExpressions {
176    #[serde(default, skip_serializing_if = "Option::is_none")]
177    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
178    pub key: Option<String>,
179    #[serde(default, skip_serializing_if = "Option::is_none")]
180    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
181    pub operator: Option<String>,
182    #[serde(default, skip_serializing_if = "Option::is_none")]
183    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
184    pub values: Option<Vec<String>>,
185}
186
187#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
188#[cfg_attr(feature = "builder", derive(TypedBuilder))]
189#[cfg_attr(feature = "schemars", derive(JsonSchema))]
190pub struct PlanImagePullSecrets {
191    #[serde(default, skip_serializing_if = "Option::is_none")]
192    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
193    pub name: Option<String>,
194}
195
196#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
197#[cfg_attr(feature = "builder", derive(TypedBuilder))]
198#[cfg_attr(feature = "schemars", derive(JsonSchema))]
199pub struct PlanNodeSelector {
200    #[serde(
201        default,
202        skip_serializing_if = "Option::is_none",
203        rename = "matchExpressions"
204    )]
205    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
206    pub match_expressions: Option<Vec<PlanNodeSelectorMatchExpressions>>,
207    #[serde(
208        default,
209        skip_serializing_if = "Option::is_none",
210        rename = "matchLabels"
211    )]
212    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
213    pub match_labels: Option<BTreeMap<String, String>>,
214}
215
216#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
217#[cfg_attr(feature = "builder", derive(TypedBuilder))]
218#[cfg_attr(feature = "schemars", derive(JsonSchema))]
219pub struct PlanNodeSelectorMatchExpressions {
220    #[serde(default, skip_serializing_if = "Option::is_none")]
221    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
222    pub key: Option<String>,
223    #[serde(default, skip_serializing_if = "Option::is_none")]
224    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
225    pub operator: Option<String>,
226    #[serde(default, skip_serializing_if = "Option::is_none")]
227    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
228    pub values: Option<Vec<String>>,
229}
230
231#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
232#[cfg_attr(feature = "builder", derive(TypedBuilder))]
233#[cfg_attr(feature = "schemars", derive(JsonSchema))]
234pub struct PlanPrepare {
235    #[serde(default, skip_serializing_if = "Option::is_none")]
236    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
237    pub args: Option<Vec<String>>,
238    #[serde(default, skip_serializing_if = "Option::is_none")]
239    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
240    pub command: Option<Vec<String>>,
241    #[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
242    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
243    pub env_from: Option<Vec<PlanPrepareEnvFrom>>,
244    #[serde(default, skip_serializing_if = "Option::is_none")]
245    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
246    pub envs: Option<Vec<PlanPrepareEnvs>>,
247    #[serde(default, skip_serializing_if = "Option::is_none")]
248    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
249    pub image: Option<String>,
250    #[serde(
251        default,
252        skip_serializing_if = "Option::is_none",
253        rename = "securityContext"
254    )]
255    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
256    pub security_context: Option<PlanPrepareSecurityContext>,
257    #[serde(default, skip_serializing_if = "Option::is_none")]
258    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
259    pub volumes: Option<Vec<PlanPrepareVolumes>>,
260}
261
262#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
263#[cfg_attr(feature = "builder", derive(TypedBuilder))]
264#[cfg_attr(feature = "schemars", derive(JsonSchema))]
265pub struct PlanPrepareEnvFrom {
266    #[serde(
267        default,
268        skip_serializing_if = "Option::is_none",
269        rename = "configMapRef"
270    )]
271    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
272    pub config_map_ref: Option<PlanPrepareEnvFromConfigMapRef>,
273    #[serde(default, skip_serializing_if = "Option::is_none")]
274    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
275    pub prefix: Option<String>,
276    #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
277    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
278    pub secret_ref: Option<PlanPrepareEnvFromSecretRef>,
279}
280
281#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
282#[cfg_attr(feature = "builder", derive(TypedBuilder))]
283#[cfg_attr(feature = "schemars", derive(JsonSchema))]
284pub struct PlanPrepareEnvFromConfigMapRef {
285    #[serde(default, skip_serializing_if = "Option::is_none")]
286    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
287    pub name: Option<String>,
288    #[serde(default, skip_serializing_if = "Option::is_none")]
289    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
290    pub optional: Option<bool>,
291}
292
293#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
294#[cfg_attr(feature = "builder", derive(TypedBuilder))]
295#[cfg_attr(feature = "schemars", derive(JsonSchema))]
296pub struct PlanPrepareEnvFromSecretRef {
297    #[serde(default, skip_serializing_if = "Option::is_none")]
298    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
299    pub name: Option<String>,
300    #[serde(default, skip_serializing_if = "Option::is_none")]
301    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
302    pub optional: Option<bool>,
303}
304
305#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
306#[cfg_attr(feature = "builder", derive(TypedBuilder))]
307#[cfg_attr(feature = "schemars", derive(JsonSchema))]
308pub struct PlanPrepareEnvs {
309    #[serde(default, skip_serializing_if = "Option::is_none")]
310    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
311    pub name: Option<String>,
312    #[serde(default, skip_serializing_if = "Option::is_none")]
313    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
314    pub value: Option<String>,
315    #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
316    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
317    pub value_from: Option<PlanPrepareEnvsValueFrom>,
318}
319
320#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
321#[cfg_attr(feature = "builder", derive(TypedBuilder))]
322#[cfg_attr(feature = "schemars", derive(JsonSchema))]
323pub struct PlanPrepareEnvsValueFrom {
324    #[serde(
325        default,
326        skip_serializing_if = "Option::is_none",
327        rename = "configMapKeyRef"
328    )]
329    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
330    pub config_map_key_ref: Option<PlanPrepareEnvsValueFromConfigMapKeyRef>,
331    #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
332    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
333    pub field_ref: Option<PlanPrepareEnvsValueFromFieldRef>,
334    #[serde(
335        default,
336        skip_serializing_if = "Option::is_none",
337        rename = "resourceFieldRef"
338    )]
339    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
340    pub resource_field_ref: Option<PlanPrepareEnvsValueFromResourceFieldRef>,
341    #[serde(
342        default,
343        skip_serializing_if = "Option::is_none",
344        rename = "secretKeyRef"
345    )]
346    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
347    pub secret_key_ref: Option<PlanPrepareEnvsValueFromSecretKeyRef>,
348}
349
350#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
351#[cfg_attr(feature = "builder", derive(TypedBuilder))]
352#[cfg_attr(feature = "schemars", derive(JsonSchema))]
353pub struct PlanPrepareEnvsValueFromConfigMapKeyRef {
354    #[serde(default, skip_serializing_if = "Option::is_none")]
355    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
356    pub key: Option<String>,
357    #[serde(default, skip_serializing_if = "Option::is_none")]
358    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
359    pub name: Option<String>,
360    #[serde(default, skip_serializing_if = "Option::is_none")]
361    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
362    pub optional: Option<bool>,
363}
364
365#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
366#[cfg_attr(feature = "builder", derive(TypedBuilder))]
367#[cfg_attr(feature = "schemars", derive(JsonSchema))]
368pub struct PlanPrepareEnvsValueFromFieldRef {
369    #[serde(
370        default,
371        skip_serializing_if = "Option::is_none",
372        rename = "apiVersion"
373    )]
374    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
375    pub api_version: Option<String>,
376    #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")]
377    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
378    pub field_path: Option<String>,
379}
380
381#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
382#[cfg_attr(feature = "builder", derive(TypedBuilder))]
383#[cfg_attr(feature = "schemars", derive(JsonSchema))]
384pub struct PlanPrepareEnvsValueFromResourceFieldRef {
385    #[serde(
386        default,
387        skip_serializing_if = "Option::is_none",
388        rename = "containerName"
389    )]
390    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
391    pub container_name: Option<String>,
392    #[serde(default, skip_serializing_if = "Option::is_none")]
393    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
394    pub divisor: Option<String>,
395    #[serde(default, skip_serializing_if = "Option::is_none")]
396    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
397    pub resource: Option<String>,
398}
399
400#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
401#[cfg_attr(feature = "builder", derive(TypedBuilder))]
402#[cfg_attr(feature = "schemars", derive(JsonSchema))]
403pub struct PlanPrepareEnvsValueFromSecretKeyRef {
404    #[serde(default, skip_serializing_if = "Option::is_none")]
405    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
406    pub key: Option<String>,
407    #[serde(default, skip_serializing_if = "Option::is_none")]
408    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
409    pub name: Option<String>,
410    #[serde(default, skip_serializing_if = "Option::is_none")]
411    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
412    pub optional: Option<bool>,
413}
414
415#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
416#[cfg_attr(feature = "builder", derive(TypedBuilder))]
417#[cfg_attr(feature = "schemars", derive(JsonSchema))]
418pub struct PlanPrepareSecurityContext {
419    #[serde(
420        default,
421        skip_serializing_if = "Option::is_none",
422        rename = "allowPrivilegeEscalation"
423    )]
424    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
425    pub allow_privilege_escalation: Option<bool>,
426    #[serde(
427        default,
428        skip_serializing_if = "Option::is_none",
429        rename = "appArmorProfile"
430    )]
431    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
432    pub app_armor_profile: Option<PlanPrepareSecurityContextAppArmorProfile>,
433    #[serde(default, skip_serializing_if = "Option::is_none")]
434    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
435    pub capabilities: Option<PlanPrepareSecurityContextCapabilities>,
436    #[serde(default, skip_serializing_if = "Option::is_none")]
437    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
438    pub privileged: Option<bool>,
439    #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
440    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
441    pub proc_mount: Option<String>,
442    #[serde(
443        default,
444        skip_serializing_if = "Option::is_none",
445        rename = "readOnlyRootFilesystem"
446    )]
447    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
448    pub read_only_root_filesystem: Option<bool>,
449    #[serde(
450        default,
451        skip_serializing_if = "Option::is_none",
452        rename = "runAsGroup"
453    )]
454    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
455    pub run_as_group: Option<i64>,
456    #[serde(
457        default,
458        skip_serializing_if = "Option::is_none",
459        rename = "runAsNonRoot"
460    )]
461    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
462    pub run_as_non_root: Option<bool>,
463    #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
464    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
465    pub run_as_user: Option<i64>,
466    #[serde(
467        default,
468        skip_serializing_if = "Option::is_none",
469        rename = "seLinuxOptions"
470    )]
471    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
472    pub se_linux_options: Option<PlanPrepareSecurityContextSeLinuxOptions>,
473    #[serde(
474        default,
475        skip_serializing_if = "Option::is_none",
476        rename = "seccompProfile"
477    )]
478    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
479    pub seccomp_profile: Option<PlanPrepareSecurityContextSeccompProfile>,
480    #[serde(
481        default,
482        skip_serializing_if = "Option::is_none",
483        rename = "windowsOptions"
484    )]
485    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
486    pub windows_options: Option<PlanPrepareSecurityContextWindowsOptions>,
487}
488
489#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
490#[cfg_attr(feature = "builder", derive(TypedBuilder))]
491#[cfg_attr(feature = "schemars", derive(JsonSchema))]
492pub struct PlanPrepareSecurityContextAppArmorProfile {
493    #[serde(
494        default,
495        skip_serializing_if = "Option::is_none",
496        rename = "localhostProfile"
497    )]
498    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
499    pub localhost_profile: Option<String>,
500    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
501    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
502    pub r#type: Option<String>,
503}
504
505#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
506#[cfg_attr(feature = "builder", derive(TypedBuilder))]
507#[cfg_attr(feature = "schemars", derive(JsonSchema))]
508pub struct PlanPrepareSecurityContextCapabilities {
509    #[serde(default, skip_serializing_if = "Option::is_none")]
510    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
511    pub add: Option<Vec<String>>,
512    #[serde(default, skip_serializing_if = "Option::is_none")]
513    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
514    pub drop: Option<Vec<String>>,
515}
516
517#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
518#[cfg_attr(feature = "builder", derive(TypedBuilder))]
519#[cfg_attr(feature = "schemars", derive(JsonSchema))]
520pub struct PlanPrepareSecurityContextSeLinuxOptions {
521    #[serde(default, skip_serializing_if = "Option::is_none")]
522    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
523    pub level: Option<String>,
524    #[serde(default, skip_serializing_if = "Option::is_none")]
525    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
526    pub role: Option<String>,
527    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
528    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
529    pub r#type: Option<String>,
530    #[serde(default, skip_serializing_if = "Option::is_none")]
531    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
532    pub user: Option<String>,
533}
534
535#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
536#[cfg_attr(feature = "builder", derive(TypedBuilder))]
537#[cfg_attr(feature = "schemars", derive(JsonSchema))]
538pub struct PlanPrepareSecurityContextSeccompProfile {
539    #[serde(
540        default,
541        skip_serializing_if = "Option::is_none",
542        rename = "localhostProfile"
543    )]
544    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
545    pub localhost_profile: Option<String>,
546    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
547    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
548    pub r#type: Option<String>,
549}
550
551#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
552#[cfg_attr(feature = "builder", derive(TypedBuilder))]
553#[cfg_attr(feature = "schemars", derive(JsonSchema))]
554pub struct PlanPrepareSecurityContextWindowsOptions {
555    #[serde(
556        default,
557        skip_serializing_if = "Option::is_none",
558        rename = "gmsaCredentialSpec"
559    )]
560    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
561    pub gmsa_credential_spec: Option<String>,
562    #[serde(
563        default,
564        skip_serializing_if = "Option::is_none",
565        rename = "gmsaCredentialSpecName"
566    )]
567    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
568    pub gmsa_credential_spec_name: Option<String>,
569    #[serde(
570        default,
571        skip_serializing_if = "Option::is_none",
572        rename = "hostProcess"
573    )]
574    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
575    pub host_process: Option<bool>,
576    #[serde(
577        default,
578        skip_serializing_if = "Option::is_none",
579        rename = "runAsUserName"
580    )]
581    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
582    pub run_as_user_name: Option<String>,
583}
584
585#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
586#[cfg_attr(feature = "builder", derive(TypedBuilder))]
587#[cfg_attr(feature = "schemars", derive(JsonSchema))]
588pub struct PlanPrepareVolumes {
589    #[serde(default, skip_serializing_if = "Option::is_none")]
590    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
591    pub destination: Option<String>,
592    #[serde(default, skip_serializing_if = "Option::is_none")]
593    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
594    pub name: Option<String>,
595    #[serde(default, skip_serializing_if = "Option::is_none")]
596    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
597    pub source: Option<String>,
598}
599
600#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
601#[cfg_attr(feature = "builder", derive(TypedBuilder))]
602#[cfg_attr(feature = "schemars", derive(JsonSchema))]
603pub struct PlanSecrets {
604    #[serde(
605        default,
606        skip_serializing_if = "Option::is_none",
607        rename = "ignoreUpdates"
608    )]
609    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
610    pub ignore_updates: Option<bool>,
611    #[serde(default, skip_serializing_if = "Option::is_none")]
612    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
613    pub name: Option<String>,
614    #[serde(default, skip_serializing_if = "Option::is_none")]
615    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
616    pub path: Option<String>,
617}
618
619#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
620#[cfg_attr(feature = "builder", derive(TypedBuilder))]
621#[cfg_attr(feature = "schemars", derive(JsonSchema))]
622pub struct PlanTolerations {
623    #[serde(default, skip_serializing_if = "Option::is_none")]
624    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
625    pub effect: Option<String>,
626    #[serde(default, skip_serializing_if = "Option::is_none")]
627    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
628    pub key: Option<String>,
629    #[serde(default, skip_serializing_if = "Option::is_none")]
630    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
631    pub operator: Option<String>,
632    #[serde(
633        default,
634        skip_serializing_if = "Option::is_none",
635        rename = "tolerationSeconds"
636    )]
637    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
638    pub toleration_seconds: Option<i64>,
639    #[serde(default, skip_serializing_if = "Option::is_none")]
640    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
641    pub value: Option<String>,
642}
643
644#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
645#[cfg_attr(feature = "builder", derive(TypedBuilder))]
646#[cfg_attr(feature = "schemars", derive(JsonSchema))]
647pub struct PlanUpgrade {
648    #[serde(default, skip_serializing_if = "Option::is_none")]
649    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
650    pub args: Option<Vec<String>>,
651    #[serde(default, skip_serializing_if = "Option::is_none")]
652    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
653    pub command: Option<Vec<String>>,
654    #[serde(default, skip_serializing_if = "Option::is_none", rename = "envFrom")]
655    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
656    pub env_from: Option<Vec<PlanUpgradeEnvFrom>>,
657    #[serde(default, skip_serializing_if = "Option::is_none")]
658    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
659    pub envs: Option<Vec<PlanUpgradeEnvs>>,
660    #[serde(default, skip_serializing_if = "Option::is_none")]
661    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
662    pub image: Option<String>,
663    #[serde(
664        default,
665        skip_serializing_if = "Option::is_none",
666        rename = "securityContext"
667    )]
668    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
669    pub security_context: Option<PlanUpgradeSecurityContext>,
670    #[serde(default, skip_serializing_if = "Option::is_none")]
671    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
672    pub volumes: Option<Vec<PlanUpgradeVolumes>>,
673}
674
675#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
676#[cfg_attr(feature = "builder", derive(TypedBuilder))]
677#[cfg_attr(feature = "schemars", derive(JsonSchema))]
678pub struct PlanUpgradeEnvFrom {
679    #[serde(
680        default,
681        skip_serializing_if = "Option::is_none",
682        rename = "configMapRef"
683    )]
684    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
685    pub config_map_ref: Option<PlanUpgradeEnvFromConfigMapRef>,
686    #[serde(default, skip_serializing_if = "Option::is_none")]
687    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
688    pub prefix: Option<String>,
689    #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretRef")]
690    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
691    pub secret_ref: Option<PlanUpgradeEnvFromSecretRef>,
692}
693
694#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
695#[cfg_attr(feature = "builder", derive(TypedBuilder))]
696#[cfg_attr(feature = "schemars", derive(JsonSchema))]
697pub struct PlanUpgradeEnvFromConfigMapRef {
698    #[serde(default, skip_serializing_if = "Option::is_none")]
699    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
700    pub name: Option<String>,
701    #[serde(default, skip_serializing_if = "Option::is_none")]
702    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
703    pub optional: Option<bool>,
704}
705
706#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
707#[cfg_attr(feature = "builder", derive(TypedBuilder))]
708#[cfg_attr(feature = "schemars", derive(JsonSchema))]
709pub struct PlanUpgradeEnvFromSecretRef {
710    #[serde(default, skip_serializing_if = "Option::is_none")]
711    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
712    pub name: Option<String>,
713    #[serde(default, skip_serializing_if = "Option::is_none")]
714    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
715    pub optional: Option<bool>,
716}
717
718#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
719#[cfg_attr(feature = "builder", derive(TypedBuilder))]
720#[cfg_attr(feature = "schemars", derive(JsonSchema))]
721pub struct PlanUpgradeEnvs {
722    #[serde(default, skip_serializing_if = "Option::is_none")]
723    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
724    pub name: Option<String>,
725    #[serde(default, skip_serializing_if = "Option::is_none")]
726    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
727    pub value: Option<String>,
728    #[serde(default, skip_serializing_if = "Option::is_none", rename = "valueFrom")]
729    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
730    pub value_from: Option<PlanUpgradeEnvsValueFrom>,
731}
732
733#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
734#[cfg_attr(feature = "builder", derive(TypedBuilder))]
735#[cfg_attr(feature = "schemars", derive(JsonSchema))]
736pub struct PlanUpgradeEnvsValueFrom {
737    #[serde(
738        default,
739        skip_serializing_if = "Option::is_none",
740        rename = "configMapKeyRef"
741    )]
742    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
743    pub config_map_key_ref: Option<PlanUpgradeEnvsValueFromConfigMapKeyRef>,
744    #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldRef")]
745    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
746    pub field_ref: Option<PlanUpgradeEnvsValueFromFieldRef>,
747    #[serde(
748        default,
749        skip_serializing_if = "Option::is_none",
750        rename = "resourceFieldRef"
751    )]
752    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
753    pub resource_field_ref: Option<PlanUpgradeEnvsValueFromResourceFieldRef>,
754    #[serde(
755        default,
756        skip_serializing_if = "Option::is_none",
757        rename = "secretKeyRef"
758    )]
759    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
760    pub secret_key_ref: Option<PlanUpgradeEnvsValueFromSecretKeyRef>,
761}
762
763#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
764#[cfg_attr(feature = "builder", derive(TypedBuilder))]
765#[cfg_attr(feature = "schemars", derive(JsonSchema))]
766pub struct PlanUpgradeEnvsValueFromConfigMapKeyRef {
767    #[serde(default, skip_serializing_if = "Option::is_none")]
768    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
769    pub key: Option<String>,
770    #[serde(default, skip_serializing_if = "Option::is_none")]
771    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
772    pub name: Option<String>,
773    #[serde(default, skip_serializing_if = "Option::is_none")]
774    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
775    pub optional: Option<bool>,
776}
777
778#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
779#[cfg_attr(feature = "builder", derive(TypedBuilder))]
780#[cfg_attr(feature = "schemars", derive(JsonSchema))]
781pub struct PlanUpgradeEnvsValueFromFieldRef {
782    #[serde(
783        default,
784        skip_serializing_if = "Option::is_none",
785        rename = "apiVersion"
786    )]
787    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
788    pub api_version: Option<String>,
789    #[serde(default, skip_serializing_if = "Option::is_none", rename = "fieldPath")]
790    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
791    pub field_path: Option<String>,
792}
793
794#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
795#[cfg_attr(feature = "builder", derive(TypedBuilder))]
796#[cfg_attr(feature = "schemars", derive(JsonSchema))]
797pub struct PlanUpgradeEnvsValueFromResourceFieldRef {
798    #[serde(
799        default,
800        skip_serializing_if = "Option::is_none",
801        rename = "containerName"
802    )]
803    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
804    pub container_name: Option<String>,
805    #[serde(default, skip_serializing_if = "Option::is_none")]
806    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
807    pub divisor: Option<String>,
808    #[serde(default, skip_serializing_if = "Option::is_none")]
809    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
810    pub resource: Option<String>,
811}
812
813#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
814#[cfg_attr(feature = "builder", derive(TypedBuilder))]
815#[cfg_attr(feature = "schemars", derive(JsonSchema))]
816pub struct PlanUpgradeEnvsValueFromSecretKeyRef {
817    #[serde(default, skip_serializing_if = "Option::is_none")]
818    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
819    pub key: Option<String>,
820    #[serde(default, skip_serializing_if = "Option::is_none")]
821    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
822    pub name: Option<String>,
823    #[serde(default, skip_serializing_if = "Option::is_none")]
824    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
825    pub optional: Option<bool>,
826}
827
828#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
829#[cfg_attr(feature = "builder", derive(TypedBuilder))]
830#[cfg_attr(feature = "schemars", derive(JsonSchema))]
831pub struct PlanUpgradeSecurityContext {
832    #[serde(
833        default,
834        skip_serializing_if = "Option::is_none",
835        rename = "allowPrivilegeEscalation"
836    )]
837    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
838    pub allow_privilege_escalation: Option<bool>,
839    #[serde(
840        default,
841        skip_serializing_if = "Option::is_none",
842        rename = "appArmorProfile"
843    )]
844    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
845    pub app_armor_profile: Option<PlanUpgradeSecurityContextAppArmorProfile>,
846    #[serde(default, skip_serializing_if = "Option::is_none")]
847    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
848    pub capabilities: Option<PlanUpgradeSecurityContextCapabilities>,
849    #[serde(default, skip_serializing_if = "Option::is_none")]
850    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
851    pub privileged: Option<bool>,
852    #[serde(default, skip_serializing_if = "Option::is_none", rename = "procMount")]
853    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
854    pub proc_mount: Option<String>,
855    #[serde(
856        default,
857        skip_serializing_if = "Option::is_none",
858        rename = "readOnlyRootFilesystem"
859    )]
860    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
861    pub read_only_root_filesystem: Option<bool>,
862    #[serde(
863        default,
864        skip_serializing_if = "Option::is_none",
865        rename = "runAsGroup"
866    )]
867    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
868    pub run_as_group: Option<i64>,
869    #[serde(
870        default,
871        skip_serializing_if = "Option::is_none",
872        rename = "runAsNonRoot"
873    )]
874    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
875    pub run_as_non_root: Option<bool>,
876    #[serde(default, skip_serializing_if = "Option::is_none", rename = "runAsUser")]
877    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
878    pub run_as_user: Option<i64>,
879    #[serde(
880        default,
881        skip_serializing_if = "Option::is_none",
882        rename = "seLinuxOptions"
883    )]
884    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
885    pub se_linux_options: Option<PlanUpgradeSecurityContextSeLinuxOptions>,
886    #[serde(
887        default,
888        skip_serializing_if = "Option::is_none",
889        rename = "seccompProfile"
890    )]
891    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
892    pub seccomp_profile: Option<PlanUpgradeSecurityContextSeccompProfile>,
893    #[serde(
894        default,
895        skip_serializing_if = "Option::is_none",
896        rename = "windowsOptions"
897    )]
898    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
899    pub windows_options: Option<PlanUpgradeSecurityContextWindowsOptions>,
900}
901
902#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
903#[cfg_attr(feature = "builder", derive(TypedBuilder))]
904#[cfg_attr(feature = "schemars", derive(JsonSchema))]
905pub struct PlanUpgradeSecurityContextAppArmorProfile {
906    #[serde(
907        default,
908        skip_serializing_if = "Option::is_none",
909        rename = "localhostProfile"
910    )]
911    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
912    pub localhost_profile: Option<String>,
913    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
914    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
915    pub r#type: Option<String>,
916}
917
918#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
919#[cfg_attr(feature = "builder", derive(TypedBuilder))]
920#[cfg_attr(feature = "schemars", derive(JsonSchema))]
921pub struct PlanUpgradeSecurityContextCapabilities {
922    #[serde(default, skip_serializing_if = "Option::is_none")]
923    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
924    pub add: Option<Vec<String>>,
925    #[serde(default, skip_serializing_if = "Option::is_none")]
926    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
927    pub drop: Option<Vec<String>>,
928}
929
930#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
931#[cfg_attr(feature = "builder", derive(TypedBuilder))]
932#[cfg_attr(feature = "schemars", derive(JsonSchema))]
933pub struct PlanUpgradeSecurityContextSeLinuxOptions {
934    #[serde(default, skip_serializing_if = "Option::is_none")]
935    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
936    pub level: Option<String>,
937    #[serde(default, skip_serializing_if = "Option::is_none")]
938    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
939    pub role: Option<String>,
940    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
941    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
942    pub r#type: Option<String>,
943    #[serde(default, skip_serializing_if = "Option::is_none")]
944    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
945    pub user: Option<String>,
946}
947
948#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
949#[cfg_attr(feature = "builder", derive(TypedBuilder))]
950#[cfg_attr(feature = "schemars", derive(JsonSchema))]
951pub struct PlanUpgradeSecurityContextSeccompProfile {
952    #[serde(
953        default,
954        skip_serializing_if = "Option::is_none",
955        rename = "localhostProfile"
956    )]
957    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
958    pub localhost_profile: Option<String>,
959    #[serde(default, skip_serializing_if = "Option::is_none", rename = "type")]
960    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
961    pub r#type: Option<String>,
962}
963
964#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
965#[cfg_attr(feature = "builder", derive(TypedBuilder))]
966#[cfg_attr(feature = "schemars", derive(JsonSchema))]
967pub struct PlanUpgradeSecurityContextWindowsOptions {
968    #[serde(
969        default,
970        skip_serializing_if = "Option::is_none",
971        rename = "gmsaCredentialSpec"
972    )]
973    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
974    pub gmsa_credential_spec: Option<String>,
975    #[serde(
976        default,
977        skip_serializing_if = "Option::is_none",
978        rename = "gmsaCredentialSpecName"
979    )]
980    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
981    pub gmsa_credential_spec_name: Option<String>,
982    #[serde(
983        default,
984        skip_serializing_if = "Option::is_none",
985        rename = "hostProcess"
986    )]
987    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
988    pub host_process: Option<bool>,
989    #[serde(
990        default,
991        skip_serializing_if = "Option::is_none",
992        rename = "runAsUserName"
993    )]
994    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
995    pub run_as_user_name: Option<String>,
996}
997
998#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
999#[cfg_attr(feature = "builder", derive(TypedBuilder))]
1000#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1001pub struct PlanUpgradeVolumes {
1002    #[serde(default, skip_serializing_if = "Option::is_none")]
1003    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1004    pub destination: Option<String>,
1005    #[serde(default, skip_serializing_if = "Option::is_none")]
1006    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1007    pub name: Option<String>,
1008    #[serde(default, skip_serializing_if = "Option::is_none")]
1009    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1010    pub source: Option<String>,
1011}
1012
1013#[derive(Serialize, Deserialize, Clone, Debug, Default, PartialEq)]
1014#[cfg_attr(feature = "builder", derive(TypedBuilder))]
1015#[cfg_attr(feature = "schemars", derive(JsonSchema))]
1016pub struct PlanStatus {
1017    #[serde(default, skip_serializing_if = "Option::is_none")]
1018    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1019    pub applying: Option<Vec<String>>,
1020    #[serde(default, skip_serializing_if = "Option::is_none")]
1021    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1022    pub conditions: Option<Vec<Condition>>,
1023    #[serde(
1024        default,
1025        skip_serializing_if = "Option::is_none",
1026        rename = "latestHash"
1027    )]
1028    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1029    pub latest_hash: Option<String>,
1030    #[serde(
1031        default,
1032        skip_serializing_if = "Option::is_none",
1033        rename = "latestVersion"
1034    )]
1035    #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))]
1036    pub latest_version: Option<String>,
1037}