@@ -28,6 +28,7 @@ import (
2828 "github.com/aws/aws-sdk-go-v2/service/ec2"
2929 "github.com/aws/aws-sdk-go-v2/service/ec2/types"
3030 "github.com/pkg/errors"
31+ "k8s.io/apimachinery/pkg/runtime"
3132 "k8s.io/utils/ptr"
3233
3334 infrav1 "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
@@ -39,6 +40,7 @@ import (
3940 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/services/userdata"
4041 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/record"
4142 "sigs.k8s.io/cluster-api-provider-aws/v2/pkg/utils"
43+ clusterv1beta1 "sigs.k8s.io/cluster-api/api/core/v1beta1" //nolint:staticcheck
4244 clusterv1 "sigs.k8s.io/cluster-api/api/core/v1beta2"
4345)
4446
@@ -123,6 +125,20 @@ func (s *Service) CreateInstance(ctx context.Context, scope *scope.MachineScope,
123125 NetworkInterfaceType : scope .AWSMachine .Spec .NetworkInterfaceType ,
124126 }
125127
128+ scheme := runtime .NewScheme ()
129+ if err := clusterv1beta1 .AddToScheme (scheme ); err != nil {
130+ return nil , fmt .Errorf ("error adding clusterv1beta1 to schema for conversion: %s" , err )
131+ }
132+ if err := clusterv1 .AddToScheme (scheme ); err != nil {
133+ return nil , fmt .Errorf ("error adding clusterv1 to schema for conversion: %s" , err )
134+ }
135+
136+ var v1beta1Machine clusterv1beta1.Machine
137+ // Convert v1beta1 to v1beta2
138+ if err := scheme .Convert (scope .Machine , & v1beta1Machine , nil ); err != nil {
139+ return nil , fmt .Errorf ("error converting v1beta2.Machine to v1beta1.Machine: %s" , err )
140+ }
141+
126142 // Make sure to use the MachineScope here to get the merger of AWSCluster and AWSMachine tags
127143 additionalTags := scope .AdditionalTags ()
128144 input .Tags = infrav1 .Build (infrav1.BuildParams {
@@ -131,7 +147,7 @@ func (s *Service) CreateInstance(ctx context.Context, scope *scope.MachineScope,
131147 Name : aws .String (scope .Name ()),
132148 Role : aws .String (scope .Role ()),
133149 Additional : additionalTags ,
134- }.WithCloudProvider (s .scope .KubernetesClusterName ()).WithMachineName (scope . Machine ))
150+ }.WithCloudProvider (s .scope .KubernetesClusterName ()).WithMachineName (& v1beta1Machine ))
135151
136152 var err error
137153
@@ -992,31 +1008,31 @@ func (s *Service) SDKToInstance(v types.Instance) (*infrav1.Instance, error) {
9921008 return i , nil
9931009}
9941010
995- func (s * Service ) getInstanceAddresses (instance types.Instance ) []clusterv1 .MachineAddress {
996- addresses := []clusterv1 .MachineAddress {}
1011+ func (s * Service ) getInstanceAddresses (instance types.Instance ) []clusterv1beta1 .MachineAddress {
1012+ addresses := []clusterv1beta1 .MachineAddress {}
9971013 // Check if the DHCP Option Set has domain name set
9981014 domainName := s .GetDHCPOptionSetDomainName (s .EC2Client , instance .VpcId )
9991015 for _ , eni := range instance .NetworkInterfaces {
10001016 if addr := aws .ToString (eni .PrivateDnsName ); addr != "" {
1001- privateDNSAddress := clusterv1 .MachineAddress {
1002- Type : clusterv1 .MachineInternalDNS ,
1017+ privateDNSAddress := clusterv1beta1 .MachineAddress {
1018+ Type : clusterv1beta1 .MachineInternalDNS ,
10031019 Address : addr ,
10041020 }
10051021 addresses = append (addresses , privateDNSAddress )
10061022
10071023 if domainName != nil {
10081024 // Add secondary private DNS Name with domain name set in DHCP Option Set
1009- additionalPrivateDNSAddress := clusterv1 .MachineAddress {
1010- Type : clusterv1 .MachineInternalDNS ,
1025+ additionalPrivateDNSAddress := clusterv1beta1 .MachineAddress {
1026+ Type : clusterv1beta1 .MachineInternalDNS ,
10111027 Address : fmt .Sprintf ("%s.%s" , strings .Split (privateDNSAddress .Address , "." )[0 ], * domainName ),
10121028 }
10131029 addresses = append (addresses , additionalPrivateDNSAddress )
10141030 }
10151031 }
10161032
10171033 if addr := aws .ToString (eni .PrivateIpAddress ); addr != "" {
1018- privateIPAddress := clusterv1 .MachineAddress {
1019- Type : clusterv1 .MachineInternalIP ,
1034+ privateIPAddress := clusterv1beta1 .MachineAddress {
1035+ Type : clusterv1beta1 .MachineInternalIP ,
10201036 Address : addr ,
10211037 }
10221038 addresses = append (addresses , privateIPAddress )
@@ -1025,16 +1041,16 @@ func (s *Service) getInstanceAddresses(instance types.Instance) []clusterv1.Mach
10251041 // An elastic IP is attached if association is non nil pointer
10261042 if eni .Association != nil {
10271043 if addr := aws .ToString (eni .Association .PublicDnsName ); addr != "" {
1028- publicDNSAddress := clusterv1 .MachineAddress {
1029- Type : clusterv1 .MachineExternalDNS ,
1044+ publicDNSAddress := clusterv1beta1 .MachineAddress {
1045+ Type : clusterv1beta1 .MachineExternalDNS ,
10301046 Address : addr ,
10311047 }
10321048 addresses = append (addresses , publicDNSAddress )
10331049 }
10341050
10351051 if addr := aws .ToString (eni .Association .PublicIp ); addr != "" {
1036- publicIPAddress := clusterv1 .MachineAddress {
1037- Type : clusterv1 .MachineExternalIP ,
1052+ publicIPAddress := clusterv1beta1 .MachineAddress {
1053+ Type : clusterv1beta1 .MachineExternalIP ,
10381054 Address : addr ,
10391055 }
10401056 addresses = append (addresses , publicIPAddress )
0 commit comments