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

package v1

// OAuthTemplatesApplyConfiguration represents a declarative configuration of the OAuthTemplates type for use
// with apply.
//
// OAuthTemplates allow for customization of pages like the login page
type OAuthTemplatesApplyConfiguration struct {
	// login is the name of a secret that specifies a go template to use to render the login page.
	// The key "login.html" is used to locate the template data.
	// If specified and the secret or expected key is not found, the default login page is used.
	// If the specified template is not valid, the default login page is used.
	// If unspecified, the default login page is used.
	// The namespace for this secret is openshift-config.
	Login *SecretNameReferenceApplyConfiguration `json:"login,omitempty"`
	// providerSelection is the name of a secret that specifies a go template to use to render
	// the provider selection page.
	// The key "providers.html" is used to locate the template data.
	// If specified and the secret or expected key is not found, the default provider selection page is used.
	// If the specified template is not valid, the default provider selection page is used.
	// If unspecified, the default provider selection page is used.
	// The namespace for this secret is openshift-config.
	ProviderSelection *SecretNameReferenceApplyConfiguration `json:"providerSelection,omitempty"`
	// error is the name of a secret that specifies a go template to use to render error pages
	// during the authentication or grant flow.
	// The key "errors.html" is used to locate the template data.
	// If specified and the secret or expected key is not found, the default error page is used.
	// If the specified template is not valid, the default error page is used.
	// If unspecified, the default error page is used.
	// The namespace for this secret is openshift-config.
	Error *SecretNameReferenceApplyConfiguration `json:"error,omitempty"`
}

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

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

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

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