@@ -16,6 +16,7 @@ import (
1616 mapierrors "github.com/openshift/machine-api-operator/pkg/controller/machine"
1717 mockaws "github.com/openshift/machine-api-provider-aws/pkg/client/mock"
1818 "k8s.io/apimachinery/pkg/runtime"
19+ "k8s.io/utils/ptr"
1920 "sigs.k8s.io/controller-runtime/pkg/client"
2021 "sigs.k8s.io/controller-runtime/pkg/client/fake"
2122)
@@ -1695,3 +1696,53 @@ func TestGetCapacityReservationSpecification(t *testing.T) {
16951696 })
16961697 }
16971698}
1699+
1700+ func TestGetCPUOptionsRequest (t * testing.T ) {
1701+ testCases := []struct {
1702+ name string
1703+ providerConfig * machinev1beta1.AWSMachineProviderConfig
1704+ expectedRequest * ec2.CpuOptionsRequest
1705+ }{
1706+ {
1707+ name : "with CPUOptions unspecified" ,
1708+ providerConfig : & machinev1beta1.AWSMachineProviderConfig {},
1709+ expectedRequest : nil ,
1710+ },
1711+ {
1712+ name : "with ConfidentialCompute set to AMD SEV-SNP" ,
1713+ providerConfig : & machinev1beta1.AWSMachineProviderConfig {
1714+ CPUOptions : & machinev1beta1.CPUOptions {
1715+ ConfidentialCompute : ptr .To (machinev1beta1 .AWSConfidentialComputePolicySEVSNP ),
1716+ },
1717+ },
1718+ expectedRequest : & ec2.CpuOptionsRequest {
1719+ AmdSevSnp : aws .String (ec2 .AmdSevSnpSpecificationEnabled ),
1720+ },
1721+ },
1722+ {
1723+ name : "with ConfidentialCompute disabled" ,
1724+ providerConfig : & machinev1beta1.AWSMachineProviderConfig {
1725+ CPUOptions : & machinev1beta1.CPUOptions {
1726+ ConfidentialCompute : ptr .To (machinev1beta1 .AWSConfidentialComputePolicyDisabled ),
1727+ },
1728+ },
1729+ expectedRequest : & ec2.CpuOptionsRequest {
1730+ AmdSevSnp : aws .String (ec2 .AmdSevSnpSpecificationDisabled ),
1731+ },
1732+ },
1733+ {
1734+ name : "with ConfidentialCompute unspecified" ,
1735+ providerConfig : & machinev1beta1.AWSMachineProviderConfig {
1736+ CPUOptions : & machinev1beta1.CPUOptions {},
1737+ },
1738+ expectedRequest : nil ,
1739+ },
1740+ }
1741+ for _ , tc := range testCases {
1742+ t .Run (tc .name , func (t * testing.T ) {
1743+ g := gmg .NewWithT (t )
1744+ req := getCPUOptionsRequest (tc .providerConfig )
1745+ g .Expect (req ).To (gmg .BeEquivalentTo (tc .expectedRequest ))
1746+ })
1747+ }
1748+ }
0 commit comments