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

package v1

// AWSEFSVolumeMetricsRecursiveWalkConfigApplyConfiguration represents a declarative configuration of the AWSEFSVolumeMetricsRecursiveWalkConfig type for use
// with apply.
type AWSEFSVolumeMetricsRecursiveWalkConfigApplyConfiguration struct {
	RefreshPeriodMinutes *int32 `json:"refreshPeriodMinutes,omitempty"`
	FSRateLimit          *int32 `json:"fsRateLimit,omitempty"`
}

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

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

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