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

package v1alpha1

// CertificateConfigApplyConfiguration represents a declarative configuration of the CertificateConfig type for use
// with apply.
//
// CertificateConfig specifies configuration parameters for certificates.
// At least one property must be specified.
type CertificateConfigApplyConfiguration struct {
	// key specifies the cryptographic parameters for the certificate's key pair.
	// Currently this is the only configurable parameter. When omitted in an
	// overrides entry, the key configuration from defaults is used.
	Key *KeyConfigApplyConfiguration `json:"key,omitempty"`
}

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

// 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 *CertificateConfigApplyConfiguration) WithKey(value *KeyConfigApplyConfiguration) *CertificateConfigApplyConfiguration {
	b.Key = value
	return b
}
