Skip to content

Commit 3f5b53f

Browse files
committed
CORS-3050: capi/aws: copy AMI to target region, if needed
1 parent f616efc commit 3f5b53f

File tree

1 file changed

+11
-0
lines changed
  • pkg/infrastructure/aws/clusterapi

1 file changed

+11
-0
lines changed

pkg/infrastructure/aws/clusterapi/aws.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/aws/aws-sdk-go/aws/session"
99
"github.com/aws/aws-sdk-go/service/ec2"
1010
"github.com/sirupsen/logrus"
11+
"k8s.io/utils/ptr"
1112
capa "sigs.k8s.io/cluster-api-provider-aws/v2/api/v1beta2"
1213
k8sClient "sigs.k8s.io/controller-runtime/pkg/client"
1314

@@ -32,6 +33,16 @@ func (*Provider) PreProvision(ctx context.Context, in clusterapi.PreProvisionInp
3233
if err := createIAMRoles(ctx, in.InfraID, in.InstallConfig); err != nil {
3334
return fmt.Errorf("failed to create IAM roles: %w", err)
3435
}
36+
37+
amiID, err := copyAMIToRegion(ctx, in.InstallConfig, in.InfraID, string(*in.RhcosImage))
38+
if err != nil {
39+
return fmt.Errorf("failed to copy AMI: %w", err)
40+
}
41+
for i := range in.MachineManifests {
42+
if awsMachine, ok := in.MachineManifests[i].(*capa.AWSMachine); ok {
43+
awsMachine.Spec.AMI = capa.AMIReference{ID: ptr.To(amiID)}
44+
}
45+
}
3546
return nil
3647
}
3748

0 commit comments

Comments
 (0)