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

package v1

// OIDCClientReferenceApplyConfiguration represents a declarative configuration of the OIDCClientReference type for use
// with apply.
type OIDCClientReferenceApplyConfiguration struct {
	OIDCProviderName *string `json:"oidcProviderName,omitempty"`
	IssuerURL        *string `json:"issuerURL,omitempty"`
	ClientID         *string `json:"clientID,omitempty"`
}

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

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

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

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