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

package v1

// InsightsDataGatherSpecApplyConfiguration represents a declarative configuration of the InsightsDataGatherSpec type for use
// with apply.
//
// InsightsDataGatherSpec contains the configuration for the data gathering.
type InsightsDataGatherSpecApplyConfiguration struct {
	// gatherConfig is a required spec attribute that includes all the configuration options related to gathering of the Insights data and its uploading to the ingress.
	GatherConfig *GatherConfigApplyConfiguration `json:"gatherConfig,omitempty"`
}

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

// WithGatherConfig sets the GatherConfig 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 GatherConfig field is set to the value of the last call.
func (b *InsightsDataGatherSpecApplyConfiguration) WithGatherConfig(value *GatherConfigApplyConfiguration) *InsightsDataGatherSpecApplyConfiguration {
	b.GatherConfig = value
	return b
}
