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

package v1

// RouteHTTPHeaderActionsApplyConfiguration represents an declarative configuration of the RouteHTTPHeaderActions type for use
// with apply.
type RouteHTTPHeaderActionsApplyConfiguration struct {
	Response []RouteHTTPHeaderApplyConfiguration `json:"response,omitempty"`
	Request  []RouteHTTPHeaderApplyConfiguration `json:"request,omitempty"`
}

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

// WithResponse adds the given value to the Response 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 Response field.
func (b *RouteHTTPHeaderActionsApplyConfiguration) WithResponse(values ...*RouteHTTPHeaderApplyConfiguration) *RouteHTTPHeaderActionsApplyConfiguration {
	for i := range values {
		if values[i] == nil {
			panic("nil value passed to WithResponse")
		}
		b.Response = append(b.Response, *values[i])
	}
	return b
}

// WithRequest adds the given value to the Request 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 Request field.
func (b *RouteHTTPHeaderActionsApplyConfiguration) WithRequest(values ...*RouteHTTPHeaderApplyConfiguration) *RouteHTTPHeaderActionsApplyConfiguration {
	for i := range values {
		if values[i] == nil {
			panic("nil value passed to WithRequest")
		}
		b.Request = append(b.Request, *values[i])
	}
	return b
}
