argo_cd_crds/
lib.rs

1// Generated by:
2// target/debug/k8s-crds-codegen
3
4pub mod argoproj_io {
5    pub mod v1alpha1 {
6        pub mod app_project {
7            /// AppProject provides a logical grouping of applications, providing controls for: * where the apps may deploy to (cluster whitelist) * what may be deployed (repository whitelist, resource whitelist/blacklist) * who can access these applications (roles, OIDC group claims bindings) * and what they can do (RBAC policies) * automation access to these roles (JWT tokens)
8            #[derive(serde::Deserialize, Debug, PartialEq)]
9            pub struct AppProject {
10                pub metadata: k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta,
11                pub spec: Spec,
12                pub status: Status,
13            }
14
15            impl k8s_openapi::Resource for AppProject {
16                type Scope = k8s_openapi::ClusterResourceScope;
17
18                const API_VERSION: &'static str = "argoproj.io/v1alpha1";
19                const GROUP: &'static str = "argoproj.io";
20                const KIND: &'static str = "AppProject";
21                const VERSION: &'static str = "v1alpha1";
22                const URL_PATH_SEGMENT: &'static str = "TODO";
23            }
24
25            impl k8s_openapi::Metadata for AppProject {
26                type Ty = k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta;
27
28                fn metadata(&self) -> &<Self as k8s_openapi::Metadata>::Ty {
29                    &self.metadata
30                }
31
32                fn metadata_mut(&mut self) -> &mut <Self as k8s_openapi::Metadata>::Ty {
33                    &mut self.metadata
34                }
35            }
36
37            impl serde::Serialize for AppProject {
38                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
39                where
40                    S: serde::Serializer,
41                {
42                    use serde::ser::SerializeStruct;
43                    let mut state = serializer.serialize_struct("AppProject", 5)?;
44                    state.serialize_field(
45                        "apiVersion",
46                        <Self as k8s_openapi::Resource>::API_VERSION,
47                    )?;
48                    state.serialize_field("kind", <Self as k8s_openapi::Resource>::KIND)?;
49                    state.serialize_field("metadata", &self.metadata)?;
50                    state.serialize_field("spec", &self.spec)?;
51                    state.serialize_field("status", &self.status)?;
52                    state.end()
53                }
54            }
55
56            /// GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying concepts during lookup stages without having partially valid types
57            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
58            #[serde(rename_all = "camelCase")]
59            pub struct ClusterResourceBlacklistItem {
60                pub group: String,
61                pub kind: String,
62            }
63
64            /// GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying concepts during lookup stages without having partially valid types
65            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
66            #[serde(rename_all = "camelCase")]
67            pub struct ClusterResourceWhitelistItem {
68                pub group: String,
69                pub kind: String,
70            }
71
72            /// ApplicationDestination holds information about the application's destination
73            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
74            #[serde(rename_all = "camelCase")]
75            pub struct DestinationsItem {
76                /// Name is an alternate way of specifying the target cluster by its symbolic name
77                pub name: String,
78                /// Namespace specifies the target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
79                pub namespace: String,
80                /// Server specifies the URL of the target cluster and must be set to the Kubernetes control plane API
81                pub server: String,
82            }
83
84            /// OrphanedResourceKey is a reference to a resource to be ignored from
85            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
86            #[serde(rename_all = "camelCase")]
87            pub struct IgnoreItem {
88                pub group: String,
89                pub kind: String,
90                pub name: String,
91            }
92
93            /// JWTToken holds the issuedAt and expiresAt values of a token
94            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
95            #[serde(rename_all = "camelCase")]
96            pub struct ItemsItem {
97                pub exp: i64,
98                pub iat: i64,
99                pub id: String,
100            }
101
102            /// JWTTokensByRole contains a list of JWT tokens issued for a given role
103            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
104            #[serde(rename_all = "camelCase")]
105            pub struct JwtTokensByRole {
106                /// JWTTokensByRole contains a list of JWT tokens issued for a given role
107                pub properties: std::collections::HashMap<String, Value>,
108            }
109
110            /// JWTToken holds the issuedAt and expiresAt values of a token
111            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
112            #[serde(rename_all = "camelCase")]
113            pub struct JwtTokensItem {
114                pub exp: i64,
115                pub iat: i64,
116                pub id: String,
117            }
118
119            /// GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying concepts during lookup stages without having partially valid types
120            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
121            #[serde(rename_all = "camelCase")]
122            pub struct NamespaceResourceBlacklistItem {
123                pub group: String,
124                pub kind: String,
125            }
126
127            /// GroupKind specifies a Group and a Kind, but does not force a version.  This is useful for identifying concepts during lookup stages without having partially valid types
128            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
129            #[serde(rename_all = "camelCase")]
130            pub struct NamespaceResourceWhitelistItem {
131                pub group: String,
132                pub kind: String,
133            }
134
135            /// OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
136            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
137            #[serde(rename_all = "camelCase")]
138            pub struct OrphanedResources {
139                /// Ignore contains a list of resources that are to be excluded from orphaned resources monitoring
140                pub ignore: Vec<IgnoreItem>,
141                /// Warn indicates if warning condition should be created for apps which have orphaned resources
142                pub warn: bool,
143            }
144
145            /// ProjectRole represents a role that has access to a project
146            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
147            #[serde(rename_all = "camelCase")]
148            pub struct RolesItem {
149                /// Description is a description of the role
150                pub description: String,
151                /// Groups are a list of OIDC group claims bound to this role
152                pub groups: Vec<String>,
153                /// JWTTokens are a list of generated JWT tokens bound to this role
154                pub jwt_tokens: Vec<JwtTokensItem>,
155                /// Name is a name for this role
156                pub name: String,
157                /// Policies Stores a list of casbin formatted strings that define access policies for the role in the project
158                pub policies: Vec<String>,
159            }
160
161            /// SignatureKey is the specification of a key required to verify commit signatures with
162            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
163            #[serde(rename_all = "camelCase")]
164            pub struct SignatureKeysItem {
165                /// The ID of the key in hexadecimal notation
166                pub key_i_d: String,
167            }
168
169            /// AppProjectSpec is the specification of an AppProject
170            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
171            #[serde(rename_all = "camelCase")]
172            pub struct Spec {
173                /// ClusterResourceBlacklist contains list of blacklisted cluster level resources
174                pub cluster_resource_blacklist: Vec<ClusterResourceBlacklistItem>,
175                /// ClusterResourceWhitelist contains list of whitelisted cluster level resources
176                pub cluster_resource_whitelist: Vec<ClusterResourceWhitelistItem>,
177                /// Description contains optional project description
178                pub description: String,
179                /// Destinations contains list of destinations available for deployment
180                pub destinations: Vec<DestinationsItem>,
181                /// NamespaceResourceBlacklist contains list of blacklisted namespace level resources
182                pub namespace_resource_blacklist: Vec<NamespaceResourceBlacklistItem>,
183                /// NamespaceResourceWhitelist contains list of whitelisted namespace level resources
184                pub namespace_resource_whitelist: Vec<NamespaceResourceWhitelistItem>,
185                /// OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
186                pub orphaned_resources: OrphanedResources,
187                /// Roles are user defined RBAC roles associated with this project
188                pub roles: Vec<RolesItem>,
189                /// SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync
190                pub signature_keys: Vec<SignatureKeysItem>,
191                /// SourceRepos contains list of repository URLs which can be used for deployment
192                pub source_repos: Vec<String>,
193                /// SyncWindows controls when syncs can be run for apps in this project
194                pub sync_windows: Vec<SyncWindowsItem>,
195            }
196
197            /// AppProjectStatus contains status information for AppProject CRs
198            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
199            #[serde(rename_all = "camelCase")]
200            pub struct Status {
201                /// JWTTokensByRole contains a list of JWT tokens issued for a given role
202                pub jwt_tokens_by_role: JwtTokensByRole,
203            }
204
205            /// SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
206            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
207            #[serde(rename_all = "camelCase")]
208            pub struct SyncWindowsItem {
209                /// Applications contains a list of applications that the window will apply to
210                pub applications: Vec<String>,
211                /// Clusters contains a list of clusters that the window will apply to
212                pub clusters: Vec<String>,
213                /// Duration is the amount of time the sync window will be open
214                pub duration: String,
215                /// Kind defines if the window allows or blocks syncs
216                pub kind: String,
217                /// ManualSync enables manual syncs when they would otherwise be blocked
218                pub manual_sync: bool,
219                /// Namespaces contains a list of namespaces that the window will apply to
220                pub namespaces: Vec<String>,
221                /// Schedule is the time the window will begin, specified in cron format
222                pub schedule: String,
223                /// TimeZone of the sync that will be applied to the schedule
224                pub time_zone: String,
225            }
226
227            /// JWTTokens represents a list of JWT tokens
228            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
229            #[serde(rename_all = "camelCase")]
230            pub struct Value {
231                pub items: Vec<ItemsItem>,
232            }
233        }
234        pub mod application {
235            /// Application is a definition of Application resource.
236            #[derive(serde::Deserialize, Debug, PartialEq)]
237            pub struct Application {
238                pub metadata: k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta,
239                pub operation: Operation,
240                pub spec: Spec,
241                pub status: Status,
242            }
243
244            impl k8s_openapi::Resource for Application {
245                type Scope = k8s_openapi::ClusterResourceScope;
246
247                const API_VERSION: &'static str = "argoproj.io/v1alpha1";
248                const GROUP: &'static str = "argoproj.io";
249                const KIND: &'static str = "Application";
250                const VERSION: &'static str = "v1alpha1";
251                const URL_PATH_SEGMENT: &'static str = "TODO";
252            }
253
254            impl k8s_openapi::Metadata for Application {
255                type Ty = k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta;
256
257                fn metadata(&self) -> &<Self as k8s_openapi::Metadata>::Ty {
258                    &self.metadata
259                }
260
261                fn metadata_mut(&mut self) -> &mut <Self as k8s_openapi::Metadata>::Ty {
262                    &mut self.metadata
263                }
264            }
265
266            impl serde::Serialize for Application {
267                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
268                where
269                    S: serde::Serializer,
270                {
271                    use serde::ser::SerializeStruct;
272                    let mut state = serializer.serialize_struct("Application", 6)?;
273                    state.serialize_field(
274                        "apiVersion",
275                        <Self as k8s_openapi::Resource>::API_VERSION,
276                    )?;
277                    state.serialize_field("kind", <Self as k8s_openapi::Resource>::KIND)?;
278                    state.serialize_field("metadata", &self.metadata)?;
279                    state.serialize_field("operation", &self.operation)?;
280                    state.serialize_field("spec", &self.spec)?;
281                    state.serialize_field("status", &self.status)?;
282                    state.end()
283                }
284            }
285
286            /// Apply will perform a `kubectl apply` to perform the sync.
287            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
288            #[serde(rename_all = "camelCase")]
289            pub struct OperationSyncSyncStrategyApply {
290                /// Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
291                pub force: bool,
292            }
293
294            /// Apply will perform a `kubectl apply` to perform the sync.
295            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
296            #[serde(rename_all = "camelCase")]
297            pub struct OperationStateOperationSyncSyncStrategyApply {
298                /// Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
299                pub force: bool,
300            }
301
302            /// Automated will keep an application synced to the target revision
303            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
304            #[serde(rename_all = "camelCase")]
305            pub struct Automated {
306                /// AllowEmpty allows apps have zero live resources (default: false)
307                pub allow_empty: bool,
308                /// Prune specifies whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false)
309                pub prune: bool,
310                /// SelfHeal specifes whether to revert resources back to their desired state upon modification in the cluster (default: false)
311                pub self_heal: bool,
312            }
313
314            /// Backoff controls how to backoff on subsequent retries of failed syncs
315            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
316            #[serde(rename_all = "camelCase")]
317            pub struct OperationRetryBackoff {
318                /// Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
319                pub duration: String,
320                /// Factor is a factor to multiply the base duration after each failed retry
321                pub factor: i64,
322                /// MaxDuration is the maximum amount of time allowed for the backoff strategy
323                pub max_duration: String,
324            }
325
326            /// Backoff controls how to backoff on subsequent retries of failed syncs
327            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
328            #[serde(rename_all = "camelCase")]
329            pub struct SyncPolicyRetryBackoff {
330                /// Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
331                pub duration: String,
332                /// Factor is a factor to multiply the base duration after each failed retry
333                pub factor: i64,
334                /// MaxDuration is the maximum amount of time allowed for the backoff strategy
335                pub max_duration: String,
336            }
337
338            /// Backoff controls how to backoff on subsequent retries of failed syncs
339            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
340            #[serde(rename_all = "camelCase")]
341            pub struct OperationStateOperationRetryBackoff {
342                /// Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h")
343                pub duration: String,
344                /// Factor is a factor to multiply the base duration after each failed retry
345                pub factor: i64,
346                /// MaxDuration is the maximum amount of time allowed for the backoff strategy
347                pub max_duration: String,
348            }
349
350            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
351            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
352            #[serde(rename_all = "camelCase")]
353            pub struct OperationSyncSourceKustomizeCommonAnnotations {
354                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
355                pub properties: std::collections::HashMap<String, String>,
356            }
357
358            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
359            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
360            #[serde(rename_all = "camelCase")]
361            pub struct SpecSourceKustomizeCommonAnnotations {
362                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
363                pub properties: std::collections::HashMap<String, String>,
364            }
365
366            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
367            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
368            #[serde(rename_all = "camelCase")]
369            pub struct HistoryItemSourceKustomizeCommonAnnotations {
370                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
371                pub properties: std::collections::HashMap<String, String>,
372            }
373
374            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
375            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
376            #[serde(rename_all = "camelCase")]
377            pub struct OperationStateOperationSyncSourceKustomizeCommonAnnotations {
378                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
379                pub properties: std::collections::HashMap<String, String>,
380            }
381
382            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
383            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
384            #[serde(rename_all = "camelCase")]
385            pub struct SyncResultSourceKustomizeCommonAnnotations {
386                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
387                pub properties: std::collections::HashMap<String, String>,
388            }
389
390            /// CommonAnnotations is a list of additional annotations to add to rendered manifests
391            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
392            #[serde(rename_all = "camelCase")]
393            pub struct ComparedToSourceKustomizeCommonAnnotations {
394                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
395                pub properties: std::collections::HashMap<String, String>,
396            }
397
398            /// CommonLabels is a list of additional labels to add to rendered manifests
399            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
400            #[serde(rename_all = "camelCase")]
401            pub struct OperationSyncSourceKustomizeCommonLabels {
402                /// CommonLabels is a list of additional labels to add to rendered manifests
403                pub properties: std::collections::HashMap<String, String>,
404            }
405
406            /// CommonLabels is a list of additional labels to add to rendered manifests
407            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
408            #[serde(rename_all = "camelCase")]
409            pub struct SpecSourceKustomizeCommonLabels {
410                /// CommonLabels is a list of additional labels to add to rendered manifests
411                pub properties: std::collections::HashMap<String, String>,
412            }
413
414            /// CommonLabels is a list of additional labels to add to rendered manifests
415            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
416            #[serde(rename_all = "camelCase")]
417            pub struct HistoryItemSourceKustomizeCommonLabels {
418                /// CommonLabels is a list of additional labels to add to rendered manifests
419                pub properties: std::collections::HashMap<String, String>,
420            }
421
422            /// CommonLabels is a list of additional labels to add to rendered manifests
423            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
424            #[serde(rename_all = "camelCase")]
425            pub struct OperationStateOperationSyncSourceKustomizeCommonLabels {
426                /// CommonLabels is a list of additional labels to add to rendered manifests
427                pub properties: std::collections::HashMap<String, String>,
428            }
429
430            /// CommonLabels is a list of additional labels to add to rendered manifests
431            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
432            #[serde(rename_all = "camelCase")]
433            pub struct SyncResultSourceKustomizeCommonLabels {
434                /// CommonLabels is a list of additional labels to add to rendered manifests
435                pub properties: std::collections::HashMap<String, String>,
436            }
437
438            /// CommonLabels is a list of additional labels to add to rendered manifests
439            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
440            #[serde(rename_all = "camelCase")]
441            pub struct ComparedToSourceKustomizeCommonLabels {
442                /// CommonLabels is a list of additional labels to add to rendered manifests
443                pub properties: std::collections::HashMap<String, String>,
444            }
445
446            /// ComparedTo contains information about what has been compared
447            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
448            #[serde(rename_all = "camelCase")]
449            pub struct ComparedTo {
450                /// Destination is a reference to the application's destination used for comparison
451                pub destination: ComparedToDestination,
452                /// Source is a reference to the application's source used for comparison
453                pub source: ComparedToSource,
454            }
455
456            /// ApplicationCondition contains details about an application condition, which is usally an error or warning
457            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
458            #[serde(rename_all = "camelCase")]
459            pub struct ConditionsItem {
460                /// LastTransitionTime is the time the condition was last observed
461                pub last_transition_time: String,
462                /// Message contains human-readable message indicating details about condition
463                pub message: String,
464                /// Type is an application condition type
465                pub r#type: String,
466            }
467
468            /// Destination is a reference to the target Kubernetes server and namespace
469            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
470            #[serde(rename_all = "camelCase")]
471            pub struct SpecDestination {
472                /// Name is an alternate way of specifying the target cluster by its symbolic name
473                pub name: String,
474                /// Namespace specifies the target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
475                pub namespace: String,
476                /// Server specifies the URL of the target cluster and must be set to the Kubernetes control plane API
477                pub server: String,
478            }
479
480            /// Destination is a reference to the application's destination used for comparison
481            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
482            #[serde(rename_all = "camelCase")]
483            pub struct ComparedToDestination {
484                /// Name is an alternate way of specifying the target cluster by its symbolic name
485                pub name: String,
486                /// Namespace specifies the target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
487                pub namespace: String,
488                /// Server specifies the URL of the target cluster and must be set to the Kubernetes control plane API
489                pub server: String,
490            }
491
492            /// Directory holds path/directory specific options
493            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
494            #[serde(rename_all = "camelCase")]
495            pub struct OperationSyncSourceDirectory {
496                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
497                pub exclude: String,
498                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
499                pub include: String,
500                /// Jsonnet holds options specific to Jsonnet
501                pub jsonnet: OperationSyncSourceDirectoryJsonnet,
502                /// Recurse specifies whether to scan a directory recursively for manifests
503                pub recurse: bool,
504            }
505
506            /// Directory holds path/directory specific options
507            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
508            #[serde(rename_all = "camelCase")]
509            pub struct SpecSourceDirectory {
510                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
511                pub exclude: String,
512                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
513                pub include: String,
514                /// Jsonnet holds options specific to Jsonnet
515                pub jsonnet: SpecSourceDirectoryJsonnet,
516                /// Recurse specifies whether to scan a directory recursively for manifests
517                pub recurse: bool,
518            }
519
520            /// Directory holds path/directory specific options
521            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
522            #[serde(rename_all = "camelCase")]
523            pub struct HistoryItemSourceDirectory {
524                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
525                pub exclude: String,
526                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
527                pub include: String,
528                /// Jsonnet holds options specific to Jsonnet
529                pub jsonnet: HistoryItemSourceDirectoryJsonnet,
530                /// Recurse specifies whether to scan a directory recursively for manifests
531                pub recurse: bool,
532            }
533
534            /// Directory holds path/directory specific options
535            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
536            #[serde(rename_all = "camelCase")]
537            pub struct OperationStateOperationSyncSourceDirectory {
538                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
539                pub exclude: String,
540                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
541                pub include: String,
542                /// Jsonnet holds options specific to Jsonnet
543                pub jsonnet: OperationStateOperationSyncSourceDirectoryJsonnet,
544                /// Recurse specifies whether to scan a directory recursively for manifests
545                pub recurse: bool,
546            }
547
548            /// Directory holds path/directory specific options
549            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
550            #[serde(rename_all = "camelCase")]
551            pub struct SyncResultSourceDirectory {
552                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
553                pub exclude: String,
554                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
555                pub include: String,
556                /// Jsonnet holds options specific to Jsonnet
557                pub jsonnet: SyncResultSourceDirectoryJsonnet,
558                /// Recurse specifies whether to scan a directory recursively for manifests
559                pub recurse: bool,
560            }
561
562            /// Directory holds path/directory specific options
563            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
564            #[serde(rename_all = "camelCase")]
565            pub struct ComparedToSourceDirectory {
566                /// Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation
567                pub exclude: String,
568                /// Include contains a glob pattern to match paths against that should be explicitly included during manifest generation
569                pub include: String,
570                /// Jsonnet holds options specific to Jsonnet
571                pub jsonnet: ComparedToSourceDirectoryJsonnet,
572                /// Recurse specifies whether to scan a directory recursively for manifests
573                pub recurse: bool,
574            }
575
576            /// EnvEntry represents an entry in the application's environment
577            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
578            #[serde(rename_all = "camelCase")]
579            pub struct OperationSyncSourcePluginEnvItem {
580                /// Name is the name of the variable, usually expressed in uppercase
581                pub name: String,
582                /// Value is the value of the variable
583                pub value: String,
584            }
585
586            /// EnvEntry represents an entry in the application's environment
587            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
588            #[serde(rename_all = "camelCase")]
589            pub struct SpecSourcePluginEnvItem {
590                /// Name is the name of the variable, usually expressed in uppercase
591                pub name: String,
592                /// Value is the value of the variable
593                pub value: String,
594            }
595
596            /// EnvEntry represents an entry in the application's environment
597            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
598            #[serde(rename_all = "camelCase")]
599            pub struct HistoryItemSourcePluginEnvItem {
600                /// Name is the name of the variable, usually expressed in uppercase
601                pub name: String,
602                /// Value is the value of the variable
603                pub value: String,
604            }
605
606            /// EnvEntry represents an entry in the application's environment
607            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
608            #[serde(rename_all = "camelCase")]
609            pub struct OperationStateOperationSyncSourcePluginEnvItem {
610                /// Name is the name of the variable, usually expressed in uppercase
611                pub name: String,
612                /// Value is the value of the variable
613                pub value: String,
614            }
615
616            /// EnvEntry represents an entry in the application's environment
617            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
618            #[serde(rename_all = "camelCase")]
619            pub struct SyncResultSourcePluginEnvItem {
620                /// Name is the name of the variable, usually expressed in uppercase
621                pub name: String,
622                /// Value is the value of the variable
623                pub value: String,
624            }
625
626            /// EnvEntry represents an entry in the application's environment
627            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
628            #[serde(rename_all = "camelCase")]
629            pub struct ComparedToSourcePluginEnvItem {
630                /// Name is the name of the variable, usually expressed in uppercase
631                pub name: String,
632                /// Value is the value of the variable
633                pub value: String,
634            }
635
636            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
637            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
638            #[serde(rename_all = "camelCase")]
639            pub struct OperationSyncSourceDirectoryJsonnetExtVarsItem {
640                pub code: bool,
641                pub name: String,
642                pub value: String,
643            }
644
645            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
646            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
647            #[serde(rename_all = "camelCase")]
648            pub struct SpecSourceDirectoryJsonnetExtVarsItem {
649                pub code: bool,
650                pub name: String,
651                pub value: String,
652            }
653
654            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
655            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
656            #[serde(rename_all = "camelCase")]
657            pub struct HistoryItemSourceDirectoryJsonnetExtVarsItem {
658                pub code: bool,
659                pub name: String,
660                pub value: String,
661            }
662
663            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
664            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
665            #[serde(rename_all = "camelCase")]
666            pub struct OperationStateOperationSyncSourceDirectoryJsonnetExtVarsItem {
667                pub code: bool,
668                pub name: String,
669                pub value: String,
670            }
671
672            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
673            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
674            #[serde(rename_all = "camelCase")]
675            pub struct SyncResultSourceDirectoryJsonnetExtVarsItem {
676                pub code: bool,
677                pub name: String,
678                pub value: String,
679            }
680
681            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
682            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
683            #[serde(rename_all = "camelCase")]
684            pub struct ComparedToSourceDirectoryJsonnetExtVarsItem {
685                pub code: bool,
686                pub name: String,
687                pub value: String,
688            }
689
690            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
691            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
692            #[serde(rename_all = "camelCase")]
693            pub struct OperationSyncSourceHelmFileParametersItem {
694                /// Name is the name of the Helm parameter
695                pub name: String,
696                /// Path is the path to the file containing the values for the Helm parameter
697                pub path: String,
698            }
699
700            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
701            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
702            #[serde(rename_all = "camelCase")]
703            pub struct SpecSourceHelmFileParametersItem {
704                /// Name is the name of the Helm parameter
705                pub name: String,
706                /// Path is the path to the file containing the values for the Helm parameter
707                pub path: String,
708            }
709
710            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
711            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
712            #[serde(rename_all = "camelCase")]
713            pub struct HistoryItemSourceHelmFileParametersItem {
714                /// Name is the name of the Helm parameter
715                pub name: String,
716                /// Path is the path to the file containing the values for the Helm parameter
717                pub path: String,
718            }
719
720            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
721            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
722            #[serde(rename_all = "camelCase")]
723            pub struct OperationStateOperationSyncSourceHelmFileParametersItem {
724                /// Name is the name of the Helm parameter
725                pub name: String,
726                /// Path is the path to the file containing the values for the Helm parameter
727                pub path: String,
728            }
729
730            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
731            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
732            #[serde(rename_all = "camelCase")]
733            pub struct SyncResultSourceHelmFileParametersItem {
734                /// Name is the name of the Helm parameter
735                pub name: String,
736                /// Path is the path to the file containing the values for the Helm parameter
737                pub path: String,
738            }
739
740            /// HelmFileParameter is a file parameter that's passed to helm template during manifest generation
741            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
742            #[serde(rename_all = "camelCase")]
743            pub struct ComparedToSourceHelmFileParametersItem {
744                /// Name is the name of the Helm parameter
745                pub name: String,
746                /// Path is the path to the file containing the values for the Helm parameter
747                pub path: String,
748            }
749
750            /// Health contains information about the application's current health status
751            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
752            #[serde(rename_all = "camelCase")]
753            pub struct StatusHealth {
754                /// Message is a human-readable informational message describing the health status
755                pub message: String,
756                /// Status holds the status code of the application or resource
757                pub status: String,
758            }
759
760            /// HealthStatus contains information about the currently observed health state of an application or resource
761            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
762            #[serde(rename_all = "camelCase")]
763            pub struct ResourcesItemHealth {
764                /// Message is a human-readable informational message describing the health status
765                pub message: String,
766                /// Status holds the status code of the application or resource
767                pub status: String,
768            }
769
770            /// Helm holds helm specific options
771            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
772            #[serde(rename_all = "camelCase")]
773            pub struct OperationSyncSourceHelm {
774                /// FileParameters are file parameters to the helm template
775                pub file_parameters: Vec<OperationSyncSourceHelmFileParametersItem>,
776                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
777                pub ignore_missing_value_files: bool,
778                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
779                pub parameters: Vec<OperationSyncSourceHelmParametersItem>,
780                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
781                pub pass_credentials: bool,
782                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
783                pub release_name: String,
784                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
785                pub skip_crds: bool,
786                /// ValuesFiles is a list of Helm value files to use when generating a template
787                pub value_files: Vec<String>,
788                /// Values specifies Helm values to be passed to helm template, typically defined as a block
789                pub values: String,
790                /// Version is the Helm version to use for templating ("3")
791                pub version: String,
792            }
793
794            /// Helm holds helm specific options
795            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
796            #[serde(rename_all = "camelCase")]
797            pub struct SpecSourceHelm {
798                /// FileParameters are file parameters to the helm template
799                pub file_parameters: Vec<SpecSourceHelmFileParametersItem>,
800                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
801                pub ignore_missing_value_files: bool,
802                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
803                pub parameters: Vec<SpecSourceHelmParametersItem>,
804                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
805                pub pass_credentials: bool,
806                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
807                pub release_name: String,
808                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
809                pub skip_crds: bool,
810                /// ValuesFiles is a list of Helm value files to use when generating a template
811                pub value_files: Vec<String>,
812                /// Values specifies Helm values to be passed to helm template, typically defined as a block
813                pub values: String,
814                /// Version is the Helm version to use for templating ("3")
815                pub version: String,
816            }
817
818            /// Helm holds helm specific options
819            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
820            #[serde(rename_all = "camelCase")]
821            pub struct HistoryItemSourceHelm {
822                /// FileParameters are file parameters to the helm template
823                pub file_parameters: Vec<HistoryItemSourceHelmFileParametersItem>,
824                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
825                pub ignore_missing_value_files: bool,
826                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
827                pub parameters: Vec<HistoryItemSourceHelmParametersItem>,
828                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
829                pub pass_credentials: bool,
830                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
831                pub release_name: String,
832                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
833                pub skip_crds: bool,
834                /// ValuesFiles is a list of Helm value files to use when generating a template
835                pub value_files: Vec<String>,
836                /// Values specifies Helm values to be passed to helm template, typically defined as a block
837                pub values: String,
838                /// Version is the Helm version to use for templating ("3")
839                pub version: String,
840            }
841
842            /// Helm holds helm specific options
843            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
844            #[serde(rename_all = "camelCase")]
845            pub struct OperationStateOperationSyncSourceHelm {
846                /// FileParameters are file parameters to the helm template
847                pub file_parameters: Vec<OperationStateOperationSyncSourceHelmFileParametersItem>,
848                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
849                pub ignore_missing_value_files: bool,
850                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
851                pub parameters: Vec<OperationStateOperationSyncSourceHelmParametersItem>,
852                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
853                pub pass_credentials: bool,
854                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
855                pub release_name: String,
856                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
857                pub skip_crds: bool,
858                /// ValuesFiles is a list of Helm value files to use when generating a template
859                pub value_files: Vec<String>,
860                /// Values specifies Helm values to be passed to helm template, typically defined as a block
861                pub values: String,
862                /// Version is the Helm version to use for templating ("3")
863                pub version: String,
864            }
865
866            /// Helm holds helm specific options
867            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
868            #[serde(rename_all = "camelCase")]
869            pub struct SyncResultSourceHelm {
870                /// FileParameters are file parameters to the helm template
871                pub file_parameters: Vec<SyncResultSourceHelmFileParametersItem>,
872                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
873                pub ignore_missing_value_files: bool,
874                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
875                pub parameters: Vec<SyncResultSourceHelmParametersItem>,
876                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
877                pub pass_credentials: bool,
878                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
879                pub release_name: String,
880                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
881                pub skip_crds: bool,
882                /// ValuesFiles is a list of Helm value files to use when generating a template
883                pub value_files: Vec<String>,
884                /// Values specifies Helm values to be passed to helm template, typically defined as a block
885                pub values: String,
886                /// Version is the Helm version to use for templating ("3")
887                pub version: String,
888            }
889
890            /// Helm holds helm specific options
891            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
892            #[serde(rename_all = "camelCase")]
893            pub struct ComparedToSourceHelm {
894                /// FileParameters are file parameters to the helm template
895                pub file_parameters: Vec<ComparedToSourceHelmFileParametersItem>,
896                /// IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values
897                pub ignore_missing_value_files: bool,
898                /// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
899                pub parameters: Vec<ComparedToSourceHelmParametersItem>,
900                /// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
901                pub pass_credentials: bool,
902                /// ReleaseName is the Helm release name to use. If omitted it will use the application name
903                pub release_name: String,
904                /// SkipCrds skips custom resource definition installation step (Helm's --skip-crds)
905                pub skip_crds: bool,
906                /// ValuesFiles is a list of Helm value files to use when generating a template
907                pub value_files: Vec<String>,
908                /// Values specifies Helm values to be passed to helm template, typically defined as a block
909                pub values: String,
910                /// Version is the Helm version to use for templating ("3")
911                pub version: String,
912            }
913
914            /// RevisionHistory contains history information about a previous sync
915            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
916            #[serde(rename_all = "camelCase")]
917            pub struct HistoryItem {
918                /// DeployStartedAt holds the time the sync operation started
919                pub deploy_started_at: String,
920                /// DeployedAt holds the time the sync operation completed
921                pub deployed_at: String,
922                /// ID is an auto incrementing identifier of the RevisionHistory
923                pub id: i64,
924                /// Revision holds the revision the sync was performed against
925                pub revision: String,
926                /// Source is a reference to the application source used for the sync operation
927                pub source: HistoryItemSource,
928            }
929
930            /// Hook will submit any referenced resources to perform the sync. This is the default strategy
931            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
932            #[serde(rename_all = "camelCase")]
933            pub struct OperationSyncSyncStrategyHook {
934                /// Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
935                pub force: bool,
936            }
937
938            /// Hook will submit any referenced resources to perform the sync. This is the default strategy
939            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
940            #[serde(rename_all = "camelCase")]
941            pub struct OperationStateOperationSyncSyncStrategyHook {
942                /// Force indicates whether or not to supply the --force flag to `kubectl apply`. The --force flag deletes and re-create the resource, when PATCH encounters conflict and has retried for 5 times.
943                pub force: bool,
944            }
945
946            /// ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.
947            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
948            #[serde(rename_all = "camelCase")]
949            pub struct IgnoreDifferencesItem {
950                pub group: String,
951                pub jq_path_expressions: Vec<String>,
952                pub json_pointers: Vec<String>,
953                pub kind: String,
954                /// ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the desired state defined in the SCM and won't be displayed in diffs
955                pub managed_fields_managers: Vec<String>,
956                pub name: String,
957                pub namespace: String,
958            }
959
960            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
961            #[serde(rename_all = "camelCase")]
962            pub struct OperationInfoItem {
963                pub name: String,
964                pub value: String,
965            }
966
967            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
968            #[serde(rename_all = "camelCase")]
969            pub struct SpecInfoItem {
970                pub name: String,
971                pub value: String,
972            }
973
974            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
975            #[serde(rename_all = "camelCase")]
976            pub struct OperationStateOperationInfoItem {
977                pub name: String,
978                pub value: String,
979            }
980
981            /// InitiatedBy contains information about who initiated the operations
982            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
983            #[serde(rename_all = "camelCase")]
984            pub struct OperationInitiatedBy {
985                /// Automated is set to true if operation was initiated automatically by the application controller.
986                pub automated: bool,
987                /// Username contains the name of a user who started operation
988                pub username: String,
989            }
990
991            /// InitiatedBy contains information about who initiated the operations
992            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
993            #[serde(rename_all = "camelCase")]
994            pub struct OperationStateOperationInitiatedBy {
995                /// Automated is set to true if operation was initiated automatically by the application controller.
996                pub automated: bool,
997                /// Username contains the name of a user who started operation
998                pub username: String,
999            }
1000
1001            /// Jsonnet holds options specific to Jsonnet
1002            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1003            #[serde(rename_all = "camelCase")]
1004            pub struct OperationSyncSourceDirectoryJsonnet {
1005                /// ExtVars is a list of Jsonnet External Variables
1006                pub ext_vars: Vec<OperationSyncSourceDirectoryJsonnetExtVarsItem>,
1007                /// Additional library search dirs
1008                pub libs: Vec<String>,
1009                /// TLAS is a list of Jsonnet Top-level Arguments
1010                pub tlas: Vec<OperationSyncSourceDirectoryJsonnetTlasItem>,
1011            }
1012
1013            /// Jsonnet holds options specific to Jsonnet
1014            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1015            #[serde(rename_all = "camelCase")]
1016            pub struct SpecSourceDirectoryJsonnet {
1017                /// ExtVars is a list of Jsonnet External Variables
1018                pub ext_vars: Vec<SpecSourceDirectoryJsonnetExtVarsItem>,
1019                /// Additional library search dirs
1020                pub libs: Vec<String>,
1021                /// TLAS is a list of Jsonnet Top-level Arguments
1022                pub tlas: Vec<SpecSourceDirectoryJsonnetTlasItem>,
1023            }
1024
1025            /// Jsonnet holds options specific to Jsonnet
1026            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1027            #[serde(rename_all = "camelCase")]
1028            pub struct HistoryItemSourceDirectoryJsonnet {
1029                /// ExtVars is a list of Jsonnet External Variables
1030                pub ext_vars: Vec<HistoryItemSourceDirectoryJsonnetExtVarsItem>,
1031                /// Additional library search dirs
1032                pub libs: Vec<String>,
1033                /// TLAS is a list of Jsonnet Top-level Arguments
1034                pub tlas: Vec<HistoryItemSourceDirectoryJsonnetTlasItem>,
1035            }
1036
1037            /// Jsonnet holds options specific to Jsonnet
1038            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1039            #[serde(rename_all = "camelCase")]
1040            pub struct OperationStateOperationSyncSourceDirectoryJsonnet {
1041                /// ExtVars is a list of Jsonnet External Variables
1042                pub ext_vars: Vec<OperationStateOperationSyncSourceDirectoryJsonnetExtVarsItem>,
1043                /// Additional library search dirs
1044                pub libs: Vec<String>,
1045                /// TLAS is a list of Jsonnet Top-level Arguments
1046                pub tlas: Vec<OperationStateOperationSyncSourceDirectoryJsonnetTlasItem>,
1047            }
1048
1049            /// Jsonnet holds options specific to Jsonnet
1050            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1051            #[serde(rename_all = "camelCase")]
1052            pub struct SyncResultSourceDirectoryJsonnet {
1053                /// ExtVars is a list of Jsonnet External Variables
1054                pub ext_vars: Vec<SyncResultSourceDirectoryJsonnetExtVarsItem>,
1055                /// Additional library search dirs
1056                pub libs: Vec<String>,
1057                /// TLAS is a list of Jsonnet Top-level Arguments
1058                pub tlas: Vec<SyncResultSourceDirectoryJsonnetTlasItem>,
1059            }
1060
1061            /// Jsonnet holds options specific to Jsonnet
1062            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1063            #[serde(rename_all = "camelCase")]
1064            pub struct ComparedToSourceDirectoryJsonnet {
1065                /// ExtVars is a list of Jsonnet External Variables
1066                pub ext_vars: Vec<ComparedToSourceDirectoryJsonnetExtVarsItem>,
1067                /// Additional library search dirs
1068                pub libs: Vec<String>,
1069                /// TLAS is a list of Jsonnet Top-level Arguments
1070                pub tlas: Vec<ComparedToSourceDirectoryJsonnetTlasItem>,
1071            }
1072
1073            /// Kustomize holds kustomize specific options
1074            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1075            #[serde(rename_all = "camelCase")]
1076            pub struct OperationSyncSourceKustomize {
1077                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1078                pub common_annotations: OperationSyncSourceKustomizeCommonAnnotations,
1079                /// CommonLabels is a list of additional labels to add to rendered manifests
1080                pub common_labels: OperationSyncSourceKustomizeCommonLabels,
1081                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1082                pub force_common_annotations: bool,
1083                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1084                pub force_common_labels: bool,
1085                /// Images is a list of Kustomize image override specifications
1086                pub images: Vec<String>,
1087                /// NamePrefix is a prefix appended to resources for Kustomize apps
1088                pub name_prefix: String,
1089                /// NameSuffix is a suffix appended to resources for Kustomize apps
1090                pub name_suffix: String,
1091                /// Version controls which version of Kustomize to use for rendering manifests
1092                pub version: String,
1093            }
1094
1095            /// Kustomize holds kustomize specific options
1096            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1097            #[serde(rename_all = "camelCase")]
1098            pub struct SpecSourceKustomize {
1099                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1100                pub common_annotations: SpecSourceKustomizeCommonAnnotations,
1101                /// CommonLabels is a list of additional labels to add to rendered manifests
1102                pub common_labels: SpecSourceKustomizeCommonLabels,
1103                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1104                pub force_common_annotations: bool,
1105                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1106                pub force_common_labels: bool,
1107                /// Images is a list of Kustomize image override specifications
1108                pub images: Vec<String>,
1109                /// NamePrefix is a prefix appended to resources for Kustomize apps
1110                pub name_prefix: String,
1111                /// NameSuffix is a suffix appended to resources for Kustomize apps
1112                pub name_suffix: String,
1113                /// Version controls which version of Kustomize to use for rendering manifests
1114                pub version: String,
1115            }
1116
1117            /// Kustomize holds kustomize specific options
1118            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1119            #[serde(rename_all = "camelCase")]
1120            pub struct HistoryItemSourceKustomize {
1121                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1122                pub common_annotations: HistoryItemSourceKustomizeCommonAnnotations,
1123                /// CommonLabels is a list of additional labels to add to rendered manifests
1124                pub common_labels: HistoryItemSourceKustomizeCommonLabels,
1125                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1126                pub force_common_annotations: bool,
1127                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1128                pub force_common_labels: bool,
1129                /// Images is a list of Kustomize image override specifications
1130                pub images: Vec<String>,
1131                /// NamePrefix is a prefix appended to resources for Kustomize apps
1132                pub name_prefix: String,
1133                /// NameSuffix is a suffix appended to resources for Kustomize apps
1134                pub name_suffix: String,
1135                /// Version controls which version of Kustomize to use for rendering manifests
1136                pub version: String,
1137            }
1138
1139            /// Kustomize holds kustomize specific options
1140            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1141            #[serde(rename_all = "camelCase")]
1142            pub struct OperationStateOperationSyncSourceKustomize {
1143                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1144                pub common_annotations: OperationStateOperationSyncSourceKustomizeCommonAnnotations,
1145                /// CommonLabels is a list of additional labels to add to rendered manifests
1146                pub common_labels: OperationStateOperationSyncSourceKustomizeCommonLabels,
1147                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1148                pub force_common_annotations: bool,
1149                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1150                pub force_common_labels: bool,
1151                /// Images is a list of Kustomize image override specifications
1152                pub images: Vec<String>,
1153                /// NamePrefix is a prefix appended to resources for Kustomize apps
1154                pub name_prefix: String,
1155                /// NameSuffix is a suffix appended to resources for Kustomize apps
1156                pub name_suffix: String,
1157                /// Version controls which version of Kustomize to use for rendering manifests
1158                pub version: String,
1159            }
1160
1161            /// Kustomize holds kustomize specific options
1162            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1163            #[serde(rename_all = "camelCase")]
1164            pub struct SyncResultSourceKustomize {
1165                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1166                pub common_annotations: SyncResultSourceKustomizeCommonAnnotations,
1167                /// CommonLabels is a list of additional labels to add to rendered manifests
1168                pub common_labels: SyncResultSourceKustomizeCommonLabels,
1169                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1170                pub force_common_annotations: bool,
1171                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1172                pub force_common_labels: bool,
1173                /// Images is a list of Kustomize image override specifications
1174                pub images: Vec<String>,
1175                /// NamePrefix is a prefix appended to resources for Kustomize apps
1176                pub name_prefix: String,
1177                /// NameSuffix is a suffix appended to resources for Kustomize apps
1178                pub name_suffix: String,
1179                /// Version controls which version of Kustomize to use for rendering manifests
1180                pub version: String,
1181            }
1182
1183            /// Kustomize holds kustomize specific options
1184            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1185            #[serde(rename_all = "camelCase")]
1186            pub struct ComparedToSourceKustomize {
1187                /// CommonAnnotations is a list of additional annotations to add to rendered manifests
1188                pub common_annotations: ComparedToSourceKustomizeCommonAnnotations,
1189                /// CommonLabels is a list of additional labels to add to rendered manifests
1190                pub common_labels: ComparedToSourceKustomizeCommonLabels,
1191                /// ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps
1192                pub force_common_annotations: bool,
1193                /// ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps
1194                pub force_common_labels: bool,
1195                /// Images is a list of Kustomize image override specifications
1196                pub images: Vec<String>,
1197                /// NamePrefix is a prefix appended to resources for Kustomize apps
1198                pub name_prefix: String,
1199                /// NameSuffix is a suffix appended to resources for Kustomize apps
1200                pub name_suffix: String,
1201                /// Version controls which version of Kustomize to use for rendering manifests
1202                pub version: String,
1203            }
1204
1205            /// Operation contains information about a requested or running operation
1206            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1207            #[serde(rename_all = "camelCase")]
1208            pub struct Operation {
1209                /// Info is a list of informational items for this operation
1210                pub info: Vec<OperationInfoItem>,
1211                /// InitiatedBy contains information about who initiated the operations
1212                pub initiated_by: OperationInitiatedBy,
1213                /// Retry controls the strategy to apply if a sync fails
1214                pub retry: OperationRetry,
1215                /// Sync contains parameters for the operation
1216                pub sync: OperationSync,
1217            }
1218
1219            /// Operation is the original requested operation
1220            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1221            #[serde(rename_all = "camelCase")]
1222            pub struct OperationStateOperation {
1223                /// Info is a list of informational items for this operation
1224                pub info: Vec<OperationStateOperationInfoItem>,
1225                /// InitiatedBy contains information about who initiated the operations
1226                pub initiated_by: OperationStateOperationInitiatedBy,
1227                /// Retry controls the strategy to apply if a sync fails
1228                pub retry: OperationStateOperationRetry,
1229                /// Sync contains parameters for the operation
1230                pub sync: OperationStateOperationSync,
1231            }
1232
1233            /// OperationState contains information about any ongoing operations, such as a sync
1234            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1235            #[serde(rename_all = "camelCase")]
1236            pub struct OperationState {
1237                /// FinishedAt contains time of operation completion
1238                pub finished_at: String,
1239                /// Message holds any pertinent messages when attempting to perform operation (typically errors).
1240                pub message: String,
1241                /// Operation is the original requested operation
1242                pub operation: OperationStateOperation,
1243                /// Phase is the current phase of the operation
1244                pub phase: String,
1245                /// RetryCount contains time of operation retries
1246                pub retry_count: i64,
1247                /// StartedAt contains time of operation start
1248                pub started_at: String,
1249                /// SyncResult is the result of a Sync operation
1250                pub sync_result: SyncResult,
1251            }
1252
1253            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1254            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1255            #[serde(rename_all = "camelCase")]
1256            pub struct OperationSyncSourceHelmParametersItem {
1257                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1258                pub force_string: bool,
1259                /// Name is the name of the Helm parameter
1260                pub name: String,
1261                /// Value is the value for the Helm parameter
1262                pub value: String,
1263            }
1264
1265            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1266            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1267            #[serde(rename_all = "camelCase")]
1268            pub struct SpecSourceHelmParametersItem {
1269                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1270                pub force_string: bool,
1271                /// Name is the name of the Helm parameter
1272                pub name: String,
1273                /// Value is the value for the Helm parameter
1274                pub value: String,
1275            }
1276
1277            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1278            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1279            #[serde(rename_all = "camelCase")]
1280            pub struct HistoryItemSourceHelmParametersItem {
1281                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1282                pub force_string: bool,
1283                /// Name is the name of the Helm parameter
1284                pub name: String,
1285                /// Value is the value for the Helm parameter
1286                pub value: String,
1287            }
1288
1289            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1290            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1291            #[serde(rename_all = "camelCase")]
1292            pub struct OperationStateOperationSyncSourceHelmParametersItem {
1293                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1294                pub force_string: bool,
1295                /// Name is the name of the Helm parameter
1296                pub name: String,
1297                /// Value is the value for the Helm parameter
1298                pub value: String,
1299            }
1300
1301            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1302            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1303            #[serde(rename_all = "camelCase")]
1304            pub struct SyncResultSourceHelmParametersItem {
1305                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1306                pub force_string: bool,
1307                /// Name is the name of the Helm parameter
1308                pub name: String,
1309                /// Value is the value for the Helm parameter
1310                pub value: String,
1311            }
1312
1313            /// HelmParameter is a parameter that's passed to helm template during manifest generation
1314            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1315            #[serde(rename_all = "camelCase")]
1316            pub struct ComparedToSourceHelmParametersItem {
1317                /// ForceString determines whether to tell Helm to interpret booleans and numbers as strings
1318                pub force_string: bool,
1319                /// Name is the name of the Helm parameter
1320                pub name: String,
1321                /// Value is the value for the Helm parameter
1322                pub value: String,
1323            }
1324
1325            /// ConfigManagementPlugin holds config management plugin specific options
1326            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1327            #[serde(rename_all = "camelCase")]
1328            pub struct OperationSyncSourcePlugin {
1329                /// Env is a list of environment variable entries
1330                pub env: Vec<OperationSyncSourcePluginEnvItem>,
1331                pub name: String,
1332            }
1333
1334            /// ConfigManagementPlugin holds config management plugin specific options
1335            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1336            #[serde(rename_all = "camelCase")]
1337            pub struct SpecSourcePlugin {
1338                /// Env is a list of environment variable entries
1339                pub env: Vec<SpecSourcePluginEnvItem>,
1340                pub name: String,
1341            }
1342
1343            /// ConfigManagementPlugin holds config management plugin specific options
1344            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1345            #[serde(rename_all = "camelCase")]
1346            pub struct HistoryItemSourcePlugin {
1347                /// Env is a list of environment variable entries
1348                pub env: Vec<HistoryItemSourcePluginEnvItem>,
1349                pub name: String,
1350            }
1351
1352            /// ConfigManagementPlugin holds config management plugin specific options
1353            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1354            #[serde(rename_all = "camelCase")]
1355            pub struct OperationStateOperationSyncSourcePlugin {
1356                /// Env is a list of environment variable entries
1357                pub env: Vec<OperationStateOperationSyncSourcePluginEnvItem>,
1358                pub name: String,
1359            }
1360
1361            /// ConfigManagementPlugin holds config management plugin specific options
1362            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1363            #[serde(rename_all = "camelCase")]
1364            pub struct SyncResultSourcePlugin {
1365                /// Env is a list of environment variable entries
1366                pub env: Vec<SyncResultSourcePluginEnvItem>,
1367                pub name: String,
1368            }
1369
1370            /// ConfigManagementPlugin holds config management plugin specific options
1371            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1372            #[serde(rename_all = "camelCase")]
1373            pub struct ComparedToSourcePlugin {
1374                /// Env is a list of environment variable entries
1375                pub env: Vec<ComparedToSourcePluginEnvItem>,
1376                pub name: String,
1377            }
1378
1379            /// SyncOperationResource contains resources to sync.
1380            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1381            #[serde(rename_all = "camelCase")]
1382            pub struct OperationSyncResourcesItem {
1383                pub group: String,
1384                pub kind: String,
1385                pub name: String,
1386                pub namespace: String,
1387            }
1388
1389            /// ResourceStatus holds the current sync and health status of a resource TODO: describe members of this type
1390            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1391            #[serde(rename_all = "camelCase")]
1392            pub struct StatusResourcesItem {
1393                pub group: String,
1394                /// HealthStatus contains information about the currently observed health state of an application or resource
1395                pub health: ResourcesItemHealth,
1396                pub hook: bool,
1397                pub kind: String,
1398                pub name: String,
1399                pub namespace: String,
1400                pub requires_pruning: bool,
1401                /// SyncStatusCode is a type which represents possible comparison results
1402                pub status: String,
1403                pub version: String,
1404            }
1405
1406            /// SyncOperationResource contains resources to sync.
1407            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1408            #[serde(rename_all = "camelCase")]
1409            pub struct OperationStateOperationSyncResourcesItem {
1410                pub group: String,
1411                pub kind: String,
1412                pub name: String,
1413                pub namespace: String,
1414            }
1415
1416            /// ResourceResult holds the operation result details of a specific resource
1417            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1418            #[serde(rename_all = "camelCase")]
1419            pub struct SyncResultResourcesItem {
1420                /// Group specifies the API group of the resource
1421                pub group: String,
1422                /// HookPhase contains the state of any operation associated with this resource OR hook This can also contain values for non-hook resources.
1423                pub hook_phase: String,
1424                /// HookType specifies the type of the hook. Empty for non-hook resources
1425                pub hook_type: String,
1426                /// Kind specifies the API kind of the resource
1427                pub kind: String,
1428                /// Message contains an informational or error message for the last sync OR operation
1429                pub message: String,
1430                /// Name specifies the name of the resource
1431                pub name: String,
1432                /// Namespace specifies the target namespace of the resource
1433                pub namespace: String,
1434                /// Status holds the final result of the sync. Will be empty if the resources is yet to be applied/pruned and is always zero-value for hooks
1435                pub status: String,
1436                /// SyncPhase indicates the particular phase of the sync that this result was acquired in
1437                pub sync_phase: String,
1438                /// Version specifies the API version of the resource
1439                pub version: String,
1440            }
1441
1442            /// Retry controls the strategy to apply if a sync fails
1443            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1444            #[serde(rename_all = "camelCase")]
1445            pub struct OperationRetry {
1446                /// Backoff controls how to backoff on subsequent retries of failed syncs
1447                pub backoff: OperationRetryBackoff,
1448                /// Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
1449                pub limit: i64,
1450            }
1451
1452            /// Retry controls failed sync retry behavior
1453            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1454            #[serde(rename_all = "camelCase")]
1455            pub struct SyncPolicyRetry {
1456                /// Backoff controls how to backoff on subsequent retries of failed syncs
1457                pub backoff: SyncPolicyRetryBackoff,
1458                /// Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
1459                pub limit: i64,
1460            }
1461
1462            /// Retry controls the strategy to apply if a sync fails
1463            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1464            #[serde(rename_all = "camelCase")]
1465            pub struct OperationStateOperationRetry {
1466                /// Backoff controls how to backoff on subsequent retries of failed syncs
1467                pub backoff: OperationStateOperationRetryBackoff,
1468                /// Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.
1469                pub limit: i64,
1470            }
1471
1472            /// Source overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation
1473            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1474            #[serde(rename_all = "camelCase")]
1475            pub struct OperationSyncSource {
1476                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1477                pub chart: String,
1478                /// Directory holds path/directory specific options
1479                pub directory: OperationSyncSourceDirectory,
1480                /// Helm holds helm specific options
1481                pub helm: OperationSyncSourceHelm,
1482                /// Kustomize holds kustomize specific options
1483                pub kustomize: OperationSyncSourceKustomize,
1484                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1485                pub path: String,
1486                /// ConfigManagementPlugin holds config management plugin specific options
1487                pub plugin: OperationSyncSourcePlugin,
1488                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1489                pub repo_u_r_l: String,
1490                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1491                pub target_revision: String,
1492            }
1493
1494            /// Source is a reference to the location of the application's manifests or chart
1495            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1496            #[serde(rename_all = "camelCase")]
1497            pub struct SpecSource {
1498                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1499                pub chart: String,
1500                /// Directory holds path/directory specific options
1501                pub directory: SpecSourceDirectory,
1502                /// Helm holds helm specific options
1503                pub helm: SpecSourceHelm,
1504                /// Kustomize holds kustomize specific options
1505                pub kustomize: SpecSourceKustomize,
1506                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1507                pub path: String,
1508                /// ConfigManagementPlugin holds config management plugin specific options
1509                pub plugin: SpecSourcePlugin,
1510                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1511                pub repo_u_r_l: String,
1512                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1513                pub target_revision: String,
1514            }
1515
1516            /// Source is a reference to the application source used for the sync operation
1517            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1518            #[serde(rename_all = "camelCase")]
1519            pub struct HistoryItemSource {
1520                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1521                pub chart: String,
1522                /// Directory holds path/directory specific options
1523                pub directory: HistoryItemSourceDirectory,
1524                /// Helm holds helm specific options
1525                pub helm: HistoryItemSourceHelm,
1526                /// Kustomize holds kustomize specific options
1527                pub kustomize: HistoryItemSourceKustomize,
1528                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1529                pub path: String,
1530                /// ConfigManagementPlugin holds config management plugin specific options
1531                pub plugin: HistoryItemSourcePlugin,
1532                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1533                pub repo_u_r_l: String,
1534                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1535                pub target_revision: String,
1536            }
1537
1538            /// Source overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation
1539            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1540            #[serde(rename_all = "camelCase")]
1541            pub struct OperationStateOperationSyncSource {
1542                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1543                pub chart: String,
1544                /// Directory holds path/directory specific options
1545                pub directory: OperationStateOperationSyncSourceDirectory,
1546                /// Helm holds helm specific options
1547                pub helm: OperationStateOperationSyncSourceHelm,
1548                /// Kustomize holds kustomize specific options
1549                pub kustomize: OperationStateOperationSyncSourceKustomize,
1550                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1551                pub path: String,
1552                /// ConfigManagementPlugin holds config management plugin specific options
1553                pub plugin: OperationStateOperationSyncSourcePlugin,
1554                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1555                pub repo_u_r_l: String,
1556                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1557                pub target_revision: String,
1558            }
1559
1560            /// Source records the application source information of the sync, used for comparing auto-sync
1561            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1562            #[serde(rename_all = "camelCase")]
1563            pub struct SyncResultSource {
1564                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1565                pub chart: String,
1566                /// Directory holds path/directory specific options
1567                pub directory: SyncResultSourceDirectory,
1568                /// Helm holds helm specific options
1569                pub helm: SyncResultSourceHelm,
1570                /// Kustomize holds kustomize specific options
1571                pub kustomize: SyncResultSourceKustomize,
1572                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1573                pub path: String,
1574                /// ConfigManagementPlugin holds config management plugin specific options
1575                pub plugin: SyncResultSourcePlugin,
1576                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1577                pub repo_u_r_l: String,
1578                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1579                pub target_revision: String,
1580            }
1581
1582            /// Source is a reference to the application's source used for comparison
1583            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1584            #[serde(rename_all = "camelCase")]
1585            pub struct ComparedToSource {
1586                /// Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo.
1587                pub chart: String,
1588                /// Directory holds path/directory specific options
1589                pub directory: ComparedToSourceDirectory,
1590                /// Helm holds helm specific options
1591                pub helm: ComparedToSourceHelm,
1592                /// Kustomize holds kustomize specific options
1593                pub kustomize: ComparedToSourceKustomize,
1594                /// Path is a directory path within the Git repository, and is only valid for applications sourced from Git.
1595                pub path: String,
1596                /// ConfigManagementPlugin holds config management plugin specific options
1597                pub plugin: ComparedToSourcePlugin,
1598                /// RepoURL is the URL to the repository (Git or Helm) that contains the application manifests
1599                pub repo_u_r_l: String,
1600                /// TargetRevision defines the revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version.
1601                pub target_revision: String,
1602            }
1603
1604            /// ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
1605            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1606            #[serde(rename_all = "camelCase")]
1607            pub struct Spec {
1608                /// Destination is a reference to the target Kubernetes server and namespace
1609                pub destination: SpecDestination,
1610                /// IgnoreDifferences is a list of resources and their fields which should be ignored during comparison
1611                pub ignore_differences: Vec<IgnoreDifferencesItem>,
1612                /// Info contains a list of information (URLs, email addresses, and plain text) that relates to the application
1613                pub info: Vec<SpecInfoItem>,
1614                /// Project is a reference to the project this application belongs to. The empty string means that application belongs to the 'default' project.
1615                pub project: String,
1616                /// RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10.
1617                pub revision_history_limit: i64,
1618                /// Source is a reference to the location of the application's manifests or chart
1619                pub source: SpecSource,
1620                /// SyncPolicy controls when and how a sync will be performed
1621                pub sync_policy: SyncPolicy,
1622            }
1623
1624            /// ApplicationStatus contains status information for the application
1625            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1626            #[serde(rename_all = "camelCase")]
1627            pub struct Status {
1628                /// Conditions is a list of currently observed application conditions
1629                pub conditions: Vec<ConditionsItem>,
1630                /// Health contains information about the application's current health status
1631                pub health: StatusHealth,
1632                /// History contains information about the application's sync history
1633                pub history: Vec<HistoryItem>,
1634                /// ObservedAt indicates when the application state was updated without querying latest git state Deprecated: controller no longer updates ObservedAt field
1635                pub observed_at: String,
1636                /// OperationState contains information about any ongoing operations, such as a sync
1637                pub operation_state: OperationState,
1638                /// ReconciledAt indicates when the application state was reconciled using the latest git version
1639                pub reconciled_at: String,
1640                /// Resources is a list of Kubernetes resources managed by this application
1641                pub resources: Vec<StatusResourcesItem>,
1642                /// SourceType specifies the type of this application
1643                pub source_type: String,
1644                /// Summary contains a list of URLs and container images used by this application
1645                pub summary: Summary,
1646                /// Sync contains information about the application's current sync status
1647                pub sync: StatusSync,
1648            }
1649
1650            /// Summary contains a list of URLs and container images used by this application
1651            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1652            #[serde(rename_all = "camelCase")]
1653            pub struct Summary {
1654                /// ExternalURLs holds all external URLs of application child resources.
1655                pub external_u_r_ls: Vec<String>,
1656                /// Images holds all images of application child resources.
1657                pub images: Vec<String>,
1658            }
1659
1660            /// Sync contains parameters for the operation
1661            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1662            #[serde(rename_all = "camelCase")]
1663            pub struct OperationSync {
1664                /// DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync
1665                pub dry_run: bool,
1666                /// Manifests is an optional field that overrides sync source with a local directory for development
1667                pub manifests: Vec<String>,
1668                /// Prune specifies to delete resources from the cluster that are no longer tracked in git
1669                pub prune: bool,
1670                /// Resources describes which resources shall be part of the sync
1671                pub resources: Vec<OperationSyncResourcesItem>,
1672                /// Revision is the revision (Git) or chart version (Helm) which to sync the application to If omitted, will use the revision specified in app spec.
1673                pub revision: String,
1674                /// Source overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation
1675                pub source: OperationSyncSource,
1676                /// SyncOptions provide per-sync sync-options, e.g. Validate=false
1677                pub sync_options: Vec<String>,
1678                /// SyncStrategy describes how to perform the sync
1679                pub sync_strategy: OperationSyncSyncStrategy,
1680            }
1681
1682            /// Sync contains information about the application's current sync status
1683            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1684            #[serde(rename_all = "camelCase")]
1685            pub struct StatusSync {
1686                /// ComparedTo contains information about what has been compared
1687                pub compared_to: ComparedTo,
1688                /// Revision contains information about the revision the comparison has been performed to
1689                pub revision: String,
1690                /// Status is the sync state of the comparison
1691                pub status: String,
1692            }
1693
1694            /// Sync contains parameters for the operation
1695            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1696            #[serde(rename_all = "camelCase")]
1697            pub struct OperationStateOperationSync {
1698                /// DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync
1699                pub dry_run: bool,
1700                /// Manifests is an optional field that overrides sync source with a local directory for development
1701                pub manifests: Vec<String>,
1702                /// Prune specifies to delete resources from the cluster that are no longer tracked in git
1703                pub prune: bool,
1704                /// Resources describes which resources shall be part of the sync
1705                pub resources: Vec<OperationStateOperationSyncResourcesItem>,
1706                /// Revision is the revision (Git) or chart version (Helm) which to sync the application to If omitted, will use the revision specified in app spec.
1707                pub revision: String,
1708                /// Source overrides the source definition set in the application. This is typically set in a Rollback operation and is nil during a Sync operation
1709                pub source: OperationStateOperationSyncSource,
1710                /// SyncOptions provide per-sync sync-options, e.g. Validate=false
1711                pub sync_options: Vec<String>,
1712                /// SyncStrategy describes how to perform the sync
1713                pub sync_strategy: OperationStateOperationSyncSyncStrategy,
1714            }
1715
1716            /// SyncPolicy controls when and how a sync will be performed
1717            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1718            #[serde(rename_all = "camelCase")]
1719            pub struct SyncPolicy {
1720                /// Automated will keep an application synced to the target revision
1721                pub automated: Automated,
1722                /// Retry controls failed sync retry behavior
1723                pub retry: SyncPolicyRetry,
1724                /// Options allow you to specify whole app sync-options
1725                pub sync_options: Vec<String>,
1726            }
1727
1728            /// SyncResult is the result of a Sync operation
1729            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1730            #[serde(rename_all = "camelCase")]
1731            pub struct SyncResult {
1732                /// Resources contains a list of sync result items for each individual resource in a sync operation
1733                pub resources: Vec<SyncResultResourcesItem>,
1734                /// Revision holds the revision this sync operation was performed to
1735                pub revision: String,
1736                /// Source records the application source information of the sync, used for comparing auto-sync
1737                pub source: SyncResultSource,
1738            }
1739
1740            /// SyncStrategy describes how to perform the sync
1741            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1742            #[serde(rename_all = "camelCase")]
1743            pub struct OperationSyncSyncStrategy {
1744                /// Apply will perform a `kubectl apply` to perform the sync.
1745                pub apply: OperationSyncSyncStrategyApply,
1746                /// Hook will submit any referenced resources to perform the sync. This is the default strategy
1747                pub hook: OperationSyncSyncStrategyHook,
1748            }
1749
1750            /// SyncStrategy describes how to perform the sync
1751            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1752            #[serde(rename_all = "camelCase")]
1753            pub struct OperationStateOperationSyncSyncStrategy {
1754                /// Apply will perform a `kubectl apply` to perform the sync.
1755                pub apply: OperationStateOperationSyncSyncStrategyApply,
1756                /// Hook will submit any referenced resources to perform the sync. This is the default strategy
1757                pub hook: OperationStateOperationSyncSyncStrategyHook,
1758            }
1759
1760            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1761            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1762            #[serde(rename_all = "camelCase")]
1763            pub struct OperationSyncSourceDirectoryJsonnetTlasItem {
1764                pub code: bool,
1765                pub name: String,
1766                pub value: String,
1767            }
1768
1769            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1770            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1771            #[serde(rename_all = "camelCase")]
1772            pub struct SpecSourceDirectoryJsonnetTlasItem {
1773                pub code: bool,
1774                pub name: String,
1775                pub value: String,
1776            }
1777
1778            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1779            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1780            #[serde(rename_all = "camelCase")]
1781            pub struct HistoryItemSourceDirectoryJsonnetTlasItem {
1782                pub code: bool,
1783                pub name: String,
1784                pub value: String,
1785            }
1786
1787            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1788            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1789            #[serde(rename_all = "camelCase")]
1790            pub struct OperationStateOperationSyncSourceDirectoryJsonnetTlasItem {
1791                pub code: bool,
1792                pub name: String,
1793                pub value: String,
1794            }
1795
1796            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1797            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1798            #[serde(rename_all = "camelCase")]
1799            pub struct SyncResultSourceDirectoryJsonnetTlasItem {
1800                pub code: bool,
1801                pub name: String,
1802                pub value: String,
1803            }
1804
1805            /// JsonnetVar represents a variable to be passed to jsonnet during manifest generation
1806            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1807            #[serde(rename_all = "camelCase")]
1808            pub struct ComparedToSourceDirectoryJsonnetTlasItem {
1809                pub code: bool,
1810                pub name: String,
1811                pub value: String,
1812            }
1813        }
1814        pub mod application_set {
1815            #[derive(serde::Deserialize, Debug, PartialEq)]
1816            pub struct ApplicationSet {
1817                pub metadata: k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta,
1818                pub spec: Spec,
1819                pub status: Status,
1820            }
1821
1822            impl k8s_openapi::Resource for ApplicationSet {
1823                type Scope = k8s_openapi::ClusterResourceScope;
1824
1825                const API_VERSION: &'static str = "argoproj.io/v1alpha1";
1826                const GROUP: &'static str = "argoproj.io";
1827                const KIND: &'static str = "ApplicationSet";
1828                const VERSION: &'static str = "v1alpha1";
1829                const URL_PATH_SEGMENT: &'static str = "TODO";
1830            }
1831
1832            impl k8s_openapi::Metadata for ApplicationSet {
1833                type Ty = k8s_openapi::apimachinery::pkg::apis::meta::v1::ObjectMeta;
1834
1835                fn metadata(&self) -> &<Self as k8s_openapi::Metadata>::Ty {
1836                    &self.metadata
1837                }
1838
1839                fn metadata_mut(&mut self) -> &mut <Self as k8s_openapi::Metadata>::Ty {
1840                    &mut self.metadata
1841                }
1842            }
1843
1844            impl serde::Serialize for ApplicationSet {
1845                fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
1846                where
1847                    S: serde::Serializer,
1848                {
1849                    use serde::ser::SerializeStruct;
1850                    let mut state = serializer.serialize_struct("ApplicationSet", 5)?;
1851                    state.serialize_field(
1852                        "apiVersion",
1853                        <Self as k8s_openapi::Resource>::API_VERSION,
1854                    )?;
1855                    state.serialize_field("kind", <Self as k8s_openapi::Resource>::KIND)?;
1856                    state.serialize_field("metadata", &self.metadata)?;
1857                    state.serialize_field("spec", &self.spec)?;
1858                    state.serialize_field("status", &self.status)?;
1859                    state.end()
1860                }
1861            }
1862
1863            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1864            #[serde(rename_all = "camelCase")]
1865            pub struct MatrixGeneratorsItemScmProviderAzureDevOpsAccessTokenRef {
1866                pub key: String,
1867                pub secret_name: String,
1868            }
1869
1870            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1871            #[serde(rename_all = "camelCase")]
1872            pub struct MergeGeneratorsItemScmProviderAzureDevOpsAccessTokenRef {
1873                pub key: String,
1874                pub secret_name: String,
1875            }
1876
1877            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1878            #[serde(rename_all = "camelCase")]
1879            pub struct SpecGeneratorsItemScmProviderAzureDevOpsAccessTokenRef {
1880                pub key: String,
1881                pub secret_name: String,
1882            }
1883
1884            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1885            #[serde(rename_all = "camelCase")]
1886            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations {
1887                pub properties: std::collections::HashMap<String, String>,
1888            }
1889
1890            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1891            #[serde(rename_all = "camelCase")]
1892            pub struct SpecGeneratorsItemClustersTemplateMetadataAnnotations {
1893                pub properties: std::collections::HashMap<String, String>,
1894            }
1895
1896            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1897            #[serde(rename_all = "camelCase")]
1898            pub struct SpecGeneratorsItemGitTemplateMetadataAnnotations {
1899                pub properties: std::collections::HashMap<String, String>,
1900            }
1901
1902            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1903            #[serde(rename_all = "camelCase")]
1904            pub struct SpecGeneratorsItemListTemplateMetadataAnnotations {
1905                pub properties: std::collections::HashMap<String, String>,
1906            }
1907
1908            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1909            #[serde(rename_all = "camelCase")]
1910            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations {
1911                pub properties: std::collections::HashMap<String, String>,
1912            }
1913
1914            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1915            #[serde(rename_all = "camelCase")]
1916            pub struct MatrixGeneratorsItemClustersTemplateMetadataAnnotations {
1917                pub properties: std::collections::HashMap<String, String>,
1918            }
1919
1920            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1921            #[serde(rename_all = "camelCase")]
1922            pub struct MatrixGeneratorsItemGitTemplateMetadataAnnotations {
1923                pub properties: std::collections::HashMap<String, String>,
1924            }
1925
1926            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1927            #[serde(rename_all = "camelCase")]
1928            pub struct MatrixGeneratorsItemListTemplateMetadataAnnotations {
1929                pub properties: std::collections::HashMap<String, String>,
1930            }
1931
1932            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1933            #[serde(rename_all = "camelCase")]
1934            pub struct MatrixGeneratorsItemPullRequestTemplateMetadataAnnotations {
1935                pub properties: std::collections::HashMap<String, String>,
1936            }
1937
1938            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1939            #[serde(rename_all = "camelCase")]
1940            pub struct MatrixGeneratorsItemScmProviderTemplateMetadataAnnotations {
1941                pub properties: std::collections::HashMap<String, String>,
1942            }
1943
1944            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1945            #[serde(rename_all = "camelCase")]
1946            pub struct MatrixTemplateMetadataAnnotations {
1947                pub properties: std::collections::HashMap<String, String>,
1948            }
1949
1950            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1951            #[serde(rename_all = "camelCase")]
1952            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations {
1953                pub properties: std::collections::HashMap<String, String>,
1954            }
1955
1956            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1957            #[serde(rename_all = "camelCase")]
1958            pub struct MergeGeneratorsItemClustersTemplateMetadataAnnotations {
1959                pub properties: std::collections::HashMap<String, String>,
1960            }
1961
1962            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1963            #[serde(rename_all = "camelCase")]
1964            pub struct MergeGeneratorsItemGitTemplateMetadataAnnotations {
1965                pub properties: std::collections::HashMap<String, String>,
1966            }
1967
1968            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1969            #[serde(rename_all = "camelCase")]
1970            pub struct MergeGeneratorsItemListTemplateMetadataAnnotations {
1971                pub properties: std::collections::HashMap<String, String>,
1972            }
1973
1974            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1975            #[serde(rename_all = "camelCase")]
1976            pub struct MergeGeneratorsItemPullRequestTemplateMetadataAnnotations {
1977                pub properties: std::collections::HashMap<String, String>,
1978            }
1979
1980            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1981            #[serde(rename_all = "camelCase")]
1982            pub struct MergeGeneratorsItemScmProviderTemplateMetadataAnnotations {
1983                pub properties: std::collections::HashMap<String, String>,
1984            }
1985
1986            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1987            #[serde(rename_all = "camelCase")]
1988            pub struct MergeTemplateMetadataAnnotations {
1989                pub properties: std::collections::HashMap<String, String>,
1990            }
1991
1992            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1993            #[serde(rename_all = "camelCase")]
1994            pub struct SpecGeneratorsItemPullRequestTemplateMetadataAnnotations {
1995                pub properties: std::collections::HashMap<String, String>,
1996            }
1997
1998            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
1999            #[serde(rename_all = "camelCase")]
2000            pub struct SpecGeneratorsItemScmProviderTemplateMetadataAnnotations {
2001                pub properties: std::collections::HashMap<String, String>,
2002            }
2003
2004            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2005            #[serde(rename_all = "camelCase")]
2006            pub struct SpecTemplateMetadataAnnotations {
2007                pub properties: std::collections::HashMap<String, String>,
2008            }
2009
2010            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2011            #[serde(rename_all = "camelCase")]
2012            pub struct MatrixGeneratorsItemScmProviderBitbucketAppPasswordRef {
2013                pub key: String,
2014                pub secret_name: String,
2015            }
2016
2017            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2018            #[serde(rename_all = "camelCase")]
2019            pub struct MergeGeneratorsItemScmProviderBitbucketAppPasswordRef {
2020                pub key: String,
2021                pub secret_name: String,
2022            }
2023
2024            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2025            #[serde(rename_all = "camelCase")]
2026            pub struct SpecGeneratorsItemScmProviderBitbucketAppPasswordRef {
2027                pub key: String,
2028                pub secret_name: String,
2029            }
2030
2031            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2032            #[serde(rename_all = "camelCase")]
2033            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated {
2034                pub allow_empty: bool,
2035                pub prune: bool,
2036                pub self_heal: bool,
2037            }
2038
2039            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2040            #[serde(rename_all = "camelCase")]
2041            pub struct SpecGeneratorsItemClustersTemplateSpecSyncPolicyAutomated {
2042                pub allow_empty: bool,
2043                pub prune: bool,
2044                pub self_heal: bool,
2045            }
2046
2047            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2048            #[serde(rename_all = "camelCase")]
2049            pub struct SpecGeneratorsItemGitTemplateSpecSyncPolicyAutomated {
2050                pub allow_empty: bool,
2051                pub prune: bool,
2052                pub self_heal: bool,
2053            }
2054
2055            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2056            #[serde(rename_all = "camelCase")]
2057            pub struct SpecGeneratorsItemListTemplateSpecSyncPolicyAutomated {
2058                pub allow_empty: bool,
2059                pub prune: bool,
2060                pub self_heal: bool,
2061            }
2062
2063            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2064            #[serde(rename_all = "camelCase")]
2065            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated {
2066                pub allow_empty: bool,
2067                pub prune: bool,
2068                pub self_heal: bool,
2069            }
2070
2071            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2072            #[serde(rename_all = "camelCase")]
2073            pub struct MatrixGeneratorsItemClustersTemplateSpecSyncPolicyAutomated {
2074                pub allow_empty: bool,
2075                pub prune: bool,
2076                pub self_heal: bool,
2077            }
2078
2079            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2080            #[serde(rename_all = "camelCase")]
2081            pub struct MatrixGeneratorsItemGitTemplateSpecSyncPolicyAutomated {
2082                pub allow_empty: bool,
2083                pub prune: bool,
2084                pub self_heal: bool,
2085            }
2086
2087            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2088            #[serde(rename_all = "camelCase")]
2089            pub struct MatrixGeneratorsItemListTemplateSpecSyncPolicyAutomated {
2090                pub allow_empty: bool,
2091                pub prune: bool,
2092                pub self_heal: bool,
2093            }
2094
2095            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2096            #[serde(rename_all = "camelCase")]
2097            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated {
2098                pub allow_empty: bool,
2099                pub prune: bool,
2100                pub self_heal: bool,
2101            }
2102
2103            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2104            #[serde(rename_all = "camelCase")]
2105            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated {
2106                pub allow_empty: bool,
2107                pub prune: bool,
2108                pub self_heal: bool,
2109            }
2110
2111            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2112            #[serde(rename_all = "camelCase")]
2113            pub struct MatrixTemplateSpecSyncPolicyAutomated {
2114                pub allow_empty: bool,
2115                pub prune: bool,
2116                pub self_heal: bool,
2117            }
2118
2119            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2120            #[serde(rename_all = "camelCase")]
2121            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated {
2122                pub allow_empty: bool,
2123                pub prune: bool,
2124                pub self_heal: bool,
2125            }
2126
2127            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2128            #[serde(rename_all = "camelCase")]
2129            pub struct MergeGeneratorsItemClustersTemplateSpecSyncPolicyAutomated {
2130                pub allow_empty: bool,
2131                pub prune: bool,
2132                pub self_heal: bool,
2133            }
2134
2135            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2136            #[serde(rename_all = "camelCase")]
2137            pub struct MergeGeneratorsItemGitTemplateSpecSyncPolicyAutomated {
2138                pub allow_empty: bool,
2139                pub prune: bool,
2140                pub self_heal: bool,
2141            }
2142
2143            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2144            #[serde(rename_all = "camelCase")]
2145            pub struct MergeGeneratorsItemListTemplateSpecSyncPolicyAutomated {
2146                pub allow_empty: bool,
2147                pub prune: bool,
2148                pub self_heal: bool,
2149            }
2150
2151            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2152            #[serde(rename_all = "camelCase")]
2153            pub struct MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated {
2154                pub allow_empty: bool,
2155                pub prune: bool,
2156                pub self_heal: bool,
2157            }
2158
2159            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2160            #[serde(rename_all = "camelCase")]
2161            pub struct MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated {
2162                pub allow_empty: bool,
2163                pub prune: bool,
2164                pub self_heal: bool,
2165            }
2166
2167            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2168            #[serde(rename_all = "camelCase")]
2169            pub struct MergeTemplateSpecSyncPolicyAutomated {
2170                pub allow_empty: bool,
2171                pub prune: bool,
2172                pub self_heal: bool,
2173            }
2174
2175            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2176            #[serde(rename_all = "camelCase")]
2177            pub struct SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated {
2178                pub allow_empty: bool,
2179                pub prune: bool,
2180                pub self_heal: bool,
2181            }
2182
2183            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2184            #[serde(rename_all = "camelCase")]
2185            pub struct SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated {
2186                pub allow_empty: bool,
2187                pub prune: bool,
2188                pub self_heal: bool,
2189            }
2190
2191            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2192            #[serde(rename_all = "camelCase")]
2193            pub struct SpecTemplateSpecSyncPolicyAutomated {
2194                pub allow_empty: bool,
2195                pub prune: bool,
2196                pub self_heal: bool,
2197            }
2198
2199            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2200            #[serde(rename_all = "camelCase")]
2201            pub struct MatrixGeneratorsItemScmProviderAzureDevOps {
2202                pub access_token_ref: MatrixGeneratorsItemScmProviderAzureDevOpsAccessTokenRef,
2203                pub all_branches: bool,
2204                pub api: String,
2205                pub organization: String,
2206                pub team_project: String,
2207            }
2208
2209            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2210            #[serde(rename_all = "camelCase")]
2211            pub struct MergeGeneratorsItemScmProviderAzureDevOps {
2212                pub access_token_ref: MergeGeneratorsItemScmProviderAzureDevOpsAccessTokenRef,
2213                pub all_branches: bool,
2214                pub api: String,
2215                pub organization: String,
2216                pub team_project: String,
2217            }
2218
2219            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2220            #[serde(rename_all = "camelCase")]
2221            pub struct SpecGeneratorsItemScmProviderAzureDevOps {
2222                pub access_token_ref: SpecGeneratorsItemScmProviderAzureDevOpsAccessTokenRef,
2223                pub all_branches: bool,
2224                pub api: String,
2225                pub organization: String,
2226                pub team_project: String,
2227            }
2228
2229            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2230            #[serde(rename_all = "camelCase")]
2231            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff {
2232                pub duration: String,
2233                pub factor: i64,
2234                pub max_duration: String,
2235            }
2236
2237            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2238            #[serde(rename_all = "camelCase")]
2239            pub struct SpecGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff {
2240                pub duration: String,
2241                pub factor: i64,
2242                pub max_duration: String,
2243            }
2244
2245            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2246            #[serde(rename_all = "camelCase")]
2247            pub struct SpecGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff {
2248                pub duration: String,
2249                pub factor: i64,
2250                pub max_duration: String,
2251            }
2252
2253            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2254            #[serde(rename_all = "camelCase")]
2255            pub struct SpecGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff {
2256                pub duration: String,
2257                pub factor: i64,
2258                pub max_duration: String,
2259            }
2260
2261            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2262            #[serde(rename_all = "camelCase")]
2263            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff {
2264                pub duration: String,
2265                pub factor: i64,
2266                pub max_duration: String,
2267            }
2268
2269            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2270            #[serde(rename_all = "camelCase")]
2271            pub struct MatrixGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff {
2272                pub duration: String,
2273                pub factor: i64,
2274                pub max_duration: String,
2275            }
2276
2277            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2278            #[serde(rename_all = "camelCase")]
2279            pub struct MatrixGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff {
2280                pub duration: String,
2281                pub factor: i64,
2282                pub max_duration: String,
2283            }
2284
2285            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2286            #[serde(rename_all = "camelCase")]
2287            pub struct MatrixGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff {
2288                pub duration: String,
2289                pub factor: i64,
2290                pub max_duration: String,
2291            }
2292
2293            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2294            #[serde(rename_all = "camelCase")]
2295            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff {
2296                pub duration: String,
2297                pub factor: i64,
2298                pub max_duration: String,
2299            }
2300
2301            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2302            #[serde(rename_all = "camelCase")]
2303            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff {
2304                pub duration: String,
2305                pub factor: i64,
2306                pub max_duration: String,
2307            }
2308
2309            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2310            #[serde(rename_all = "camelCase")]
2311            pub struct MatrixTemplateSpecSyncPolicyRetryBackoff {
2312                pub duration: String,
2313                pub factor: i64,
2314                pub max_duration: String,
2315            }
2316
2317            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2318            #[serde(rename_all = "camelCase")]
2319            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff {
2320                pub duration: String,
2321                pub factor: i64,
2322                pub max_duration: String,
2323            }
2324
2325            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2326            #[serde(rename_all = "camelCase")]
2327            pub struct MergeGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff {
2328                pub duration: String,
2329                pub factor: i64,
2330                pub max_duration: String,
2331            }
2332
2333            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2334            #[serde(rename_all = "camelCase")]
2335            pub struct MergeGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff {
2336                pub duration: String,
2337                pub factor: i64,
2338                pub max_duration: String,
2339            }
2340
2341            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2342            #[serde(rename_all = "camelCase")]
2343            pub struct MergeGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff {
2344                pub duration: String,
2345                pub factor: i64,
2346                pub max_duration: String,
2347            }
2348
2349            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2350            #[serde(rename_all = "camelCase")]
2351            pub struct MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff {
2352                pub duration: String,
2353                pub factor: i64,
2354                pub max_duration: String,
2355            }
2356
2357            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2358            #[serde(rename_all = "camelCase")]
2359            pub struct MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff {
2360                pub duration: String,
2361                pub factor: i64,
2362                pub max_duration: String,
2363            }
2364
2365            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2366            #[serde(rename_all = "camelCase")]
2367            pub struct MergeTemplateSpecSyncPolicyRetryBackoff {
2368                pub duration: String,
2369                pub factor: i64,
2370                pub max_duration: String,
2371            }
2372
2373            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2374            #[serde(rename_all = "camelCase")]
2375            pub struct SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff {
2376                pub duration: String,
2377                pub factor: i64,
2378                pub max_duration: String,
2379            }
2380
2381            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2382            #[serde(rename_all = "camelCase")]
2383            pub struct SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff {
2384                pub duration: String,
2385                pub factor: i64,
2386                pub max_duration: String,
2387            }
2388
2389            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2390            #[serde(rename_all = "camelCase")]
2391            pub struct SpecTemplateSpecSyncPolicyRetryBackoff {
2392                pub duration: String,
2393                pub factor: i64,
2394                pub max_duration: String,
2395            }
2396
2397            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2398            #[serde(rename_all = "camelCase")]
2399            pub struct MatrixGeneratorsItemPullRequestBitbucketServerBasicAuth {
2400                pub password_ref:
2401                    MatrixGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef,
2402                pub username: String,
2403            }
2404
2405            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2406            #[serde(rename_all = "camelCase")]
2407            pub struct MatrixGeneratorsItemScmProviderBitbucketServerBasicAuth {
2408                pub password_ref:
2409                    MatrixGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef,
2410                pub username: String,
2411            }
2412
2413            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2414            #[serde(rename_all = "camelCase")]
2415            pub struct MergeGeneratorsItemPullRequestBitbucketServerBasicAuth {
2416                pub password_ref: MergeGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef,
2417                pub username: String,
2418            }
2419
2420            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2421            #[serde(rename_all = "camelCase")]
2422            pub struct MergeGeneratorsItemScmProviderBitbucketServerBasicAuth {
2423                pub password_ref: MergeGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef,
2424                pub username: String,
2425            }
2426
2427            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2428            #[serde(rename_all = "camelCase")]
2429            pub struct SpecGeneratorsItemPullRequestBitbucketServerBasicAuth {
2430                pub password_ref: SpecGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef,
2431                pub username: String,
2432            }
2433
2434            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2435            #[serde(rename_all = "camelCase")]
2436            pub struct SpecGeneratorsItemScmProviderBitbucketServerBasicAuth {
2437                pub password_ref: SpecGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef,
2438                pub username: String,
2439            }
2440
2441            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2442            #[serde(rename_all = "camelCase")]
2443            pub struct MatrixGeneratorsItemScmProviderBitbucket {
2444                pub all_branches: bool,
2445                pub app_password_ref: MatrixGeneratorsItemScmProviderBitbucketAppPasswordRef,
2446                pub owner: String,
2447                pub user: String,
2448            }
2449
2450            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2451            #[serde(rename_all = "camelCase")]
2452            pub struct MergeGeneratorsItemScmProviderBitbucket {
2453                pub all_branches: bool,
2454                pub app_password_ref: MergeGeneratorsItemScmProviderBitbucketAppPasswordRef,
2455                pub owner: String,
2456                pub user: String,
2457            }
2458
2459            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2460            #[serde(rename_all = "camelCase")]
2461            pub struct SpecGeneratorsItemScmProviderBitbucket {
2462                pub all_branches: bool,
2463                pub app_password_ref: SpecGeneratorsItemScmProviderBitbucketAppPasswordRef,
2464                pub owner: String,
2465                pub user: String,
2466            }
2467
2468            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2469            #[serde(rename_all = "camelCase")]
2470            pub struct MatrixGeneratorsItemPullRequestBitbucketServer {
2471                pub api: String,
2472                pub basic_auth: MatrixGeneratorsItemPullRequestBitbucketServerBasicAuth,
2473                pub project: String,
2474                pub repo: String,
2475            }
2476
2477            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2478            #[serde(rename_all = "camelCase")]
2479            pub struct MatrixGeneratorsItemScmProviderBitbucketServer {
2480                pub all_branches: bool,
2481                pub api: String,
2482                pub basic_auth: MatrixGeneratorsItemScmProviderBitbucketServerBasicAuth,
2483                pub project: String,
2484            }
2485
2486            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2487            #[serde(rename_all = "camelCase")]
2488            pub struct MergeGeneratorsItemPullRequestBitbucketServer {
2489                pub api: String,
2490                pub basic_auth: MergeGeneratorsItemPullRequestBitbucketServerBasicAuth,
2491                pub project: String,
2492                pub repo: String,
2493            }
2494
2495            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2496            #[serde(rename_all = "camelCase")]
2497            pub struct MergeGeneratorsItemScmProviderBitbucketServer {
2498                pub all_branches: bool,
2499                pub api: String,
2500                pub basic_auth: MergeGeneratorsItemScmProviderBitbucketServerBasicAuth,
2501                pub project: String,
2502            }
2503
2504            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2505            #[serde(rename_all = "camelCase")]
2506            pub struct SpecGeneratorsItemPullRequestBitbucketServer {
2507                pub api: String,
2508                pub basic_auth: SpecGeneratorsItemPullRequestBitbucketServerBasicAuth,
2509                pub project: String,
2510                pub repo: String,
2511            }
2512
2513            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2514            #[serde(rename_all = "camelCase")]
2515            pub struct SpecGeneratorsItemScmProviderBitbucketServer {
2516                pub all_branches: bool,
2517                pub api: String,
2518                pub basic_auth: SpecGeneratorsItemScmProviderBitbucketServerBasicAuth,
2519                pub project: String,
2520            }
2521
2522            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2523            #[serde(rename_all = "camelCase")]
2524            pub struct SpecGeneratorsItemClusterDecisionResource {
2525                pub config_map_ref: String,
2526                pub label_selector: SpecGeneratorsItemClusterDecisionResourceLabelSelector,
2527                pub name: String,
2528                pub requeue_after_seconds: i64,
2529                pub template: SpecGeneratorsItemClusterDecisionResourceTemplate,
2530                pub values: SpecGeneratorsItemClusterDecisionResourceValues,
2531            }
2532
2533            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2534            #[serde(rename_all = "camelCase")]
2535            pub struct MatrixGeneratorsItemClusterDecisionResource {
2536                pub config_map_ref: String,
2537                pub label_selector: MatrixGeneratorsItemClusterDecisionResourceLabelSelector,
2538                pub name: String,
2539                pub requeue_after_seconds: i64,
2540                pub template: MatrixGeneratorsItemClusterDecisionResourceTemplate,
2541                pub values: MatrixGeneratorsItemClusterDecisionResourceValues,
2542            }
2543
2544            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2545            #[serde(rename_all = "camelCase")]
2546            pub struct MergeGeneratorsItemClusterDecisionResource {
2547                pub config_map_ref: String,
2548                pub label_selector: MergeGeneratorsItemClusterDecisionResourceLabelSelector,
2549                pub name: String,
2550                pub requeue_after_seconds: i64,
2551                pub template: MergeGeneratorsItemClusterDecisionResourceTemplate,
2552                pub values: MergeGeneratorsItemClusterDecisionResourceValues,
2553            }
2554
2555            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2556            #[serde(rename_all = "camelCase")]
2557            pub struct SpecGeneratorsItemClusters {
2558                pub selector: SpecGeneratorsItemClustersSelector,
2559                pub template: SpecGeneratorsItemClustersTemplate,
2560                pub values: SpecGeneratorsItemClustersValues,
2561            }
2562
2563            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2564            #[serde(rename_all = "camelCase")]
2565            pub struct MatrixGeneratorsItemClusters {
2566                pub selector: MatrixGeneratorsItemClustersSelector,
2567                pub template: MatrixGeneratorsItemClustersTemplate,
2568                pub values: MatrixGeneratorsItemClustersValues,
2569            }
2570
2571            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2572            #[serde(rename_all = "camelCase")]
2573            pub struct MergeGeneratorsItemClusters {
2574                pub selector: MergeGeneratorsItemClustersSelector,
2575                pub template: MergeGeneratorsItemClustersTemplate,
2576                pub values: MergeGeneratorsItemClustersValues,
2577            }
2578
2579            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2580            #[serde(rename_all = "camelCase")]
2581            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations {
2582                pub properties: std::collections::HashMap<String, String>,
2583            }
2584
2585            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2586            #[serde(rename_all = "camelCase")]
2587            pub struct SpecGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations {
2588                pub properties: std::collections::HashMap<String, String>,
2589            }
2590
2591            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2592            #[serde(rename_all = "camelCase")]
2593            pub struct SpecGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations {
2594                pub properties: std::collections::HashMap<String, String>,
2595            }
2596
2597            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2598            #[serde(rename_all = "camelCase")]
2599            pub struct SpecGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations {
2600                pub properties: std::collections::HashMap<String, String>,
2601            }
2602
2603            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2604            #[serde(rename_all = "camelCase")]
2605            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations {
2606                pub properties: std::collections::HashMap<String, String>,
2607            }
2608
2609            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2610            #[serde(rename_all = "camelCase")]
2611            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations {
2612                pub properties: std::collections::HashMap<String, String>,
2613            }
2614
2615            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2616            #[serde(rename_all = "camelCase")]
2617            pub struct MatrixGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations {
2618                pub properties: std::collections::HashMap<String, String>,
2619            }
2620
2621            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2622            #[serde(rename_all = "camelCase")]
2623            pub struct MatrixGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations {
2624                pub properties: std::collections::HashMap<String, String>,
2625            }
2626
2627            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2628            #[serde(rename_all = "camelCase")]
2629            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations {
2630                pub properties: std::collections::HashMap<String, String>,
2631            }
2632
2633            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2634            #[serde(rename_all = "camelCase")]
2635            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations {
2636                pub properties: std::collections::HashMap<String, String>,
2637            }
2638
2639            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2640            #[serde(rename_all = "camelCase")]
2641            pub struct MatrixTemplateSpecSourceKustomizeCommonAnnotations {
2642                pub properties: std::collections::HashMap<String, String>,
2643            }
2644
2645            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2646            #[serde(rename_all = "camelCase")]
2647            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations {
2648                pub properties: std::collections::HashMap<String, String>,
2649            }
2650
2651            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2652            #[serde(rename_all = "camelCase")]
2653            pub struct MergeGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations {
2654                pub properties: std::collections::HashMap<String, String>,
2655            }
2656
2657            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2658            #[serde(rename_all = "camelCase")]
2659            pub struct MergeGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations {
2660                pub properties: std::collections::HashMap<String, String>,
2661            }
2662
2663            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2664            #[serde(rename_all = "camelCase")]
2665            pub struct MergeGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations {
2666                pub properties: std::collections::HashMap<String, String>,
2667            }
2668
2669            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2670            #[serde(rename_all = "camelCase")]
2671            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations {
2672                pub properties: std::collections::HashMap<String, String>,
2673            }
2674
2675            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2676            #[serde(rename_all = "camelCase")]
2677            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations {
2678                pub properties: std::collections::HashMap<String, String>,
2679            }
2680
2681            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2682            #[serde(rename_all = "camelCase")]
2683            pub struct MergeTemplateSpecSourceKustomizeCommonAnnotations {
2684                pub properties: std::collections::HashMap<String, String>,
2685            }
2686
2687            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2688            #[serde(rename_all = "camelCase")]
2689            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations {
2690                pub properties: std::collections::HashMap<String, String>,
2691            }
2692
2693            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2694            #[serde(rename_all = "camelCase")]
2695            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations {
2696                pub properties: std::collections::HashMap<String, String>,
2697            }
2698
2699            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2700            #[serde(rename_all = "camelCase")]
2701            pub struct SpecTemplateSpecSourceKustomizeCommonAnnotations {
2702                pub properties: std::collections::HashMap<String, String>,
2703            }
2704
2705            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2706            #[serde(rename_all = "camelCase")]
2707            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels {
2708                pub properties: std::collections::HashMap<String, String>,
2709            }
2710
2711            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2712            #[serde(rename_all = "camelCase")]
2713            pub struct SpecGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels {
2714                pub properties: std::collections::HashMap<String, String>,
2715            }
2716
2717            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2718            #[serde(rename_all = "camelCase")]
2719            pub struct SpecGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels {
2720                pub properties: std::collections::HashMap<String, String>,
2721            }
2722
2723            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2724            #[serde(rename_all = "camelCase")]
2725            pub struct SpecGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels {
2726                pub properties: std::collections::HashMap<String, String>,
2727            }
2728
2729            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2730            #[serde(rename_all = "camelCase")]
2731            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels {
2732                pub properties: std::collections::HashMap<String, String>,
2733            }
2734
2735            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2736            #[serde(rename_all = "camelCase")]
2737            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels {
2738                pub properties: std::collections::HashMap<String, String>,
2739            }
2740
2741            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2742            #[serde(rename_all = "camelCase")]
2743            pub struct MatrixGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels {
2744                pub properties: std::collections::HashMap<String, String>,
2745            }
2746
2747            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2748            #[serde(rename_all = "camelCase")]
2749            pub struct MatrixGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels {
2750                pub properties: std::collections::HashMap<String, String>,
2751            }
2752
2753            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2754            #[serde(rename_all = "camelCase")]
2755            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels {
2756                pub properties: std::collections::HashMap<String, String>,
2757            }
2758
2759            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2760            #[serde(rename_all = "camelCase")]
2761            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels {
2762                pub properties: std::collections::HashMap<String, String>,
2763            }
2764
2765            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2766            #[serde(rename_all = "camelCase")]
2767            pub struct MatrixTemplateSpecSourceKustomizeCommonLabels {
2768                pub properties: std::collections::HashMap<String, String>,
2769            }
2770
2771            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2772            #[serde(rename_all = "camelCase")]
2773            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels {
2774                pub properties: std::collections::HashMap<String, String>,
2775            }
2776
2777            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2778            #[serde(rename_all = "camelCase")]
2779            pub struct MergeGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels {
2780                pub properties: std::collections::HashMap<String, String>,
2781            }
2782
2783            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2784            #[serde(rename_all = "camelCase")]
2785            pub struct MergeGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels {
2786                pub properties: std::collections::HashMap<String, String>,
2787            }
2788
2789            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2790            #[serde(rename_all = "camelCase")]
2791            pub struct MergeGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels {
2792                pub properties: std::collections::HashMap<String, String>,
2793            }
2794
2795            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2796            #[serde(rename_all = "camelCase")]
2797            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels {
2798                pub properties: std::collections::HashMap<String, String>,
2799            }
2800
2801            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2802            #[serde(rename_all = "camelCase")]
2803            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels {
2804                pub properties: std::collections::HashMap<String, String>,
2805            }
2806
2807            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2808            #[serde(rename_all = "camelCase")]
2809            pub struct MergeTemplateSpecSourceKustomizeCommonLabels {
2810                pub properties: std::collections::HashMap<String, String>,
2811            }
2812
2813            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2814            #[serde(rename_all = "camelCase")]
2815            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels {
2816                pub properties: std::collections::HashMap<String, String>,
2817            }
2818
2819            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2820            #[serde(rename_all = "camelCase")]
2821            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels {
2822                pub properties: std::collections::HashMap<String, String>,
2823            }
2824
2825            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2826            #[serde(rename_all = "camelCase")]
2827            pub struct SpecTemplateSpecSourceKustomizeCommonLabels {
2828                pub properties: std::collections::HashMap<String, String>,
2829            }
2830
2831            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2832            #[serde(rename_all = "camelCase")]
2833            pub struct ConditionsItem {
2834                pub last_transition_time: String,
2835                pub message: String,
2836                pub reason: String,
2837                pub status: String,
2838                pub r#type: String,
2839            }
2840
2841            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2842            #[serde(rename_all = "camelCase")]
2843            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecDestination {
2844                pub name: String,
2845                pub namespace: String,
2846                pub server: String,
2847            }
2848
2849            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2850            #[serde(rename_all = "camelCase")]
2851            pub struct SpecGeneratorsItemClustersTemplateSpecDestination {
2852                pub name: String,
2853                pub namespace: String,
2854                pub server: String,
2855            }
2856
2857            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2858            #[serde(rename_all = "camelCase")]
2859            pub struct SpecGeneratorsItemGitTemplateSpecDestination {
2860                pub name: String,
2861                pub namespace: String,
2862                pub server: String,
2863            }
2864
2865            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2866            #[serde(rename_all = "camelCase")]
2867            pub struct SpecGeneratorsItemListTemplateSpecDestination {
2868                pub name: String,
2869                pub namespace: String,
2870                pub server: String,
2871            }
2872
2873            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2874            #[serde(rename_all = "camelCase")]
2875            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecDestination {
2876                pub name: String,
2877                pub namespace: String,
2878                pub server: String,
2879            }
2880
2881            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2882            #[serde(rename_all = "camelCase")]
2883            pub struct MatrixGeneratorsItemClustersTemplateSpecDestination {
2884                pub name: String,
2885                pub namespace: String,
2886                pub server: String,
2887            }
2888
2889            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2890            #[serde(rename_all = "camelCase")]
2891            pub struct MatrixGeneratorsItemGitTemplateSpecDestination {
2892                pub name: String,
2893                pub namespace: String,
2894                pub server: String,
2895            }
2896
2897            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2898            #[serde(rename_all = "camelCase")]
2899            pub struct MatrixGeneratorsItemListTemplateSpecDestination {
2900                pub name: String,
2901                pub namespace: String,
2902                pub server: String,
2903            }
2904
2905            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2906            #[serde(rename_all = "camelCase")]
2907            pub struct MatrixGeneratorsItemPullRequestTemplateSpecDestination {
2908                pub name: String,
2909                pub namespace: String,
2910                pub server: String,
2911            }
2912
2913            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2914            #[serde(rename_all = "camelCase")]
2915            pub struct MatrixGeneratorsItemScmProviderTemplateSpecDestination {
2916                pub name: String,
2917                pub namespace: String,
2918                pub server: String,
2919            }
2920
2921            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2922            #[serde(rename_all = "camelCase")]
2923            pub struct MatrixTemplateSpecDestination {
2924                pub name: String,
2925                pub namespace: String,
2926                pub server: String,
2927            }
2928
2929            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2930            #[serde(rename_all = "camelCase")]
2931            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecDestination {
2932                pub name: String,
2933                pub namespace: String,
2934                pub server: String,
2935            }
2936
2937            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2938            #[serde(rename_all = "camelCase")]
2939            pub struct MergeGeneratorsItemClustersTemplateSpecDestination {
2940                pub name: String,
2941                pub namespace: String,
2942                pub server: String,
2943            }
2944
2945            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2946            #[serde(rename_all = "camelCase")]
2947            pub struct MergeGeneratorsItemGitTemplateSpecDestination {
2948                pub name: String,
2949                pub namespace: String,
2950                pub server: String,
2951            }
2952
2953            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2954            #[serde(rename_all = "camelCase")]
2955            pub struct MergeGeneratorsItemListTemplateSpecDestination {
2956                pub name: String,
2957                pub namespace: String,
2958                pub server: String,
2959            }
2960
2961            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2962            #[serde(rename_all = "camelCase")]
2963            pub struct MergeGeneratorsItemPullRequestTemplateSpecDestination {
2964                pub name: String,
2965                pub namespace: String,
2966                pub server: String,
2967            }
2968
2969            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2970            #[serde(rename_all = "camelCase")]
2971            pub struct MergeGeneratorsItemScmProviderTemplateSpecDestination {
2972                pub name: String,
2973                pub namespace: String,
2974                pub server: String,
2975            }
2976
2977            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2978            #[serde(rename_all = "camelCase")]
2979            pub struct MergeTemplateSpecDestination {
2980                pub name: String,
2981                pub namespace: String,
2982                pub server: String,
2983            }
2984
2985            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2986            #[serde(rename_all = "camelCase")]
2987            pub struct SpecGeneratorsItemPullRequestTemplateSpecDestination {
2988                pub name: String,
2989                pub namespace: String,
2990                pub server: String,
2991            }
2992
2993            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
2994            #[serde(rename_all = "camelCase")]
2995            pub struct SpecGeneratorsItemScmProviderTemplateSpecDestination {
2996                pub name: String,
2997                pub namespace: String,
2998                pub server: String,
2999            }
3000
3001            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3002            #[serde(rename_all = "camelCase")]
3003            pub struct SpecTemplateSpecDestination {
3004                pub name: String,
3005                pub namespace: String,
3006                pub server: String,
3007            }
3008
3009            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3010            #[serde(rename_all = "camelCase")]
3011            pub struct SpecGeneratorsItemGitDirectoriesItem {
3012                pub exclude: bool,
3013                pub path: String,
3014            }
3015
3016            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3017            #[serde(rename_all = "camelCase")]
3018            pub struct MatrixGeneratorsItemGitDirectoriesItem {
3019                pub exclude: bool,
3020                pub path: String,
3021            }
3022
3023            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3024            #[serde(rename_all = "camelCase")]
3025            pub struct MergeGeneratorsItemGitDirectoriesItem {
3026                pub exclude: bool,
3027                pub path: String,
3028            }
3029
3030            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3031            #[serde(rename_all = "camelCase")]
3032            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory {
3033                pub exclude: String,
3034                pub include: String,
3035                pub jsonnet:
3036                    SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet,
3037                pub recurse: bool,
3038            }
3039
3040            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3041            #[serde(rename_all = "camelCase")]
3042            pub struct SpecGeneratorsItemClustersTemplateSpecSourceDirectory {
3043                pub exclude: String,
3044                pub include: String,
3045                pub jsonnet: SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet,
3046                pub recurse: bool,
3047            }
3048
3049            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3050            #[serde(rename_all = "camelCase")]
3051            pub struct SpecGeneratorsItemGitTemplateSpecSourceDirectory {
3052                pub exclude: String,
3053                pub include: String,
3054                pub jsonnet: SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet,
3055                pub recurse: bool,
3056            }
3057
3058            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3059            #[serde(rename_all = "camelCase")]
3060            pub struct SpecGeneratorsItemListTemplateSpecSourceDirectory {
3061                pub exclude: String,
3062                pub include: String,
3063                pub jsonnet: SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnet,
3064                pub recurse: bool,
3065            }
3066
3067            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3068            #[serde(rename_all = "camelCase")]
3069            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory {
3070                pub exclude: String,
3071                pub include: String,
3072                pub jsonnet:
3073                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet,
3074                pub recurse: bool,
3075            }
3076
3077            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3078            #[serde(rename_all = "camelCase")]
3079            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceDirectory {
3080                pub exclude: String,
3081                pub include: String,
3082                pub jsonnet: MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet,
3083                pub recurse: bool,
3084            }
3085
3086            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3087            #[serde(rename_all = "camelCase")]
3088            pub struct MatrixGeneratorsItemGitTemplateSpecSourceDirectory {
3089                pub exclude: String,
3090                pub include: String,
3091                pub jsonnet: MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet,
3092                pub recurse: bool,
3093            }
3094
3095            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3096            #[serde(rename_all = "camelCase")]
3097            pub struct MatrixGeneratorsItemListTemplateSpecSourceDirectory {
3098                pub exclude: String,
3099                pub include: String,
3100                pub jsonnet: MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnet,
3101                pub recurse: bool,
3102            }
3103
3104            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3105            #[serde(rename_all = "camelCase")]
3106            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectory {
3107                pub exclude: String,
3108                pub include: String,
3109                pub jsonnet: MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet,
3110                pub recurse: bool,
3111            }
3112
3113            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3114            #[serde(rename_all = "camelCase")]
3115            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectory {
3116                pub exclude: String,
3117                pub include: String,
3118                pub jsonnet: MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet,
3119                pub recurse: bool,
3120            }
3121
3122            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3123            #[serde(rename_all = "camelCase")]
3124            pub struct MatrixTemplateSpecSourceDirectory {
3125                pub exclude: String,
3126                pub include: String,
3127                pub jsonnet: MatrixTemplateSpecSourceDirectoryJsonnet,
3128                pub recurse: bool,
3129            }
3130
3131            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3132            #[serde(rename_all = "camelCase")]
3133            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory {
3134                pub exclude: String,
3135                pub include: String,
3136                pub jsonnet:
3137                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet,
3138                pub recurse: bool,
3139            }
3140
3141            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3142            #[serde(rename_all = "camelCase")]
3143            pub struct MergeGeneratorsItemClustersTemplateSpecSourceDirectory {
3144                pub exclude: String,
3145                pub include: String,
3146                pub jsonnet: MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet,
3147                pub recurse: bool,
3148            }
3149
3150            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3151            #[serde(rename_all = "camelCase")]
3152            pub struct MergeGeneratorsItemGitTemplateSpecSourceDirectory {
3153                pub exclude: String,
3154                pub include: String,
3155                pub jsonnet: MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet,
3156                pub recurse: bool,
3157            }
3158
3159            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3160            #[serde(rename_all = "camelCase")]
3161            pub struct MergeGeneratorsItemListTemplateSpecSourceDirectory {
3162                pub exclude: String,
3163                pub include: String,
3164                pub jsonnet: MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnet,
3165                pub recurse: bool,
3166            }
3167
3168            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3169            #[serde(rename_all = "camelCase")]
3170            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceDirectory {
3171                pub exclude: String,
3172                pub include: String,
3173                pub jsonnet: MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet,
3174                pub recurse: bool,
3175            }
3176
3177            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3178            #[serde(rename_all = "camelCase")]
3179            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceDirectory {
3180                pub exclude: String,
3181                pub include: String,
3182                pub jsonnet: MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet,
3183                pub recurse: bool,
3184            }
3185
3186            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3187            #[serde(rename_all = "camelCase")]
3188            pub struct MergeTemplateSpecSourceDirectory {
3189                pub exclude: String,
3190                pub include: String,
3191                pub jsonnet: MergeTemplateSpecSourceDirectoryJsonnet,
3192                pub recurse: bool,
3193            }
3194
3195            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3196            #[serde(rename_all = "camelCase")]
3197            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceDirectory {
3198                pub exclude: String,
3199                pub include: String,
3200                pub jsonnet: SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet,
3201                pub recurse: bool,
3202            }
3203
3204            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3205            #[serde(rename_all = "camelCase")]
3206            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceDirectory {
3207                pub exclude: String,
3208                pub include: String,
3209                pub jsonnet: SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet,
3210                pub recurse: bool,
3211            }
3212
3213            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3214            #[serde(rename_all = "camelCase")]
3215            pub struct SpecTemplateSpecSourceDirectory {
3216                pub exclude: String,
3217                pub include: String,
3218                pub jsonnet: SpecTemplateSpecSourceDirectoryJsonnet,
3219                pub recurse: bool,
3220            }
3221
3222            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3223            #[serde(rename_all = "camelCase")]
3224            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem {
3225                pub name: String,
3226                pub value: String,
3227            }
3228
3229            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3230            #[serde(rename_all = "camelCase")]
3231            pub struct SpecGeneratorsItemClustersTemplateSpecSourcePluginEnvItem {
3232                pub name: String,
3233                pub value: String,
3234            }
3235
3236            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3237            #[serde(rename_all = "camelCase")]
3238            pub struct SpecGeneratorsItemGitTemplateSpecSourcePluginEnvItem {
3239                pub name: String,
3240                pub value: String,
3241            }
3242
3243            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3244            #[serde(rename_all = "camelCase")]
3245            pub struct SpecGeneratorsItemListTemplateSpecSourcePluginEnvItem {
3246                pub name: String,
3247                pub value: String,
3248            }
3249
3250            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3251            #[serde(rename_all = "camelCase")]
3252            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem {
3253                pub name: String,
3254                pub value: String,
3255            }
3256
3257            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3258            #[serde(rename_all = "camelCase")]
3259            pub struct MatrixGeneratorsItemClustersTemplateSpecSourcePluginEnvItem {
3260                pub name: String,
3261                pub value: String,
3262            }
3263
3264            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3265            #[serde(rename_all = "camelCase")]
3266            pub struct MatrixGeneratorsItemGitTemplateSpecSourcePluginEnvItem {
3267                pub name: String,
3268                pub value: String,
3269            }
3270
3271            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3272            #[serde(rename_all = "camelCase")]
3273            pub struct MatrixGeneratorsItemListTemplateSpecSourcePluginEnvItem {
3274                pub name: String,
3275                pub value: String,
3276            }
3277
3278            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3279            #[serde(rename_all = "camelCase")]
3280            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem {
3281                pub name: String,
3282                pub value: String,
3283            }
3284
3285            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3286            #[serde(rename_all = "camelCase")]
3287            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem {
3288                pub name: String,
3289                pub value: String,
3290            }
3291
3292            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3293            #[serde(rename_all = "camelCase")]
3294            pub struct MatrixTemplateSpecSourcePluginEnvItem {
3295                pub name: String,
3296                pub value: String,
3297            }
3298
3299            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3300            #[serde(rename_all = "camelCase")]
3301            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem {
3302                pub name: String,
3303                pub value: String,
3304            }
3305
3306            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3307            #[serde(rename_all = "camelCase")]
3308            pub struct MergeGeneratorsItemClustersTemplateSpecSourcePluginEnvItem {
3309                pub name: String,
3310                pub value: String,
3311            }
3312
3313            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3314            #[serde(rename_all = "camelCase")]
3315            pub struct MergeGeneratorsItemGitTemplateSpecSourcePluginEnvItem {
3316                pub name: String,
3317                pub value: String,
3318            }
3319
3320            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3321            #[serde(rename_all = "camelCase")]
3322            pub struct MergeGeneratorsItemListTemplateSpecSourcePluginEnvItem {
3323                pub name: String,
3324                pub value: String,
3325            }
3326
3327            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3328            #[serde(rename_all = "camelCase")]
3329            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem {
3330                pub name: String,
3331                pub value: String,
3332            }
3333
3334            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3335            #[serde(rename_all = "camelCase")]
3336            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem {
3337                pub name: String,
3338                pub value: String,
3339            }
3340
3341            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3342            #[serde(rename_all = "camelCase")]
3343            pub struct MergeTemplateSpecSourcePluginEnvItem {
3344                pub name: String,
3345                pub value: String,
3346            }
3347
3348            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3349            #[serde(rename_all = "camelCase")]
3350            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem {
3351                pub name: String,
3352                pub value: String,
3353            }
3354
3355            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3356            #[serde(rename_all = "camelCase")]
3357            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem {
3358                pub name: String,
3359                pub value: String,
3360            }
3361
3362            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3363            #[serde(rename_all = "camelCase")]
3364            pub struct SpecTemplateSpecSourcePluginEnvItem {
3365                pub name: String,
3366                pub value: String,
3367            }
3368
3369            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3370            #[serde(rename_all = "camelCase")]
3371            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3372                pub code: bool,
3373                pub name: String,
3374                pub value: String,
3375            }
3376
3377            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3378            #[serde(rename_all = "camelCase")]
3379            pub struct SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3380                pub code: bool,
3381                pub name: String,
3382                pub value: String,
3383            }
3384
3385            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3386            #[serde(rename_all = "camelCase")]
3387            pub struct SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3388                pub code: bool,
3389                pub name: String,
3390                pub value: String,
3391            }
3392
3393            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3394            #[serde(rename_all = "camelCase")]
3395            pub struct SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3396                pub code: bool,
3397                pub name: String,
3398                pub value: String,
3399            }
3400
3401            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3402            #[serde(rename_all = "camelCase")]
3403            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem
3404            {
3405                pub code: bool,
3406                pub name: String,
3407                pub value: String,
3408            }
3409
3410            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3411            #[serde(rename_all = "camelCase")]
3412            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3413                pub code: bool,
3414                pub name: String,
3415                pub value: String,
3416            }
3417
3418            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3419            #[serde(rename_all = "camelCase")]
3420            pub struct MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3421                pub code: bool,
3422                pub name: String,
3423                pub value: String,
3424            }
3425
3426            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3427            #[serde(rename_all = "camelCase")]
3428            pub struct MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3429                pub code: bool,
3430                pub name: String,
3431                pub value: String,
3432            }
3433
3434            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3435            #[serde(rename_all = "camelCase")]
3436            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3437                pub code: bool,
3438                pub name: String,
3439                pub value: String,
3440            }
3441
3442            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3443            #[serde(rename_all = "camelCase")]
3444            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3445                pub code: bool,
3446                pub name: String,
3447                pub value: String,
3448            }
3449
3450            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3451            #[serde(rename_all = "camelCase")]
3452            pub struct MatrixTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3453                pub code: bool,
3454                pub name: String,
3455                pub value: String,
3456            }
3457
3458            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3459            #[serde(rename_all = "camelCase")]
3460            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3461                pub code: bool,
3462                pub name: String,
3463                pub value: String,
3464            }
3465
3466            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3467            #[serde(rename_all = "camelCase")]
3468            pub struct MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3469                pub code: bool,
3470                pub name: String,
3471                pub value: String,
3472            }
3473
3474            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3475            #[serde(rename_all = "camelCase")]
3476            pub struct MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3477                pub code: bool,
3478                pub name: String,
3479                pub value: String,
3480            }
3481
3482            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3483            #[serde(rename_all = "camelCase")]
3484            pub struct MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3485                pub code: bool,
3486                pub name: String,
3487                pub value: String,
3488            }
3489
3490            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3491            #[serde(rename_all = "camelCase")]
3492            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3493                pub code: bool,
3494                pub name: String,
3495                pub value: String,
3496            }
3497
3498            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3499            #[serde(rename_all = "camelCase")]
3500            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3501                pub code: bool,
3502                pub name: String,
3503                pub value: String,
3504            }
3505
3506            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3507            #[serde(rename_all = "camelCase")]
3508            pub struct MergeTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3509                pub code: bool,
3510                pub name: String,
3511                pub value: String,
3512            }
3513
3514            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3515            #[serde(rename_all = "camelCase")]
3516            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3517                pub code: bool,
3518                pub name: String,
3519                pub value: String,
3520            }
3521
3522            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3523            #[serde(rename_all = "camelCase")]
3524            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3525                pub code: bool,
3526                pub name: String,
3527                pub value: String,
3528            }
3529
3530            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3531            #[serde(rename_all = "camelCase")]
3532            pub struct SpecTemplateSpecSourceDirectoryJsonnetExtVarsItem {
3533                pub code: bool,
3534                pub name: String,
3535                pub value: String,
3536            }
3537
3538            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3539            #[serde(rename_all = "camelCase")]
3540            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem {
3541                pub name: String,
3542                pub path: String,
3543            }
3544
3545            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3546            #[serde(rename_all = "camelCase")]
3547            pub struct SpecGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem {
3548                pub name: String,
3549                pub path: String,
3550            }
3551
3552            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3553            #[serde(rename_all = "camelCase")]
3554            pub struct SpecGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem {
3555                pub name: String,
3556                pub path: String,
3557            }
3558
3559            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3560            #[serde(rename_all = "camelCase")]
3561            pub struct SpecGeneratorsItemListTemplateSpecSourceHelmFileParametersItem {
3562                pub name: String,
3563                pub path: String,
3564            }
3565
3566            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3567            #[serde(rename_all = "camelCase")]
3568            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem {
3569                pub name: String,
3570                pub path: String,
3571            }
3572
3573            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3574            #[serde(rename_all = "camelCase")]
3575            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem {
3576                pub name: String,
3577                pub path: String,
3578            }
3579
3580            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3581            #[serde(rename_all = "camelCase")]
3582            pub struct MatrixGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem {
3583                pub name: String,
3584                pub path: String,
3585            }
3586
3587            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3588            #[serde(rename_all = "camelCase")]
3589            pub struct MatrixGeneratorsItemListTemplateSpecSourceHelmFileParametersItem {
3590                pub name: String,
3591                pub path: String,
3592            }
3593
3594            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3595            #[serde(rename_all = "camelCase")]
3596            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem {
3597                pub name: String,
3598                pub path: String,
3599            }
3600
3601            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3602            #[serde(rename_all = "camelCase")]
3603            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem {
3604                pub name: String,
3605                pub path: String,
3606            }
3607
3608            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3609            #[serde(rename_all = "camelCase")]
3610            pub struct MatrixTemplateSpecSourceHelmFileParametersItem {
3611                pub name: String,
3612                pub path: String,
3613            }
3614
3615            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3616            #[serde(rename_all = "camelCase")]
3617            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem {
3618                pub name: String,
3619                pub path: String,
3620            }
3621
3622            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3623            #[serde(rename_all = "camelCase")]
3624            pub struct MergeGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem {
3625                pub name: String,
3626                pub path: String,
3627            }
3628
3629            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3630            #[serde(rename_all = "camelCase")]
3631            pub struct MergeGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem {
3632                pub name: String,
3633                pub path: String,
3634            }
3635
3636            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3637            #[serde(rename_all = "camelCase")]
3638            pub struct MergeGeneratorsItemListTemplateSpecSourceHelmFileParametersItem {
3639                pub name: String,
3640                pub path: String,
3641            }
3642
3643            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3644            #[serde(rename_all = "camelCase")]
3645            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem {
3646                pub name: String,
3647                pub path: String,
3648            }
3649
3650            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3651            #[serde(rename_all = "camelCase")]
3652            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem {
3653                pub name: String,
3654                pub path: String,
3655            }
3656
3657            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3658            #[serde(rename_all = "camelCase")]
3659            pub struct MergeTemplateSpecSourceHelmFileParametersItem {
3660                pub name: String,
3661                pub path: String,
3662            }
3663
3664            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3665            #[serde(rename_all = "camelCase")]
3666            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem {
3667                pub name: String,
3668                pub path: String,
3669            }
3670
3671            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3672            #[serde(rename_all = "camelCase")]
3673            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem {
3674                pub name: String,
3675                pub path: String,
3676            }
3677
3678            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3679            #[serde(rename_all = "camelCase")]
3680            pub struct SpecTemplateSpecSourceHelmFileParametersItem {
3681                pub name: String,
3682                pub path: String,
3683            }
3684
3685            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3686            #[serde(rename_all = "camelCase")]
3687            pub struct SpecGeneratorsItemGitFilesItem {
3688                pub path: String,
3689            }
3690
3691            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3692            #[serde(rename_all = "camelCase")]
3693            pub struct MatrixGeneratorsItemGitFilesItem {
3694                pub path: String,
3695            }
3696
3697            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3698            #[serde(rename_all = "camelCase")]
3699            pub struct MergeGeneratorsItemGitFilesItem {
3700                pub path: String,
3701            }
3702
3703            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3704            #[serde(rename_all = "camelCase")]
3705            pub struct MatrixGeneratorsItemPullRequestFiltersItem {
3706                pub branch_match: String,
3707            }
3708
3709            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3710            #[serde(rename_all = "camelCase")]
3711            pub struct MatrixGeneratorsItemScmProviderFiltersItem {
3712                pub branch_match: String,
3713                pub label_match: String,
3714                pub paths_do_not_exist: Vec<String>,
3715                pub paths_exist: Vec<String>,
3716                pub repository_match: String,
3717            }
3718
3719            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3720            #[serde(rename_all = "camelCase")]
3721            pub struct MergeGeneratorsItemPullRequestFiltersItem {
3722                pub branch_match: String,
3723            }
3724
3725            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3726            #[serde(rename_all = "camelCase")]
3727            pub struct MergeGeneratorsItemScmProviderFiltersItem {
3728                pub branch_match: String,
3729                pub label_match: String,
3730                pub paths_do_not_exist: Vec<String>,
3731                pub paths_exist: Vec<String>,
3732                pub repository_match: String,
3733            }
3734
3735            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3736            #[serde(rename_all = "camelCase")]
3737            pub struct SpecGeneratorsItemPullRequestFiltersItem {
3738                pub branch_match: String,
3739            }
3740
3741            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3742            #[serde(rename_all = "camelCase")]
3743            pub struct SpecGeneratorsItemScmProviderFiltersItem {
3744                pub branch_match: String,
3745                pub label_match: String,
3746                pub paths_do_not_exist: Vec<String>,
3747                pub paths_exist: Vec<String>,
3748                pub repository_match: String,
3749            }
3750
3751            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3752            #[serde(rename_all = "camelCase")]
3753            pub struct SpecGeneratorsItem {
3754                pub cluster_decision_resource: SpecGeneratorsItemClusterDecisionResource,
3755                pub clusters: SpecGeneratorsItemClusters,
3756                pub git: SpecGeneratorsItemGit,
3757                pub list: SpecGeneratorsItemList,
3758                pub matrix: Matrix,
3759                pub merge: Merge,
3760                pub pull_request: SpecGeneratorsItemPullRequest,
3761                pub scm_provider: SpecGeneratorsItemScmProvider,
3762            }
3763
3764            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3765            #[serde(rename_all = "camelCase")]
3766            pub struct MatrixGeneratorsItem {
3767                pub cluster_decision_resource: MatrixGeneratorsItemClusterDecisionResource,
3768                pub clusters: MatrixGeneratorsItemClusters,
3769                pub git: MatrixGeneratorsItemGit,
3770                pub list: MatrixGeneratorsItemList,
3771                pub matrix: serde_json::Map<String, serde_json::Value>,
3772                pub merge: serde_json::Map<String, serde_json::Value>,
3773                pub pull_request: MatrixGeneratorsItemPullRequest,
3774                pub scm_provider: MatrixGeneratorsItemScmProvider,
3775            }
3776
3777            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3778            #[serde(rename_all = "camelCase")]
3779            pub struct MergeGeneratorsItem {
3780                pub cluster_decision_resource: MergeGeneratorsItemClusterDecisionResource,
3781                pub clusters: MergeGeneratorsItemClusters,
3782                pub git: MergeGeneratorsItemGit,
3783                pub list: MergeGeneratorsItemList,
3784                pub matrix: serde_json::Map<String, serde_json::Value>,
3785                pub merge: serde_json::Map<String, serde_json::Value>,
3786                pub pull_request: MergeGeneratorsItemPullRequest,
3787                pub scm_provider: MergeGeneratorsItemScmProvider,
3788            }
3789
3790            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3791            #[serde(rename_all = "camelCase")]
3792            pub struct SpecGeneratorsItemGit {
3793                pub directories: Vec<SpecGeneratorsItemGitDirectoriesItem>,
3794                pub files: Vec<SpecGeneratorsItemGitFilesItem>,
3795                pub repo_u_r_l: String,
3796                pub requeue_after_seconds: i64,
3797                pub revision: String,
3798                pub template: SpecGeneratorsItemGitTemplate,
3799            }
3800
3801            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3802            #[serde(rename_all = "camelCase")]
3803            pub struct MatrixGeneratorsItemGit {
3804                pub directories: Vec<MatrixGeneratorsItemGitDirectoriesItem>,
3805                pub files: Vec<MatrixGeneratorsItemGitFilesItem>,
3806                pub repo_u_r_l: String,
3807                pub requeue_after_seconds: i64,
3808                pub revision: String,
3809                pub template: MatrixGeneratorsItemGitTemplate,
3810            }
3811
3812            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3813            #[serde(rename_all = "camelCase")]
3814            pub struct MergeGeneratorsItemGit {
3815                pub directories: Vec<MergeGeneratorsItemGitDirectoriesItem>,
3816                pub files: Vec<MergeGeneratorsItemGitFilesItem>,
3817                pub repo_u_r_l: String,
3818                pub requeue_after_seconds: i64,
3819                pub revision: String,
3820                pub template: MergeGeneratorsItemGitTemplate,
3821            }
3822
3823            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3824            #[serde(rename_all = "camelCase")]
3825            pub struct MatrixGeneratorsItemPullRequestGitea {
3826                pub api: String,
3827                pub insecure: bool,
3828                pub owner: String,
3829                pub repo: String,
3830                pub token_ref: MatrixGeneratorsItemPullRequestGiteaTokenRef,
3831            }
3832
3833            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3834            #[serde(rename_all = "camelCase")]
3835            pub struct MatrixGeneratorsItemScmProviderGitea {
3836                pub all_branches: bool,
3837                pub api: String,
3838                pub insecure: bool,
3839                pub owner: String,
3840                pub token_ref: MatrixGeneratorsItemScmProviderGiteaTokenRef,
3841            }
3842
3843            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3844            #[serde(rename_all = "camelCase")]
3845            pub struct MergeGeneratorsItemPullRequestGitea {
3846                pub api: String,
3847                pub insecure: bool,
3848                pub owner: String,
3849                pub repo: String,
3850                pub token_ref: MergeGeneratorsItemPullRequestGiteaTokenRef,
3851            }
3852
3853            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3854            #[serde(rename_all = "camelCase")]
3855            pub struct MergeGeneratorsItemScmProviderGitea {
3856                pub all_branches: bool,
3857                pub api: String,
3858                pub insecure: bool,
3859                pub owner: String,
3860                pub token_ref: MergeGeneratorsItemScmProviderGiteaTokenRef,
3861            }
3862
3863            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3864            #[serde(rename_all = "camelCase")]
3865            pub struct SpecGeneratorsItemPullRequestGitea {
3866                pub api: String,
3867                pub insecure: bool,
3868                pub owner: String,
3869                pub repo: String,
3870                pub token_ref: SpecGeneratorsItemPullRequestGiteaTokenRef,
3871            }
3872
3873            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3874            #[serde(rename_all = "camelCase")]
3875            pub struct SpecGeneratorsItemScmProviderGitea {
3876                pub all_branches: bool,
3877                pub api: String,
3878                pub insecure: bool,
3879                pub owner: String,
3880                pub token_ref: SpecGeneratorsItemScmProviderGiteaTokenRef,
3881            }
3882
3883            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3884            #[serde(rename_all = "camelCase")]
3885            pub struct MatrixGeneratorsItemPullRequestGithub {
3886                pub api: String,
3887                pub labels: Vec<String>,
3888                pub owner: String,
3889                pub repo: String,
3890                pub token_ref: MatrixGeneratorsItemPullRequestGithubTokenRef,
3891            }
3892
3893            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3894            #[serde(rename_all = "camelCase")]
3895            pub struct MatrixGeneratorsItemScmProviderGithub {
3896                pub all_branches: bool,
3897                pub api: String,
3898                pub organization: String,
3899                pub token_ref: MatrixGeneratorsItemScmProviderGithubTokenRef,
3900            }
3901
3902            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3903            #[serde(rename_all = "camelCase")]
3904            pub struct MergeGeneratorsItemPullRequestGithub {
3905                pub api: String,
3906                pub labels: Vec<String>,
3907                pub owner: String,
3908                pub repo: String,
3909                pub token_ref: MergeGeneratorsItemPullRequestGithubTokenRef,
3910            }
3911
3912            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3913            #[serde(rename_all = "camelCase")]
3914            pub struct MergeGeneratorsItemScmProviderGithub {
3915                pub all_branches: bool,
3916                pub api: String,
3917                pub organization: String,
3918                pub token_ref: MergeGeneratorsItemScmProviderGithubTokenRef,
3919            }
3920
3921            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3922            #[serde(rename_all = "camelCase")]
3923            pub struct SpecGeneratorsItemPullRequestGithub {
3924                pub api: String,
3925                pub labels: Vec<String>,
3926                pub owner: String,
3927                pub repo: String,
3928                pub token_ref: SpecGeneratorsItemPullRequestGithubTokenRef,
3929            }
3930
3931            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3932            #[serde(rename_all = "camelCase")]
3933            pub struct SpecGeneratorsItemScmProviderGithub {
3934                pub all_branches: bool,
3935                pub api: String,
3936                pub organization: String,
3937                pub token_ref: SpecGeneratorsItemScmProviderGithubTokenRef,
3938            }
3939
3940            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3941            #[serde(rename_all = "camelCase")]
3942            pub struct MatrixGeneratorsItemPullRequestGitlab {
3943                pub api: String,
3944                pub labels: Vec<String>,
3945                pub project: String,
3946                pub pull_request_state: String,
3947                pub token_ref: MatrixGeneratorsItemPullRequestGitlabTokenRef,
3948            }
3949
3950            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3951            #[serde(rename_all = "camelCase")]
3952            pub struct MatrixGeneratorsItemScmProviderGitlab {
3953                pub all_branches: bool,
3954                pub api: String,
3955                pub group: String,
3956                pub include_subgroups: bool,
3957                pub token_ref: MatrixGeneratorsItemScmProviderGitlabTokenRef,
3958            }
3959
3960            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3961            #[serde(rename_all = "camelCase")]
3962            pub struct MergeGeneratorsItemPullRequestGitlab {
3963                pub api: String,
3964                pub labels: Vec<String>,
3965                pub project: String,
3966                pub pull_request_state: String,
3967                pub token_ref: MergeGeneratorsItemPullRequestGitlabTokenRef,
3968            }
3969
3970            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3971            #[serde(rename_all = "camelCase")]
3972            pub struct MergeGeneratorsItemScmProviderGitlab {
3973                pub all_branches: bool,
3974                pub api: String,
3975                pub group: String,
3976                pub include_subgroups: bool,
3977                pub token_ref: MergeGeneratorsItemScmProviderGitlabTokenRef,
3978            }
3979
3980            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3981            #[serde(rename_all = "camelCase")]
3982            pub struct SpecGeneratorsItemPullRequestGitlab {
3983                pub api: String,
3984                pub labels: Vec<String>,
3985                pub project: String,
3986                pub pull_request_state: String,
3987                pub token_ref: SpecGeneratorsItemPullRequestGitlabTokenRef,
3988            }
3989
3990            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
3991            #[serde(rename_all = "camelCase")]
3992            pub struct SpecGeneratorsItemScmProviderGitlab {
3993                pub all_branches: bool,
3994                pub api: String,
3995                pub group: String,
3996                pub include_subgroups: bool,
3997                pub token_ref: SpecGeneratorsItemScmProviderGitlabTokenRef,
3998            }
3999
4000            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4001            #[serde(rename_all = "camelCase")]
4002            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm {
4003            pub file_parameters: Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem>,
4004            pub ignore_missing_value_files: bool,
4005            pub parameters: Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem>,
4006            pub pass_credentials: bool,
4007            pub release_name: String,
4008            pub skip_crds: bool,
4009            pub value_files: Vec<String>,
4010            pub values: String,
4011            pub version: String,
4012        }
4013
4014            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4015            #[serde(rename_all = "camelCase")]
4016            pub struct SpecGeneratorsItemClustersTemplateSpecSourceHelm {
4017                pub file_parameters:
4018                    Vec<SpecGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem>,
4019                pub ignore_missing_value_files: bool,
4020                pub parameters: Vec<SpecGeneratorsItemClustersTemplateSpecSourceHelmParametersItem>,
4021                pub pass_credentials: bool,
4022                pub release_name: String,
4023                pub skip_crds: bool,
4024                pub value_files: Vec<String>,
4025                pub values: String,
4026                pub version: String,
4027            }
4028
4029            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4030            #[serde(rename_all = "camelCase")]
4031            pub struct SpecGeneratorsItemGitTemplateSpecSourceHelm {
4032                pub file_parameters:
4033                    Vec<SpecGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem>,
4034                pub ignore_missing_value_files: bool,
4035                pub parameters: Vec<SpecGeneratorsItemGitTemplateSpecSourceHelmParametersItem>,
4036                pub pass_credentials: bool,
4037                pub release_name: String,
4038                pub skip_crds: bool,
4039                pub value_files: Vec<String>,
4040                pub values: String,
4041                pub version: String,
4042            }
4043
4044            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4045            #[serde(rename_all = "camelCase")]
4046            pub struct SpecGeneratorsItemListTemplateSpecSourceHelm {
4047                pub file_parameters:
4048                    Vec<SpecGeneratorsItemListTemplateSpecSourceHelmFileParametersItem>,
4049                pub ignore_missing_value_files: bool,
4050                pub parameters: Vec<SpecGeneratorsItemListTemplateSpecSourceHelmParametersItem>,
4051                pub pass_credentials: bool,
4052                pub release_name: String,
4053                pub skip_crds: bool,
4054                pub value_files: Vec<String>,
4055                pub values: String,
4056                pub version: String,
4057            }
4058
4059            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4060            #[serde(rename_all = "camelCase")]
4061            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm {
4062            pub file_parameters: Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem>,
4063            pub ignore_missing_value_files: bool,
4064            pub parameters: Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem>,
4065            pub pass_credentials: bool,
4066            pub release_name: String,
4067            pub skip_crds: bool,
4068            pub value_files: Vec<String>,
4069            pub values: String,
4070            pub version: String,
4071        }
4072
4073            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4074            #[serde(rename_all = "camelCase")]
4075            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceHelm {
4076                pub file_parameters:
4077                    Vec<MatrixGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem>,
4078                pub ignore_missing_value_files: bool,
4079                pub parameters:
4080                    Vec<MatrixGeneratorsItemClustersTemplateSpecSourceHelmParametersItem>,
4081                pub pass_credentials: bool,
4082                pub release_name: String,
4083                pub skip_crds: bool,
4084                pub value_files: Vec<String>,
4085                pub values: String,
4086                pub version: String,
4087            }
4088
4089            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4090            #[serde(rename_all = "camelCase")]
4091            pub struct MatrixGeneratorsItemGitTemplateSpecSourceHelm {
4092                pub file_parameters:
4093                    Vec<MatrixGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem>,
4094                pub ignore_missing_value_files: bool,
4095                pub parameters: Vec<MatrixGeneratorsItemGitTemplateSpecSourceHelmParametersItem>,
4096                pub pass_credentials: bool,
4097                pub release_name: String,
4098                pub skip_crds: bool,
4099                pub value_files: Vec<String>,
4100                pub values: String,
4101                pub version: String,
4102            }
4103
4104            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4105            #[serde(rename_all = "camelCase")]
4106            pub struct MatrixGeneratorsItemListTemplateSpecSourceHelm {
4107                pub file_parameters:
4108                    Vec<MatrixGeneratorsItemListTemplateSpecSourceHelmFileParametersItem>,
4109                pub ignore_missing_value_files: bool,
4110                pub parameters: Vec<MatrixGeneratorsItemListTemplateSpecSourceHelmParametersItem>,
4111                pub pass_credentials: bool,
4112                pub release_name: String,
4113                pub skip_crds: bool,
4114                pub value_files: Vec<String>,
4115                pub values: String,
4116                pub version: String,
4117            }
4118
4119            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4120            #[serde(rename_all = "camelCase")]
4121            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceHelm {
4122                pub file_parameters:
4123                    Vec<MatrixGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem>,
4124                pub ignore_missing_value_files: bool,
4125                pub parameters:
4126                    Vec<MatrixGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem>,
4127                pub pass_credentials: bool,
4128                pub release_name: String,
4129                pub skip_crds: bool,
4130                pub value_files: Vec<String>,
4131                pub values: String,
4132                pub version: String,
4133            }
4134
4135            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4136            #[serde(rename_all = "camelCase")]
4137            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceHelm {
4138                pub file_parameters:
4139                    Vec<MatrixGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem>,
4140                pub ignore_missing_value_files: bool,
4141                pub parameters:
4142                    Vec<MatrixGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem>,
4143                pub pass_credentials: bool,
4144                pub release_name: String,
4145                pub skip_crds: bool,
4146                pub value_files: Vec<String>,
4147                pub values: String,
4148                pub version: String,
4149            }
4150
4151            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4152            #[serde(rename_all = "camelCase")]
4153            pub struct MatrixTemplateSpecSourceHelm {
4154                pub file_parameters: Vec<MatrixTemplateSpecSourceHelmFileParametersItem>,
4155                pub ignore_missing_value_files: bool,
4156                pub parameters: Vec<MatrixTemplateSpecSourceHelmParametersItem>,
4157                pub pass_credentials: bool,
4158                pub release_name: String,
4159                pub skip_crds: bool,
4160                pub value_files: Vec<String>,
4161                pub values: String,
4162                pub version: String,
4163            }
4164
4165            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4166            #[serde(rename_all = "camelCase")]
4167            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm {
4168            pub file_parameters: Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmFileParametersItem>,
4169            pub ignore_missing_value_files: bool,
4170            pub parameters: Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem>,
4171            pub pass_credentials: bool,
4172            pub release_name: String,
4173            pub skip_crds: bool,
4174            pub value_files: Vec<String>,
4175            pub values: String,
4176            pub version: String,
4177        }
4178
4179            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4180            #[serde(rename_all = "camelCase")]
4181            pub struct MergeGeneratorsItemClustersTemplateSpecSourceHelm {
4182                pub file_parameters:
4183                    Vec<MergeGeneratorsItemClustersTemplateSpecSourceHelmFileParametersItem>,
4184                pub ignore_missing_value_files: bool,
4185                pub parameters:
4186                    Vec<MergeGeneratorsItemClustersTemplateSpecSourceHelmParametersItem>,
4187                pub pass_credentials: bool,
4188                pub release_name: String,
4189                pub skip_crds: bool,
4190                pub value_files: Vec<String>,
4191                pub values: String,
4192                pub version: String,
4193            }
4194
4195            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4196            #[serde(rename_all = "camelCase")]
4197            pub struct MergeGeneratorsItemGitTemplateSpecSourceHelm {
4198                pub file_parameters:
4199                    Vec<MergeGeneratorsItemGitTemplateSpecSourceHelmFileParametersItem>,
4200                pub ignore_missing_value_files: bool,
4201                pub parameters: Vec<MergeGeneratorsItemGitTemplateSpecSourceHelmParametersItem>,
4202                pub pass_credentials: bool,
4203                pub release_name: String,
4204                pub skip_crds: bool,
4205                pub value_files: Vec<String>,
4206                pub values: String,
4207                pub version: String,
4208            }
4209
4210            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4211            #[serde(rename_all = "camelCase")]
4212            pub struct MergeGeneratorsItemListTemplateSpecSourceHelm {
4213                pub file_parameters:
4214                    Vec<MergeGeneratorsItemListTemplateSpecSourceHelmFileParametersItem>,
4215                pub ignore_missing_value_files: bool,
4216                pub parameters: Vec<MergeGeneratorsItemListTemplateSpecSourceHelmParametersItem>,
4217                pub pass_credentials: bool,
4218                pub release_name: String,
4219                pub skip_crds: bool,
4220                pub value_files: Vec<String>,
4221                pub values: String,
4222                pub version: String,
4223            }
4224
4225            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4226            #[serde(rename_all = "camelCase")]
4227            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceHelm {
4228                pub file_parameters:
4229                    Vec<MergeGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem>,
4230                pub ignore_missing_value_files: bool,
4231                pub parameters:
4232                    Vec<MergeGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem>,
4233                pub pass_credentials: bool,
4234                pub release_name: String,
4235                pub skip_crds: bool,
4236                pub value_files: Vec<String>,
4237                pub values: String,
4238                pub version: String,
4239            }
4240
4241            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4242            #[serde(rename_all = "camelCase")]
4243            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceHelm {
4244                pub file_parameters:
4245                    Vec<MergeGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem>,
4246                pub ignore_missing_value_files: bool,
4247                pub parameters:
4248                    Vec<MergeGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem>,
4249                pub pass_credentials: bool,
4250                pub release_name: String,
4251                pub skip_crds: bool,
4252                pub value_files: Vec<String>,
4253                pub values: String,
4254                pub version: String,
4255            }
4256
4257            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4258            #[serde(rename_all = "camelCase")]
4259            pub struct MergeTemplateSpecSourceHelm {
4260                pub file_parameters: Vec<MergeTemplateSpecSourceHelmFileParametersItem>,
4261                pub ignore_missing_value_files: bool,
4262                pub parameters: Vec<MergeTemplateSpecSourceHelmParametersItem>,
4263                pub pass_credentials: bool,
4264                pub release_name: String,
4265                pub skip_crds: bool,
4266                pub value_files: Vec<String>,
4267                pub values: String,
4268                pub version: String,
4269            }
4270
4271            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4272            #[serde(rename_all = "camelCase")]
4273            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceHelm {
4274                pub file_parameters:
4275                    Vec<SpecGeneratorsItemPullRequestTemplateSpecSourceHelmFileParametersItem>,
4276                pub ignore_missing_value_files: bool,
4277                pub parameters:
4278                    Vec<SpecGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem>,
4279                pub pass_credentials: bool,
4280                pub release_name: String,
4281                pub skip_crds: bool,
4282                pub value_files: Vec<String>,
4283                pub values: String,
4284                pub version: String,
4285            }
4286
4287            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4288            #[serde(rename_all = "camelCase")]
4289            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceHelm {
4290                pub file_parameters:
4291                    Vec<SpecGeneratorsItemScmProviderTemplateSpecSourceHelmFileParametersItem>,
4292                pub ignore_missing_value_files: bool,
4293                pub parameters:
4294                    Vec<SpecGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem>,
4295                pub pass_credentials: bool,
4296                pub release_name: String,
4297                pub skip_crds: bool,
4298                pub value_files: Vec<String>,
4299                pub values: String,
4300                pub version: String,
4301            }
4302
4303            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4304            #[serde(rename_all = "camelCase")]
4305            pub struct SpecTemplateSpecSourceHelm {
4306                pub file_parameters: Vec<SpecTemplateSpecSourceHelmFileParametersItem>,
4307                pub ignore_missing_value_files: bool,
4308                pub parameters: Vec<SpecTemplateSpecSourceHelmParametersItem>,
4309                pub pass_credentials: bool,
4310                pub release_name: String,
4311                pub skip_crds: bool,
4312                pub value_files: Vec<String>,
4313                pub values: String,
4314                pub version: String,
4315            }
4316
4317            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4318            #[serde(rename_all = "camelCase")]
4319            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem {
4320                pub group: String,
4321                pub jq_path_expressions: Vec<String>,
4322                pub json_pointers: Vec<String>,
4323                pub kind: String,
4324                pub managed_fields_managers: Vec<String>,
4325                pub name: String,
4326                pub namespace: String,
4327            }
4328
4329            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4330            #[serde(rename_all = "camelCase")]
4331            pub struct SpecGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem {
4332                pub group: String,
4333                pub jq_path_expressions: Vec<String>,
4334                pub json_pointers: Vec<String>,
4335                pub kind: String,
4336                pub managed_fields_managers: Vec<String>,
4337                pub name: String,
4338                pub namespace: String,
4339            }
4340
4341            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4342            #[serde(rename_all = "camelCase")]
4343            pub struct SpecGeneratorsItemGitTemplateSpecIgnoreDifferencesItem {
4344                pub group: String,
4345                pub jq_path_expressions: Vec<String>,
4346                pub json_pointers: Vec<String>,
4347                pub kind: String,
4348                pub managed_fields_managers: Vec<String>,
4349                pub name: String,
4350                pub namespace: String,
4351            }
4352
4353            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4354            #[serde(rename_all = "camelCase")]
4355            pub struct SpecGeneratorsItemListTemplateSpecIgnoreDifferencesItem {
4356                pub group: String,
4357                pub jq_path_expressions: Vec<String>,
4358                pub json_pointers: Vec<String>,
4359                pub kind: String,
4360                pub managed_fields_managers: Vec<String>,
4361                pub name: String,
4362                pub namespace: String,
4363            }
4364
4365            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4366            #[serde(rename_all = "camelCase")]
4367            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem {
4368                pub group: String,
4369                pub jq_path_expressions: Vec<String>,
4370                pub json_pointers: Vec<String>,
4371                pub kind: String,
4372                pub managed_fields_managers: Vec<String>,
4373                pub name: String,
4374                pub namespace: String,
4375            }
4376
4377            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4378            #[serde(rename_all = "camelCase")]
4379            pub struct MatrixGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem {
4380                pub group: String,
4381                pub jq_path_expressions: Vec<String>,
4382                pub json_pointers: Vec<String>,
4383                pub kind: String,
4384                pub managed_fields_managers: Vec<String>,
4385                pub name: String,
4386                pub namespace: String,
4387            }
4388
4389            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4390            #[serde(rename_all = "camelCase")]
4391            pub struct MatrixGeneratorsItemGitTemplateSpecIgnoreDifferencesItem {
4392                pub group: String,
4393                pub jq_path_expressions: Vec<String>,
4394                pub json_pointers: Vec<String>,
4395                pub kind: String,
4396                pub managed_fields_managers: Vec<String>,
4397                pub name: String,
4398                pub namespace: String,
4399            }
4400
4401            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4402            #[serde(rename_all = "camelCase")]
4403            pub struct MatrixGeneratorsItemListTemplateSpecIgnoreDifferencesItem {
4404                pub group: String,
4405                pub jq_path_expressions: Vec<String>,
4406                pub json_pointers: Vec<String>,
4407                pub kind: String,
4408                pub managed_fields_managers: Vec<String>,
4409                pub name: String,
4410                pub namespace: String,
4411            }
4412
4413            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4414            #[serde(rename_all = "camelCase")]
4415            pub struct MatrixGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem {
4416                pub group: String,
4417                pub jq_path_expressions: Vec<String>,
4418                pub json_pointers: Vec<String>,
4419                pub kind: String,
4420                pub managed_fields_managers: Vec<String>,
4421                pub name: String,
4422                pub namespace: String,
4423            }
4424
4425            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4426            #[serde(rename_all = "camelCase")]
4427            pub struct MatrixGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem {
4428                pub group: String,
4429                pub jq_path_expressions: Vec<String>,
4430                pub json_pointers: Vec<String>,
4431                pub kind: String,
4432                pub managed_fields_managers: Vec<String>,
4433                pub name: String,
4434                pub namespace: String,
4435            }
4436
4437            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4438            #[serde(rename_all = "camelCase")]
4439            pub struct MatrixTemplateSpecIgnoreDifferencesItem {
4440                pub group: String,
4441                pub jq_path_expressions: Vec<String>,
4442                pub json_pointers: Vec<String>,
4443                pub kind: String,
4444                pub managed_fields_managers: Vec<String>,
4445                pub name: String,
4446                pub namespace: String,
4447            }
4448
4449            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4450            #[serde(rename_all = "camelCase")]
4451            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem {
4452                pub group: String,
4453                pub jq_path_expressions: Vec<String>,
4454                pub json_pointers: Vec<String>,
4455                pub kind: String,
4456                pub managed_fields_managers: Vec<String>,
4457                pub name: String,
4458                pub namespace: String,
4459            }
4460
4461            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4462            #[serde(rename_all = "camelCase")]
4463            pub struct MergeGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem {
4464                pub group: String,
4465                pub jq_path_expressions: Vec<String>,
4466                pub json_pointers: Vec<String>,
4467                pub kind: String,
4468                pub managed_fields_managers: Vec<String>,
4469                pub name: String,
4470                pub namespace: String,
4471            }
4472
4473            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4474            #[serde(rename_all = "camelCase")]
4475            pub struct MergeGeneratorsItemGitTemplateSpecIgnoreDifferencesItem {
4476                pub group: String,
4477                pub jq_path_expressions: Vec<String>,
4478                pub json_pointers: Vec<String>,
4479                pub kind: String,
4480                pub managed_fields_managers: Vec<String>,
4481                pub name: String,
4482                pub namespace: String,
4483            }
4484
4485            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4486            #[serde(rename_all = "camelCase")]
4487            pub struct MergeGeneratorsItemListTemplateSpecIgnoreDifferencesItem {
4488                pub group: String,
4489                pub jq_path_expressions: Vec<String>,
4490                pub json_pointers: Vec<String>,
4491                pub kind: String,
4492                pub managed_fields_managers: Vec<String>,
4493                pub name: String,
4494                pub namespace: String,
4495            }
4496
4497            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4498            #[serde(rename_all = "camelCase")]
4499            pub struct MergeGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem {
4500                pub group: String,
4501                pub jq_path_expressions: Vec<String>,
4502                pub json_pointers: Vec<String>,
4503                pub kind: String,
4504                pub managed_fields_managers: Vec<String>,
4505                pub name: String,
4506                pub namespace: String,
4507            }
4508
4509            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4510            #[serde(rename_all = "camelCase")]
4511            pub struct MergeGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem {
4512                pub group: String,
4513                pub jq_path_expressions: Vec<String>,
4514                pub json_pointers: Vec<String>,
4515                pub kind: String,
4516                pub managed_fields_managers: Vec<String>,
4517                pub name: String,
4518                pub namespace: String,
4519            }
4520
4521            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4522            #[serde(rename_all = "camelCase")]
4523            pub struct MergeTemplateSpecIgnoreDifferencesItem {
4524                pub group: String,
4525                pub jq_path_expressions: Vec<String>,
4526                pub json_pointers: Vec<String>,
4527                pub kind: String,
4528                pub managed_fields_managers: Vec<String>,
4529                pub name: String,
4530                pub namespace: String,
4531            }
4532
4533            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4534            #[serde(rename_all = "camelCase")]
4535            pub struct SpecGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem {
4536                pub group: String,
4537                pub jq_path_expressions: Vec<String>,
4538                pub json_pointers: Vec<String>,
4539                pub kind: String,
4540                pub managed_fields_managers: Vec<String>,
4541                pub name: String,
4542                pub namespace: String,
4543            }
4544
4545            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4546            #[serde(rename_all = "camelCase")]
4547            pub struct SpecGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem {
4548                pub group: String,
4549                pub jq_path_expressions: Vec<String>,
4550                pub json_pointers: Vec<String>,
4551                pub kind: String,
4552                pub managed_fields_managers: Vec<String>,
4553                pub name: String,
4554                pub namespace: String,
4555            }
4556
4557            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4558            #[serde(rename_all = "camelCase")]
4559            pub struct SpecTemplateSpecIgnoreDifferencesItem {
4560                pub group: String,
4561                pub jq_path_expressions: Vec<String>,
4562                pub json_pointers: Vec<String>,
4563                pub kind: String,
4564                pub managed_fields_managers: Vec<String>,
4565                pub name: String,
4566                pub namespace: String,
4567            }
4568
4569            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4570            #[serde(rename_all = "camelCase")]
4571            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem {
4572                pub name: String,
4573                pub value: String,
4574            }
4575
4576            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4577            #[serde(rename_all = "camelCase")]
4578            pub struct SpecGeneratorsItemClustersTemplateSpecInfoItem {
4579                pub name: String,
4580                pub value: String,
4581            }
4582
4583            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4584            #[serde(rename_all = "camelCase")]
4585            pub struct SpecGeneratorsItemGitTemplateSpecInfoItem {
4586                pub name: String,
4587                pub value: String,
4588            }
4589
4590            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4591            #[serde(rename_all = "camelCase")]
4592            pub struct SpecGeneratorsItemListTemplateSpecInfoItem {
4593                pub name: String,
4594                pub value: String,
4595            }
4596
4597            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4598            #[serde(rename_all = "camelCase")]
4599            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem {
4600                pub name: String,
4601                pub value: String,
4602            }
4603
4604            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4605            #[serde(rename_all = "camelCase")]
4606            pub struct MatrixGeneratorsItemClustersTemplateSpecInfoItem {
4607                pub name: String,
4608                pub value: String,
4609            }
4610
4611            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4612            #[serde(rename_all = "camelCase")]
4613            pub struct MatrixGeneratorsItemGitTemplateSpecInfoItem {
4614                pub name: String,
4615                pub value: String,
4616            }
4617
4618            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4619            #[serde(rename_all = "camelCase")]
4620            pub struct MatrixGeneratorsItemListTemplateSpecInfoItem {
4621                pub name: String,
4622                pub value: String,
4623            }
4624
4625            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4626            #[serde(rename_all = "camelCase")]
4627            pub struct MatrixGeneratorsItemPullRequestTemplateSpecInfoItem {
4628                pub name: String,
4629                pub value: String,
4630            }
4631
4632            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4633            #[serde(rename_all = "camelCase")]
4634            pub struct MatrixGeneratorsItemScmProviderTemplateSpecInfoItem {
4635                pub name: String,
4636                pub value: String,
4637            }
4638
4639            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4640            #[serde(rename_all = "camelCase")]
4641            pub struct MatrixTemplateSpecInfoItem {
4642                pub name: String,
4643                pub value: String,
4644            }
4645
4646            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4647            #[serde(rename_all = "camelCase")]
4648            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem {
4649                pub name: String,
4650                pub value: String,
4651            }
4652
4653            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4654            #[serde(rename_all = "camelCase")]
4655            pub struct MergeGeneratorsItemClustersTemplateSpecInfoItem {
4656                pub name: String,
4657                pub value: String,
4658            }
4659
4660            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4661            #[serde(rename_all = "camelCase")]
4662            pub struct MergeGeneratorsItemGitTemplateSpecInfoItem {
4663                pub name: String,
4664                pub value: String,
4665            }
4666
4667            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4668            #[serde(rename_all = "camelCase")]
4669            pub struct MergeGeneratorsItemListTemplateSpecInfoItem {
4670                pub name: String,
4671                pub value: String,
4672            }
4673
4674            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4675            #[serde(rename_all = "camelCase")]
4676            pub struct MergeGeneratorsItemPullRequestTemplateSpecInfoItem {
4677                pub name: String,
4678                pub value: String,
4679            }
4680
4681            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4682            #[serde(rename_all = "camelCase")]
4683            pub struct MergeGeneratorsItemScmProviderTemplateSpecInfoItem {
4684                pub name: String,
4685                pub value: String,
4686            }
4687
4688            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4689            #[serde(rename_all = "camelCase")]
4690            pub struct MergeTemplateSpecInfoItem {
4691                pub name: String,
4692                pub value: String,
4693            }
4694
4695            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4696            #[serde(rename_all = "camelCase")]
4697            pub struct SpecGeneratorsItemPullRequestTemplateSpecInfoItem {
4698                pub name: String,
4699                pub value: String,
4700            }
4701
4702            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4703            #[serde(rename_all = "camelCase")]
4704            pub struct SpecGeneratorsItemScmProviderTemplateSpecInfoItem {
4705                pub name: String,
4706                pub value: String,
4707            }
4708
4709            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4710            #[serde(rename_all = "camelCase")]
4711            pub struct SpecTemplateSpecInfoItem {
4712                pub name: String,
4713                pub value: String,
4714            }
4715
4716            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4717            #[serde(rename_all = "camelCase")]
4718            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet {
4719            pub ext_vars: Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4720            pub libs: Vec<String>,
4721            pub tlas: Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem>,
4722        }
4723
4724            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4725            #[serde(rename_all = "camelCase")]
4726            pub struct SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet {
4727                pub ext_vars:
4728                    Vec<SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4729                pub libs: Vec<String>,
4730                pub tlas: Vec<SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem>,
4731            }
4732
4733            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4734            #[serde(rename_all = "camelCase")]
4735            pub struct SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet {
4736                pub ext_vars:
4737                    Vec<SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4738                pub libs: Vec<String>,
4739                pub tlas: Vec<SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem>,
4740            }
4741
4742            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4743            #[serde(rename_all = "camelCase")]
4744            pub struct SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnet {
4745                pub ext_vars:
4746                    Vec<SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4747                pub libs: Vec<String>,
4748                pub tlas: Vec<SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem>,
4749            }
4750
4751            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4752            #[serde(rename_all = "camelCase")]
4753            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet {
4754            pub ext_vars: Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4755            pub libs: Vec<String>,
4756            pub tlas: Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem>,
4757        }
4758
4759            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4760            #[serde(rename_all = "camelCase")]
4761            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet {
4762                pub ext_vars:
4763                    Vec<MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4764                pub libs: Vec<String>,
4765                pub tlas:
4766                    Vec<MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem>,
4767            }
4768
4769            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4770            #[serde(rename_all = "camelCase")]
4771            pub struct MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet {
4772                pub ext_vars:
4773                    Vec<MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4774                pub libs: Vec<String>,
4775                pub tlas: Vec<MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem>,
4776            }
4777
4778            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4779            #[serde(rename_all = "camelCase")]
4780            pub struct MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnet {
4781                pub ext_vars:
4782                    Vec<MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4783                pub libs: Vec<String>,
4784                pub tlas: Vec<MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem>,
4785            }
4786
4787            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4788            #[serde(rename_all = "camelCase")]
4789            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet {
4790                pub ext_vars: Vec<
4791                    MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem,
4792                >,
4793                pub libs: Vec<String>,
4794                pub tlas:
4795                    Vec<MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem>,
4796            }
4797
4798            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4799            #[serde(rename_all = "camelCase")]
4800            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet {
4801                pub ext_vars: Vec<
4802                    MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem,
4803                >,
4804                pub libs: Vec<String>,
4805                pub tlas:
4806                    Vec<MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem>,
4807            }
4808
4809            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4810            #[serde(rename_all = "camelCase")]
4811            pub struct MatrixTemplateSpecSourceDirectoryJsonnet {
4812                pub ext_vars: Vec<MatrixTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4813                pub libs: Vec<String>,
4814                pub tlas: Vec<MatrixTemplateSpecSourceDirectoryJsonnetTlasItem>,
4815            }
4816
4817            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4818            #[serde(rename_all = "camelCase")]
4819            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet {
4820            pub ext_vars: Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4821            pub libs: Vec<String>,
4822            pub tlas: Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem>,
4823        }
4824
4825            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4826            #[serde(rename_all = "camelCase")]
4827            pub struct MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnet {
4828                pub ext_vars:
4829                    Vec<MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4830                pub libs: Vec<String>,
4831                pub tlas:
4832                    Vec<MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem>,
4833            }
4834
4835            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4836            #[serde(rename_all = "camelCase")]
4837            pub struct MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnet {
4838                pub ext_vars:
4839                    Vec<MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4840                pub libs: Vec<String>,
4841                pub tlas: Vec<MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem>,
4842            }
4843
4844            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4845            #[serde(rename_all = "camelCase")]
4846            pub struct MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnet {
4847                pub ext_vars:
4848                    Vec<MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4849                pub libs: Vec<String>,
4850                pub tlas: Vec<MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem>,
4851            }
4852
4853            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4854            #[serde(rename_all = "camelCase")]
4855            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet {
4856                pub ext_vars: Vec<
4857                    MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem,
4858                >,
4859                pub libs: Vec<String>,
4860                pub tlas:
4861                    Vec<MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem>,
4862            }
4863
4864            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4865            #[serde(rename_all = "camelCase")]
4866            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet {
4867                pub ext_vars: Vec<
4868                    MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem,
4869                >,
4870                pub libs: Vec<String>,
4871                pub tlas:
4872                    Vec<MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem>,
4873            }
4874
4875            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4876            #[serde(rename_all = "camelCase")]
4877            pub struct MergeTemplateSpecSourceDirectoryJsonnet {
4878                pub ext_vars: Vec<MergeTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4879                pub libs: Vec<String>,
4880                pub tlas: Vec<MergeTemplateSpecSourceDirectoryJsonnetTlasItem>,
4881            }
4882
4883            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4884            #[serde(rename_all = "camelCase")]
4885            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnet {
4886                pub ext_vars:
4887                    Vec<SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4888                pub libs: Vec<String>,
4889                pub tlas:
4890                    Vec<SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem>,
4891            }
4892
4893            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4894            #[serde(rename_all = "camelCase")]
4895            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnet {
4896                pub ext_vars:
4897                    Vec<SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4898                pub libs: Vec<String>,
4899                pub tlas:
4900                    Vec<SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem>,
4901            }
4902
4903            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4904            #[serde(rename_all = "camelCase")]
4905            pub struct SpecTemplateSpecSourceDirectoryJsonnet {
4906                pub ext_vars: Vec<SpecTemplateSpecSourceDirectoryJsonnetExtVarsItem>,
4907                pub libs: Vec<String>,
4908                pub tlas: Vec<SpecTemplateSpecSourceDirectoryJsonnetTlasItem>,
4909            }
4910
4911            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4912            #[serde(rename_all = "camelCase")]
4913            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize {
4914            pub common_annotations: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations,
4915            pub common_labels: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels,
4916            pub force_common_annotations: bool,
4917            pub force_common_labels: bool,
4918            pub images: Vec<String>,
4919            pub name_prefix: String,
4920            pub name_suffix: String,
4921            pub version: String,
4922        }
4923
4924            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4925            #[serde(rename_all = "camelCase")]
4926            pub struct SpecGeneratorsItemClustersTemplateSpecSourceKustomize {
4927                pub common_annotations:
4928                    SpecGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations,
4929                pub common_labels:
4930                    SpecGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels,
4931                pub force_common_annotations: bool,
4932                pub force_common_labels: bool,
4933                pub images: Vec<String>,
4934                pub name_prefix: String,
4935                pub name_suffix: String,
4936                pub version: String,
4937            }
4938
4939            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4940            #[serde(rename_all = "camelCase")]
4941            pub struct SpecGeneratorsItemGitTemplateSpecSourceKustomize {
4942                pub common_annotations:
4943                    SpecGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations,
4944                pub common_labels: SpecGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels,
4945                pub force_common_annotations: bool,
4946                pub force_common_labels: bool,
4947                pub images: Vec<String>,
4948                pub name_prefix: String,
4949                pub name_suffix: String,
4950                pub version: String,
4951            }
4952
4953            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4954            #[serde(rename_all = "camelCase")]
4955            pub struct SpecGeneratorsItemListTemplateSpecSourceKustomize {
4956                pub common_annotations:
4957                    SpecGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations,
4958                pub common_labels: SpecGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels,
4959                pub force_common_annotations: bool,
4960                pub force_common_labels: bool,
4961                pub images: Vec<String>,
4962                pub name_prefix: String,
4963                pub name_suffix: String,
4964                pub version: String,
4965            }
4966
4967            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4968            #[serde(rename_all = "camelCase")]
4969            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize {
4970            pub common_annotations: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations,
4971            pub common_labels: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels,
4972            pub force_common_annotations: bool,
4973            pub force_common_labels: bool,
4974            pub images: Vec<String>,
4975            pub name_prefix: String,
4976            pub name_suffix: String,
4977            pub version: String,
4978        }
4979
4980            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4981            #[serde(rename_all = "camelCase")]
4982            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceKustomize {
4983                pub common_annotations:
4984                    MatrixGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations,
4985                pub common_labels:
4986                    MatrixGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels,
4987                pub force_common_annotations: bool,
4988                pub force_common_labels: bool,
4989                pub images: Vec<String>,
4990                pub name_prefix: String,
4991                pub name_suffix: String,
4992                pub version: String,
4993            }
4994
4995            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
4996            #[serde(rename_all = "camelCase")]
4997            pub struct MatrixGeneratorsItemGitTemplateSpecSourceKustomize {
4998                pub common_annotations:
4999                    MatrixGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations,
5000                pub common_labels: MatrixGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels,
5001                pub force_common_annotations: bool,
5002                pub force_common_labels: bool,
5003                pub images: Vec<String>,
5004                pub name_prefix: String,
5005                pub name_suffix: String,
5006                pub version: String,
5007            }
5008
5009            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5010            #[serde(rename_all = "camelCase")]
5011            pub struct MatrixGeneratorsItemListTemplateSpecSourceKustomize {
5012                pub common_annotations:
5013                    MatrixGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations,
5014                pub common_labels: MatrixGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels,
5015                pub force_common_annotations: bool,
5016                pub force_common_labels: bool,
5017                pub images: Vec<String>,
5018                pub name_prefix: String,
5019                pub name_suffix: String,
5020                pub version: String,
5021            }
5022
5023            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5024            #[serde(rename_all = "camelCase")]
5025            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomize {
5026                pub common_annotations:
5027                    MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations,
5028                pub common_labels:
5029                    MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels,
5030                pub force_common_annotations: bool,
5031                pub force_common_labels: bool,
5032                pub images: Vec<String>,
5033                pub name_prefix: String,
5034                pub name_suffix: String,
5035                pub version: String,
5036            }
5037
5038            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5039            #[serde(rename_all = "camelCase")]
5040            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomize {
5041                pub common_annotations:
5042                    MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations,
5043                pub common_labels:
5044                    MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels,
5045                pub force_common_annotations: bool,
5046                pub force_common_labels: bool,
5047                pub images: Vec<String>,
5048                pub name_prefix: String,
5049                pub name_suffix: String,
5050                pub version: String,
5051            }
5052
5053            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5054            #[serde(rename_all = "camelCase")]
5055            pub struct MatrixTemplateSpecSourceKustomize {
5056                pub common_annotations: MatrixTemplateSpecSourceKustomizeCommonAnnotations,
5057                pub common_labels: MatrixTemplateSpecSourceKustomizeCommonLabels,
5058                pub force_common_annotations: bool,
5059                pub force_common_labels: bool,
5060                pub images: Vec<String>,
5061                pub name_prefix: String,
5062                pub name_suffix: String,
5063                pub version: String,
5064            }
5065
5066            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5067            #[serde(rename_all = "camelCase")]
5068            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize {
5069            pub common_annotations: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonAnnotations,
5070            pub common_labels: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomizeCommonLabels,
5071            pub force_common_annotations: bool,
5072            pub force_common_labels: bool,
5073            pub images: Vec<String>,
5074            pub name_prefix: String,
5075            pub name_suffix: String,
5076            pub version: String,
5077        }
5078
5079            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5080            #[serde(rename_all = "camelCase")]
5081            pub struct MergeGeneratorsItemClustersTemplateSpecSourceKustomize {
5082                pub common_annotations:
5083                    MergeGeneratorsItemClustersTemplateSpecSourceKustomizeCommonAnnotations,
5084                pub common_labels:
5085                    MergeGeneratorsItemClustersTemplateSpecSourceKustomizeCommonLabels,
5086                pub force_common_annotations: bool,
5087                pub force_common_labels: bool,
5088                pub images: Vec<String>,
5089                pub name_prefix: String,
5090                pub name_suffix: String,
5091                pub version: String,
5092            }
5093
5094            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5095            #[serde(rename_all = "camelCase")]
5096            pub struct MergeGeneratorsItemGitTemplateSpecSourceKustomize {
5097                pub common_annotations:
5098                    MergeGeneratorsItemGitTemplateSpecSourceKustomizeCommonAnnotations,
5099                pub common_labels: MergeGeneratorsItemGitTemplateSpecSourceKustomizeCommonLabels,
5100                pub force_common_annotations: bool,
5101                pub force_common_labels: bool,
5102                pub images: Vec<String>,
5103                pub name_prefix: String,
5104                pub name_suffix: String,
5105                pub version: String,
5106            }
5107
5108            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5109            #[serde(rename_all = "camelCase")]
5110            pub struct MergeGeneratorsItemListTemplateSpecSourceKustomize {
5111                pub common_annotations:
5112                    MergeGeneratorsItemListTemplateSpecSourceKustomizeCommonAnnotations,
5113                pub common_labels: MergeGeneratorsItemListTemplateSpecSourceKustomizeCommonLabels,
5114                pub force_common_annotations: bool,
5115                pub force_common_labels: bool,
5116                pub images: Vec<String>,
5117                pub name_prefix: String,
5118                pub name_suffix: String,
5119                pub version: String,
5120            }
5121
5122            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5123            #[serde(rename_all = "camelCase")]
5124            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceKustomize {
5125                pub common_annotations:
5126                    MergeGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations,
5127                pub common_labels:
5128                    MergeGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels,
5129                pub force_common_annotations: bool,
5130                pub force_common_labels: bool,
5131                pub images: Vec<String>,
5132                pub name_prefix: String,
5133                pub name_suffix: String,
5134                pub version: String,
5135            }
5136
5137            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5138            #[serde(rename_all = "camelCase")]
5139            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceKustomize {
5140                pub common_annotations:
5141                    MergeGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations,
5142                pub common_labels:
5143                    MergeGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels,
5144                pub force_common_annotations: bool,
5145                pub force_common_labels: bool,
5146                pub images: Vec<String>,
5147                pub name_prefix: String,
5148                pub name_suffix: String,
5149                pub version: String,
5150            }
5151
5152            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5153            #[serde(rename_all = "camelCase")]
5154            pub struct MergeTemplateSpecSourceKustomize {
5155                pub common_annotations: MergeTemplateSpecSourceKustomizeCommonAnnotations,
5156                pub common_labels: MergeTemplateSpecSourceKustomizeCommonLabels,
5157                pub force_common_annotations: bool,
5158                pub force_common_labels: bool,
5159                pub images: Vec<String>,
5160                pub name_prefix: String,
5161                pub name_suffix: String,
5162                pub version: String,
5163            }
5164
5165            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5166            #[serde(rename_all = "camelCase")]
5167            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceKustomize {
5168                pub common_annotations:
5169                    SpecGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonAnnotations,
5170                pub common_labels:
5171                    SpecGeneratorsItemPullRequestTemplateSpecSourceKustomizeCommonLabels,
5172                pub force_common_annotations: bool,
5173                pub force_common_labels: bool,
5174                pub images: Vec<String>,
5175                pub name_prefix: String,
5176                pub name_suffix: String,
5177                pub version: String,
5178            }
5179
5180            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5181            #[serde(rename_all = "camelCase")]
5182            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceKustomize {
5183                pub common_annotations:
5184                    SpecGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonAnnotations,
5185                pub common_labels:
5186                    SpecGeneratorsItemScmProviderTemplateSpecSourceKustomizeCommonLabels,
5187                pub force_common_annotations: bool,
5188                pub force_common_labels: bool,
5189                pub images: Vec<String>,
5190                pub name_prefix: String,
5191                pub name_suffix: String,
5192                pub version: String,
5193            }
5194
5195            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5196            #[serde(rename_all = "camelCase")]
5197            pub struct SpecTemplateSpecSourceKustomize {
5198                pub common_annotations: SpecTemplateSpecSourceKustomizeCommonAnnotations,
5199                pub common_labels: SpecTemplateSpecSourceKustomizeCommonLabels,
5200                pub force_common_annotations: bool,
5201                pub force_common_labels: bool,
5202                pub images: Vec<String>,
5203                pub name_prefix: String,
5204                pub name_suffix: String,
5205                pub version: String,
5206            }
5207
5208            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5209            #[serde(rename_all = "camelCase")]
5210            pub struct SpecGeneratorsItemClusterDecisionResourceLabelSelector {
5211                pub match_expressions:
5212                    Vec<SpecGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem>,
5213                pub match_labels: SpecGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels,
5214            }
5215
5216            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5217            #[serde(rename_all = "camelCase")]
5218            pub struct MatrixGeneratorsItemClusterDecisionResourceLabelSelector {
5219                pub match_expressions: Vec<
5220                    MatrixGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem,
5221                >,
5222                pub match_labels:
5223                    MatrixGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels,
5224            }
5225
5226            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5227            #[serde(rename_all = "camelCase")]
5228            pub struct MergeGeneratorsItemClusterDecisionResourceLabelSelector {
5229                pub match_expressions: Vec<
5230                    MergeGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem,
5231                >,
5232                pub match_labels:
5233                    MergeGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels,
5234            }
5235
5236            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5237            #[serde(rename_all = "camelCase")]
5238            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateMetadataLabels {
5239                pub properties: std::collections::HashMap<String, String>,
5240            }
5241
5242            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5243            #[serde(rename_all = "camelCase")]
5244            pub struct SpecGeneratorsItemClustersTemplateMetadataLabels {
5245                pub properties: std::collections::HashMap<String, String>,
5246            }
5247
5248            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5249            #[serde(rename_all = "camelCase")]
5250            pub struct SpecGeneratorsItemGitTemplateMetadataLabels {
5251                pub properties: std::collections::HashMap<String, String>,
5252            }
5253
5254            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5255            #[serde(rename_all = "camelCase")]
5256            pub struct SpecGeneratorsItemListTemplateMetadataLabels {
5257                pub properties: std::collections::HashMap<String, String>,
5258            }
5259
5260            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5261            #[serde(rename_all = "camelCase")]
5262            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateMetadataLabels {
5263                pub properties: std::collections::HashMap<String, String>,
5264            }
5265
5266            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5267            #[serde(rename_all = "camelCase")]
5268            pub struct MatrixGeneratorsItemClustersTemplateMetadataLabels {
5269                pub properties: std::collections::HashMap<String, String>,
5270            }
5271
5272            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5273            #[serde(rename_all = "camelCase")]
5274            pub struct MatrixGeneratorsItemGitTemplateMetadataLabels {
5275                pub properties: std::collections::HashMap<String, String>,
5276            }
5277
5278            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5279            #[serde(rename_all = "camelCase")]
5280            pub struct MatrixGeneratorsItemListTemplateMetadataLabels {
5281                pub properties: std::collections::HashMap<String, String>,
5282            }
5283
5284            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5285            #[serde(rename_all = "camelCase")]
5286            pub struct MatrixGeneratorsItemPullRequestTemplateMetadataLabels {
5287                pub properties: std::collections::HashMap<String, String>,
5288            }
5289
5290            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5291            #[serde(rename_all = "camelCase")]
5292            pub struct MatrixGeneratorsItemScmProviderTemplateMetadataLabels {
5293                pub properties: std::collections::HashMap<String, String>,
5294            }
5295
5296            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5297            #[serde(rename_all = "camelCase")]
5298            pub struct MatrixTemplateMetadataLabels {
5299                pub properties: std::collections::HashMap<String, String>,
5300            }
5301
5302            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5303            #[serde(rename_all = "camelCase")]
5304            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateMetadataLabels {
5305                pub properties: std::collections::HashMap<String, String>,
5306            }
5307
5308            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5309            #[serde(rename_all = "camelCase")]
5310            pub struct MergeGeneratorsItemClustersTemplateMetadataLabels {
5311                pub properties: std::collections::HashMap<String, String>,
5312            }
5313
5314            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5315            #[serde(rename_all = "camelCase")]
5316            pub struct MergeGeneratorsItemGitTemplateMetadataLabels {
5317                pub properties: std::collections::HashMap<String, String>,
5318            }
5319
5320            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5321            #[serde(rename_all = "camelCase")]
5322            pub struct MergeGeneratorsItemListTemplateMetadataLabels {
5323                pub properties: std::collections::HashMap<String, String>,
5324            }
5325
5326            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5327            #[serde(rename_all = "camelCase")]
5328            pub struct MergeGeneratorsItemPullRequestTemplateMetadataLabels {
5329                pub properties: std::collections::HashMap<String, String>,
5330            }
5331
5332            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5333            #[serde(rename_all = "camelCase")]
5334            pub struct MergeGeneratorsItemScmProviderTemplateMetadataLabels {
5335                pub properties: std::collections::HashMap<String, String>,
5336            }
5337
5338            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5339            #[serde(rename_all = "camelCase")]
5340            pub struct MergeTemplateMetadataLabels {
5341                pub properties: std::collections::HashMap<String, String>,
5342            }
5343
5344            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5345            #[serde(rename_all = "camelCase")]
5346            pub struct SpecGeneratorsItemPullRequestTemplateMetadataLabels {
5347                pub properties: std::collections::HashMap<String, String>,
5348            }
5349
5350            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5351            #[serde(rename_all = "camelCase")]
5352            pub struct SpecGeneratorsItemScmProviderTemplateMetadataLabels {
5353                pub properties: std::collections::HashMap<String, String>,
5354            }
5355
5356            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5357            #[serde(rename_all = "camelCase")]
5358            pub struct SpecTemplateMetadataLabels {
5359                pub properties: std::collections::HashMap<String, String>,
5360            }
5361
5362            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5363            #[serde(rename_all = "camelCase")]
5364            pub struct SpecGeneratorsItemList {
5365                pub elements: Vec<serde_json::Map<String, serde_json::Value>>,
5366                pub template: SpecGeneratorsItemListTemplate,
5367            }
5368
5369            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5370            #[serde(rename_all = "camelCase")]
5371            pub struct MatrixGeneratorsItemList {
5372                pub elements: Vec<serde_json::Map<String, serde_json::Value>>,
5373                pub template: MatrixGeneratorsItemListTemplate,
5374            }
5375
5376            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5377            #[serde(rename_all = "camelCase")]
5378            pub struct MergeGeneratorsItemList {
5379                pub elements: Vec<serde_json::Map<String, serde_json::Value>>,
5380                pub template: MergeGeneratorsItemListTemplate,
5381            }
5382
5383            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5384            #[serde(rename_all = "camelCase")]
5385            pub struct SpecGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem {
5386                pub key: String,
5387                pub operator: String,
5388                pub values: Vec<String>,
5389            }
5390
5391            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5392            #[serde(rename_all = "camelCase")]
5393            pub struct SpecGeneratorsItemClustersSelectorMatchExpressionsItem {
5394                pub key: String,
5395                pub operator: String,
5396                pub values: Vec<String>,
5397            }
5398
5399            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5400            #[serde(rename_all = "camelCase")]
5401            pub struct MatrixGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem {
5402                pub key: String,
5403                pub operator: String,
5404                pub values: Vec<String>,
5405            }
5406
5407            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5408            #[serde(rename_all = "camelCase")]
5409            pub struct MatrixGeneratorsItemClustersSelectorMatchExpressionsItem {
5410                pub key: String,
5411                pub operator: String,
5412                pub values: Vec<String>,
5413            }
5414
5415            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5416            #[serde(rename_all = "camelCase")]
5417            pub struct MergeGeneratorsItemClusterDecisionResourceLabelSelectorMatchExpressionsItem {
5418                pub key: String,
5419                pub operator: String,
5420                pub values: Vec<String>,
5421            }
5422
5423            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5424            #[serde(rename_all = "camelCase")]
5425            pub struct MergeGeneratorsItemClustersSelectorMatchExpressionsItem {
5426                pub key: String,
5427                pub operator: String,
5428                pub values: Vec<String>,
5429            }
5430
5431            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5432            #[serde(rename_all = "camelCase")]
5433            pub struct SpecGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels {
5434                pub properties: std::collections::HashMap<String, String>,
5435            }
5436
5437            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5438            #[serde(rename_all = "camelCase")]
5439            pub struct SpecGeneratorsItemClustersSelectorMatchLabels {
5440                pub properties: std::collections::HashMap<String, String>,
5441            }
5442
5443            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5444            #[serde(rename_all = "camelCase")]
5445            pub struct MatrixGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels {
5446                pub properties: std::collections::HashMap<String, String>,
5447            }
5448
5449            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5450            #[serde(rename_all = "camelCase")]
5451            pub struct MatrixGeneratorsItemClustersSelectorMatchLabels {
5452                pub properties: std::collections::HashMap<String, String>,
5453            }
5454
5455            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5456            #[serde(rename_all = "camelCase")]
5457            pub struct MergeGeneratorsItemClusterDecisionResourceLabelSelectorMatchLabels {
5458                pub properties: std::collections::HashMap<String, String>,
5459            }
5460
5461            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5462            #[serde(rename_all = "camelCase")]
5463            pub struct MergeGeneratorsItemClustersSelectorMatchLabels {
5464                pub properties: std::collections::HashMap<String, String>,
5465            }
5466
5467            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5468            #[serde(rename_all = "camelCase")]
5469            pub struct Matrix {
5470                pub generators: Vec<MatrixGeneratorsItem>,
5471                pub template: MatrixTemplate,
5472            }
5473
5474            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5475            #[serde(rename_all = "camelCase")]
5476            pub struct Merge {
5477                pub generators: Vec<MergeGeneratorsItem>,
5478                pub merge_keys: Vec<String>,
5479                pub template: MergeTemplate,
5480            }
5481
5482            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5483            #[serde(rename_all = "camelCase")]
5484            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateMetadata {
5485                pub annotations:
5486                    SpecGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations,
5487                pub finalizers: Vec<String>,
5488                pub labels: SpecGeneratorsItemClusterDecisionResourceTemplateMetadataLabels,
5489                pub name: String,
5490                pub namespace: String,
5491            }
5492
5493            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5494            #[serde(rename_all = "camelCase")]
5495            pub struct SpecGeneratorsItemClustersTemplateMetadata {
5496                pub annotations: SpecGeneratorsItemClustersTemplateMetadataAnnotations,
5497                pub finalizers: Vec<String>,
5498                pub labels: SpecGeneratorsItemClustersTemplateMetadataLabels,
5499                pub name: String,
5500                pub namespace: String,
5501            }
5502
5503            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5504            #[serde(rename_all = "camelCase")]
5505            pub struct SpecGeneratorsItemGitTemplateMetadata {
5506                pub annotations: SpecGeneratorsItemGitTemplateMetadataAnnotations,
5507                pub finalizers: Vec<String>,
5508                pub labels: SpecGeneratorsItemGitTemplateMetadataLabels,
5509                pub name: String,
5510                pub namespace: String,
5511            }
5512
5513            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5514            #[serde(rename_all = "camelCase")]
5515            pub struct SpecGeneratorsItemListTemplateMetadata {
5516                pub annotations: SpecGeneratorsItemListTemplateMetadataAnnotations,
5517                pub finalizers: Vec<String>,
5518                pub labels: SpecGeneratorsItemListTemplateMetadataLabels,
5519                pub name: String,
5520                pub namespace: String,
5521            }
5522
5523            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5524            #[serde(rename_all = "camelCase")]
5525            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateMetadata {
5526                pub annotations:
5527                    MatrixGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations,
5528                pub finalizers: Vec<String>,
5529                pub labels: MatrixGeneratorsItemClusterDecisionResourceTemplateMetadataLabels,
5530                pub name: String,
5531                pub namespace: String,
5532            }
5533
5534            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5535            #[serde(rename_all = "camelCase")]
5536            pub struct MatrixGeneratorsItemClustersTemplateMetadata {
5537                pub annotations: MatrixGeneratorsItemClustersTemplateMetadataAnnotations,
5538                pub finalizers: Vec<String>,
5539                pub labels: MatrixGeneratorsItemClustersTemplateMetadataLabels,
5540                pub name: String,
5541                pub namespace: String,
5542            }
5543
5544            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5545            #[serde(rename_all = "camelCase")]
5546            pub struct MatrixGeneratorsItemGitTemplateMetadata {
5547                pub annotations: MatrixGeneratorsItemGitTemplateMetadataAnnotations,
5548                pub finalizers: Vec<String>,
5549                pub labels: MatrixGeneratorsItemGitTemplateMetadataLabels,
5550                pub name: String,
5551                pub namespace: String,
5552            }
5553
5554            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5555            #[serde(rename_all = "camelCase")]
5556            pub struct MatrixGeneratorsItemListTemplateMetadata {
5557                pub annotations: MatrixGeneratorsItemListTemplateMetadataAnnotations,
5558                pub finalizers: Vec<String>,
5559                pub labels: MatrixGeneratorsItemListTemplateMetadataLabels,
5560                pub name: String,
5561                pub namespace: String,
5562            }
5563
5564            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5565            #[serde(rename_all = "camelCase")]
5566            pub struct MatrixGeneratorsItemPullRequestTemplateMetadata {
5567                pub annotations: MatrixGeneratorsItemPullRequestTemplateMetadataAnnotations,
5568                pub finalizers: Vec<String>,
5569                pub labels: MatrixGeneratorsItemPullRequestTemplateMetadataLabels,
5570                pub name: String,
5571                pub namespace: String,
5572            }
5573
5574            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5575            #[serde(rename_all = "camelCase")]
5576            pub struct MatrixGeneratorsItemScmProviderTemplateMetadata {
5577                pub annotations: MatrixGeneratorsItemScmProviderTemplateMetadataAnnotations,
5578                pub finalizers: Vec<String>,
5579                pub labels: MatrixGeneratorsItemScmProviderTemplateMetadataLabels,
5580                pub name: String,
5581                pub namespace: String,
5582            }
5583
5584            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5585            #[serde(rename_all = "camelCase")]
5586            pub struct MatrixTemplateMetadata {
5587                pub annotations: MatrixTemplateMetadataAnnotations,
5588                pub finalizers: Vec<String>,
5589                pub labels: MatrixTemplateMetadataLabels,
5590                pub name: String,
5591                pub namespace: String,
5592            }
5593
5594            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5595            #[serde(rename_all = "camelCase")]
5596            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateMetadata {
5597                pub annotations:
5598                    MergeGeneratorsItemClusterDecisionResourceTemplateMetadataAnnotations,
5599                pub finalizers: Vec<String>,
5600                pub labels: MergeGeneratorsItemClusterDecisionResourceTemplateMetadataLabels,
5601                pub name: String,
5602                pub namespace: String,
5603            }
5604
5605            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5606            #[serde(rename_all = "camelCase")]
5607            pub struct MergeGeneratorsItemClustersTemplateMetadata {
5608                pub annotations: MergeGeneratorsItemClustersTemplateMetadataAnnotations,
5609                pub finalizers: Vec<String>,
5610                pub labels: MergeGeneratorsItemClustersTemplateMetadataLabels,
5611                pub name: String,
5612                pub namespace: String,
5613            }
5614
5615            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5616            #[serde(rename_all = "camelCase")]
5617            pub struct MergeGeneratorsItemGitTemplateMetadata {
5618                pub annotations: MergeGeneratorsItemGitTemplateMetadataAnnotations,
5619                pub finalizers: Vec<String>,
5620                pub labels: MergeGeneratorsItemGitTemplateMetadataLabels,
5621                pub name: String,
5622                pub namespace: String,
5623            }
5624
5625            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5626            #[serde(rename_all = "camelCase")]
5627            pub struct MergeGeneratorsItemListTemplateMetadata {
5628                pub annotations: MergeGeneratorsItemListTemplateMetadataAnnotations,
5629                pub finalizers: Vec<String>,
5630                pub labels: MergeGeneratorsItemListTemplateMetadataLabels,
5631                pub name: String,
5632                pub namespace: String,
5633            }
5634
5635            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5636            #[serde(rename_all = "camelCase")]
5637            pub struct MergeGeneratorsItemPullRequestTemplateMetadata {
5638                pub annotations: MergeGeneratorsItemPullRequestTemplateMetadataAnnotations,
5639                pub finalizers: Vec<String>,
5640                pub labels: MergeGeneratorsItemPullRequestTemplateMetadataLabels,
5641                pub name: String,
5642                pub namespace: String,
5643            }
5644
5645            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5646            #[serde(rename_all = "camelCase")]
5647            pub struct MergeGeneratorsItemScmProviderTemplateMetadata {
5648                pub annotations: MergeGeneratorsItemScmProviderTemplateMetadataAnnotations,
5649                pub finalizers: Vec<String>,
5650                pub labels: MergeGeneratorsItemScmProviderTemplateMetadataLabels,
5651                pub name: String,
5652                pub namespace: String,
5653            }
5654
5655            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5656            #[serde(rename_all = "camelCase")]
5657            pub struct MergeTemplateMetadata {
5658                pub annotations: MergeTemplateMetadataAnnotations,
5659                pub finalizers: Vec<String>,
5660                pub labels: MergeTemplateMetadataLabels,
5661                pub name: String,
5662                pub namespace: String,
5663            }
5664
5665            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5666            #[serde(rename_all = "camelCase")]
5667            pub struct SpecGeneratorsItemPullRequestTemplateMetadata {
5668                pub annotations: SpecGeneratorsItemPullRequestTemplateMetadataAnnotations,
5669                pub finalizers: Vec<String>,
5670                pub labels: SpecGeneratorsItemPullRequestTemplateMetadataLabels,
5671                pub name: String,
5672                pub namespace: String,
5673            }
5674
5675            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5676            #[serde(rename_all = "camelCase")]
5677            pub struct SpecGeneratorsItemScmProviderTemplateMetadata {
5678                pub annotations: SpecGeneratorsItemScmProviderTemplateMetadataAnnotations,
5679                pub finalizers: Vec<String>,
5680                pub labels: SpecGeneratorsItemScmProviderTemplateMetadataLabels,
5681                pub name: String,
5682                pub namespace: String,
5683            }
5684
5685            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5686            #[serde(rename_all = "camelCase")]
5687            pub struct SpecTemplateMetadata {
5688                pub annotations: SpecTemplateMetadataAnnotations,
5689                pub finalizers: Vec<String>,
5690                pub labels: SpecTemplateMetadataLabels,
5691                pub name: String,
5692                pub namespace: String,
5693            }
5694
5695            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5696            #[serde(rename_all = "camelCase")]
5697            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem {
5698                pub force_string: bool,
5699                pub name: String,
5700                pub value: String,
5701            }
5702
5703            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5704            #[serde(rename_all = "camelCase")]
5705            pub struct SpecGeneratorsItemClustersTemplateSpecSourceHelmParametersItem {
5706                pub force_string: bool,
5707                pub name: String,
5708                pub value: String,
5709            }
5710
5711            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5712            #[serde(rename_all = "camelCase")]
5713            pub struct SpecGeneratorsItemGitTemplateSpecSourceHelmParametersItem {
5714                pub force_string: bool,
5715                pub name: String,
5716                pub value: String,
5717            }
5718
5719            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5720            #[serde(rename_all = "camelCase")]
5721            pub struct SpecGeneratorsItemListTemplateSpecSourceHelmParametersItem {
5722                pub force_string: bool,
5723                pub name: String,
5724                pub value: String,
5725            }
5726
5727            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5728            #[serde(rename_all = "camelCase")]
5729            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem {
5730                pub force_string: bool,
5731                pub name: String,
5732                pub value: String,
5733            }
5734
5735            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5736            #[serde(rename_all = "camelCase")]
5737            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceHelmParametersItem {
5738                pub force_string: bool,
5739                pub name: String,
5740                pub value: String,
5741            }
5742
5743            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5744            #[serde(rename_all = "camelCase")]
5745            pub struct MatrixGeneratorsItemGitTemplateSpecSourceHelmParametersItem {
5746                pub force_string: bool,
5747                pub name: String,
5748                pub value: String,
5749            }
5750
5751            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5752            #[serde(rename_all = "camelCase")]
5753            pub struct MatrixGeneratorsItemListTemplateSpecSourceHelmParametersItem {
5754                pub force_string: bool,
5755                pub name: String,
5756                pub value: String,
5757            }
5758
5759            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5760            #[serde(rename_all = "camelCase")]
5761            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem {
5762                pub force_string: bool,
5763                pub name: String,
5764                pub value: String,
5765            }
5766
5767            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5768            #[serde(rename_all = "camelCase")]
5769            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem {
5770                pub force_string: bool,
5771                pub name: String,
5772                pub value: String,
5773            }
5774
5775            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5776            #[serde(rename_all = "camelCase")]
5777            pub struct MatrixTemplateSpecSourceHelmParametersItem {
5778                pub force_string: bool,
5779                pub name: String,
5780                pub value: String,
5781            }
5782
5783            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5784            #[serde(rename_all = "camelCase")]
5785            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelmParametersItem {
5786                pub force_string: bool,
5787                pub name: String,
5788                pub value: String,
5789            }
5790
5791            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5792            #[serde(rename_all = "camelCase")]
5793            pub struct MergeGeneratorsItemClustersTemplateSpecSourceHelmParametersItem {
5794                pub force_string: bool,
5795                pub name: String,
5796                pub value: String,
5797            }
5798
5799            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5800            #[serde(rename_all = "camelCase")]
5801            pub struct MergeGeneratorsItemGitTemplateSpecSourceHelmParametersItem {
5802                pub force_string: bool,
5803                pub name: String,
5804                pub value: String,
5805            }
5806
5807            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5808            #[serde(rename_all = "camelCase")]
5809            pub struct MergeGeneratorsItemListTemplateSpecSourceHelmParametersItem {
5810                pub force_string: bool,
5811                pub name: String,
5812                pub value: String,
5813            }
5814
5815            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5816            #[serde(rename_all = "camelCase")]
5817            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem {
5818                pub force_string: bool,
5819                pub name: String,
5820                pub value: String,
5821            }
5822
5823            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5824            #[serde(rename_all = "camelCase")]
5825            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem {
5826                pub force_string: bool,
5827                pub name: String,
5828                pub value: String,
5829            }
5830
5831            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5832            #[serde(rename_all = "camelCase")]
5833            pub struct MergeTemplateSpecSourceHelmParametersItem {
5834                pub force_string: bool,
5835                pub name: String,
5836                pub value: String,
5837            }
5838
5839            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5840            #[serde(rename_all = "camelCase")]
5841            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceHelmParametersItem {
5842                pub force_string: bool,
5843                pub name: String,
5844                pub value: String,
5845            }
5846
5847            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5848            #[serde(rename_all = "camelCase")]
5849            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceHelmParametersItem {
5850                pub force_string: bool,
5851                pub name: String,
5852                pub value: String,
5853            }
5854
5855            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5856            #[serde(rename_all = "camelCase")]
5857            pub struct SpecTemplateSpecSourceHelmParametersItem {
5858                pub force_string: bool,
5859                pub name: String,
5860                pub value: String,
5861            }
5862
5863            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5864            #[serde(rename_all = "camelCase")]
5865            pub struct MatrixGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef {
5866                pub key: String,
5867                pub secret_name: String,
5868            }
5869
5870            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5871            #[serde(rename_all = "camelCase")]
5872            pub struct MatrixGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef {
5873                pub key: String,
5874                pub secret_name: String,
5875            }
5876
5877            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5878            #[serde(rename_all = "camelCase")]
5879            pub struct MergeGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef {
5880                pub key: String,
5881                pub secret_name: String,
5882            }
5883
5884            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5885            #[serde(rename_all = "camelCase")]
5886            pub struct MergeGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef {
5887                pub key: String,
5888                pub secret_name: String,
5889            }
5890
5891            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5892            #[serde(rename_all = "camelCase")]
5893            pub struct SpecGeneratorsItemPullRequestBitbucketServerBasicAuthPasswordRef {
5894                pub key: String,
5895                pub secret_name: String,
5896            }
5897
5898            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5899            #[serde(rename_all = "camelCase")]
5900            pub struct SpecGeneratorsItemScmProviderBitbucketServerBasicAuthPasswordRef {
5901                pub key: String,
5902                pub secret_name: String,
5903            }
5904
5905            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5906            #[serde(rename_all = "camelCase")]
5907            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin {
5908                pub env:
5909                    Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem>,
5910                pub name: String,
5911            }
5912
5913            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5914            #[serde(rename_all = "camelCase")]
5915            pub struct SpecGeneratorsItemClustersTemplateSpecSourcePlugin {
5916                pub env: Vec<SpecGeneratorsItemClustersTemplateSpecSourcePluginEnvItem>,
5917                pub name: String,
5918            }
5919
5920            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5921            #[serde(rename_all = "camelCase")]
5922            pub struct SpecGeneratorsItemGitTemplateSpecSourcePlugin {
5923                pub env: Vec<SpecGeneratorsItemGitTemplateSpecSourcePluginEnvItem>,
5924                pub name: String,
5925            }
5926
5927            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5928            #[serde(rename_all = "camelCase")]
5929            pub struct SpecGeneratorsItemListTemplateSpecSourcePlugin {
5930                pub env: Vec<SpecGeneratorsItemListTemplateSpecSourcePluginEnvItem>,
5931                pub name: String,
5932            }
5933
5934            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5935            #[serde(rename_all = "camelCase")]
5936            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin {
5937                pub env:
5938                    Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem>,
5939                pub name: String,
5940            }
5941
5942            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5943            #[serde(rename_all = "camelCase")]
5944            pub struct MatrixGeneratorsItemClustersTemplateSpecSourcePlugin {
5945                pub env: Vec<MatrixGeneratorsItemClustersTemplateSpecSourcePluginEnvItem>,
5946                pub name: String,
5947            }
5948
5949            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5950            #[serde(rename_all = "camelCase")]
5951            pub struct MatrixGeneratorsItemGitTemplateSpecSourcePlugin {
5952                pub env: Vec<MatrixGeneratorsItemGitTemplateSpecSourcePluginEnvItem>,
5953                pub name: String,
5954            }
5955
5956            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5957            #[serde(rename_all = "camelCase")]
5958            pub struct MatrixGeneratorsItemListTemplateSpecSourcePlugin {
5959                pub env: Vec<MatrixGeneratorsItemListTemplateSpecSourcePluginEnvItem>,
5960                pub name: String,
5961            }
5962
5963            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5964            #[serde(rename_all = "camelCase")]
5965            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourcePlugin {
5966                pub env: Vec<MatrixGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem>,
5967                pub name: String,
5968            }
5969
5970            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5971            #[serde(rename_all = "camelCase")]
5972            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourcePlugin {
5973                pub env: Vec<MatrixGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem>,
5974                pub name: String,
5975            }
5976
5977            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5978            #[serde(rename_all = "camelCase")]
5979            pub struct MatrixTemplateSpecSourcePlugin {
5980                pub env: Vec<MatrixTemplateSpecSourcePluginEnvItem>,
5981                pub name: String,
5982            }
5983
5984            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5985            #[serde(rename_all = "camelCase")]
5986            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin {
5987                pub env:
5988                    Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourcePluginEnvItem>,
5989                pub name: String,
5990            }
5991
5992            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
5993            #[serde(rename_all = "camelCase")]
5994            pub struct MergeGeneratorsItemClustersTemplateSpecSourcePlugin {
5995                pub env: Vec<MergeGeneratorsItemClustersTemplateSpecSourcePluginEnvItem>,
5996                pub name: String,
5997            }
5998
5999            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6000            #[serde(rename_all = "camelCase")]
6001            pub struct MergeGeneratorsItemGitTemplateSpecSourcePlugin {
6002                pub env: Vec<MergeGeneratorsItemGitTemplateSpecSourcePluginEnvItem>,
6003                pub name: String,
6004            }
6005
6006            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6007            #[serde(rename_all = "camelCase")]
6008            pub struct MergeGeneratorsItemListTemplateSpecSourcePlugin {
6009                pub env: Vec<MergeGeneratorsItemListTemplateSpecSourcePluginEnvItem>,
6010                pub name: String,
6011            }
6012
6013            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6014            #[serde(rename_all = "camelCase")]
6015            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourcePlugin {
6016                pub env: Vec<MergeGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem>,
6017                pub name: String,
6018            }
6019
6020            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6021            #[serde(rename_all = "camelCase")]
6022            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourcePlugin {
6023                pub env: Vec<MergeGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem>,
6024                pub name: String,
6025            }
6026
6027            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6028            #[serde(rename_all = "camelCase")]
6029            pub struct MergeTemplateSpecSourcePlugin {
6030                pub env: Vec<MergeTemplateSpecSourcePluginEnvItem>,
6031                pub name: String,
6032            }
6033
6034            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6035            #[serde(rename_all = "camelCase")]
6036            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourcePlugin {
6037                pub env: Vec<SpecGeneratorsItemPullRequestTemplateSpecSourcePluginEnvItem>,
6038                pub name: String,
6039            }
6040
6041            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6042            #[serde(rename_all = "camelCase")]
6043            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourcePlugin {
6044                pub env: Vec<SpecGeneratorsItemScmProviderTemplateSpecSourcePluginEnvItem>,
6045                pub name: String,
6046            }
6047
6048            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6049            #[serde(rename_all = "camelCase")]
6050            pub struct SpecTemplateSpecSourcePlugin {
6051                pub env: Vec<SpecTemplateSpecSourcePluginEnvItem>,
6052                pub name: String,
6053            }
6054
6055            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6056            #[serde(rename_all = "camelCase")]
6057            pub struct SpecGeneratorsItemPullRequest {
6058                pub bitbucket_server: SpecGeneratorsItemPullRequestBitbucketServer,
6059                pub filters: Vec<SpecGeneratorsItemPullRequestFiltersItem>,
6060                pub gitea: SpecGeneratorsItemPullRequestGitea,
6061                pub github: SpecGeneratorsItemPullRequestGithub,
6062                pub gitlab: SpecGeneratorsItemPullRequestGitlab,
6063                pub requeue_after_seconds: i64,
6064                pub template: SpecGeneratorsItemPullRequestTemplate,
6065            }
6066
6067            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6068            #[serde(rename_all = "camelCase")]
6069            pub struct MatrixGeneratorsItemPullRequest {
6070                pub bitbucket_server: MatrixGeneratorsItemPullRequestBitbucketServer,
6071                pub filters: Vec<MatrixGeneratorsItemPullRequestFiltersItem>,
6072                pub gitea: MatrixGeneratorsItemPullRequestGitea,
6073                pub github: MatrixGeneratorsItemPullRequestGithub,
6074                pub gitlab: MatrixGeneratorsItemPullRequestGitlab,
6075                pub requeue_after_seconds: i64,
6076                pub template: MatrixGeneratorsItemPullRequestTemplate,
6077            }
6078
6079            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6080            #[serde(rename_all = "camelCase")]
6081            pub struct MergeGeneratorsItemPullRequest {
6082                pub bitbucket_server: MergeGeneratorsItemPullRequestBitbucketServer,
6083                pub filters: Vec<MergeGeneratorsItemPullRequestFiltersItem>,
6084                pub gitea: MergeGeneratorsItemPullRequestGitea,
6085                pub github: MergeGeneratorsItemPullRequestGithub,
6086                pub gitlab: MergeGeneratorsItemPullRequestGitlab,
6087                pub requeue_after_seconds: i64,
6088                pub template: MergeGeneratorsItemPullRequestTemplate,
6089            }
6090
6091            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6092            #[serde(rename_all = "camelCase")]
6093            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry {
6094                pub backoff:
6095                    SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff,
6096                pub limit: i64,
6097            }
6098
6099            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6100            #[serde(rename_all = "camelCase")]
6101            pub struct SpecGeneratorsItemClustersTemplateSpecSyncPolicyRetry {
6102                pub backoff: SpecGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff,
6103                pub limit: i64,
6104            }
6105
6106            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6107            #[serde(rename_all = "camelCase")]
6108            pub struct SpecGeneratorsItemGitTemplateSpecSyncPolicyRetry {
6109                pub backoff: SpecGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff,
6110                pub limit: i64,
6111            }
6112
6113            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6114            #[serde(rename_all = "camelCase")]
6115            pub struct SpecGeneratorsItemListTemplateSpecSyncPolicyRetry {
6116                pub backoff: SpecGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff,
6117                pub limit: i64,
6118            }
6119
6120            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6121            #[serde(rename_all = "camelCase")]
6122            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry {
6123                pub backoff:
6124                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff,
6125                pub limit: i64,
6126            }
6127
6128            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6129            #[serde(rename_all = "camelCase")]
6130            pub struct MatrixGeneratorsItemClustersTemplateSpecSyncPolicyRetry {
6131                pub backoff: MatrixGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff,
6132                pub limit: i64,
6133            }
6134
6135            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6136            #[serde(rename_all = "camelCase")]
6137            pub struct MatrixGeneratorsItemGitTemplateSpecSyncPolicyRetry {
6138                pub backoff: MatrixGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff,
6139                pub limit: i64,
6140            }
6141
6142            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6143            #[serde(rename_all = "camelCase")]
6144            pub struct MatrixGeneratorsItemListTemplateSpecSyncPolicyRetry {
6145                pub backoff: MatrixGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff,
6146                pub limit: i64,
6147            }
6148
6149            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6150            #[serde(rename_all = "camelCase")]
6151            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry {
6152                pub backoff: MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff,
6153                pub limit: i64,
6154            }
6155
6156            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6157            #[serde(rename_all = "camelCase")]
6158            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry {
6159                pub backoff: MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff,
6160                pub limit: i64,
6161            }
6162
6163            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6164            #[serde(rename_all = "camelCase")]
6165            pub struct MatrixTemplateSpecSyncPolicyRetry {
6166                pub backoff: MatrixTemplateSpecSyncPolicyRetryBackoff,
6167                pub limit: i64,
6168            }
6169
6170            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6171            #[serde(rename_all = "camelCase")]
6172            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry {
6173                pub backoff:
6174                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff,
6175                pub limit: i64,
6176            }
6177
6178            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6179            #[serde(rename_all = "camelCase")]
6180            pub struct MergeGeneratorsItemClustersTemplateSpecSyncPolicyRetry {
6181                pub backoff: MergeGeneratorsItemClustersTemplateSpecSyncPolicyRetryBackoff,
6182                pub limit: i64,
6183            }
6184
6185            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6186            #[serde(rename_all = "camelCase")]
6187            pub struct MergeGeneratorsItemGitTemplateSpecSyncPolicyRetry {
6188                pub backoff: MergeGeneratorsItemGitTemplateSpecSyncPolicyRetryBackoff,
6189                pub limit: i64,
6190            }
6191
6192            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6193            #[serde(rename_all = "camelCase")]
6194            pub struct MergeGeneratorsItemListTemplateSpecSyncPolicyRetry {
6195                pub backoff: MergeGeneratorsItemListTemplateSpecSyncPolicyRetryBackoff,
6196                pub limit: i64,
6197            }
6198
6199            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6200            #[serde(rename_all = "camelCase")]
6201            pub struct MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry {
6202                pub backoff: MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff,
6203                pub limit: i64,
6204            }
6205
6206            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6207            #[serde(rename_all = "camelCase")]
6208            pub struct MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry {
6209                pub backoff: MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff,
6210                pub limit: i64,
6211            }
6212
6213            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6214            #[serde(rename_all = "camelCase")]
6215            pub struct MergeTemplateSpecSyncPolicyRetry {
6216                pub backoff: MergeTemplateSpecSyncPolicyRetryBackoff,
6217                pub limit: i64,
6218            }
6219
6220            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6221            #[serde(rename_all = "camelCase")]
6222            pub struct SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry {
6223                pub backoff: SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyRetryBackoff,
6224                pub limit: i64,
6225            }
6226
6227            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6228            #[serde(rename_all = "camelCase")]
6229            pub struct SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry {
6230                pub backoff: SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyRetryBackoff,
6231                pub limit: i64,
6232            }
6233
6234            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6235            #[serde(rename_all = "camelCase")]
6236            pub struct SpecTemplateSpecSyncPolicyRetry {
6237                pub backoff: SpecTemplateSpecSyncPolicyRetryBackoff,
6238                pub limit: i64,
6239            }
6240
6241            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6242            #[serde(rename_all = "camelCase")]
6243            pub struct SpecGeneratorsItemScmProvider {
6244                pub azure_dev_ops: SpecGeneratorsItemScmProviderAzureDevOps,
6245                pub bitbucket: SpecGeneratorsItemScmProviderBitbucket,
6246                pub bitbucket_server: SpecGeneratorsItemScmProviderBitbucketServer,
6247                pub clone_protocol: String,
6248                pub filters: Vec<SpecGeneratorsItemScmProviderFiltersItem>,
6249                pub gitea: SpecGeneratorsItemScmProviderGitea,
6250                pub github: SpecGeneratorsItemScmProviderGithub,
6251                pub gitlab: SpecGeneratorsItemScmProviderGitlab,
6252                pub requeue_after_seconds: i64,
6253                pub template: SpecGeneratorsItemScmProviderTemplate,
6254            }
6255
6256            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6257            #[serde(rename_all = "camelCase")]
6258            pub struct MatrixGeneratorsItemScmProvider {
6259                pub azure_dev_ops: MatrixGeneratorsItemScmProviderAzureDevOps,
6260                pub bitbucket: MatrixGeneratorsItemScmProviderBitbucket,
6261                pub bitbucket_server: MatrixGeneratorsItemScmProviderBitbucketServer,
6262                pub clone_protocol: String,
6263                pub filters: Vec<MatrixGeneratorsItemScmProviderFiltersItem>,
6264                pub gitea: MatrixGeneratorsItemScmProviderGitea,
6265                pub github: MatrixGeneratorsItemScmProviderGithub,
6266                pub gitlab: MatrixGeneratorsItemScmProviderGitlab,
6267                pub requeue_after_seconds: i64,
6268                pub template: MatrixGeneratorsItemScmProviderTemplate,
6269            }
6270
6271            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6272            #[serde(rename_all = "camelCase")]
6273            pub struct MergeGeneratorsItemScmProvider {
6274                pub azure_dev_ops: MergeGeneratorsItemScmProviderAzureDevOps,
6275                pub bitbucket: MergeGeneratorsItemScmProviderBitbucket,
6276                pub bitbucket_server: MergeGeneratorsItemScmProviderBitbucketServer,
6277                pub clone_protocol: String,
6278                pub filters: Vec<MergeGeneratorsItemScmProviderFiltersItem>,
6279                pub gitea: MergeGeneratorsItemScmProviderGitea,
6280                pub github: MergeGeneratorsItemScmProviderGithub,
6281                pub gitlab: MergeGeneratorsItemScmProviderGitlab,
6282                pub requeue_after_seconds: i64,
6283                pub template: MergeGeneratorsItemScmProviderTemplate,
6284            }
6285
6286            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6287            #[serde(rename_all = "camelCase")]
6288            pub struct SpecGeneratorsItemClustersSelector {
6289                pub match_expressions: Vec<SpecGeneratorsItemClustersSelectorMatchExpressionsItem>,
6290                pub match_labels: SpecGeneratorsItemClustersSelectorMatchLabels,
6291            }
6292
6293            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6294            #[serde(rename_all = "camelCase")]
6295            pub struct MatrixGeneratorsItemClustersSelector {
6296                pub match_expressions:
6297                    Vec<MatrixGeneratorsItemClustersSelectorMatchExpressionsItem>,
6298                pub match_labels: MatrixGeneratorsItemClustersSelectorMatchLabels,
6299            }
6300
6301            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6302            #[serde(rename_all = "camelCase")]
6303            pub struct MergeGeneratorsItemClustersSelector {
6304                pub match_expressions: Vec<MergeGeneratorsItemClustersSelectorMatchExpressionsItem>,
6305                pub match_labels: MergeGeneratorsItemClustersSelectorMatchLabels,
6306            }
6307
6308            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6309            #[serde(rename_all = "camelCase")]
6310            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSource {
6311                pub chart: String,
6312                pub directory: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory,
6313                pub helm: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm,
6314                pub kustomize: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize,
6315                pub path: String,
6316                pub plugin: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin,
6317                pub repo_u_r_l: String,
6318                pub target_revision: String,
6319            }
6320
6321            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6322            #[serde(rename_all = "camelCase")]
6323            pub struct SpecGeneratorsItemClustersTemplateSpecSource {
6324                pub chart: String,
6325                pub directory: SpecGeneratorsItemClustersTemplateSpecSourceDirectory,
6326                pub helm: SpecGeneratorsItemClustersTemplateSpecSourceHelm,
6327                pub kustomize: SpecGeneratorsItemClustersTemplateSpecSourceKustomize,
6328                pub path: String,
6329                pub plugin: SpecGeneratorsItemClustersTemplateSpecSourcePlugin,
6330                pub repo_u_r_l: String,
6331                pub target_revision: String,
6332            }
6333
6334            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6335            #[serde(rename_all = "camelCase")]
6336            pub struct SpecGeneratorsItemGitTemplateSpecSource {
6337                pub chart: String,
6338                pub directory: SpecGeneratorsItemGitTemplateSpecSourceDirectory,
6339                pub helm: SpecGeneratorsItemGitTemplateSpecSourceHelm,
6340                pub kustomize: SpecGeneratorsItemGitTemplateSpecSourceKustomize,
6341                pub path: String,
6342                pub plugin: SpecGeneratorsItemGitTemplateSpecSourcePlugin,
6343                pub repo_u_r_l: String,
6344                pub target_revision: String,
6345            }
6346
6347            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6348            #[serde(rename_all = "camelCase")]
6349            pub struct SpecGeneratorsItemListTemplateSpecSource {
6350                pub chart: String,
6351                pub directory: SpecGeneratorsItemListTemplateSpecSourceDirectory,
6352                pub helm: SpecGeneratorsItemListTemplateSpecSourceHelm,
6353                pub kustomize: SpecGeneratorsItemListTemplateSpecSourceKustomize,
6354                pub path: String,
6355                pub plugin: SpecGeneratorsItemListTemplateSpecSourcePlugin,
6356                pub repo_u_r_l: String,
6357                pub target_revision: String,
6358            }
6359
6360            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6361            #[serde(rename_all = "camelCase")]
6362            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSource {
6363                pub chart: String,
6364                pub directory:
6365                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory,
6366                pub helm: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm,
6367                pub kustomize:
6368                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize,
6369                pub path: String,
6370                pub plugin: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin,
6371                pub repo_u_r_l: String,
6372                pub target_revision: String,
6373            }
6374
6375            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6376            #[serde(rename_all = "camelCase")]
6377            pub struct MatrixGeneratorsItemClustersTemplateSpecSource {
6378                pub chart: String,
6379                pub directory: MatrixGeneratorsItemClustersTemplateSpecSourceDirectory,
6380                pub helm: MatrixGeneratorsItemClustersTemplateSpecSourceHelm,
6381                pub kustomize: MatrixGeneratorsItemClustersTemplateSpecSourceKustomize,
6382                pub path: String,
6383                pub plugin: MatrixGeneratorsItemClustersTemplateSpecSourcePlugin,
6384                pub repo_u_r_l: String,
6385                pub target_revision: String,
6386            }
6387
6388            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6389            #[serde(rename_all = "camelCase")]
6390            pub struct MatrixGeneratorsItemGitTemplateSpecSource {
6391                pub chart: String,
6392                pub directory: MatrixGeneratorsItemGitTemplateSpecSourceDirectory,
6393                pub helm: MatrixGeneratorsItemGitTemplateSpecSourceHelm,
6394                pub kustomize: MatrixGeneratorsItemGitTemplateSpecSourceKustomize,
6395                pub path: String,
6396                pub plugin: MatrixGeneratorsItemGitTemplateSpecSourcePlugin,
6397                pub repo_u_r_l: String,
6398                pub target_revision: String,
6399            }
6400
6401            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6402            #[serde(rename_all = "camelCase")]
6403            pub struct MatrixGeneratorsItemListTemplateSpecSource {
6404                pub chart: String,
6405                pub directory: MatrixGeneratorsItemListTemplateSpecSourceDirectory,
6406                pub helm: MatrixGeneratorsItemListTemplateSpecSourceHelm,
6407                pub kustomize: MatrixGeneratorsItemListTemplateSpecSourceKustomize,
6408                pub path: String,
6409                pub plugin: MatrixGeneratorsItemListTemplateSpecSourcePlugin,
6410                pub repo_u_r_l: String,
6411                pub target_revision: String,
6412            }
6413
6414            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6415            #[serde(rename_all = "camelCase")]
6416            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSource {
6417                pub chart: String,
6418                pub directory: MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectory,
6419                pub helm: MatrixGeneratorsItemPullRequestTemplateSpecSourceHelm,
6420                pub kustomize: MatrixGeneratorsItemPullRequestTemplateSpecSourceKustomize,
6421                pub path: String,
6422                pub plugin: MatrixGeneratorsItemPullRequestTemplateSpecSourcePlugin,
6423                pub repo_u_r_l: String,
6424                pub target_revision: String,
6425            }
6426
6427            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6428            #[serde(rename_all = "camelCase")]
6429            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSource {
6430                pub chart: String,
6431                pub directory: MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectory,
6432                pub helm: MatrixGeneratorsItemScmProviderTemplateSpecSourceHelm,
6433                pub kustomize: MatrixGeneratorsItemScmProviderTemplateSpecSourceKustomize,
6434                pub path: String,
6435                pub plugin: MatrixGeneratorsItemScmProviderTemplateSpecSourcePlugin,
6436                pub repo_u_r_l: String,
6437                pub target_revision: String,
6438            }
6439
6440            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6441            #[serde(rename_all = "camelCase")]
6442            pub struct MatrixTemplateSpecSource {
6443                pub chart: String,
6444                pub directory: MatrixTemplateSpecSourceDirectory,
6445                pub helm: MatrixTemplateSpecSourceHelm,
6446                pub kustomize: MatrixTemplateSpecSourceKustomize,
6447                pub path: String,
6448                pub plugin: MatrixTemplateSpecSourcePlugin,
6449                pub repo_u_r_l: String,
6450                pub target_revision: String,
6451            }
6452
6453            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6454            #[serde(rename_all = "camelCase")]
6455            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSource {
6456                pub chart: String,
6457                pub directory:
6458                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectory,
6459                pub helm: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceHelm,
6460                pub kustomize:
6461                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceKustomize,
6462                pub path: String,
6463                pub plugin: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourcePlugin,
6464                pub repo_u_r_l: String,
6465                pub target_revision: String,
6466            }
6467
6468            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6469            #[serde(rename_all = "camelCase")]
6470            pub struct MergeGeneratorsItemClustersTemplateSpecSource {
6471                pub chart: String,
6472                pub directory: MergeGeneratorsItemClustersTemplateSpecSourceDirectory,
6473                pub helm: MergeGeneratorsItemClustersTemplateSpecSourceHelm,
6474                pub kustomize: MergeGeneratorsItemClustersTemplateSpecSourceKustomize,
6475                pub path: String,
6476                pub plugin: MergeGeneratorsItemClustersTemplateSpecSourcePlugin,
6477                pub repo_u_r_l: String,
6478                pub target_revision: String,
6479            }
6480
6481            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6482            #[serde(rename_all = "camelCase")]
6483            pub struct MergeGeneratorsItemGitTemplateSpecSource {
6484                pub chart: String,
6485                pub directory: MergeGeneratorsItemGitTemplateSpecSourceDirectory,
6486                pub helm: MergeGeneratorsItemGitTemplateSpecSourceHelm,
6487                pub kustomize: MergeGeneratorsItemGitTemplateSpecSourceKustomize,
6488                pub path: String,
6489                pub plugin: MergeGeneratorsItemGitTemplateSpecSourcePlugin,
6490                pub repo_u_r_l: String,
6491                pub target_revision: String,
6492            }
6493
6494            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6495            #[serde(rename_all = "camelCase")]
6496            pub struct MergeGeneratorsItemListTemplateSpecSource {
6497                pub chart: String,
6498                pub directory: MergeGeneratorsItemListTemplateSpecSourceDirectory,
6499                pub helm: MergeGeneratorsItemListTemplateSpecSourceHelm,
6500                pub kustomize: MergeGeneratorsItemListTemplateSpecSourceKustomize,
6501                pub path: String,
6502                pub plugin: MergeGeneratorsItemListTemplateSpecSourcePlugin,
6503                pub repo_u_r_l: String,
6504                pub target_revision: String,
6505            }
6506
6507            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6508            #[serde(rename_all = "camelCase")]
6509            pub struct MergeGeneratorsItemPullRequestTemplateSpecSource {
6510                pub chart: String,
6511                pub directory: MergeGeneratorsItemPullRequestTemplateSpecSourceDirectory,
6512                pub helm: MergeGeneratorsItemPullRequestTemplateSpecSourceHelm,
6513                pub kustomize: MergeGeneratorsItemPullRequestTemplateSpecSourceKustomize,
6514                pub path: String,
6515                pub plugin: MergeGeneratorsItemPullRequestTemplateSpecSourcePlugin,
6516                pub repo_u_r_l: String,
6517                pub target_revision: String,
6518            }
6519
6520            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6521            #[serde(rename_all = "camelCase")]
6522            pub struct MergeGeneratorsItemScmProviderTemplateSpecSource {
6523                pub chart: String,
6524                pub directory: MergeGeneratorsItemScmProviderTemplateSpecSourceDirectory,
6525                pub helm: MergeGeneratorsItemScmProviderTemplateSpecSourceHelm,
6526                pub kustomize: MergeGeneratorsItemScmProviderTemplateSpecSourceKustomize,
6527                pub path: String,
6528                pub plugin: MergeGeneratorsItemScmProviderTemplateSpecSourcePlugin,
6529                pub repo_u_r_l: String,
6530                pub target_revision: String,
6531            }
6532
6533            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6534            #[serde(rename_all = "camelCase")]
6535            pub struct MergeTemplateSpecSource {
6536                pub chart: String,
6537                pub directory: MergeTemplateSpecSourceDirectory,
6538                pub helm: MergeTemplateSpecSourceHelm,
6539                pub kustomize: MergeTemplateSpecSourceKustomize,
6540                pub path: String,
6541                pub plugin: MergeTemplateSpecSourcePlugin,
6542                pub repo_u_r_l: String,
6543                pub target_revision: String,
6544            }
6545
6546            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6547            #[serde(rename_all = "camelCase")]
6548            pub struct SpecGeneratorsItemPullRequestTemplateSpecSource {
6549                pub chart: String,
6550                pub directory: SpecGeneratorsItemPullRequestTemplateSpecSourceDirectory,
6551                pub helm: SpecGeneratorsItemPullRequestTemplateSpecSourceHelm,
6552                pub kustomize: SpecGeneratorsItemPullRequestTemplateSpecSourceKustomize,
6553                pub path: String,
6554                pub plugin: SpecGeneratorsItemPullRequestTemplateSpecSourcePlugin,
6555                pub repo_u_r_l: String,
6556                pub target_revision: String,
6557            }
6558
6559            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6560            #[serde(rename_all = "camelCase")]
6561            pub struct SpecGeneratorsItemScmProviderTemplateSpecSource {
6562                pub chart: String,
6563                pub directory: SpecGeneratorsItemScmProviderTemplateSpecSourceDirectory,
6564                pub helm: SpecGeneratorsItemScmProviderTemplateSpecSourceHelm,
6565                pub kustomize: SpecGeneratorsItemScmProviderTemplateSpecSourceKustomize,
6566                pub path: String,
6567                pub plugin: SpecGeneratorsItemScmProviderTemplateSpecSourcePlugin,
6568                pub repo_u_r_l: String,
6569                pub target_revision: String,
6570            }
6571
6572            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6573            #[serde(rename_all = "camelCase")]
6574            pub struct SpecTemplateSpecSource {
6575                pub chart: String,
6576                pub directory: SpecTemplateSpecSourceDirectory,
6577                pub helm: SpecTemplateSpecSourceHelm,
6578                pub kustomize: SpecTemplateSpecSourceKustomize,
6579                pub path: String,
6580                pub plugin: SpecTemplateSpecSourcePlugin,
6581                pub repo_u_r_l: String,
6582                pub target_revision: String,
6583            }
6584
6585            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6586            #[serde(rename_all = "camelCase")]
6587            pub struct Spec {
6588                pub generators: Vec<SpecGeneratorsItem>,
6589                pub sync_policy: SpecSyncPolicy,
6590                pub template: SpecTemplate,
6591            }
6592
6593            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6594            #[serde(rename_all = "camelCase")]
6595            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpec {
6596                pub destination: SpecGeneratorsItemClusterDecisionResourceTemplateSpecDestination,
6597                pub ignore_differences:
6598                    Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem>,
6599                pub info: Vec<SpecGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem>,
6600                pub project: String,
6601                pub revision_history_limit: i64,
6602                pub source: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSource,
6603                pub sync_policy: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy,
6604            }
6605
6606            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6607            #[serde(rename_all = "camelCase")]
6608            pub struct SpecGeneratorsItemClustersTemplateSpec {
6609                pub destination: SpecGeneratorsItemClustersTemplateSpecDestination,
6610                pub ignore_differences:
6611                    Vec<SpecGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem>,
6612                pub info: Vec<SpecGeneratorsItemClustersTemplateSpecInfoItem>,
6613                pub project: String,
6614                pub revision_history_limit: i64,
6615                pub source: SpecGeneratorsItemClustersTemplateSpecSource,
6616                pub sync_policy: SpecGeneratorsItemClustersTemplateSpecSyncPolicy,
6617            }
6618
6619            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6620            #[serde(rename_all = "camelCase")]
6621            pub struct SpecGeneratorsItemGitTemplateSpec {
6622                pub destination: SpecGeneratorsItemGitTemplateSpecDestination,
6623                pub ignore_differences: Vec<SpecGeneratorsItemGitTemplateSpecIgnoreDifferencesItem>,
6624                pub info: Vec<SpecGeneratorsItemGitTemplateSpecInfoItem>,
6625                pub project: String,
6626                pub revision_history_limit: i64,
6627                pub source: SpecGeneratorsItemGitTemplateSpecSource,
6628                pub sync_policy: SpecGeneratorsItemGitTemplateSpecSyncPolicy,
6629            }
6630
6631            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6632            #[serde(rename_all = "camelCase")]
6633            pub struct SpecGeneratorsItemListTemplateSpec {
6634                pub destination: SpecGeneratorsItemListTemplateSpecDestination,
6635                pub ignore_differences:
6636                    Vec<SpecGeneratorsItemListTemplateSpecIgnoreDifferencesItem>,
6637                pub info: Vec<SpecGeneratorsItemListTemplateSpecInfoItem>,
6638                pub project: String,
6639                pub revision_history_limit: i64,
6640                pub source: SpecGeneratorsItemListTemplateSpecSource,
6641                pub sync_policy: SpecGeneratorsItemListTemplateSpecSyncPolicy,
6642            }
6643
6644            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6645            #[serde(rename_all = "camelCase")]
6646            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpec {
6647                pub destination: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecDestination,
6648                pub ignore_differences: Vec<
6649                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem,
6650                >,
6651                pub info: Vec<MatrixGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem>,
6652                pub project: String,
6653                pub revision_history_limit: i64,
6654                pub source: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSource,
6655                pub sync_policy: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy,
6656            }
6657
6658            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6659            #[serde(rename_all = "camelCase")]
6660            pub struct MatrixGeneratorsItemClustersTemplateSpec {
6661                pub destination: MatrixGeneratorsItemClustersTemplateSpecDestination,
6662                pub ignore_differences:
6663                    Vec<MatrixGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem>,
6664                pub info: Vec<MatrixGeneratorsItemClustersTemplateSpecInfoItem>,
6665                pub project: String,
6666                pub revision_history_limit: i64,
6667                pub source: MatrixGeneratorsItemClustersTemplateSpecSource,
6668                pub sync_policy: MatrixGeneratorsItemClustersTemplateSpecSyncPolicy,
6669            }
6670
6671            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6672            #[serde(rename_all = "camelCase")]
6673            pub struct MatrixGeneratorsItemGitTemplateSpec {
6674                pub destination: MatrixGeneratorsItemGitTemplateSpecDestination,
6675                pub ignore_differences:
6676                    Vec<MatrixGeneratorsItemGitTemplateSpecIgnoreDifferencesItem>,
6677                pub info: Vec<MatrixGeneratorsItemGitTemplateSpecInfoItem>,
6678                pub project: String,
6679                pub revision_history_limit: i64,
6680                pub source: MatrixGeneratorsItemGitTemplateSpecSource,
6681                pub sync_policy: MatrixGeneratorsItemGitTemplateSpecSyncPolicy,
6682            }
6683
6684            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6685            #[serde(rename_all = "camelCase")]
6686            pub struct MatrixGeneratorsItemListTemplateSpec {
6687                pub destination: MatrixGeneratorsItemListTemplateSpecDestination,
6688                pub ignore_differences:
6689                    Vec<MatrixGeneratorsItemListTemplateSpecIgnoreDifferencesItem>,
6690                pub info: Vec<MatrixGeneratorsItemListTemplateSpecInfoItem>,
6691                pub project: String,
6692                pub revision_history_limit: i64,
6693                pub source: MatrixGeneratorsItemListTemplateSpecSource,
6694                pub sync_policy: MatrixGeneratorsItemListTemplateSpecSyncPolicy,
6695            }
6696
6697            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6698            #[serde(rename_all = "camelCase")]
6699            pub struct MatrixGeneratorsItemPullRequestTemplateSpec {
6700                pub destination: MatrixGeneratorsItemPullRequestTemplateSpecDestination,
6701                pub ignore_differences:
6702                    Vec<MatrixGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem>,
6703                pub info: Vec<MatrixGeneratorsItemPullRequestTemplateSpecInfoItem>,
6704                pub project: String,
6705                pub revision_history_limit: i64,
6706                pub source: MatrixGeneratorsItemPullRequestTemplateSpecSource,
6707                pub sync_policy: MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicy,
6708            }
6709
6710            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6711            #[serde(rename_all = "camelCase")]
6712            pub struct MatrixGeneratorsItemScmProviderTemplateSpec {
6713                pub destination: MatrixGeneratorsItemScmProviderTemplateSpecDestination,
6714                pub ignore_differences:
6715                    Vec<MatrixGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem>,
6716                pub info: Vec<MatrixGeneratorsItemScmProviderTemplateSpecInfoItem>,
6717                pub project: String,
6718                pub revision_history_limit: i64,
6719                pub source: MatrixGeneratorsItemScmProviderTemplateSpecSource,
6720                pub sync_policy: MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicy,
6721            }
6722
6723            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6724            #[serde(rename_all = "camelCase")]
6725            pub struct MatrixTemplateSpec {
6726                pub destination: MatrixTemplateSpecDestination,
6727                pub ignore_differences: Vec<MatrixTemplateSpecIgnoreDifferencesItem>,
6728                pub info: Vec<MatrixTemplateSpecInfoItem>,
6729                pub project: String,
6730                pub revision_history_limit: i64,
6731                pub source: MatrixTemplateSpecSource,
6732                pub sync_policy: MatrixTemplateSpecSyncPolicy,
6733            }
6734
6735            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6736            #[serde(rename_all = "camelCase")]
6737            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpec {
6738                pub destination: MergeGeneratorsItemClusterDecisionResourceTemplateSpecDestination,
6739                pub ignore_differences: Vec<
6740                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecIgnoreDifferencesItem,
6741                >,
6742                pub info: Vec<MergeGeneratorsItemClusterDecisionResourceTemplateSpecInfoItem>,
6743                pub project: String,
6744                pub revision_history_limit: i64,
6745                pub source: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSource,
6746                pub sync_policy: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy,
6747            }
6748
6749            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6750            #[serde(rename_all = "camelCase")]
6751            pub struct MergeGeneratorsItemClustersTemplateSpec {
6752                pub destination: MergeGeneratorsItemClustersTemplateSpecDestination,
6753                pub ignore_differences:
6754                    Vec<MergeGeneratorsItemClustersTemplateSpecIgnoreDifferencesItem>,
6755                pub info: Vec<MergeGeneratorsItemClustersTemplateSpecInfoItem>,
6756                pub project: String,
6757                pub revision_history_limit: i64,
6758                pub source: MergeGeneratorsItemClustersTemplateSpecSource,
6759                pub sync_policy: MergeGeneratorsItemClustersTemplateSpecSyncPolicy,
6760            }
6761
6762            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6763            #[serde(rename_all = "camelCase")]
6764            pub struct MergeGeneratorsItemGitTemplateSpec {
6765                pub destination: MergeGeneratorsItemGitTemplateSpecDestination,
6766                pub ignore_differences:
6767                    Vec<MergeGeneratorsItemGitTemplateSpecIgnoreDifferencesItem>,
6768                pub info: Vec<MergeGeneratorsItemGitTemplateSpecInfoItem>,
6769                pub project: String,
6770                pub revision_history_limit: i64,
6771                pub source: MergeGeneratorsItemGitTemplateSpecSource,
6772                pub sync_policy: MergeGeneratorsItemGitTemplateSpecSyncPolicy,
6773            }
6774
6775            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6776            #[serde(rename_all = "camelCase")]
6777            pub struct MergeGeneratorsItemListTemplateSpec {
6778                pub destination: MergeGeneratorsItemListTemplateSpecDestination,
6779                pub ignore_differences:
6780                    Vec<MergeGeneratorsItemListTemplateSpecIgnoreDifferencesItem>,
6781                pub info: Vec<MergeGeneratorsItemListTemplateSpecInfoItem>,
6782                pub project: String,
6783                pub revision_history_limit: i64,
6784                pub source: MergeGeneratorsItemListTemplateSpecSource,
6785                pub sync_policy: MergeGeneratorsItemListTemplateSpecSyncPolicy,
6786            }
6787
6788            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6789            #[serde(rename_all = "camelCase")]
6790            pub struct MergeGeneratorsItemPullRequestTemplateSpec {
6791                pub destination: MergeGeneratorsItemPullRequestTemplateSpecDestination,
6792                pub ignore_differences:
6793                    Vec<MergeGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem>,
6794                pub info: Vec<MergeGeneratorsItemPullRequestTemplateSpecInfoItem>,
6795                pub project: String,
6796                pub revision_history_limit: i64,
6797                pub source: MergeGeneratorsItemPullRequestTemplateSpecSource,
6798                pub sync_policy: MergeGeneratorsItemPullRequestTemplateSpecSyncPolicy,
6799            }
6800
6801            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6802            #[serde(rename_all = "camelCase")]
6803            pub struct MergeGeneratorsItemScmProviderTemplateSpec {
6804                pub destination: MergeGeneratorsItemScmProviderTemplateSpecDestination,
6805                pub ignore_differences:
6806                    Vec<MergeGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem>,
6807                pub info: Vec<MergeGeneratorsItemScmProviderTemplateSpecInfoItem>,
6808                pub project: String,
6809                pub revision_history_limit: i64,
6810                pub source: MergeGeneratorsItemScmProviderTemplateSpecSource,
6811                pub sync_policy: MergeGeneratorsItemScmProviderTemplateSpecSyncPolicy,
6812            }
6813
6814            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6815            #[serde(rename_all = "camelCase")]
6816            pub struct MergeTemplateSpec {
6817                pub destination: MergeTemplateSpecDestination,
6818                pub ignore_differences: Vec<MergeTemplateSpecIgnoreDifferencesItem>,
6819                pub info: Vec<MergeTemplateSpecInfoItem>,
6820                pub project: String,
6821                pub revision_history_limit: i64,
6822                pub source: MergeTemplateSpecSource,
6823                pub sync_policy: MergeTemplateSpecSyncPolicy,
6824            }
6825
6826            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6827            #[serde(rename_all = "camelCase")]
6828            pub struct SpecGeneratorsItemPullRequestTemplateSpec {
6829                pub destination: SpecGeneratorsItemPullRequestTemplateSpecDestination,
6830                pub ignore_differences:
6831                    Vec<SpecGeneratorsItemPullRequestTemplateSpecIgnoreDifferencesItem>,
6832                pub info: Vec<SpecGeneratorsItemPullRequestTemplateSpecInfoItem>,
6833                pub project: String,
6834                pub revision_history_limit: i64,
6835                pub source: SpecGeneratorsItemPullRequestTemplateSpecSource,
6836                pub sync_policy: SpecGeneratorsItemPullRequestTemplateSpecSyncPolicy,
6837            }
6838
6839            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6840            #[serde(rename_all = "camelCase")]
6841            pub struct SpecGeneratorsItemScmProviderTemplateSpec {
6842                pub destination: SpecGeneratorsItemScmProviderTemplateSpecDestination,
6843                pub ignore_differences:
6844                    Vec<SpecGeneratorsItemScmProviderTemplateSpecIgnoreDifferencesItem>,
6845                pub info: Vec<SpecGeneratorsItemScmProviderTemplateSpecInfoItem>,
6846                pub project: String,
6847                pub revision_history_limit: i64,
6848                pub source: SpecGeneratorsItemScmProviderTemplateSpecSource,
6849                pub sync_policy: SpecGeneratorsItemScmProviderTemplateSpecSyncPolicy,
6850            }
6851
6852            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6853            #[serde(rename_all = "camelCase")]
6854            pub struct SpecTemplateSpec {
6855                pub destination: SpecTemplateSpecDestination,
6856                pub ignore_differences: Vec<SpecTemplateSpecIgnoreDifferencesItem>,
6857                pub info: Vec<SpecTemplateSpecInfoItem>,
6858                pub project: String,
6859                pub revision_history_limit: i64,
6860                pub source: SpecTemplateSpecSource,
6861                pub sync_policy: SpecTemplateSpecSyncPolicy,
6862            }
6863
6864            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6865            #[serde(rename_all = "camelCase")]
6866            pub struct Status {
6867                pub conditions: Vec<ConditionsItem>,
6868            }
6869
6870            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6871            #[serde(rename_all = "camelCase")]
6872            pub struct SpecSyncPolicy {
6873                pub preserve_resources_on_deletion: bool,
6874            }
6875
6876            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6877            #[serde(rename_all = "camelCase")]
6878            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy {
6879                pub automated:
6880                    SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated,
6881                pub retry: SpecGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry,
6882                pub sync_options: Vec<String>,
6883            }
6884
6885            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6886            #[serde(rename_all = "camelCase")]
6887            pub struct SpecGeneratorsItemClustersTemplateSpecSyncPolicy {
6888                pub automated: SpecGeneratorsItemClustersTemplateSpecSyncPolicyAutomated,
6889                pub retry: SpecGeneratorsItemClustersTemplateSpecSyncPolicyRetry,
6890                pub sync_options: Vec<String>,
6891            }
6892
6893            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6894            #[serde(rename_all = "camelCase")]
6895            pub struct SpecGeneratorsItemGitTemplateSpecSyncPolicy {
6896                pub automated: SpecGeneratorsItemGitTemplateSpecSyncPolicyAutomated,
6897                pub retry: SpecGeneratorsItemGitTemplateSpecSyncPolicyRetry,
6898                pub sync_options: Vec<String>,
6899            }
6900
6901            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6902            #[serde(rename_all = "camelCase")]
6903            pub struct SpecGeneratorsItemListTemplateSpecSyncPolicy {
6904                pub automated: SpecGeneratorsItemListTemplateSpecSyncPolicyAutomated,
6905                pub retry: SpecGeneratorsItemListTemplateSpecSyncPolicyRetry,
6906                pub sync_options: Vec<String>,
6907            }
6908
6909            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6910            #[serde(rename_all = "camelCase")]
6911            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy {
6912                pub automated:
6913                    MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated,
6914                pub retry: MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry,
6915                pub sync_options: Vec<String>,
6916            }
6917
6918            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6919            #[serde(rename_all = "camelCase")]
6920            pub struct MatrixGeneratorsItemClustersTemplateSpecSyncPolicy {
6921                pub automated: MatrixGeneratorsItemClustersTemplateSpecSyncPolicyAutomated,
6922                pub retry: MatrixGeneratorsItemClustersTemplateSpecSyncPolicyRetry,
6923                pub sync_options: Vec<String>,
6924            }
6925
6926            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6927            #[serde(rename_all = "camelCase")]
6928            pub struct MatrixGeneratorsItemGitTemplateSpecSyncPolicy {
6929                pub automated: MatrixGeneratorsItemGitTemplateSpecSyncPolicyAutomated,
6930                pub retry: MatrixGeneratorsItemGitTemplateSpecSyncPolicyRetry,
6931                pub sync_options: Vec<String>,
6932            }
6933
6934            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6935            #[serde(rename_all = "camelCase")]
6936            pub struct MatrixGeneratorsItemListTemplateSpecSyncPolicy {
6937                pub automated: MatrixGeneratorsItemListTemplateSpecSyncPolicyAutomated,
6938                pub retry: MatrixGeneratorsItemListTemplateSpecSyncPolicyRetry,
6939                pub sync_options: Vec<String>,
6940            }
6941
6942            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6943            #[serde(rename_all = "camelCase")]
6944            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicy {
6945                pub automated: MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated,
6946                pub retry: MatrixGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry,
6947                pub sync_options: Vec<String>,
6948            }
6949
6950            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6951            #[serde(rename_all = "camelCase")]
6952            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicy {
6953                pub automated: MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated,
6954                pub retry: MatrixGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry,
6955                pub sync_options: Vec<String>,
6956            }
6957
6958            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6959            #[serde(rename_all = "camelCase")]
6960            pub struct MatrixTemplateSpecSyncPolicy {
6961                pub automated: MatrixTemplateSpecSyncPolicyAutomated,
6962                pub retry: MatrixTemplateSpecSyncPolicyRetry,
6963                pub sync_options: Vec<String>,
6964            }
6965
6966            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6967            #[serde(rename_all = "camelCase")]
6968            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicy {
6969                pub automated:
6970                    MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyAutomated,
6971                pub retry: MergeGeneratorsItemClusterDecisionResourceTemplateSpecSyncPolicyRetry,
6972                pub sync_options: Vec<String>,
6973            }
6974
6975            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6976            #[serde(rename_all = "camelCase")]
6977            pub struct MergeGeneratorsItemClustersTemplateSpecSyncPolicy {
6978                pub automated: MergeGeneratorsItemClustersTemplateSpecSyncPolicyAutomated,
6979                pub retry: MergeGeneratorsItemClustersTemplateSpecSyncPolicyRetry,
6980                pub sync_options: Vec<String>,
6981            }
6982
6983            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6984            #[serde(rename_all = "camelCase")]
6985            pub struct MergeGeneratorsItemGitTemplateSpecSyncPolicy {
6986                pub automated: MergeGeneratorsItemGitTemplateSpecSyncPolicyAutomated,
6987                pub retry: MergeGeneratorsItemGitTemplateSpecSyncPolicyRetry,
6988                pub sync_options: Vec<String>,
6989            }
6990
6991            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
6992            #[serde(rename_all = "camelCase")]
6993            pub struct MergeGeneratorsItemListTemplateSpecSyncPolicy {
6994                pub automated: MergeGeneratorsItemListTemplateSpecSyncPolicyAutomated,
6995                pub retry: MergeGeneratorsItemListTemplateSpecSyncPolicyRetry,
6996                pub sync_options: Vec<String>,
6997            }
6998
6999            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7000            #[serde(rename_all = "camelCase")]
7001            pub struct MergeGeneratorsItemPullRequestTemplateSpecSyncPolicy {
7002                pub automated: MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated,
7003                pub retry: MergeGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry,
7004                pub sync_options: Vec<String>,
7005            }
7006
7007            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7008            #[serde(rename_all = "camelCase")]
7009            pub struct MergeGeneratorsItemScmProviderTemplateSpecSyncPolicy {
7010                pub automated: MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated,
7011                pub retry: MergeGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry,
7012                pub sync_options: Vec<String>,
7013            }
7014
7015            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7016            #[serde(rename_all = "camelCase")]
7017            pub struct MergeTemplateSpecSyncPolicy {
7018                pub automated: MergeTemplateSpecSyncPolicyAutomated,
7019                pub retry: MergeTemplateSpecSyncPolicyRetry,
7020                pub sync_options: Vec<String>,
7021            }
7022
7023            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7024            #[serde(rename_all = "camelCase")]
7025            pub struct SpecGeneratorsItemPullRequestTemplateSpecSyncPolicy {
7026                pub automated: SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyAutomated,
7027                pub retry: SpecGeneratorsItemPullRequestTemplateSpecSyncPolicyRetry,
7028                pub sync_options: Vec<String>,
7029            }
7030
7031            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7032            #[serde(rename_all = "camelCase")]
7033            pub struct SpecGeneratorsItemScmProviderTemplateSpecSyncPolicy {
7034                pub automated: SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyAutomated,
7035                pub retry: SpecGeneratorsItemScmProviderTemplateSpecSyncPolicyRetry,
7036                pub sync_options: Vec<String>,
7037            }
7038
7039            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7040            #[serde(rename_all = "camelCase")]
7041            pub struct SpecTemplateSpecSyncPolicy {
7042                pub automated: SpecTemplateSpecSyncPolicyAutomated,
7043                pub retry: SpecTemplateSpecSyncPolicyRetry,
7044                pub sync_options: Vec<String>,
7045            }
7046
7047            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7048            #[serde(rename_all = "camelCase")]
7049            pub struct SpecTemplate {
7050                pub metadata: SpecTemplateMetadata,
7051                pub spec: SpecTemplateSpec,
7052            }
7053
7054            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7055            #[serde(rename_all = "camelCase")]
7056            pub struct SpecGeneratorsItemClusterDecisionResourceTemplate {
7057                pub metadata: SpecGeneratorsItemClusterDecisionResourceTemplateMetadata,
7058                pub spec: SpecGeneratorsItemClusterDecisionResourceTemplateSpec,
7059            }
7060
7061            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7062            #[serde(rename_all = "camelCase")]
7063            pub struct SpecGeneratorsItemClustersTemplate {
7064                pub metadata: SpecGeneratorsItemClustersTemplateMetadata,
7065                pub spec: SpecGeneratorsItemClustersTemplateSpec,
7066            }
7067
7068            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7069            #[serde(rename_all = "camelCase")]
7070            pub struct SpecGeneratorsItemGitTemplate {
7071                pub metadata: SpecGeneratorsItemGitTemplateMetadata,
7072                pub spec: SpecGeneratorsItemGitTemplateSpec,
7073            }
7074
7075            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7076            #[serde(rename_all = "camelCase")]
7077            pub struct SpecGeneratorsItemListTemplate {
7078                pub metadata: SpecGeneratorsItemListTemplateMetadata,
7079                pub spec: SpecGeneratorsItemListTemplateSpec,
7080            }
7081
7082            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7083            #[serde(rename_all = "camelCase")]
7084            pub struct MatrixTemplate {
7085                pub metadata: MatrixTemplateMetadata,
7086                pub spec: MatrixTemplateSpec,
7087            }
7088
7089            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7090            #[serde(rename_all = "camelCase")]
7091            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplate {
7092                pub metadata: MatrixGeneratorsItemClusterDecisionResourceTemplateMetadata,
7093                pub spec: MatrixGeneratorsItemClusterDecisionResourceTemplateSpec,
7094            }
7095
7096            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7097            #[serde(rename_all = "camelCase")]
7098            pub struct MatrixGeneratorsItemClustersTemplate {
7099                pub metadata: MatrixGeneratorsItemClustersTemplateMetadata,
7100                pub spec: MatrixGeneratorsItemClustersTemplateSpec,
7101            }
7102
7103            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7104            #[serde(rename_all = "camelCase")]
7105            pub struct MatrixGeneratorsItemGitTemplate {
7106                pub metadata: MatrixGeneratorsItemGitTemplateMetadata,
7107                pub spec: MatrixGeneratorsItemGitTemplateSpec,
7108            }
7109
7110            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7111            #[serde(rename_all = "camelCase")]
7112            pub struct MatrixGeneratorsItemListTemplate {
7113                pub metadata: MatrixGeneratorsItemListTemplateMetadata,
7114                pub spec: MatrixGeneratorsItemListTemplateSpec,
7115            }
7116
7117            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7118            #[serde(rename_all = "camelCase")]
7119            pub struct MatrixGeneratorsItemPullRequestTemplate {
7120                pub metadata: MatrixGeneratorsItemPullRequestTemplateMetadata,
7121                pub spec: MatrixGeneratorsItemPullRequestTemplateSpec,
7122            }
7123
7124            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7125            #[serde(rename_all = "camelCase")]
7126            pub struct MatrixGeneratorsItemScmProviderTemplate {
7127                pub metadata: MatrixGeneratorsItemScmProviderTemplateMetadata,
7128                pub spec: MatrixGeneratorsItemScmProviderTemplateSpec,
7129            }
7130
7131            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7132            #[serde(rename_all = "camelCase")]
7133            pub struct MergeTemplate {
7134                pub metadata: MergeTemplateMetadata,
7135                pub spec: MergeTemplateSpec,
7136            }
7137
7138            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7139            #[serde(rename_all = "camelCase")]
7140            pub struct MergeGeneratorsItemClusterDecisionResourceTemplate {
7141                pub metadata: MergeGeneratorsItemClusterDecisionResourceTemplateMetadata,
7142                pub spec: MergeGeneratorsItemClusterDecisionResourceTemplateSpec,
7143            }
7144
7145            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7146            #[serde(rename_all = "camelCase")]
7147            pub struct MergeGeneratorsItemClustersTemplate {
7148                pub metadata: MergeGeneratorsItemClustersTemplateMetadata,
7149                pub spec: MergeGeneratorsItemClustersTemplateSpec,
7150            }
7151
7152            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7153            #[serde(rename_all = "camelCase")]
7154            pub struct MergeGeneratorsItemGitTemplate {
7155                pub metadata: MergeGeneratorsItemGitTemplateMetadata,
7156                pub spec: MergeGeneratorsItemGitTemplateSpec,
7157            }
7158
7159            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7160            #[serde(rename_all = "camelCase")]
7161            pub struct MergeGeneratorsItemListTemplate {
7162                pub metadata: MergeGeneratorsItemListTemplateMetadata,
7163                pub spec: MergeGeneratorsItemListTemplateSpec,
7164            }
7165
7166            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7167            #[serde(rename_all = "camelCase")]
7168            pub struct MergeGeneratorsItemPullRequestTemplate {
7169                pub metadata: MergeGeneratorsItemPullRequestTemplateMetadata,
7170                pub spec: MergeGeneratorsItemPullRequestTemplateSpec,
7171            }
7172
7173            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7174            #[serde(rename_all = "camelCase")]
7175            pub struct MergeGeneratorsItemScmProviderTemplate {
7176                pub metadata: MergeGeneratorsItemScmProviderTemplateMetadata,
7177                pub spec: MergeGeneratorsItemScmProviderTemplateSpec,
7178            }
7179
7180            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7181            #[serde(rename_all = "camelCase")]
7182            pub struct SpecGeneratorsItemPullRequestTemplate {
7183                pub metadata: SpecGeneratorsItemPullRequestTemplateMetadata,
7184                pub spec: SpecGeneratorsItemPullRequestTemplateSpec,
7185            }
7186
7187            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7188            #[serde(rename_all = "camelCase")]
7189            pub struct SpecGeneratorsItemScmProviderTemplate {
7190                pub metadata: SpecGeneratorsItemScmProviderTemplateMetadata,
7191                pub spec: SpecGeneratorsItemScmProviderTemplateSpec,
7192            }
7193
7194            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7195            #[serde(rename_all = "camelCase")]
7196            pub struct SpecGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem {
7197                pub code: bool,
7198                pub name: String,
7199                pub value: String,
7200            }
7201
7202            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7203            #[serde(rename_all = "camelCase")]
7204            pub struct SpecGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem {
7205                pub code: bool,
7206                pub name: String,
7207                pub value: String,
7208            }
7209
7210            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7211            #[serde(rename_all = "camelCase")]
7212            pub struct SpecGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem {
7213                pub code: bool,
7214                pub name: String,
7215                pub value: String,
7216            }
7217
7218            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7219            #[serde(rename_all = "camelCase")]
7220            pub struct SpecGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem {
7221                pub code: bool,
7222                pub name: String,
7223                pub value: String,
7224            }
7225
7226            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7227            #[serde(rename_all = "camelCase")]
7228            pub struct MatrixGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem {
7229                pub code: bool,
7230                pub name: String,
7231                pub value: String,
7232            }
7233
7234            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7235            #[serde(rename_all = "camelCase")]
7236            pub struct MatrixGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem {
7237                pub code: bool,
7238                pub name: String,
7239                pub value: String,
7240            }
7241
7242            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7243            #[serde(rename_all = "camelCase")]
7244            pub struct MatrixGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem {
7245                pub code: bool,
7246                pub name: String,
7247                pub value: String,
7248            }
7249
7250            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7251            #[serde(rename_all = "camelCase")]
7252            pub struct MatrixGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem {
7253                pub code: bool,
7254                pub name: String,
7255                pub value: String,
7256            }
7257
7258            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7259            #[serde(rename_all = "camelCase")]
7260            pub struct MatrixGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem {
7261                pub code: bool,
7262                pub name: String,
7263                pub value: String,
7264            }
7265
7266            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7267            #[serde(rename_all = "camelCase")]
7268            pub struct MatrixGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem {
7269                pub code: bool,
7270                pub name: String,
7271                pub value: String,
7272            }
7273
7274            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7275            #[serde(rename_all = "camelCase")]
7276            pub struct MatrixTemplateSpecSourceDirectoryJsonnetTlasItem {
7277                pub code: bool,
7278                pub name: String,
7279                pub value: String,
7280            }
7281
7282            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7283            #[serde(rename_all = "camelCase")]
7284            pub struct MergeGeneratorsItemClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTlasItem {
7285                pub code: bool,
7286                pub name: String,
7287                pub value: String,
7288            }
7289
7290            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7291            #[serde(rename_all = "camelCase")]
7292            pub struct MergeGeneratorsItemClustersTemplateSpecSourceDirectoryJsonnetTlasItem {
7293                pub code: bool,
7294                pub name: String,
7295                pub value: String,
7296            }
7297
7298            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7299            #[serde(rename_all = "camelCase")]
7300            pub struct MergeGeneratorsItemGitTemplateSpecSourceDirectoryJsonnetTlasItem {
7301                pub code: bool,
7302                pub name: String,
7303                pub value: String,
7304            }
7305
7306            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7307            #[serde(rename_all = "camelCase")]
7308            pub struct MergeGeneratorsItemListTemplateSpecSourceDirectoryJsonnetTlasItem {
7309                pub code: bool,
7310                pub name: String,
7311                pub value: String,
7312            }
7313
7314            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7315            #[serde(rename_all = "camelCase")]
7316            pub struct MergeGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem {
7317                pub code: bool,
7318                pub name: String,
7319                pub value: String,
7320            }
7321
7322            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7323            #[serde(rename_all = "camelCase")]
7324            pub struct MergeGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem {
7325                pub code: bool,
7326                pub name: String,
7327                pub value: String,
7328            }
7329
7330            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7331            #[serde(rename_all = "camelCase")]
7332            pub struct MergeTemplateSpecSourceDirectoryJsonnetTlasItem {
7333                pub code: bool,
7334                pub name: String,
7335                pub value: String,
7336            }
7337
7338            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7339            #[serde(rename_all = "camelCase")]
7340            pub struct SpecGeneratorsItemPullRequestTemplateSpecSourceDirectoryJsonnetTlasItem {
7341                pub code: bool,
7342                pub name: String,
7343                pub value: String,
7344            }
7345
7346            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7347            #[serde(rename_all = "camelCase")]
7348            pub struct SpecGeneratorsItemScmProviderTemplateSpecSourceDirectoryJsonnetTlasItem {
7349                pub code: bool,
7350                pub name: String,
7351                pub value: String,
7352            }
7353
7354            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7355            #[serde(rename_all = "camelCase")]
7356            pub struct SpecTemplateSpecSourceDirectoryJsonnetTlasItem {
7357                pub code: bool,
7358                pub name: String,
7359                pub value: String,
7360            }
7361
7362            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7363            #[serde(rename_all = "camelCase")]
7364            pub struct MatrixGeneratorsItemPullRequestGiteaTokenRef {
7365                pub key: String,
7366                pub secret_name: String,
7367            }
7368
7369            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7370            #[serde(rename_all = "camelCase")]
7371            pub struct MatrixGeneratorsItemPullRequestGithubTokenRef {
7372                pub key: String,
7373                pub secret_name: String,
7374            }
7375
7376            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7377            #[serde(rename_all = "camelCase")]
7378            pub struct MatrixGeneratorsItemPullRequestGitlabTokenRef {
7379                pub key: String,
7380                pub secret_name: String,
7381            }
7382
7383            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7384            #[serde(rename_all = "camelCase")]
7385            pub struct MatrixGeneratorsItemScmProviderGiteaTokenRef {
7386                pub key: String,
7387                pub secret_name: String,
7388            }
7389
7390            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7391            #[serde(rename_all = "camelCase")]
7392            pub struct MatrixGeneratorsItemScmProviderGithubTokenRef {
7393                pub key: String,
7394                pub secret_name: String,
7395            }
7396
7397            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7398            #[serde(rename_all = "camelCase")]
7399            pub struct MatrixGeneratorsItemScmProviderGitlabTokenRef {
7400                pub key: String,
7401                pub secret_name: String,
7402            }
7403
7404            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7405            #[serde(rename_all = "camelCase")]
7406            pub struct MergeGeneratorsItemPullRequestGiteaTokenRef {
7407                pub key: String,
7408                pub secret_name: String,
7409            }
7410
7411            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7412            #[serde(rename_all = "camelCase")]
7413            pub struct MergeGeneratorsItemPullRequestGithubTokenRef {
7414                pub key: String,
7415                pub secret_name: String,
7416            }
7417
7418            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7419            #[serde(rename_all = "camelCase")]
7420            pub struct MergeGeneratorsItemPullRequestGitlabTokenRef {
7421                pub key: String,
7422                pub secret_name: String,
7423            }
7424
7425            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7426            #[serde(rename_all = "camelCase")]
7427            pub struct MergeGeneratorsItemScmProviderGiteaTokenRef {
7428                pub key: String,
7429                pub secret_name: String,
7430            }
7431
7432            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7433            #[serde(rename_all = "camelCase")]
7434            pub struct MergeGeneratorsItemScmProviderGithubTokenRef {
7435                pub key: String,
7436                pub secret_name: String,
7437            }
7438
7439            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7440            #[serde(rename_all = "camelCase")]
7441            pub struct MergeGeneratorsItemScmProviderGitlabTokenRef {
7442                pub key: String,
7443                pub secret_name: String,
7444            }
7445
7446            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7447            #[serde(rename_all = "camelCase")]
7448            pub struct SpecGeneratorsItemPullRequestGiteaTokenRef {
7449                pub key: String,
7450                pub secret_name: String,
7451            }
7452
7453            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7454            #[serde(rename_all = "camelCase")]
7455            pub struct SpecGeneratorsItemPullRequestGithubTokenRef {
7456                pub key: String,
7457                pub secret_name: String,
7458            }
7459
7460            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7461            #[serde(rename_all = "camelCase")]
7462            pub struct SpecGeneratorsItemPullRequestGitlabTokenRef {
7463                pub key: String,
7464                pub secret_name: String,
7465            }
7466
7467            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7468            #[serde(rename_all = "camelCase")]
7469            pub struct SpecGeneratorsItemScmProviderGiteaTokenRef {
7470                pub key: String,
7471                pub secret_name: String,
7472            }
7473
7474            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7475            #[serde(rename_all = "camelCase")]
7476            pub struct SpecGeneratorsItemScmProviderGithubTokenRef {
7477                pub key: String,
7478                pub secret_name: String,
7479            }
7480
7481            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7482            #[serde(rename_all = "camelCase")]
7483            pub struct SpecGeneratorsItemScmProviderGitlabTokenRef {
7484                pub key: String,
7485                pub secret_name: String,
7486            }
7487
7488            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7489            #[serde(rename_all = "camelCase")]
7490            pub struct SpecGeneratorsItemClusterDecisionResourceValues {
7491                pub properties: std::collections::HashMap<String, String>,
7492            }
7493
7494            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7495            #[serde(rename_all = "camelCase")]
7496            pub struct SpecGeneratorsItemClustersValues {
7497                pub properties: std::collections::HashMap<String, String>,
7498            }
7499
7500            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7501            #[serde(rename_all = "camelCase")]
7502            pub struct MatrixGeneratorsItemClusterDecisionResourceValues {
7503                pub properties: std::collections::HashMap<String, String>,
7504            }
7505
7506            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7507            #[serde(rename_all = "camelCase")]
7508            pub struct MatrixGeneratorsItemClustersValues {
7509                pub properties: std::collections::HashMap<String, String>,
7510            }
7511
7512            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7513            #[serde(rename_all = "camelCase")]
7514            pub struct MergeGeneratorsItemClusterDecisionResourceValues {
7515                pub properties: std::collections::HashMap<String, String>,
7516            }
7517
7518            #[derive(serde::Serialize, serde::Deserialize, Debug, PartialEq)]
7519            #[serde(rename_all = "camelCase")]
7520            pub struct MergeGeneratorsItemClustersValues {
7521                pub properties: std::collections::HashMap<String, String>,
7522            }
7523        }
7524    }
7525}