@@ -58,7 +58,9 @@ func (src *AzureCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
5858 // set default control plane outbound lb for private v1alpha3 clusters
5959 if src .Spec .NetworkSpec .APIServerLB .Type == Internal && restored .Spec .NetworkSpec .ControlPlaneOutboundLB == nil {
6060 dst .Spec .NetworkSpec .ControlPlaneOutboundLB = & infrav1beta1.LoadBalancerSpec {
61- FrontendIPsCount : pointer .Int32Ptr (1 ),
61+ LoadBalancerClassSpec : infrav1beta1.LoadBalancerClassSpec {
62+ FrontendIPsCount : pointer .Int32Ptr (1 ),
63+ },
6264 }
6365 } else {
6466 dst .Spec .NetworkSpec .ControlPlaneOutboundLB = restored .Spec .NetworkSpec .ControlPlaneOutboundLB
@@ -67,7 +69,9 @@ func (src *AzureCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
6769 // set default node plane outbound lb for all v1alpha3 clusters
6870 if restored .Spec .NetworkSpec .NodeOutboundLB == nil {
6971 dst .Spec .NetworkSpec .NodeOutboundLB = & infrav1beta1.LoadBalancerSpec {
70- FrontendIPsCount : pointer .Int32Ptr (1 ),
72+ LoadBalancerClassSpec : infrav1beta1.LoadBalancerClassSpec {
73+ FrontendIPsCount : pointer .Int32Ptr (1 ),
74+ },
7175 }
7276 } else {
7377 dst .Spec .NetworkSpec .NodeOutboundLB = restored .Spec .NetworkSpec .NodeOutboundLB
@@ -115,6 +119,7 @@ func (dst *AzureCluster) ConvertFrom(srcRaw conversion.Hub) error { // nolint
115119 }
116120 dst .Annotations [azureEnvironmentAnnotation ] = src .Spec .AzureEnvironment
117121 }
122+
118123 // Preserve Hub data on down-conversion.
119124 if err := utilconversion .MarshalData (src , dst ); err != nil {
120125 return err
@@ -150,6 +155,12 @@ func Convert_v1alpha3_AzureClusterSpec_To_v1beta1_AzureClusterSpec(in *AzureClus
150155 return err
151156 }
152157
158+ // copy AzureClusterClassSpec fields
159+ out .SubscriptionID = in .SubscriptionID
160+ out .Location = in .Location
161+ out .AdditionalTags = * (* infrav1beta1 .Tags )(& in .AdditionalTags )
162+ out .IdentityRef = in .IdentityRef
163+
153164 return nil
154165}
155166
@@ -159,6 +170,12 @@ func Convert_v1beta1_AzureClusterSpec_To_v1alpha3_AzureClusterSpec(in *infrav1be
159170 return err
160171 }
161172
173+ // copy AzureClusterClassSpec fields
174+ out .SubscriptionID = in .SubscriptionID
175+ out .Location = in .Location
176+ out .AdditionalTags = Tags (* & in .AdditionalTags )
177+ out .IdentityRef = in .IdentityRef
178+
162179 return nil
163180}
164181
@@ -185,7 +202,7 @@ func Convert_v1alpha3_NetworkSpec_To_v1beta1_NetworkSpec(in *NetworkSpec, out *i
185202 }
186203 }
187204
188- if err := autoConvert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec (& in .APIServerLB , & out .APIServerLB , s ); err != nil {
205+ if err := Convert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec (& in .APIServerLB , & out .APIServerLB , s ); err != nil {
189206 return err
190207 }
191208 return nil
@@ -205,25 +222,49 @@ func Convert_v1beta1_NetworkSpec_To_v1alpha3_NetworkSpec(in *infrav1beta1.Networ
205222 }
206223 }
207224
208- if err := autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec (& in .APIServerLB , & out .APIServerLB , s ); err != nil {
225+ if err := Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec (& in .APIServerLB , & out .APIServerLB , s ); err != nil {
209226 return err
210227 }
211228 return nil
212229}
213230
214231// Convert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec.
215232func Convert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec (in * infrav1beta1.VnetSpec , out * VnetSpec , s apiconversion.Scope ) error { //nolint
216- return autoConvert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec (in , out , s )
233+ if err := autoConvert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec (in , out , s ); err != nil {
234+ return err
235+ }
236+
237+ // copy VnetClassSpec fields
238+ out .CIDRBlocks = * (& in .CIDRBlocks )
239+ out .Tags = Tags (* & in .Tags )
240+
241+ return nil
217242}
218243
219244// Convert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec.
220245func Convert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec (in * SubnetSpec , out * infrav1beta1.SubnetSpec , s apiconversion.Scope ) error { //nolint
221- return autoConvert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec (in , out , s )
246+ if err := autoConvert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec (in , out , s ); err != nil {
247+ return err
248+ }
249+
250+ // Convert SubnetClassSpec fields
251+ out .Role = infrav1beta1 .SubnetRole (in .Role )
252+ out .CIDRBlocks = * (& in .CIDRBlocks )
253+
254+ return nil
222255}
223256
224257// Convert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec.
225258func Convert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec (in * infrav1beta1.SubnetSpec , out * SubnetSpec , s apiconversion.Scope ) error { //nolint
226- return autoConvert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec (in , out , s )
259+ if err := autoConvert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec (in , out , s ); err != nil {
260+ return err
261+ }
262+
263+ // Convert SubnetClassSpec fields
264+ out .Role = SubnetRole (in .Role )
265+ out .CIDRBlocks = * (& in .CIDRBlocks )
266+
267+ return nil
227268}
228269
229270func Convert_v1beta1_SecurityGroup_To_v1alpha3_SecurityGroup (in * infrav1beta1.SecurityGroup , out * SecurityGroup , s apiconversion.Scope ) error {
@@ -290,12 +331,62 @@ func Convert_v1beta1_SecurityRule_To_v1alpha3_IngressRule(in *infrav1beta1.Secur
290331
291332// Convert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec is an autogenerated conversion function.
292333func Convert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec (in * VnetSpec , out * infrav1beta1.VnetSpec , s apiconversion.Scope ) error {
293- return autoConvert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec (in , out , s )
334+ if err := autoConvert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec (in , out , s ); err != nil {
335+ return err
336+ }
337+
338+ // copy VnetClassSpec fields
339+ out .CIDRBlocks = * (& in .CIDRBlocks )
340+ out .Tags = * (* infrav1beta1 .Tags )(& in .Tags )
341+
342+ return nil
294343}
295344
296345// Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec is an autogenerated conversion function.
297346func Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec (in * infrav1beta1.LoadBalancerSpec , out * LoadBalancerSpec , s apiconversion.Scope ) error {
298- return autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec (in , out , s )
347+ if err := autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec (in , out , s ); err != nil {
348+ return err
349+ }
350+
351+ // Convert LoadBalancerClassSpec fields
352+ out .SKU = SKU (in .SKU )
353+ if in .FrontendIPs != nil {
354+ in , out := & in .FrontendIPs , & out .FrontendIPs
355+ * out = make ([]FrontendIP , len (* in ))
356+ for i := range * in {
357+ if err := Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP (& (* in )[i ], & (* out )[i ], s ); err != nil {
358+ return err
359+ }
360+ }
361+ } else {
362+ out .FrontendIPs = nil
363+ }
364+ out .Type = LBType (in .Type )
365+
366+ return nil
367+ }
368+
369+ func Convert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec (in * LoadBalancerSpec , out * infrav1beta1.LoadBalancerSpec , s apiconversion.Scope ) error {
370+ if err := autoConvert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec (in , out , s ); err != nil {
371+ return err
372+ }
373+
374+ // Convert LoadBalancerClassSpec fields
375+ out .SKU = infrav1beta1 .SKU (in .SKU )
376+ if in .FrontendIPs != nil {
377+ in , out := & in .FrontendIPs , & out .FrontendIPs
378+ * out = make ([]infrav1beta1.FrontendIP , len (* in ))
379+ for i := range * in {
380+ if err := Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP (& (* in )[i ], & (* out )[i ], s ); err != nil {
381+ return err
382+ }
383+ }
384+ } else {
385+ out .FrontendIPs = nil
386+ }
387+ out .Type = infrav1beta1 .LBType (in .Type )
388+
389+ return nil
299390}
300391
301392// Convert_v1alpha3_Future_To_v1beta1_Future is an autogenerated conversion function.
@@ -309,3 +400,27 @@ func Convert_v1beta1_Future_To_v1alpha3_Future(in *infrav1beta1.Future, out *Fut
309400 out .FutureData = in .Data
310401 return autoConvert_v1beta1_Future_To_v1alpha3_Future (in , out , s )
311402}
403+
404+ // Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP is an autogenerated conversion function.
405+ func Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP (in * FrontendIP , out * infrav1beta1.FrontendIP , s apiconversion.Scope ) error {
406+ if err := autoConvert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP (in , out , s ); err != nil {
407+ return err
408+ }
409+
410+ // Convert FrontendIPClass fields
411+ out .PrivateIPAddress = in .PrivateIPAddress
412+
413+ return nil
414+ }
415+
416+ // Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP is an autogenerated conversion function.
417+ func Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP (in * infrav1beta1.FrontendIP , out * FrontendIP , s apiconversion.Scope ) error {
418+ if err := autoConvert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP (in , out , s ); err != nil {
419+ return err
420+ }
421+
422+ // Convert FrontendIPClass fields
423+ out .PrivateIPAddress = in .PrivateIPAddress
424+
425+ return nil
426+ }
0 commit comments