@@ -54,7 +54,7 @@ impl Container {
5454 pub ( crate ) fn generate_kubernetes_item (
5555 & self ,
5656 version : & VersionDefinition ,
57- ) -> Option < ( IdentString , TokenStream ) > {
57+ ) -> Option < ( IdentString , String , TokenStream ) > {
5858 match self {
5959 Container :: Struct ( s) => s. generate_kubernetes_item ( version) ,
6060 Container :: Enum ( _) => None ,
@@ -63,14 +63,18 @@ impl Container {
6363
6464 pub ( crate ) fn generate_kubernetes_merge_crds (
6565 & self ,
66- enum_variants : Vec < IdentString > ,
66+ enum_variant_idents : Vec < IdentString > ,
67+ enum_variant_strings : Vec < String > ,
6768 fn_calls : Vec < TokenStream > ,
6869 is_nested : bool ,
6970 ) -> Option < TokenStream > {
7071 match self {
71- Container :: Struct ( s) => {
72- s. generate_kubernetes_merge_crds ( enum_variants, fn_calls, is_nested)
73- }
72+ Container :: Struct ( s) => s. generate_kubernetes_merge_crds (
73+ enum_variant_idents,
74+ enum_variant_strings,
75+ fn_calls,
76+ is_nested,
77+ ) ,
7478 Container :: Enum ( _) => None ,
7579 }
7680 }
@@ -122,7 +126,8 @@ impl StandaloneContainer {
122126 let mut tokens = TokenStream :: new ( ) ;
123127
124128 let mut kubernetes_merge_crds_fn_calls = Vec :: new ( ) ;
125- let mut kubernetes_enum_variants = Vec :: new ( ) ;
129+ let mut kubernetes_enum_variant_idents = Vec :: new ( ) ;
130+ let mut kubernetes_enum_variant_strings = Vec :: new ( ) ;
126131
127132 let mut versions = self . versions . iter ( ) . peekable ( ) ;
128133
@@ -143,10 +148,12 @@ impl StandaloneContainer {
143148
144149 // Generate Kubernetes specific code which is placed outside of the container
145150 // definition.
146- if let Some ( ( enum_variant, fn_call) ) = self . container . generate_kubernetes_item ( version)
151+ if let Some ( ( enum_variant_ident, enum_variant_string, fn_call) ) =
152+ self . container . generate_kubernetes_item ( version)
147153 {
148154 kubernetes_merge_crds_fn_calls. push ( fn_call) ;
149- kubernetes_enum_variants. push ( enum_variant) ;
155+ kubernetes_enum_variant_idents. push ( enum_variant_ident) ;
156+ kubernetes_enum_variant_strings. push ( enum_variant_string) ;
150157 }
151158
152159 let version_ident = & version. ident ;
@@ -164,7 +171,8 @@ impl StandaloneContainer {
164171 }
165172
166173 tokens. extend ( self . container . generate_kubernetes_merge_crds (
167- kubernetes_enum_variants,
174+ kubernetes_enum_variant_idents,
175+ kubernetes_enum_variant_strings,
168176 kubernetes_merge_crds_fn_calls,
169177 false ,
170178 ) ) ;
0 commit comments