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

package v1alpha1

// BasicAuthApplyConfiguration represents a declarative configuration of the BasicAuth type for use
// with apply.
//
// BasicAuth defines basic authentication settings for the remote write endpoint URL.
type BasicAuthApplyConfiguration struct {
	// username defines the secret reference containing the username for basic authentication.
	// The secret must exist in the openshift-monitoring namespace.
	Username *SecretKeySelectorApplyConfiguration `json:"username,omitempty"`
	// password defines the secret reference containing the password for basic authentication.
	// The secret must exist in the openshift-monitoring namespace.
	Password *SecretKeySelectorApplyConfiguration `json:"password,omitempty"`
}

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

// WithUsername sets the Username 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 Username field is set to the value of the last call.
func (b *BasicAuthApplyConfiguration) WithUsername(value *SecretKeySelectorApplyConfiguration) *BasicAuthApplyConfiguration {
	b.Username = value
	return b
}

// WithPassword sets the Password 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 Password field is set to the value of the last call.
func (b *BasicAuthApplyConfiguration) WithPassword(value *SecretKeySelectorApplyConfiguration) *BasicAuthApplyConfiguration {
	b.Password = value
	return b
}
