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

package v1

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

// TLSProfileSpecApplyConfiguration represents an declarative configuration of the TLSProfileSpec type for use
// with apply.
type TLSProfileSpecApplyConfiguration struct {
	Ciphers       []string               `json:"ciphers,omitempty"`
	MinTLSVersion *v1.TLSProtocolVersion `json:"minTLSVersion,omitempty"`
}

// TLSProfileSpecApplyConfiguration constructs an declarative configuration of the TLSProfileSpec type for use with
// apply.
func TLSProfileSpec() *TLSProfileSpecApplyConfiguration {
	return &TLSProfileSpecApplyConfiguration{}
}

// WithCiphers adds the given value to the Ciphers field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the Ciphers field.
func (b *TLSProfileSpecApplyConfiguration) WithCiphers(values ...string) *TLSProfileSpecApplyConfiguration {
	for i := range values {
		b.Ciphers = append(b.Ciphers, values[i])
	}
	return b
}

// WithMinTLSVersion sets the MinTLSVersion 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 MinTLSVersion field is set to the value of the last call.
func (b *TLSProfileSpecApplyConfiguration) WithMinTLSVersion(value v1.TLSProtocolVersion) *TLSProfileSpecApplyConfiguration {
	b.MinTLSVersion = &value
	return b
}
