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

package v1

// PKICertificateSubjectApplyConfiguration represents a declarative configuration of the PKICertificateSubject type for use
// with apply.
type PKICertificateSubjectApplyConfiguration struct {
	Email    *string `json:"email,omitempty"`
	Hostname *string `json:"hostname,omitempty"`
}

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

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

// 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 *PKICertificateSubjectApplyConfiguration) WithHostname(value string) *PKICertificateSubjectApplyConfiguration {
	b.Hostname = &value
	return b
}
