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

package v1

// AWSFailureDomainApplyConfiguration represents a declarative configuration of the AWSFailureDomain type for use
// with apply.
//
// AWSFailureDomain configures failure domain information for the AWS platform.
type AWSFailureDomainApplyConfiguration struct {
	// subnet is a reference to the subnet to use for this instance.
	Subnet *AWSResourceReferenceApplyConfiguration `json:"subnet,omitempty"`
	// placement configures the placement information for this instance.
	Placement *AWSFailureDomainPlacementApplyConfiguration `json:"placement,omitempty"`
}

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

// 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 *AWSFailureDomainApplyConfiguration) WithSubnet(value *AWSResourceReferenceApplyConfiguration) *AWSFailureDomainApplyConfiguration {
	b.Subnet = value
	return b
}

// WithPlacement sets the Placement 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 Placement field is set to the value of the last call.
func (b *AWSFailureDomainApplyConfiguration) WithPlacement(value *AWSFailureDomainPlacementApplyConfiguration) *AWSFailureDomainApplyConfiguration {
	b.Placement = value
	return b
}
