@@ -24,6 +24,7 @@ import (
24
24
"k8s.io/utils/ptr"
25
25
26
26
infrav1 "sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1"
27
+ "sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/conversioncommon"
27
28
optional "sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/optional"
28
29
)
29
30
@@ -426,6 +427,33 @@ func Convert_v1beta1_BindingProfile_To_Map_string_To_Interface(in *infrav1.Bindi
426
427
/* AddressPair */
427
428
/* Instance */
428
429
/* RootVolume */
430
+
431
+ func restorev1beta1BlockDeviceVolume (previous * infrav1.BlockDeviceVolume , dst * infrav1.BlockDeviceVolume ) {
432
+ if previous == nil || dst == nil {
433
+ return
434
+ }
435
+
436
+ dstAZ := dst .AvailabilityZone
437
+ previousAZ := previous .AvailabilityZone
438
+
439
+ // Empty From (the default) will be converted to the explicit "Name"
440
+ if dstAZ != nil && previousAZ != nil && dstAZ .From == "Name" {
441
+ dstAZ .From = previousAZ .From
442
+ }
443
+ }
444
+
445
+ func Convert_v1alpha6_RootVolume_To_v1beta1_RootVolume (in * RootVolume , out * infrav1.RootVolume , s apiconversion.Scope ) error {
446
+ out .SizeGiB = in .Size
447
+ out .Type = in .VolumeType
448
+ return conversioncommon .Convert_string_To_Pointer_v1beta1_VolumeAvailabilityZone (& in .AvailabilityZone , & out .AvailabilityZone , s )
449
+ }
450
+
451
+ func Convert_v1beta1_RootVolume_To_v1alpha6_RootVolume (in * infrav1.RootVolume , out * RootVolume , s apiconversion.Scope ) error {
452
+ out .Size = in .SizeGiB
453
+ out .VolumeType = in .Type
454
+ return conversioncommon .Convert_Pointer_v1beta1_VolumeAvailabilityZone_To_string (& in .AvailabilityZone , & out .AvailabilityZone , s )
455
+ }
456
+
429
457
/* Network */
430
458
431
459
func Convert_v1alpha6_Network_To_v1beta1_NetworkStatusWithSubnets (in * Network , out * infrav1.NetworkStatusWithSubnets , s apiconversion.Scope ) error {
0 commit comments