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

package v1

// AWSResourceFilterApplyConfiguration represents an declarative configuration of the AWSResourceFilter type for use
// with apply.
type AWSResourceFilterApplyConfiguration struct {
	Name   *string  `json:"name,omitempty"`
	Values []string `json:"values,omitempty"`
}

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

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

// WithValues adds the given value to the Values 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 Values field.
func (b *AWSResourceFilterApplyConfiguration) WithValues(values ...string) *AWSResourceFilterApplyConfiguration {
	for i := range values {
		b.Values = append(b.Values, values[i])
	}
	return b
}
