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

package v1alpha1

// DefaultCertificateConfigApplyConfiguration represents a declarative configuration of the DefaultCertificateConfig type for use
// with apply.
//
// DefaultCertificateConfig specifies the default certificate configuration
// parameters. All fields are required to ensure that defaults are fully
// specified for all certificates.
type DefaultCertificateConfigApplyConfiguration struct {
	// key specifies the cryptographic parameters for the certificate's key pair.
	// This field is required in defaults to ensure all certificates have a
	// well-defined key configuration.
	Key *KeyConfigApplyConfiguration `json:"key,omitempty"`
}

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

// WithKey sets the Key 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 Key field is set to the value of the last call.
func (b *DefaultCertificateConfigApplyConfiguration) WithKey(value *KeyConfigApplyConfiguration) *DefaultCertificateConfigApplyConfiguration {
	b.Key = value
	return b
}
