From 43b981b9159628acf1079a2823988b8e739a11ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Tue, 16 Sep 2025 13:42:50 +0200 Subject: [PATCH 01/11] only upper case first letter of kind MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise, we will generate invalid code for the '#[kube(status = "...Status")]' macro for kinds that use multiple consecutive upper case letters Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index 17896a2..b1df60d 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -22,8 +22,12 @@ pub struct Config { /// All found output structs will have its names prefixed by the kind it is for pub fn analyze(schema: JSONSchemaProps, kind: &str, cfg: Config) -> Result { let mut res = vec![]; - - analyze_(&schema, "", &kind.to_upper_camel_case(), 0, &mut res, &cfg)?; + let upper_cased_kind: String = kind.chars() + .take(1) + .flat_map(|c| c.to_uppercase()) + .chain(kind.chars().skip(1)) + .collect(); + analyze_(&schema, "", &upper_cased_kind, 0, &mut res, &cfg)?; Ok(Output(res)) } @@ -1317,6 +1321,34 @@ type: object assert_eq!(other.level, 1); } + #[test] + fn camel_case_of_kinds_with_consecutive_upper_case_letters() { + init(); + let schema_str = r#" + properties: + spec: + type: object + status: + type: object + type: object +"#; + let schema: JSONSchemaProps = serde_yaml::from_str(schema_str).unwrap(); + + let structs = analyze(schema, "ArgoCDExport", Cfg::default()).unwrap().0; + + let root = &structs[0]; + assert_eq!(root.name, "ArgoCDExport"); + assert_eq!(root.level, 0); + + let other = &structs[1]; + assert_eq!(other.name, "ArgoCDExportSpec"); + assert_eq!(other.level, 1); + + let other = &structs[2]; + assert_eq!(other.name, "ArgoCDExportStatus"); + assert_eq!(other.level, 1); + } + #[test] fn skipped_type_as_map_nested_in_array() { init(); From 8cd1b21315d34d9ecab8684e958d05b89bc26417 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Tue, 16 Sep 2025 13:43:02 +0200 Subject: [PATCH 02/11] remove extra word MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/output.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/output.rs b/src/output.rs index 3afb56d..449524f 100644 --- a/src/output.rs +++ b/src/output.rs @@ -212,7 +212,7 @@ impl Container { } impl Output { - /// Rename all structs and all all their members to rust conventions + /// Rename all structs and all their members to rust conventions /// /// Converts [*].members[*].name to snake_case for structs, PascalCase for enums, /// and adds a serde(rename = "orig_name") annotation to `serde_annot`. From ecc745c4c85681d640fd918a7c576d1f9e99f173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Tue, 16 Sep 2025 13:51:16 +0200 Subject: [PATCH 03/11] format w/ rustfmt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index b1df60d..8100e90 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -22,7 +22,8 @@ pub struct Config { /// All found output structs will have its names prefixed by the kind it is for pub fn analyze(schema: JSONSchemaProps, kind: &str, cfg: Config) -> Result { let mut res = vec![]; - let upper_cased_kind: String = kind.chars() + let upper_cased_kind: String = kind + .chars() .take(1) .flat_map(|c| c.to_uppercase()) .chain(kind.chars().skip(1)) From 12e458a80baa48ed52c87bf85f72dc25baf17057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Tue, 16 Sep 2025 20:37:29 +0200 Subject: [PATCH 04/11] use to_upper_camel_case everywhere MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 23 +++++++++-------------- src/main.rs | 13 ++++++++++--- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index 8100e90..a8652e1 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -22,13 +22,8 @@ pub struct Config { /// All found output structs will have its names prefixed by the kind it is for pub fn analyze(schema: JSONSchemaProps, kind: &str, cfg: Config) -> Result { let mut res = vec![]; - let upper_cased_kind: String = kind - .chars() - .take(1) - .flat_map(|c| c.to_uppercase()) - .chain(kind.chars().skip(1)) - .collect(); - analyze_(&schema, "", &upper_cased_kind, 0, &mut res, &cfg)?; + + analyze_(&schema, "", &kind.to_upper_camel_case(), 0, &mut res, &cfg)?; Ok(Output(res)) } @@ -1338,16 +1333,16 @@ type: object let structs = analyze(schema, "ArgoCDExport", Cfg::default()).unwrap().0; let root = &structs[0]; - assert_eq!(root.name, "ArgoCDExport"); + assert_eq!(root.name, "ArgoCdExport"); assert_eq!(root.level, 0); - let other = &structs[1]; - assert_eq!(other.name, "ArgoCDExportSpec"); - assert_eq!(other.level, 1); + let spec = &structs[1]; + assert_eq!(spec.name, "ArgoCdExportSpec"); + assert_eq!(spec.level, 1); - let other = &structs[2]; - assert_eq!(other.name, "ArgoCDExportStatus"); - assert_eq!(other.level, 1); + let status = &structs[2]; + assert_eq!(status.name, "ArgoCdExportStatus"); + assert_eq!(status.level, 1); } #[test] diff --git a/src/main.rs b/src/main.rs index ecf6650..ff4acf5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,6 +2,7 @@ use std::{path::PathBuf, str::FromStr}; #[macro_use] extern crate log; use anyhow::{anyhow, Context, Result}; use clap::{CommandFactory, Parser, Subcommand}; +use heck::ToUpperCamelCase; use k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::{ CustomResourceDefinition, CustomResourceDefinitionVersion, }; @@ -281,7 +282,7 @@ impl Kopium { .is_some_and(|c| c.contains_key("status"))) && self.has_status_resource(&structs) { - println!(r#"#[kube(status = "{}Status")]"#, kind); + println!(r#"#[kube(status = "{}Status")]"#, kind.to_upper_camel_case()); } if self.schema != "derived" { println!(r#"#[kube(schema = "{}")]"#, self.schema); @@ -306,7 +307,10 @@ impl Kopium { } } else { self.print_derives(s, &structs); - let spec_trimmed_name = s.name.as_str().replace(&format!("{}Spec", kind), kind); + let spec_trimmed_name = s + .name + .as_str() + .replace(&format!("{}Spec", kind.to_upper_camel_case()), kind); if s.is_enum { println!("pub enum {} {{", spec_trimmed_name); } else { @@ -322,7 +326,10 @@ impl Kopium { for annot in &m.extra_annot { println!(" {}", annot); } - let spec_trimmed_type = m.type_.as_str().replace(&format!("{}Spec", kind), kind); + let spec_trimmed_type = m + .type_ + .as_str() + .replace(&format!("{}Spec", kind.to_upper_camel_case()), kind); if s.is_enum { // NB: only supporting plain enumerations atm, not oneOf println!(" {},", name); From 1dd8ac58c8c896bc2b2f5e6abb0fad280fffab14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 06:22:53 +0200 Subject: [PATCH 05/11] use .to_upper_camel_case() in replace calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/main.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/main.rs b/src/main.rs index ff4acf5..54d9310 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ use std::{path::PathBuf, str::FromStr}; -#[macro_use] extern crate log; +#[macro_use] +extern crate log; use anyhow::{anyhow, Context, Result}; use clap::{CommandFactory, Parser, Subcommand}; use heck::ToUpperCamelCase; @@ -307,10 +308,10 @@ impl Kopium { } } else { self.print_derives(s, &structs); - let spec_trimmed_name = s - .name - .as_str() - .replace(&format!("{}Spec", kind.to_upper_camel_case()), kind); + let spec_trimmed_name = s.name.as_str().replace( + &format!("{}Spec", kind.to_upper_camel_case()), + &kind.to_upper_camel_case(), + ); if s.is_enum { println!("pub enum {} {{", spec_trimmed_name); } else { @@ -326,10 +327,10 @@ impl Kopium { for annot in &m.extra_annot { println!(" {}", annot); } - let spec_trimmed_type = m - .type_ - .as_str() - .replace(&format!("{}Spec", kind.to_upper_camel_case()), kind); + let spec_trimmed_type = m.type_.as_str().replace( + &format!("{}Spec", kind.to_upper_camel_case()), + &kind.to_upper_camel_case(), + ); if s.is_enum { // NB: only supporting plain enumerations atm, not oneOf println!(" {},", name); From 95419dfa96aaa1c476a116e8b66b7fe5fa4042df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 06:33:29 +0200 Subject: [PATCH 06/11] use .to_upper_camel_case() for container names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index a8652e1..2bc89cc 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -326,7 +326,7 @@ fn extract_container( } } Ok(Container { - name: stack.to_string(), + name: stack.to_string().to_upper_camel_case(), members, level, docs: schema.description.clone(), From 8dfa70c5d43d9e454caa8fecff3d2b7df56086f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 06:39:57 +0200 Subject: [PATCH 07/11] remove .to_upper_camel_case() in replace calls MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 2 +- src/main.rs | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index 2bc89cc..a8652e1 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -326,7 +326,7 @@ fn extract_container( } } Ok(Container { - name: stack.to_string().to_upper_camel_case(), + name: stack.to_string(), members, level, docs: schema.description.clone(), diff --git a/src/main.rs b/src/main.rs index 54d9310..ec2ea7d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -308,10 +308,7 @@ impl Kopium { } } else { self.print_derives(s, &structs); - let spec_trimmed_name = s.name.as_str().replace( - &format!("{}Spec", kind.to_upper_camel_case()), - &kind.to_upper_camel_case(), - ); + let spec_trimmed_name = s.name.as_str().replace(&format!("{}Spec", kind), kind); if s.is_enum { println!("pub enum {} {{", spec_trimmed_name); } else { @@ -327,10 +324,7 @@ impl Kopium { for annot in &m.extra_annot { println!(" {}", annot); } - let spec_trimmed_type = m.type_.as_str().replace( - &format!("{}Spec", kind.to_upper_camel_case()), - &kind.to_upper_camel_case(), - ); + let spec_trimmed_type = m.type_.as_str().replace(&format!("{}Spec", kind), kind); if s.is_enum { // NB: only supporting plain enumerations atm, not oneOf println!(" {},", name); From 99410a37e5134a9d4a08ff71bdc3fd44ed73ae36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 07:13:46 +0200 Subject: [PATCH 08/11] even more .to_upper_camel_case() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 20 +++++++++++--------- src/main.rs | 10 ++++++++-- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index a8652e1..8cd4318 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -23,7 +23,7 @@ pub struct Config { pub fn analyze(schema: JSONSchemaProps, kind: &str, cfg: Config) -> Result { let mut res = vec![]; - analyze_(&schema, "", &kind.to_upper_camel_case(), 0, &mut res, &cfg)?; + analyze_(&schema, "", kind, 0, &mut res, &cfg)?; Ok(Output(res)) } @@ -45,6 +45,8 @@ fn analyze_( let props = schema.properties.clone().unwrap_or_default(); let mut array_recurse_level: HashMap = Default::default(); + let camel_cased_stack = &stack.to_upper_camel_case(); + // create a Container if we have a container type: //trace!("analyze_ with {} + {}", current, stack); if schema.type_.clone().unwrap_or_default() == "object" { @@ -55,29 +57,29 @@ fn analyze_( // object with additionalProperties == map if let Some(extra_props) = &s.properties { // map values is an object with properties - debug!("Generating map struct for {} (under {})", current, stack); - let c = extract_container(extra_props, stack, &mut array_recurse_level, level, schema, cfg)?; + debug!("Generating map struct for {} (under {})", current, camel_cased_stack); + let c = extract_container(extra_props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)?; results.push(c); } else if dict_type == "object" { // recurse to see if we eventually find properties debug!( "Recursing into nested additional properties for {} (under {})", - current, stack + current, camel_cased_stack ); - analyze_(s, current, stack, level, results, cfg)?; + analyze_(s, current, camel_cased_stack, level, results, cfg)?; } else if !dict_type.is_empty() { warn!("not generating type {} - using {} map", current, dict_type); return Ok(()); // no members here - it'll be inlined } } else { // else, regular properties only - debug!("Generating struct for {} (under {})", current, stack); + debug!("Generating struct for {} (under {})", current, camel_cased_stack); // initial analysis of properties (we do not recurse here, we need to find members first) if props.is_empty() && schema.x_kubernetes_preserve_unknown_fields.unwrap_or(false) { warn!("not generating type {} - using map", current); return Ok(()); } - let c = extract_container(&props, stack, &mut array_recurse_level, level, schema, cfg)?; + let c = extract_container(&props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)?; results.push(c); } } @@ -91,10 +93,10 @@ fn analyze_( // again; additionalProperties XOR properties let extras = if let Some(JSONSchemaPropsOrBool::Schema(s)) = schema.additional_properties.as_ref() { let extra_props = s.properties.clone().unwrap_or_default(); - find_containers(&extra_props, stack, &mut array_recurse_level, level, schema, cfg)? + find_containers(&extra_props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)? } else { // regular properties only - find_containers(&props, stack, &mut array_recurse_level, level, schema, cfg)? + find_containers(&props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)? }; results.extend(extras); diff --git a/src/main.rs b/src/main.rs index ec2ea7d..54d9310 100644 --- a/src/main.rs +++ b/src/main.rs @@ -308,7 +308,10 @@ impl Kopium { } } else { self.print_derives(s, &structs); - let spec_trimmed_name = s.name.as_str().replace(&format!("{}Spec", kind), kind); + let spec_trimmed_name = s.name.as_str().replace( + &format!("{}Spec", kind.to_upper_camel_case()), + &kind.to_upper_camel_case(), + ); if s.is_enum { println!("pub enum {} {{", spec_trimmed_name); } else { @@ -324,7 +327,10 @@ impl Kopium { for annot in &m.extra_annot { println!(" {}", annot); } - let spec_trimmed_type = m.type_.as_str().replace(&format!("{}Spec", kind), kind); + let spec_trimmed_type = m.type_.as_str().replace( + &format!("{}Spec", kind.to_upper_camel_case()), + &kind.to_upper_camel_case(), + ); if s.is_enum { // NB: only supporting plain enumerations atm, not oneOf println!(" {},", name); From 67aea542561bf75d98228f39b67567add31a4ea8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 18:12:28 +0200 Subject: [PATCH 09/11] re-generate outputs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- tests/cmd/generate/from-file-with-auto.md | 176 +++++++++--------- .../generate/from-file-with-derive-default.md | 176 +++++++++--------- .../from-file-with-derive-partialeq.md | 176 +++++++++--------- tests/cmd/generate/from-file-with-docs.md | 176 +++++++++--------- .../from-file-with-smart-derive-elision.md | 176 +++++++++--------- tests/cmd/generate/from-file.md | 176 +++++++++--------- 6 files changed, 528 insertions(+), 528 deletions(-) diff --git a/tests/cmd/generate/from-file-with-auto.md b/tests/cmd/generate/from-file-with-auto.md index 8490311..72db06c 100644 --- a/tests/cmd/generate/from-file-with-auto.md +++ b/tests/cmd/generate/from-file-with-auto.md @@ -20,7 +20,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] pub struct ApiSpec { /// An API key selection expression. Supported only for WebSocket APIs. See API /// Key Selection Expressions ( @@ -39,7 +39,7 @@ pub struct ApiSpec { /// ( /// for more information. #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, /// This property is part of quick create. It specifies the credentials required /// for the integration, if any. For a Lambda integration, three options are /// available. To specify an IAM Role for API Gateway to assume, use the role's @@ -103,7 +103,7 @@ pub struct ApiSpec { /// ( /// for more information. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, /// Represents a collection of allowed headers. Supported only for HTTP APIs. @@ -209,7 +209,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, JsonSchema)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] pub struct ArgoCdExportSpec { /// Argocd is the name of the ArgoCD instance to export. pub argocd: String, @@ -221,7 +221,7 @@ pub struct ArgoCdExportSpec { pub schedule: Option, /// Storage defines the storage configuration options. #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, /// Version is the tag/digest to use for the export Job container image. #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -229,13 +229,13 @@ pub struct ArgoCdExportSpec { /// Storage defines the storage configuration options. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { /// Backend defines the storage backend to use, must be "local" (the default), "aws", "azure" or "gcp". #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, /// PVC is the desired characteristics for a PersistentVolumeClaim. #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, /// SecretName is the name of a Secret with encryption key, credentials, etc. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, @@ -243,7 +243,7 @@ pub struct ArgoCdExportSpecStorage { /// PVC is the desired characteristics for a PersistentVolumeClaim. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { /// accessModes contains the desired access modes the volume should have. /// More info: #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -257,7 +257,7 @@ pub struct ArgoCdExportSpecStoragePvc { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty /// volume is desired. This may be any object from a non-empty API group (non /// core object) or a PersistentVolumeClaim object. @@ -282,17 +282,17 @@ pub struct ArgoCdExportSpecStoragePvc { /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, /// resources represents the minimum resources the volume should have. /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements /// that are lower than previous value but must still be higher than capacity recorded in the /// status field of the claim. /// More info: #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, /// storageClassName is the name of the StorageClass required by the claim. /// More info: #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -329,7 +329,7 @@ pub struct ArgoCdExportSpecStoragePvc { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -365,7 +365,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -388,7 +388,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { /// status field of the claim. /// More info: #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: #[serde(default, skip_serializing_if = "Option::is_none")] @@ -403,10 +403,10 @@ pub struct ArgoCdExportSpecStoragePvcResources { /// selector is a label query over volumes to consider for binding. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -417,7 +417,7 @@ pub struct ArgoCdExportSpecStoragePvcSelector { /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -655,13 +655,13 @@ use self::prelude::*; #[kube(namespaced)] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -698,11 +698,11 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] @@ -710,16 +710,16 @@ pub struct PostgresqlSpec { /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -733,15 +733,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, @@ -753,11 +753,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -772,7 +772,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -791,17 +791,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -809,7 +809,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -817,15 +817,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -833,7 +833,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -841,29 +841,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -871,7 +871,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -879,21 +879,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -901,7 +901,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -909,7 +909,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -935,14 +935,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -956,19 +956,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -976,15 +976,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -996,7 +996,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -1008,7 +1008,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1020,7 +1020,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -1034,11 +1034,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -1052,7 +1052,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -1066,13 +1066,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1080,26 +1080,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -1110,23 +1110,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, JsonSchema)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, diff --git a/tests/cmd/generate/from-file-with-derive-default.md b/tests/cmd/generate/from-file-with-derive-default.md index 29535d0..dc39464 100644 --- a/tests/cmd/generate/from-file-with-derive-default.md +++ b/tests/cmd/generate/from-file-with-derive-default.md @@ -16,7 +16,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] #[kube(schema = "disabled")] #[kube(derive="Default")] pub struct ApiSpec { @@ -27,7 +27,7 @@ pub struct ApiSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsARN")] pub credentials_arn: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -55,7 +55,7 @@ pub struct ApiSpec { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowHeaders")] @@ -120,7 +120,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, Default)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] #[kube(schema = "disabled")] #[kube(derive="Default")] pub struct ArgoCdExportSpec { @@ -130,33 +130,33 @@ pub struct ArgoCdExportSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub schedule: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] @@ -168,7 +168,7 @@ pub struct ArgoCdExportSpecStoragePvc { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -176,7 +176,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -186,7 +186,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -194,15 +194,15 @@ pub struct ArgoCdExportSpecStoragePvcResources { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -328,13 +328,13 @@ use self::prelude::*; #[kube(derive="Default")] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -370,26 +370,26 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] pub pod_priority_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -403,15 +403,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -422,11 +422,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -441,7 +441,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -460,17 +460,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -478,7 +478,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -486,15 +486,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -502,7 +502,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -510,29 +510,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -540,7 +540,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -548,21 +548,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -570,7 +570,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -578,7 +578,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -604,14 +604,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -625,19 +625,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -645,15 +645,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -665,7 +665,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -677,7 +677,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -689,7 +689,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -703,11 +703,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -721,7 +721,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -735,13 +735,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -749,26 +749,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -779,23 +779,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, Default)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, diff --git a/tests/cmd/generate/from-file-with-derive-partialeq.md b/tests/cmd/generate/from-file-with-derive-partialeq.md index 0b05ea4..dfd7be5 100644 --- a/tests/cmd/generate/from-file-with-derive-partialeq.md +++ b/tests/cmd/generate/from-file-with-derive-partialeq.md @@ -16,7 +16,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] #[kube(schema = "disabled")] #[kube(derive="PartialEq")] pub struct ApiSpec { @@ -27,7 +27,7 @@ pub struct ApiSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsARN")] pub credentials_arn: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -55,7 +55,7 @@ pub struct ApiSpec { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowHeaders")] @@ -120,7 +120,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] #[kube(schema = "disabled")] #[kube(derive="PartialEq")] pub struct ArgoCdExportSpec { @@ -130,33 +130,33 @@ pub struct ArgoCdExportSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub schedule: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] @@ -168,7 +168,7 @@ pub struct ArgoCdExportSpecStoragePvc { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -176,7 +176,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -186,7 +186,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -194,15 +194,15 @@ pub struct ArgoCdExportSpecStoragePvcResources { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -328,13 +328,13 @@ use self::prelude::*; #[kube(derive="PartialEq")] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -370,26 +370,26 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] pub pod_priority_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -403,15 +403,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -422,11 +422,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -441,7 +441,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -460,17 +460,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -478,7 +478,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -486,15 +486,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -502,7 +502,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -510,29 +510,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -540,7 +540,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -548,21 +548,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -570,7 +570,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -578,7 +578,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -604,14 +604,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -625,19 +625,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -645,15 +645,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -665,7 +665,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -677,7 +677,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -689,7 +689,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -703,11 +703,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -721,7 +721,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -735,13 +735,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -749,26 +749,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -779,23 +779,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, diff --git a/tests/cmd/generate/from-file-with-docs.md b/tests/cmd/generate/from-file-with-docs.md index b1c8c28..04c07a6 100644 --- a/tests/cmd/generate/from-file-with-docs.md +++ b/tests/cmd/generate/from-file-with-docs.md @@ -19,7 +19,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] #[kube(schema = "disabled")] pub struct ApiSpec { /// An API key selection expression. Supported only for WebSocket APIs. See API @@ -39,7 +39,7 @@ pub struct ApiSpec { /// ( /// for more information. #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, /// This property is part of quick create. It specifies the credentials required /// for the integration, if any. For a Lambda integration, three options are /// available. To specify an IAM Role for API Gateway to assume, use the role's @@ -103,7 +103,7 @@ pub struct ApiSpec { /// ( /// for more information. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, /// Represents a collection of allowed headers. Supported only for HTTP APIs. @@ -208,7 +208,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] #[kube(schema = "disabled")] pub struct ArgoCdExportSpec { /// Argocd is the name of the ArgoCD instance to export. @@ -221,7 +221,7 @@ pub struct ArgoCdExportSpec { pub schedule: Option, /// Storage defines the storage configuration options. #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, /// Version is the tag/digest to use for the export Job container image. #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, @@ -229,13 +229,13 @@ pub struct ArgoCdExportSpec { /// Storage defines the storage configuration options. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { /// Backend defines the storage backend to use, must be "local" (the default), "aws", "azure" or "gcp". #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, /// PVC is the desired characteristics for a PersistentVolumeClaim. #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, /// SecretName is the name of a Secret with encryption key, credentials, etc. #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, @@ -243,7 +243,7 @@ pub struct ArgoCdExportSpecStorage { /// PVC is the desired characteristics for a PersistentVolumeClaim. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { /// accessModes contains the desired access modes the volume should have. /// More info: #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] @@ -257,7 +257,7 @@ pub struct ArgoCdExportSpecStoragePvc { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, /// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty /// volume is desired. This may be any object from a non-empty API group (non /// core object) or a PersistentVolumeClaim object. @@ -282,17 +282,17 @@ pub struct ArgoCdExportSpecStoragePvc { /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, /// resources represents the minimum resources the volume should have. /// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements /// that are lower than previous value but must still be higher than capacity recorded in the /// status field of the claim. /// More info: #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, /// selector is a label query over volumes to consider for binding. #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, /// storageClassName is the name of the StorageClass required by the claim. /// More info: #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] @@ -329,7 +329,7 @@ pub struct ArgoCdExportSpecStoragePvc { /// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. /// If the namespace is specified, then dataSourceRef will not be copied to dataSource. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -365,7 +365,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { /// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. /// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { /// APIGroup is the group for the resource being referenced. /// If APIGroup is not specified, the specified Kind must be in the core API group. /// For any other third-party types, APIGroup is required. @@ -388,7 +388,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { /// status field of the claim. /// More info: #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { /// Limits describes the maximum amount of compute resources allowed. /// More info: #[serde(default, skip_serializing_if = "Option::is_none")] @@ -403,10 +403,10 @@ pub struct ArgoCdExportSpecStoragePvcResources { /// selector is a label query over volumes to consider for binding. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { /// matchExpressions is a list of label selector requirements. The requirements are ANDed. #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, /// matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels /// map is equivalent to an element of matchExpressions, whose key field is "key", the /// operator is "In", and the values array contains only "value". The requirements are ANDed. @@ -417,7 +417,7 @@ pub struct ArgoCdExportSpecStoragePvcSelector { /// A label selector requirement is a selector that contains values, a key, and an operator that /// relates the key and values. #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { /// key is the label key that the selector applies to. pub key: String, /// operator represents a key's relationship to a set of values. @@ -655,13 +655,13 @@ use self::prelude::*; #[kube(schema = "disabled")] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -698,11 +698,11 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] @@ -710,16 +710,16 @@ pub struct PostgresqlSpec { /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -733,15 +733,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, /// deprecated #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, @@ -753,11 +753,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -772,7 +772,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -791,17 +791,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -809,7 +809,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -817,15 +817,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -833,7 +833,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -841,29 +841,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -871,7 +871,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -879,21 +879,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -901,7 +901,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -909,7 +909,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -935,14 +935,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -956,19 +956,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -976,15 +976,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -996,7 +996,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -1008,7 +1008,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1020,7 +1020,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -1034,11 +1034,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -1052,7 +1052,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -1066,13 +1066,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1080,26 +1080,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -1110,23 +1110,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, diff --git a/tests/cmd/generate/from-file-with-smart-derive-elision.md b/tests/cmd/generate/from-file-with-smart-derive-elision.md index 19dc7d5..98fb42b 100644 --- a/tests/cmd/generate/from-file-with-smart-derive-elision.md +++ b/tests/cmd/generate/from-file-with-smart-derive-elision.md @@ -16,7 +16,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq, Default)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] #[kube(schema = "disabled")] #[kube(derive="PartialEq")] #[kube(derive="Default")] @@ -28,7 +28,7 @@ pub struct ApiSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsARN")] pub credentials_arn: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -56,7 +56,7 @@ pub struct ApiSpec { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowHeaders")] @@ -121,7 +121,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug, PartialEq, Default)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] #[kube(schema = "disabled")] #[kube(derive="PartialEq")] #[kube(derive="Default")] @@ -132,33 +132,33 @@ pub struct ArgoCdExportSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub schedule: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] @@ -170,7 +170,7 @@ pub struct ArgoCdExportSpecStoragePvc { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -178,7 +178,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -188,7 +188,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -196,15 +196,15 @@ pub struct ArgoCdExportSpecStoragePvcResources { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -331,13 +331,13 @@ use self::prelude::*; #[kube(derive="PartialEq")] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -373,26 +373,26 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] pub pod_priority_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -406,15 +406,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -425,11 +425,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -444,7 +444,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -463,17 +463,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -481,7 +481,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -489,15 +489,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -505,7 +505,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -513,29 +513,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -543,7 +543,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -551,21 +551,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -573,7 +573,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -581,7 +581,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -607,14 +607,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -628,19 +628,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -648,15 +648,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -668,7 +668,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -680,7 +680,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -692,7 +692,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -706,11 +706,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -724,7 +724,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -738,13 +738,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -752,26 +752,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -782,23 +782,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug, PartialEq)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, diff --git a/tests/cmd/generate/from-file.md b/tests/cmd/generate/from-file.md index 93f737d..46513da 100644 --- a/tests/cmd/generate/from-file.md +++ b/tests/cmd/generate/from-file.md @@ -16,7 +16,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug)] #[kube(group = "apigatewayv2.services.k8s.aws", version = "v1alpha1", kind = "API", plural = "apis")] #[kube(namespaced)] -#[kube(status = "APIStatus")] +#[kube(status = "ApiStatus")] #[kube(schema = "disabled")] pub struct ApiSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiKeySelectionExpression")] @@ -26,7 +26,7 @@ pub struct ApiSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub body: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "corsConfiguration")] - pub cors_configuration: Option, + pub cors_configuration: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "credentialsARN")] pub credentials_arn: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -54,7 +54,7 @@ pub struct ApiSpec { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ApiSpecCorsConfiguration { +pub struct ApiCorsConfiguration { #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowCredentials")] pub allow_credentials: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowHeaders")] @@ -119,7 +119,7 @@ use self::prelude::*; #[derive(CustomResource, Serialize, Deserialize, Clone, Debug)] #[kube(group = "argoproj.io", version = "v1alpha1", kind = "ArgoCDExport", plural = "argocdexports")] #[kube(namespaced)] -#[kube(status = "ArgoCDExportStatus")] +#[kube(status = "ArgoCdExportStatus")] #[kube(schema = "disabled")] pub struct ArgoCdExportSpec { pub argocd: String, @@ -128,33 +128,33 @@ pub struct ArgoCdExportSpec { #[serde(default, skip_serializing_if = "Option::is_none")] pub schedule: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub storage: Option, + pub storage: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub version: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStorage { +pub struct ArgoCdExportStorage { #[serde(default, skip_serializing_if = "Option::is_none")] pub backend: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub pvc: Option, + pub pvc: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretName")] pub secret_name: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvc { +pub struct ArgoCdExportStoragePvc { #[serde(default, skip_serializing_if = "Option::is_none", rename = "accessModes")] pub access_modes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSource")] - pub data_source: Option, + pub data_source: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dataSourceRef")] - pub data_source_ref: Option, + pub data_source_ref: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClassName")] pub storage_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "volumeAttributesClassName")] @@ -166,7 +166,7 @@ pub struct ArgoCdExportSpecStoragePvc { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcDataSource { +pub struct ArgoCdExportStoragePvcDataSource { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -174,7 +174,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSource { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcDataSourceRef { +pub struct ArgoCdExportStoragePvcDataSourceRef { #[serde(default, skip_serializing_if = "Option::is_none", rename = "apiGroup")] pub api_group: Option, pub kind: String, @@ -184,7 +184,7 @@ pub struct ArgoCdExportSpecStoragePvcDataSourceRef { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcResources { +pub struct ArgoCdExportStoragePvcResources { #[serde(default, skip_serializing_if = "Option::is_none")] pub limits: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -192,15 +192,15 @@ pub struct ArgoCdExportSpecStoragePvcResources { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcSelector { +pub struct ArgoCdExportStoragePvcSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct ArgoCdExportSpecStoragePvcSelectorMatchExpressions { +pub struct ArgoCdExportStoragePvcSelectorMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -324,13 +324,13 @@ use self::prelude::*; #[kube(schema = "disabled")] pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "additionalVolumes")] - pub additional_volumes: Option>, + pub additional_volumes: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "allowedSourceRanges")] pub allowed_source_ranges: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub clone: Option, + pub clone: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "connectionPooler")] - pub connection_pooler: Option, + pub connection_pooler: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] @@ -366,26 +366,26 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "masterServiceAnnotations")] pub master_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "nodeAffinity")] - pub node_affinity: Option, + pub node_affinity: Option, #[serde(rename = "numberOfInstances")] pub number_of_instances: i64, #[serde(default, skip_serializing_if = "Option::is_none")] - pub patroni: Option, + pub patroni: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podAnnotations")] pub pod_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "podPriorityClassName")] pub pod_priority_class_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "pod_priority_class_name")] pub pod_priority_class_name_x: Option, - pub postgresql: PostgresqlSpecPostgresql, + pub postgresql: PostgresqlPostgresql, #[serde(default, skip_serializing_if = "Option::is_none", rename = "preparedDatabases")] - pub prepared_databases: Option>, + pub prepared_databases: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaLoadBalancer")] pub replica_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "replicaServiceAnnotations")] pub replica_service_annotations: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "schedulerName")] pub scheduler_name: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "serviceAnnotations")] @@ -399,15 +399,15 @@ pub struct PostgresqlSpec { #[serde(default, skip_serializing_if = "Option::is_none", rename = "spiloRunAsUser")] pub spilo_run_as_user: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub standby: Option, + pub standby: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub streams: Option>, + pub streams: Option>, #[serde(rename = "teamId")] pub team_id: String, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tls: Option, + pub tls: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub tolerations: Option>, + pub tolerations: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "useLoadBalancer")] pub use_load_balancer: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -418,11 +418,11 @@ pub struct PostgresqlSpec { pub users_with_in_place_secret_rotation: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "usersWithSecretRotation")] pub users_with_secret_rotation: Option>, - pub volume: PostgresqlSpecVolume, + pub volume: PostgresqlVolume, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecAdditionalVolumes { +pub struct PostgresqlAdditionalVolumes { #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(rename = "mountPath")] @@ -437,7 +437,7 @@ pub struct PostgresqlSpecAdditionalVolumes { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecClone { +pub struct PostgresqlClone { pub cluster: String, #[serde(default, skip_serializing_if = "Option::is_none")] pub s3_access_key_id: Option, @@ -456,17 +456,17 @@ pub struct PostgresqlSpecClone { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPooler { +pub struct PostgresqlConnectionPooler { #[serde(default, skip_serializing_if = "Option::is_none", rename = "dockerImage")] pub docker_image: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "maxDBConnections")] pub max_db_connections: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub mode: Option, + pub mode: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "numberOfInstances")] pub number_of_instances: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub resources: Option, + pub resources: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub schema: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -474,7 +474,7 @@ pub struct PostgresqlSpecConnectionPooler { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecConnectionPoolerMode { +pub enum PostgresqlConnectionPoolerMode { #[serde(rename = "session")] Session, #[serde(rename = "transaction")] @@ -482,15 +482,15 @@ pub enum PostgresqlSpecConnectionPoolerMode { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResources { +pub struct PostgresqlConnectionPoolerResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResourcesLimits { +pub struct PostgresqlConnectionPoolerResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -498,7 +498,7 @@ pub struct PostgresqlSpecConnectionPoolerResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecConnectionPoolerResourcesRequests { +pub struct PostgresqlConnectionPoolerResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -506,29 +506,29 @@ pub struct PostgresqlSpecConnectionPoolerResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinity { +pub struct PostgresqlNodeAffinity { #[serde(default, skip_serializing_if = "Option::is_none", rename = "preferredDuringSchedulingIgnoredDuringExecution")] - pub preferred_during_scheduling_ignored_during_execution: Option>, + pub preferred_during_scheduling_ignored_during_execution: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "requiredDuringSchedulingIgnoredDuringExecution")] - pub required_during_scheduling_ignored_during_execution: Option, + pub required_during_scheduling_ignored_during_execution: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { - pub preference: PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecution { + pub preference: PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference, pub weight: i32, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreference { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -536,7 +536,7 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { +pub struct PostgresqlNodeAffinityPreferredDuringSchedulingIgnoredDuringExecutionPreferenceMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -544,21 +544,21 @@ pub struct PostgresqlSpecNodeAffinityPreferredDuringSchedulingIgnoredDuringExecu } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecution { #[serde(rename = "nodeSelectorTerms")] - pub node_selector_terms: Vec, + pub node_selector_terms: Vec, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTerms { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchFields")] - pub match_fields: Option>, + pub match_fields: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchExpressions { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -566,7 +566,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { +pub struct PostgresqlNodeAffinityRequiredDuringSchedulingIgnoredDuringExecutionNodeSelectorTermsMatchFields { pub key: String, pub operator: String, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -574,7 +574,7 @@ pub struct PostgresqlSpecNodeAffinityRequiredDuringSchedulingIgnoredDuringExecut } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPatroni { +pub struct PostgresqlPatroni { #[serde(default, skip_serializing_if = "Option::is_none")] pub failsafe_mode: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -600,14 +600,14 @@ pub struct PostgresqlSpecPatroni { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPostgresql { +pub struct PostgresqlPostgresql { #[serde(default, skip_serializing_if = "Option::is_none")] pub parameters: Option>, - pub version: PostgresqlSpecPostgresqlVersion, + pub version: PostgresqlPostgresqlVersion, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecPostgresqlVersion { +pub enum PostgresqlPostgresqlVersion { #[serde(rename = "13")] r#_13, #[serde(rename = "14")] @@ -621,19 +621,19 @@ pub enum PostgresqlSpecPostgresqlVersion { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPreparedDatabases { +pub struct PostgresqlPreparedDatabases { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] pub default_users: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub extensions: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] - pub schemas: Option>, + pub schemas: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "secretNamespace")] pub secret_namespace: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecPreparedDatabasesSchemas { +pub struct PostgresqlPreparedDatabasesSchemas { #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultRoles")] pub default_roles: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "defaultUsers")] @@ -641,15 +641,15 @@ pub struct PostgresqlSpecPreparedDatabasesSchemas { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResources { +pub struct PostgresqlResources { #[serde(default, skip_serializing_if = "Option::is_none")] - pub limits: Option, + pub limits: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub requests: Option, + pub requests: Option, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResourcesLimits { +pub struct PostgresqlResourcesLimits { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -661,7 +661,7 @@ pub struct PostgresqlSpecResourcesLimits { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecResourcesRequests { +pub struct PostgresqlResourcesRequests { #[serde(default, skip_serializing_if = "Option::is_none")] pub cpu: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "hugepages-1Gi")] @@ -673,7 +673,7 @@ pub struct PostgresqlSpecResourcesRequests { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStandby { +pub struct PostgresqlStandby { #[serde(default, skip_serializing_if = "Option::is_none")] pub gs_wal_path: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -685,7 +685,7 @@ pub struct PostgresqlSpecStandby { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStreams { +pub struct PostgresqlStreams { #[serde(rename = "applicationId")] pub application_id: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "batchSize")] @@ -699,11 +699,11 @@ pub struct PostgresqlSpecStreams { pub filter: Option>, #[serde(default, skip_serializing_if = "Option::is_none")] pub memory: Option, - pub tables: BTreeMap, + pub tables: BTreeMap, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecStreamsTables { +pub struct PostgresqlStreamsTables { #[serde(default, skip_serializing_if = "Option::is_none", rename = "eventType")] pub event_type: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "idColumn")] @@ -717,7 +717,7 @@ pub struct PostgresqlSpecStreamsTables { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecTls { +pub struct PostgresqlTls { #[serde(default, skip_serializing_if = "Option::is_none", rename = "caFile")] pub ca_file: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "caSecretName")] @@ -731,13 +731,13 @@ pub struct PostgresqlSpecTls { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecTolerations { +pub struct PostgresqlTolerations { #[serde(default, skip_serializing_if = "Option::is_none")] - pub effect: Option, + pub effect: Option, #[serde(default, skip_serializing_if = "Option::is_none")] pub key: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub operator: Option, + pub operator: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "tolerationSeconds")] pub toleration_seconds: Option, #[serde(default, skip_serializing_if = "Option::is_none")] @@ -745,26 +745,26 @@ pub struct PostgresqlSpecTolerations { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsEffect { +pub enum PostgresqlTolerationsEffect { NoExecute, NoSchedule, PreferNoSchedule, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecTolerationsOperator { +pub enum PostgresqlTolerationsOperator { Equal, Exists, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolume { +pub struct PostgresqlVolume { #[serde(default, skip_serializing_if = "Option::is_none")] pub iops: Option, #[serde(default, skip_serializing_if = "Option::is_none", rename = "isSubPathExpr")] pub is_sub_path_expr: Option, #[serde(default, skip_serializing_if = "Option::is_none")] - pub selector: Option, + pub selector: Option, pub size: String, #[serde(default, skip_serializing_if = "Option::is_none", rename = "storageClass")] pub storage_class: Option, @@ -775,23 +775,23 @@ pub struct PostgresqlSpecVolume { } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolumeSelector { +pub struct PostgresqlVolumeSelector { #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchExpressions")] - pub match_expressions: Option>, + pub match_expressions: Option>, #[serde(default, skip_serializing_if = "Option::is_none", rename = "matchLabels")] pub match_labels: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub struct PostgresqlSpecVolumeSelectorMatchExpressions { +pub struct PostgresqlVolumeSelectorMatchExpressions { pub key: String, - pub operator: PostgresqlSpecVolumeSelectorMatchExpressionsOperator, + pub operator: PostgresqlVolumeSelectorMatchExpressionsOperator, #[serde(default, skip_serializing_if = "Option::is_none")] pub values: Option>, } #[derive(Serialize, Deserialize, Clone, Debug)] -pub enum PostgresqlSpecVolumeSelectorMatchExpressionsOperator { +pub enum PostgresqlVolumeSelectorMatchExpressionsOperator { DoesNotExist, Exists, In, From 0eda2c56f7fac2d0dc2d8a12b24a4bdd0c18bd3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 18:15:23 +0200 Subject: [PATCH 10/11] reformat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/main.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 54d9310..7799727 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,5 @@ use std::{path::PathBuf, str::FromStr}; -#[macro_use] -extern crate log; +#[macro_use] extern crate log; use anyhow::{anyhow, Context, Result}; use clap::{CommandFactory, Parser, Subcommand}; use heck::ToUpperCamelCase; From 976fc3fdc679c0c9cca9a7ec81629cdd4c292b0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Ho=C3=9F?= Date: Wed, 17 Sep 2025 18:16:33 +0200 Subject: [PATCH 11/11] actually reformat w/ rustfmt and not IntelliJ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Sebastian Hoß --- src/analyzer.rs | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/src/analyzer.rs b/src/analyzer.rs index 8cd4318..a17f5ed 100644 --- a/src/analyzer.rs +++ b/src/analyzer.rs @@ -57,8 +57,18 @@ fn analyze_( // object with additionalProperties == map if let Some(extra_props) = &s.properties { // map values is an object with properties - debug!("Generating map struct for {} (under {})", current, camel_cased_stack); - let c = extract_container(extra_props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)?; + debug!( + "Generating map struct for {} (under {})", + current, camel_cased_stack + ); + let c = extract_container( + extra_props, + camel_cased_stack, + &mut array_recurse_level, + level, + schema, + cfg, + )?; results.push(c); } else if dict_type == "object" { // recurse to see if we eventually find properties @@ -79,7 +89,14 @@ fn analyze_( warn!("not generating type {} - using map", current); return Ok(()); } - let c = extract_container(&props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)?; + let c = extract_container( + &props, + camel_cased_stack, + &mut array_recurse_level, + level, + schema, + cfg, + )?; results.push(c); } } @@ -93,10 +110,24 @@ fn analyze_( // again; additionalProperties XOR properties let extras = if let Some(JSONSchemaPropsOrBool::Schema(s)) = schema.additional_properties.as_ref() { let extra_props = s.properties.clone().unwrap_or_default(); - find_containers(&extra_props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)? + find_containers( + &extra_props, + camel_cased_stack, + &mut array_recurse_level, + level, + schema, + cfg, + )? } else { // regular properties only - find_containers(&props, camel_cased_stack, &mut array_recurse_level, level, schema, cfg)? + find_containers( + &props, + camel_cased_stack, + &mut array_recurse_level, + level, + schema, + cfg, + )? }; results.extend(extras);