@@ -80,11 +80,20 @@ const (
8080 // EKS AMI ID SSM Parameter name.
8181 eksAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2/recommended/image_id"
8282
83+ // EKS AL2023 AMI ID SSM Parameter name.
84+ eksAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/standard/recommended/image_id"
85+
8386 // EKS ARM64 AMI ID SSM Parameter name.
8487 eksARM64AmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-arm64/recommended/image_id"
8588
89+ // EKS ARM64 AL2023 AMI ID SSM Parameter name.
90+ eksARM64AmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/nvidia/recommended/image_id"
91+
8692 // EKS GPU AMI ID SSM Parameter name.
8793 eksGPUAmiSSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2-gpu/recommended/image_id"
94+
95+ // EKS GPU AL2023 AMI ID SSM Parameter name.
96+ eksGPUAmiAl2023SSMParameterFormat = "/aws/service/eks/optimized-ami/%s/amazon-linux-2023/x86_64/nvidia/recommended/image_id"
8897)
8998
9099// AMILookup contains the parameters used to template AMI names used for lookup.
@@ -323,14 +332,24 @@ func (s *Service) eksAMILookup(kubernetesVersion string, architecture string, am
323332 }
324333
325334 switch * amiType {
335+ case infrav1 .AmazonLinux2023GPU :
336+ paramName = fmt .Sprintf (eksGPUAmiAl2023SSMParameterFormat , formattedVersion )
326337 case infrav1 .AmazonLinuxGPU :
327338 paramName = fmt .Sprintf (eksGPUAmiSSMParameterFormat , formattedVersion )
328339 default :
329340 switch architecture {
330341 case Arm64ArchitectureTag :
331- paramName = fmt .Sprintf (eksARM64AmiSSMParameterFormat , formattedVersion )
342+ if * amiType == infrav1 .AmazonLinux2023 {
343+ paramName = fmt .Sprintf (eksARM64AmiAl2023SSMParameterFormat , formattedVersion )
344+ } else {
345+ paramName = fmt .Sprintf (eksARM64AmiSSMParameterFormat , formattedVersion )
346+ }
332347 case Amd64ArchitectureTag :
333- paramName = fmt .Sprintf (eksAmiSSMParameterFormat , formattedVersion )
348+ if * amiType == infrav1 .AmazonLinux2023 {
349+ paramName = fmt .Sprintf (eksAmiAl2023SSMParameterFormat , formattedVersion )
350+ } else {
351+ paramName = fmt .Sprintf (eksAmiSSMParameterFormat , formattedVersion )
352+ }
334353 default :
335354 return "" , fmt .Errorf ("cannot look up eks-optimized image for architecture %q" , architecture )
336355 }
0 commit comments