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

package v1

import (
	authorizationv1 "k8s.io/api/authorization/v1"
)

// ResourceAttributesAccessReviewApplyConfiguration represents a declarative configuration of the ResourceAttributesAccessReview type for use
// with apply.
type ResourceAttributesAccessReviewApplyConfiguration struct {
	Required []authorizationv1.ResourceAttributes `json:"required,omitempty"`
	Missing  []authorizationv1.ResourceAttributes `json:"missing,omitempty"`
}

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

// WithRequired adds the given value to the Required 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 Required field.
func (b *ResourceAttributesAccessReviewApplyConfiguration) WithRequired(values ...authorizationv1.ResourceAttributes) *ResourceAttributesAccessReviewApplyConfiguration {
	for i := range values {
		b.Required = append(b.Required, values[i])
	}
	return b
}

// WithMissing adds the given value to the Missing 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 Missing field.
func (b *ResourceAttributesAccessReviewApplyConfiguration) WithMissing(values ...authorizationv1.ResourceAttributes) *ResourceAttributesAccessReviewApplyConfiguration {
	for i := range values {
		b.Missing = append(b.Missing, values[i])
	}
	return b
}
