diff --git a/azure/services/natgateways/spec.go b/azure/services/natgateways/spec.go index 31c09236476..b4df85a8844 100644 --- a/azure/services/natgateways/spec.go +++ b/azure/services/natgateways/spec.go @@ -36,6 +36,7 @@ type NatGatewaySpec struct { Location string NatGatewayIP infrav1.PublicIPSpec ClusterName string + Zone string AdditionalTags infrav1.Tags IsVnetManaged bool } @@ -79,6 +80,9 @@ func (s *NatGatewaySpec) Parameters(_ context.Context, existingNatGateway *asone Name: ptr.To(s.Name), Additional: s.AdditionalTags, }) + if s.Zone != "" { + natGateway.Spec.Zones = []string{s.Zone} + } return natGateway, nil } diff --git a/azure/services/natgateways/spec_test.go b/azure/services/natgateways/spec_test.go index 07ec7517010..895631e68f0 100644 --- a/azure/services/natgateways/spec_test.go +++ b/azure/services/natgateways/spec_test.go @@ -36,6 +36,7 @@ var ( ResourceGroup: "my-rg", SubscriptionID: "123", Location: "eastus", + Zone: "eastus-1", NatGatewayIP: infrav1.PublicIPSpec{ Name: "my-natgateway-ip", DNSName: "Standard", @@ -59,6 +60,7 @@ var ( AzureName: "my-natgateway", IdleTimeoutInMinutes: ptr.To(6), Location: locationPtr, + Zones: []string{"eastus-1"}, Owner: &genruntime.KnownResourceReference{ Name: "my-rg", }, @@ -114,6 +116,8 @@ func TestParameters(t *testing.T) { g.Expect(parameters.Spec.Owner.Name).To(Equal("my-rg")) g.Expect(parameters.Spec.Location).NotTo(BeNil()) g.Expect(parameters.Spec.Location).To(Equal(locationPtr)) + g.Expect(parameters.Spec.Zones).To(HaveLen(1)) + g.Expect(parameters.Spec.Zones[0]).To(Equal("eastus-1")) g.Expect(parameters.Spec.Sku.Name).NotTo(BeNil()) g.Expect(parameters.Spec.Sku.Name).To(Equal(standardSKUPtr)) g.Expect(parameters.Spec.PublicIpAddresses).To(HaveLen(1))