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

package v1

// InfrastructureSpecApplyConfiguration represents an declarative configuration of the InfrastructureSpec type for use
// with apply.
type InfrastructureSpecApplyConfiguration struct {
	CloudConfig  *ConfigMapFileReferenceApplyConfiguration `json:"cloudConfig,omitempty"`
	PlatformSpec *PlatformSpecApplyConfiguration           `json:"platformSpec,omitempty"`
}

// InfrastructureSpecApplyConfiguration constructs an declarative configuration of the InfrastructureSpec type for use with
// apply.
func InfrastructureSpec() *InfrastructureSpecApplyConfiguration {
	return &InfrastructureSpecApplyConfiguration{}
}

// WithCloudConfig sets the CloudConfig 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 CloudConfig field is set to the value of the last call.
func (b *InfrastructureSpecApplyConfiguration) WithCloudConfig(value *ConfigMapFileReferenceApplyConfiguration) *InfrastructureSpecApplyConfiguration {
	b.CloudConfig = value
	return b
}

// WithPlatformSpec sets the PlatformSpec 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 PlatformSpec field is set to the value of the last call.
func (b *InfrastructureSpecApplyConfiguration) WithPlatformSpec(value *PlatformSpecApplyConfiguration) *InfrastructureSpecApplyConfiguration {
	b.PlatformSpec = value
	return b
}
