// Code generated by applyconfiguration-gen. DO NOT EDIT.

package v1

// AzureFailureDomainApplyConfiguration represents a declarative configuration of the AzureFailureDomain type for use
// with apply.
//
// AzureFailureDomain configures failure domain information for the Azure platform.
type AzureFailureDomainApplyConfiguration struct {
	// Availability Zone for the virtual machine.
	// If nil, the virtual machine should be deployed to no zone.
	Zone *string `json:"zone,omitempty"`
	// subnet is the name of the network subnet in which the VM will be created.
	// When omitted, the subnet value from the machine providerSpec template will be used.
	Subnet *string `json:"subnet,omitempty"`
}

// AzureFailureDomainApplyConfiguration constructs a declarative configuration of the AzureFailureDomain type for use with
// apply.
func AzureFailureDomain() *AzureFailureDomainApplyConfiguration {
	return &AzureFailureDomainApplyConfiguration{}
}

// WithZone sets the Zone field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Zone field is set to the value of the last call.
func (b *AzureFailureDomainApplyConfiguration) WithZone(value string) *AzureFailureDomainApplyConfiguration {
	b.Zone = &value
	return b
}

// WithSubnet sets the Subnet field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Subnet field is set to the value of the last call.
func (b *AzureFailureDomainApplyConfiguration) WithSubnet(value string) *AzureFailureDomainApplyConfiguration {
	b.Subnet = &value
	return b
}
