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

package v1

// WebhookTokenAuthenticatorApplyConfiguration represents a declarative configuration of the WebhookTokenAuthenticator type for use
// with apply.
//
// webhookTokenAuthenticator holds the necessary configuration options for a remote token authenticator
type WebhookTokenAuthenticatorApplyConfiguration struct {
	// kubeConfig references a secret that contains kube config file data which
	// describes how to access the remote webhook service.
	// The namespace for the referenced secret is openshift-config.
	//
	// For further details, see:
	//
	// https://kubernetes.io/docs/reference/access-authn-authz/authentication/#webhook-token-authentication
	//
	// The key "kubeConfig" is used to locate the data.
	// If the secret or expected key is not found, the webhook is not honored.
	// If the specified kube config data is not valid, the webhook is not honored.
	KubeConfig *SecretNameReferenceApplyConfiguration `json:"kubeConfig,omitempty"`
}

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

// WithKubeConfig sets the KubeConfig 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 KubeConfig field is set to the value of the last call.
func (b *WebhookTokenAuthenticatorApplyConfiguration) WithKubeConfig(value *SecretNameReferenceApplyConfiguration) *WebhookTokenAuthenticatorApplyConfiguration {
	b.KubeConfig = value
	return b
}
