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

package v1

// OperandVersionApplyConfiguration represents a declarative configuration of the OperandVersion type for use
// with apply.
type OperandVersionApplyConfiguration struct {
	// name is the name of the particular operand this version is for.  It usually matches container images, not operators.
	Name *string `json:"name,omitempty"`
	// version indicates which version of a particular operand is currently being managed.  It must always match the Available
	// operand.  If 1.0.0 is Available, then this must indicate 1.0.0 even if the operator is trying to rollout
	// 1.1.0
	Version *string `json:"version,omitempty"`
}

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

// WithName sets the Name 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 Name field is set to the value of the last call.
func (b *OperandVersionApplyConfiguration) WithName(value string) *OperandVersionApplyConfiguration {
	b.Name = &value
	return b
}

// WithVersion sets the Version 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 Version field is set to the value of the last call.
func (b *OperandVersionApplyConfiguration) WithVersion(value string) *OperandVersionApplyConfiguration {
	b.Version = &value
	return b
}
