@@ -17,8 +17,10 @@ limitations under the License.
17
17
package v1alpha1
18
18
19
19
import (
20
+ apiconversion "k8s.io/apimachinery/pkg/conversion"
20
21
"sigs.k8s.io/controller-runtime/pkg/conversion"
21
22
23
+ clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
22
24
ipamv1 "sigs.k8s.io/cluster-api/exp/ipam/api/v1beta1"
23
25
)
24
26
@@ -49,13 +51,46 @@ func (dst *IPAddressList) ConvertFrom(srcRaw conversion.Hub) error {
49
51
func (src * IPAddressClaim ) ConvertTo (dstRaw conversion.Hub ) error {
50
52
dst := dstRaw .(* ipamv1.IPAddressClaim )
51
53
52
- return Convert_v1alpha1_IPAddressClaim_To_v1beta1_IPAddressClaim (src , dst , nil )
54
+ if err := Convert_v1alpha1_IPAddressClaim_To_v1beta1_IPAddressClaim (src , dst , nil ); err != nil {
55
+ return err
56
+ }
57
+
58
+ if src .ObjectMeta .Labels != nil {
59
+ dst .Spec .ClusterName = src .ObjectMeta .Labels [clusterv1 .ClusterNameLabel ]
60
+ if dst .ObjectMeta .Annotations != nil {
61
+ if clusterNameLabelWasSet , ok := dst .ObjectMeta .Annotations ["conversion.cluster.x-k8s.io/cluster-name-label-set" ]; ok {
62
+ if clusterNameLabelWasSet == "false" {
63
+ delete (dst .ObjectMeta .Labels , clusterv1 .ClusterNameLabel )
64
+ }
65
+ delete (dst .ObjectMeta .Annotations , "conversion.cluster.x-k8s.io/cluster-name-label-set" )
66
+ }
67
+ }
68
+ }
69
+
70
+ return nil
53
71
}
54
72
55
73
func (dst * IPAddressClaim ) ConvertFrom (srcRaw conversion.Hub ) error {
56
74
src := srcRaw .(* ipamv1.IPAddressClaim )
57
75
58
- return Convert_v1beta1_IPAddressClaim_To_v1alpha1_IPAddressClaim (src , dst , nil )
76
+ if err := Convert_v1beta1_IPAddressClaim_To_v1alpha1_IPAddressClaim (src , dst , nil ); err != nil {
77
+ return err
78
+ }
79
+
80
+ if src .Spec .ClusterName != "" {
81
+ if dst .ObjectMeta .Labels == nil {
82
+ dst .ObjectMeta .Labels = map [string ]string {}
83
+ }
84
+ if _ , ok := dst .ObjectMeta .Labels [clusterv1 .ClusterNameLabel ]; ! ok {
85
+ if dst .ObjectMeta .Annotations == nil {
86
+ dst .ObjectMeta .Annotations = map [string ]string {}
87
+ }
88
+ dst .ObjectMeta .Annotations ["conversion.cluster.x-k8s.io/cluster-name-label-set" ] = "false"
89
+ }
90
+ dst .ObjectMeta .Labels [clusterv1 .ClusterNameLabel ] = src .Spec .ClusterName
91
+ }
92
+
93
+ return nil
59
94
}
60
95
61
96
func (src * IPAddressClaimList ) ConvertTo (dstRaw conversion.Hub ) error {
@@ -69,3 +104,7 @@ func (dst *IPAddressClaimList) ConvertFrom(srcRaw conversion.Hub) error {
69
104
70
105
return Convert_v1beta1_IPAddressClaimList_To_v1alpha1_IPAddressClaimList (src , dst , nil )
71
106
}
107
+
108
+ func Convert_v1beta1_IPAddressClaimSpec_To_v1alpha1_IPAddressClaimSpec (from * ipamv1.IPAddressClaimSpec , to * IPAddressClaimSpec , scope apiconversion.Scope ) error {
109
+ return autoConvert_v1beta1_IPAddressClaimSpec_To_v1alpha1_IPAddressClaimSpec (from , to , scope )
110
+ }
0 commit comments