// Copyright (c) 2026 Tigera, Inc. All rights reserved.

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

package v3

// HTTPPathApplyConfiguration represents a declarative configuration of the HTTPPath type for use
// with apply.
//
// HTTPPath specifies an HTTP path to match. It may be either of the form:
// exact: <path>: which matches the path exactly or
// prefix: <path-prefix>: which matches the path prefix
type HTTPPathApplyConfiguration struct {
	Exact  *string `json:"exact,omitempty"`
	Prefix *string `json:"prefix,omitempty"`
}

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

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

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