1#[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}