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

package v1

// PinnedResourceReferenceApplyConfiguration represents a declarative configuration of the PinnedResourceReference type for use
// with apply.
type PinnedResourceReferenceApplyConfiguration struct {
	Group    *string `json:"group,omitempty"`
	Version  *string `json:"version,omitempty"`
	Resource *string `json:"resource,omitempty"`
}

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

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

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