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

package v1

import (
	corev1 "k8s.io/api/core/v1"
)

// ProjectSpecApplyConfiguration represents a declarative configuration of the ProjectSpec type for use
// with apply.
//
// ProjectSpec describes the attributes on a Project
type ProjectSpecApplyConfiguration struct {
	// finalizers is an opaque list of values that must be empty to permanently remove object from storage
	Finalizers []corev1.FinalizerName `json:"finalizers,omitempty"`
}

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

// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the Finalizers field.
func (b *ProjectSpecApplyConfiguration) WithFinalizers(values ...corev1.FinalizerName) *ProjectSpecApplyConfiguration {
	for i := range values {
		b.Finalizers = append(b.Finalizers, values[i])
	}
	return b
}
