sigs.k8s.io/cluster-api@v1.7.1/bootstrap/kubeadm/types/upstreamv1beta2/conversion.go (about) 1 /* 2 Copyright 2021 The Kubernetes Authors. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package upstreamv1beta2 18 19 import ( 20 apimachineryconversion "k8s.io/apimachinery/pkg/conversion" 21 "sigs.k8s.io/controller-runtime/pkg/conversion" 22 23 bootstrapv1 "sigs.k8s.io/cluster-api/bootstrap/kubeadm/api/v1beta1" 24 ) 25 26 func (src *ClusterConfiguration) ConvertTo(dstRaw conversion.Hub) error { 27 dst := dstRaw.(*bootstrapv1.ClusterConfiguration) 28 return Convert_upstreamv1beta2_ClusterConfiguration_To_v1beta1_ClusterConfiguration(src, dst, nil) 29 } 30 31 func (dst *ClusterConfiguration) ConvertFrom(srcRaw conversion.Hub) error { 32 src := srcRaw.(*bootstrapv1.ClusterConfiguration) 33 return Convert_v1beta1_ClusterConfiguration_To_upstreamv1beta2_ClusterConfiguration(src, dst, nil) 34 } 35 36 func (src *ClusterStatus) ConvertTo(dstRaw conversion.Hub) error { 37 dst := dstRaw.(*bootstrapv1.ClusterStatus) 38 return Convert_upstreamv1beta2_ClusterStatus_To_v1beta1_ClusterStatus(src, dst, nil) 39 } 40 41 func (dst *ClusterStatus) ConvertFrom(srcRaw conversion.Hub) error { 42 src := srcRaw.(*bootstrapv1.ClusterStatus) 43 return Convert_v1beta1_ClusterStatus_To_upstreamv1beta2_ClusterStatus(src, dst, nil) 44 } 45 46 func (src *InitConfiguration) ConvertTo(dstRaw conversion.Hub) error { 47 dst := dstRaw.(*bootstrapv1.InitConfiguration) 48 return Convert_upstreamv1beta2_InitConfiguration_To_v1beta1_InitConfiguration(src, dst, nil) 49 } 50 51 func (dst *InitConfiguration) ConvertFrom(srcRaw conversion.Hub) error { 52 src := srcRaw.(*bootstrapv1.InitConfiguration) 53 return Convert_v1beta1_InitConfiguration_To_upstreamv1beta2_InitConfiguration(src, dst, nil) 54 } 55 56 func (src *JoinConfiguration) ConvertTo(dstRaw conversion.Hub) error { 57 dst := dstRaw.(*bootstrapv1.JoinConfiguration) 58 return Convert_upstreamv1beta2_JoinConfiguration_To_v1beta1_JoinConfiguration(src, dst, nil) 59 } 60 61 func (dst *JoinConfiguration) ConvertFrom(srcRaw conversion.Hub) error { 62 src := srcRaw.(*bootstrapv1.JoinConfiguration) 63 return Convert_v1beta1_JoinConfiguration_To_upstreamv1beta2_JoinConfiguration(src, dst, nil) 64 } 65 66 func Convert_upstreamv1beta2_InitConfiguration_To_v1beta1_InitConfiguration(in *InitConfiguration, out *bootstrapv1.InitConfiguration, s apimachineryconversion.Scope) error { 67 // InitConfiguration.CertificateKey exists in v1beta2 types but not in bootstrapv1.InitConfiguration (Cluster API does not uses automatic copy certs). Ignoring when converting. 68 return autoConvert_upstreamv1beta2_InitConfiguration_To_v1beta1_InitConfiguration(in, out, s) 69 } 70 71 func Convert_upstreamv1beta2_JoinControlPlane_To_v1beta1_JoinControlPlane(in *JoinControlPlane, out *bootstrapv1.JoinControlPlane, s apimachineryconversion.Scope) error { 72 // JoinControlPlane.CertificateKey exists in v1beta2 types but not in bootstrapv1.JoinControlPlane (Cluster API does not uses automatic copy certs). Ignoring when converting. 73 return autoConvert_upstreamv1beta2_JoinControlPlane_To_v1beta1_JoinControlPlane(in, out, s) 74 } 75 76 func Convert_upstreamv1beta2_DNS_To_v1beta1_DNS(in *DNS, out *bootstrapv1.DNS, s apimachineryconversion.Scope) error { 77 // DNS.Type was removed in v1alpha4 because only CoreDNS is supported, dropping this info. 78 return autoConvert_upstreamv1beta2_DNS_To_v1beta1_DNS(in, out, s) 79 } 80 81 func Convert_upstreamv1beta2_ClusterConfiguration_To_v1beta1_ClusterConfiguration(in *ClusterConfiguration, out *bootstrapv1.ClusterConfiguration, s apimachineryconversion.Scope) error { 82 // ClusterConfiguration.UseHyperKubeImage was removed in kubeadm v1alpha4 API 83 return autoConvert_upstreamv1beta2_ClusterConfiguration_To_v1beta1_ClusterConfiguration(in, out, s) 84 } 85 86 func Convert_v1beta1_InitConfiguration_To_upstreamv1beta2_InitConfiguration(in *bootstrapv1.InitConfiguration, out *InitConfiguration, s apimachineryconversion.Scope) error { 87 // InitConfiguration.Patches does not exist in kubeadm v1beta2 API 88 return autoConvert_v1beta1_InitConfiguration_To_upstreamv1beta2_InitConfiguration(in, out, s) 89 } 90 91 func Convert_v1beta1_JoinConfiguration_To_upstreamv1beta2_JoinConfiguration(in *bootstrapv1.JoinConfiguration, out *JoinConfiguration, s apimachineryconversion.Scope) error { 92 // JoinConfiguration.Patches does not exist in kubeadm v1beta2 API 93 return autoConvert_v1beta1_JoinConfiguration_To_upstreamv1beta2_JoinConfiguration(in, out, s) 94 } 95 96 func Convert_v1beta1_NodeRegistrationOptions_To_upstreamv1beta2_NodeRegistrationOptions(in *bootstrapv1.NodeRegistrationOptions, out *NodeRegistrationOptions, s apimachineryconversion.Scope) error { 97 // NodeRegistrationOptions.ImagePullPolicy does not exit in 98 // kubeadm v1beta2 API. 99 return autoConvert_v1beta1_NodeRegistrationOptions_To_upstreamv1beta2_NodeRegistrationOptions(in, out, s) 100 }