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

package v1

// ExportNetworkFlowsApplyConfiguration represents a declarative configuration of the ExportNetworkFlows type for use
// with apply.
type ExportNetworkFlowsApplyConfiguration struct {
	NetFlow *NetFlowConfigApplyConfiguration `json:"netFlow,omitempty"`
	SFlow   *SFlowConfigApplyConfiguration   `json:"sFlow,omitempty"`
	IPFIX   *IPFIXConfigApplyConfiguration   `json:"ipfix,omitempty"`
}

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

// WithNetFlow sets the NetFlow 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 NetFlow field is set to the value of the last call.
func (b *ExportNetworkFlowsApplyConfiguration) WithNetFlow(value *NetFlowConfigApplyConfiguration) *ExportNetworkFlowsApplyConfiguration {
	b.NetFlow = value
	return b
}

// WithSFlow sets the SFlow 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 SFlow field is set to the value of the last call.
func (b *ExportNetworkFlowsApplyConfiguration) WithSFlow(value *SFlowConfigApplyConfiguration) *ExportNetworkFlowsApplyConfiguration {
	b.SFlow = value
	return b
}

// WithIPFIX sets the IPFIX 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 IPFIX field is set to the value of the last call.
func (b *ExportNetworkFlowsApplyConfiguration) WithIPFIX(value *IPFIXConfigApplyConfiguration) *ExportNetworkFlowsApplyConfiguration {
	b.IPFIX = value
	return b
}
