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

package v1

// TokenRequiredClaimApplyConfiguration represents a declarative configuration of the TokenRequiredClaim type for use
// with apply.
type TokenRequiredClaimApplyConfiguration struct {
	// claim is a required field that configures the name of the required claim.
	// When taken from the JWT claims, claim must be a string value.
	//
	// claim must not be an empty string ("").
	Claim *string `json:"claim,omitempty"`
	// requiredValue is a required field that configures the value that 'claim' must have when taken from the incoming JWT claims.
	// If the value in the JWT claims does not match, the token will be rejected for authentication.
	//
	// requiredValue must not be an empty string ("").
	RequiredValue *string `json:"requiredValue,omitempty"`
}

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

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

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