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

package v1

import (
	configv1 "github.com/openshift/api/config/v1"
)

// ConsoleConfigRouteApplyConfiguration represents a declarative configuration of the ConsoleConfigRoute type for use
// with apply.
//
// ConsoleConfigRoute holds information on external route access to console.
// DEPRECATED
type ConsoleConfigRouteApplyConfiguration struct {
	// hostname is the desired custom domain under which console will be available.
	Hostname *string `json:"hostname,omitempty"`
	// secret points to secret in the openshift-config namespace that contains custom
	// certificate and key and needs to be created manually by the cluster admin.
	// Referenced Secret is required to contain following key value pairs:
	// - "tls.crt" - to specifies custom certificate
	// - "tls.key" - to specifies private key of the custom certificate
	// If the custom hostname uses the default routing suffix of the cluster,
	// the Secret specification for a serving certificate will not be needed.
	Secret *configv1.SecretNameReference `json:"secret,omitempty"`
}

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

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

// WithSecret sets the Secret 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 Secret field is set to the value of the last call.
func (b *ConsoleConfigRouteApplyConfiguration) WithSecret(value configv1.SecretNameReference) *ConsoleConfigRouteApplyConfiguration {
	b.Secret = &value
	return b
}
