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

package v1

import (
	v1 "github.com/openshift/api/machine/v1"
)

// ControlPlaneMachineSetTemplateApplyConfiguration represents an declarative configuration of the ControlPlaneMachineSetTemplate type for use
// with apply.
type ControlPlaneMachineSetTemplateApplyConfiguration struct {
	MachineType                    *v1.ControlPlaneMachineSetMachineType                     `json:"machineType,omitempty"`
	OpenShiftMachineV1Beta1Machine *OpenShiftMachineV1Beta1MachineTemplateApplyConfiguration `json:"machines_v1beta1_machine_openshift_io,omitempty"`
}

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

// WithMachineType sets the MachineType 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 MachineType field is set to the value of the last call.
func (b *ControlPlaneMachineSetTemplateApplyConfiguration) WithMachineType(value v1.ControlPlaneMachineSetMachineType) *ControlPlaneMachineSetTemplateApplyConfiguration {
	b.MachineType = &value
	return b
}

// WithOpenShiftMachineV1Beta1Machine sets the OpenShiftMachineV1Beta1Machine 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 OpenShiftMachineV1Beta1Machine field is set to the value of the last call.
func (b *ControlPlaneMachineSetTemplateApplyConfiguration) WithOpenShiftMachineV1Beta1Machine(value *OpenShiftMachineV1Beta1MachineTemplateApplyConfiguration) *ControlPlaneMachineSetTemplateApplyConfiguration {
	b.OpenShiftMachineV1Beta1Machine = value
	return b
}
