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

package v1

// PolicyAuditConfigApplyConfiguration represents a declarative configuration of the PolicyAuditConfig type for use
// with apply.
type PolicyAuditConfigApplyConfiguration struct {
	RateLimit      *uint32 `json:"rateLimit,omitempty"`
	MaxFileSize    *uint32 `json:"maxFileSize,omitempty"`
	MaxLogFiles    *int32  `json:"maxLogFiles,omitempty"`
	Destination    *string `json:"destination,omitempty"`
	SyslogFacility *string `json:"syslogFacility,omitempty"`
}

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

// WithRateLimit sets the RateLimit 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 RateLimit field is set to the value of the last call.
func (b *PolicyAuditConfigApplyConfiguration) WithRateLimit(value uint32) *PolicyAuditConfigApplyConfiguration {
	b.RateLimit = &value
	return b
}

// WithMaxFileSize sets the MaxFileSize 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 MaxFileSize field is set to the value of the last call.
func (b *PolicyAuditConfigApplyConfiguration) WithMaxFileSize(value uint32) *PolicyAuditConfigApplyConfiguration {
	b.MaxFileSize = &value
	return b
}

// WithMaxLogFiles sets the MaxLogFiles 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 MaxLogFiles field is set to the value of the last call.
func (b *PolicyAuditConfigApplyConfiguration) WithMaxLogFiles(value int32) *PolicyAuditConfigApplyConfiguration {
	b.MaxLogFiles = &value
	return b
}

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

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