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

package v1

import (
	v1 "github.com/openshift/api/operator/v1"
)

// IngressControllerCaptureHTTPCookieUnionApplyConfiguration represents an declarative configuration of the IngressControllerCaptureHTTPCookieUnion type for use
// with apply.
type IngressControllerCaptureHTTPCookieUnionApplyConfiguration struct {
	MatchType  *v1.CookieMatchType `json:"matchType,omitempty"`
	Name       *string             `json:"name,omitempty"`
	NamePrefix *string             `json:"namePrefix,omitempty"`
}

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

// WithMatchType sets the MatchType 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 MatchType field is set to the value of the last call.
func (b *IngressControllerCaptureHTTPCookieUnionApplyConfiguration) WithMatchType(value v1.CookieMatchType) *IngressControllerCaptureHTTPCookieUnionApplyConfiguration {
	b.MatchType = &value
	return b
}

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

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