// SPDX-License-Identifier: AGPL-3.0-only

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

package v0alpha1

// ResourceRefApplyConfiguration represents a declarative configuration of the ResourceRef type for use
// with apply.
type ResourceRefApplyConfiguration struct {
	// Name is the name of the resource, such as a dashboard UID.
	Name *string `json:"name,omitempty"`
	// Kind is the type of resource, for example, "Dashboard".
	Kind *string `json:"kind,omitempty"`
	// Group is the group of the resource, such as "dashboard.grafana.app".
	Group *string `json:"group,omitempty"`
}

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

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

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

// 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 *ResourceRefApplyConfiguration) WithGroup(value string) *ResourceRefApplyConfiguration {
	b.Group = &value
	return b
}
