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

package v1

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// ControlPlaneMachineSetStatusApplyConfiguration represents an declarative configuration of the ControlPlaneMachineSetStatus type for use
// with apply.
type ControlPlaneMachineSetStatusApplyConfiguration struct {
	Conditions          []v1.Condition `json:"conditions,omitempty"`
	ObservedGeneration  *int64         `json:"observedGeneration,omitempty"`
	Replicas            *int32         `json:"replicas,omitempty"`
	ReadyReplicas       *int32         `json:"readyReplicas,omitempty"`
	UpdatedReplicas     *int32         `json:"updatedReplicas,omitempty"`
	UnavailableReplicas *int32         `json:"unavailableReplicas,omitempty"`
}

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

// WithConditions adds the given value to the Conditions field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the Conditions field.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithConditions(values ...v1.Condition) *ControlPlaneMachineSetStatusApplyConfiguration {
	for i := range values {
		b.Conditions = append(b.Conditions, values[i])
	}
	return b
}

// WithObservedGeneration sets the ObservedGeneration 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 ObservedGeneration field is set to the value of the last call.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithObservedGeneration(value int64) *ControlPlaneMachineSetStatusApplyConfiguration {
	b.ObservedGeneration = &value
	return b
}

// WithReplicas sets the Replicas 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 Replicas field is set to the value of the last call.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithReplicas(value int32) *ControlPlaneMachineSetStatusApplyConfiguration {
	b.Replicas = &value
	return b
}

// WithReadyReplicas sets the ReadyReplicas 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 ReadyReplicas field is set to the value of the last call.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithReadyReplicas(value int32) *ControlPlaneMachineSetStatusApplyConfiguration {
	b.ReadyReplicas = &value
	return b
}

// WithUpdatedReplicas sets the UpdatedReplicas 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 UpdatedReplicas field is set to the value of the last call.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithUpdatedReplicas(value int32) *ControlPlaneMachineSetStatusApplyConfiguration {
	b.UpdatedReplicas = &value
	return b
}

// WithUnavailableReplicas sets the UnavailableReplicas 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 UnavailableReplicas field is set to the value of the last call.
func (b *ControlPlaneMachineSetStatusApplyConfiguration) WithUnavailableReplicas(value int32) *ControlPlaneMachineSetStatusApplyConfiguration {
	b.UnavailableReplicas = &value
	return b
}
