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

package v1

// ParameterApplyConfiguration represents an declarative configuration of the Parameter type for use
// with apply.
type ParameterApplyConfiguration struct {
	Name        *string `json:"name,omitempty"`
	DisplayName *string `json:"displayName,omitempty"`
	Description *string `json:"description,omitempty"`
	Value       *string `json:"value,omitempty"`
	Generate    *string `json:"generate,omitempty"`
	From        *string `json:"from,omitempty"`
	Required    *bool   `json:"required,omitempty"`
}

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

// 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 *ParameterApplyConfiguration) WithName(value string) *ParameterApplyConfiguration {
	b.Name = &value
	return b
}

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

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

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

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

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

// WithRequired sets the Required 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 Required field is set to the value of the last call.
func (b *ParameterApplyConfiguration) WithRequired(value bool) *ParameterApplyConfiguration {
	b.Required = &value
	return b
}
