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

package v1alpha1

import (
	configv1alpha1 "github.com/openshift/api/config/v1alpha1"
)

// NodeExporterCollectorNetClassCollectConfigApplyConfiguration represents a declarative configuration of the NodeExporterCollectorNetClassCollectConfig type for use
// with apply.
//
// NodeExporterCollectorNetClassCollectConfig holds configuration options for the netclass collector
// when it is actively collecting metrics. At least one field must be specified.
type NodeExporterCollectorNetClassCollectConfigApplyConfiguration struct {
	// statsGatherer selects which implementation the netclass collector uses to gather statistics (sysfs or netlink).
	// statsGatherer is optional.
	// Valid values are "Sysfs" and "Netlink".
	// When set to "Netlink", the netlink implementation is used; when set to "Sysfs", the sysfs implementation is used.
	// When omitted, this means no opinion and the platform is left to choose a reasonable default,
	// which is subject to change over time. The current default is Netlink.
	StatsGatherer *configv1alpha1.NodeExporterNetclassStatsGatherer `json:"statsGatherer,omitempty"`
}

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

// WithStatsGatherer sets the StatsGatherer 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 StatsGatherer field is set to the value of the last call.
func (b *NodeExporterCollectorNetClassCollectConfigApplyConfiguration) WithStatsGatherer(value configv1alpha1.NodeExporterNetclassStatsGatherer) *NodeExporterCollectorNetClassCollectConfigApplyConfiguration {
	b.StatsGatherer = &value
	return b
}
