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

package v1alpha1

import (
	configv1alpha1 "github.com/openshift/api/config/v1alpha1"
)

// ThanosQuerierRequestLoggingConfigApplyConfiguration represents a declarative configuration of the ThanosQuerierRequestLoggingConfig type for use
// with apply.
//
// ThanosQuerierRequestLoggingConfig configures request logging for Thanos Querier.
type ThanosQuerierRequestLoggingConfigApplyConfiguration struct {
	// policy determines which HTTP and gRPC requests are logged by Thanos Querier.
	// Valid values are "AllRequests" and "NoRequests".
	// When set to "AllRequests", every request received by Thanos Querier is logged with method, path, and response status.
	// The log level for request logs is derived from the logLevel field.
	// When set to "NoRequests", request logging is turned off.
	Policy *configv1alpha1.RequestLoggingPolicy `json:"policy,omitempty"`
}

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

// WithPolicy sets the Policy 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 Policy field is set to the value of the last call.
func (b *ThanosQuerierRequestLoggingConfigApplyConfiguration) WithPolicy(value configv1alpha1.RequestLoggingPolicy) *ThanosQuerierRequestLoggingConfigApplyConfiguration {
	b.Policy = &value
	return b
}
