// SPDX-License-Identifier: Apache-2.0
// Copyright Authors of Cilium

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

package v2

import (
	internalinterfaces "github.com/cilium/cilium/pkg/k8s/client/informers/externalversions/internalinterfaces"
)

// Interface provides access to all the informers in this group version.
type Interface interface {
	// CiliumBGPAdvertisements returns a CiliumBGPAdvertisementInformer.
	CiliumBGPAdvertisements() CiliumBGPAdvertisementInformer
	// CiliumBGPClusterConfigs returns a CiliumBGPClusterConfigInformer.
	CiliumBGPClusterConfigs() CiliumBGPClusterConfigInformer
	// CiliumBGPNodeConfigs returns a CiliumBGPNodeConfigInformer.
	CiliumBGPNodeConfigs() CiliumBGPNodeConfigInformer
	// CiliumBGPNodeConfigOverrides returns a CiliumBGPNodeConfigOverrideInformer.
	CiliumBGPNodeConfigOverrides() CiliumBGPNodeConfigOverrideInformer
	// CiliumBGPPeerConfigs returns a CiliumBGPPeerConfigInformer.
	CiliumBGPPeerConfigs() CiliumBGPPeerConfigInformer
	// CiliumCIDRGroups returns a CiliumCIDRGroupInformer.
	CiliumCIDRGroups() CiliumCIDRGroupInformer
	// CiliumClusterwideEnvoyConfigs returns a CiliumClusterwideEnvoyConfigInformer.
	CiliumClusterwideEnvoyConfigs() CiliumClusterwideEnvoyConfigInformer
	// CiliumClusterwideNetworkPolicies returns a CiliumClusterwideNetworkPolicyInformer.
	CiliumClusterwideNetworkPolicies() CiliumClusterwideNetworkPolicyInformer
	// CiliumEgressGatewayPolicies returns a CiliumEgressGatewayPolicyInformer.
	CiliumEgressGatewayPolicies() CiliumEgressGatewayPolicyInformer
	// CiliumEndpoints returns a CiliumEndpointInformer.
	CiliumEndpoints() CiliumEndpointInformer
	// CiliumEnvoyConfigs returns a CiliumEnvoyConfigInformer.
	CiliumEnvoyConfigs() CiliumEnvoyConfigInformer
	// CiliumIdentities returns a CiliumIdentityInformer.
	CiliumIdentities() CiliumIdentityInformer
	// CiliumLoadBalancerIPPools returns a CiliumLoadBalancerIPPoolInformer.
	CiliumLoadBalancerIPPools() CiliumLoadBalancerIPPoolInformer
	// CiliumLocalRedirectPolicies returns a CiliumLocalRedirectPolicyInformer.
	CiliumLocalRedirectPolicies() CiliumLocalRedirectPolicyInformer
	// CiliumNetworkPolicies returns a CiliumNetworkPolicyInformer.
	CiliumNetworkPolicies() CiliumNetworkPolicyInformer
	// CiliumNodes returns a CiliumNodeInformer.
	CiliumNodes() CiliumNodeInformer
	// CiliumNodeConfigs returns a CiliumNodeConfigInformer.
	CiliumNodeConfigs() CiliumNodeConfigInformer
}

type version struct {
	factory          internalinterfaces.SharedInformerFactory
	namespace        string
	tweakListOptions internalinterfaces.TweakListOptionsFunc
}

// New returns a new Interface.
func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
	return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
}

// CiliumBGPAdvertisements returns a CiliumBGPAdvertisementInformer.
func (v *version) CiliumBGPAdvertisements() CiliumBGPAdvertisementInformer {
	return &ciliumBGPAdvertisementInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumBGPClusterConfigs returns a CiliumBGPClusterConfigInformer.
func (v *version) CiliumBGPClusterConfigs() CiliumBGPClusterConfigInformer {
	return &ciliumBGPClusterConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumBGPNodeConfigs returns a CiliumBGPNodeConfigInformer.
func (v *version) CiliumBGPNodeConfigs() CiliumBGPNodeConfigInformer {
	return &ciliumBGPNodeConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumBGPNodeConfigOverrides returns a CiliumBGPNodeConfigOverrideInformer.
func (v *version) CiliumBGPNodeConfigOverrides() CiliumBGPNodeConfigOverrideInformer {
	return &ciliumBGPNodeConfigOverrideInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumBGPPeerConfigs returns a CiliumBGPPeerConfigInformer.
func (v *version) CiliumBGPPeerConfigs() CiliumBGPPeerConfigInformer {
	return &ciliumBGPPeerConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumCIDRGroups returns a CiliumCIDRGroupInformer.
func (v *version) CiliumCIDRGroups() CiliumCIDRGroupInformer {
	return &ciliumCIDRGroupInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumClusterwideEnvoyConfigs returns a CiliumClusterwideEnvoyConfigInformer.
func (v *version) CiliumClusterwideEnvoyConfigs() CiliumClusterwideEnvoyConfigInformer {
	return &ciliumClusterwideEnvoyConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumClusterwideNetworkPolicies returns a CiliumClusterwideNetworkPolicyInformer.
func (v *version) CiliumClusterwideNetworkPolicies() CiliumClusterwideNetworkPolicyInformer {
	return &ciliumClusterwideNetworkPolicyInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumEgressGatewayPolicies returns a CiliumEgressGatewayPolicyInformer.
func (v *version) CiliumEgressGatewayPolicies() CiliumEgressGatewayPolicyInformer {
	return &ciliumEgressGatewayPolicyInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumEndpoints returns a CiliumEndpointInformer.
func (v *version) CiliumEndpoints() CiliumEndpointInformer {
	return &ciliumEndpointInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// CiliumEnvoyConfigs returns a CiliumEnvoyConfigInformer.
func (v *version) CiliumEnvoyConfigs() CiliumEnvoyConfigInformer {
	return &ciliumEnvoyConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// CiliumIdentities returns a CiliumIdentityInformer.
func (v *version) CiliumIdentities() CiliumIdentityInformer {
	return &ciliumIdentityInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumLoadBalancerIPPools returns a CiliumLoadBalancerIPPoolInformer.
func (v *version) CiliumLoadBalancerIPPools() CiliumLoadBalancerIPPoolInformer {
	return &ciliumLoadBalancerIPPoolInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumLocalRedirectPolicies returns a CiliumLocalRedirectPolicyInformer.
func (v *version) CiliumLocalRedirectPolicies() CiliumLocalRedirectPolicyInformer {
	return &ciliumLocalRedirectPolicyInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// CiliumNetworkPolicies returns a CiliumNetworkPolicyInformer.
func (v *version) CiliumNetworkPolicies() CiliumNetworkPolicyInformer {
	return &ciliumNetworkPolicyInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// CiliumNodes returns a CiliumNodeInformer.
func (v *version) CiliumNodes() CiliumNodeInformer {
	return &ciliumNodeInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// CiliumNodeConfigs returns a CiliumNodeConfigInformer.
func (v *version) CiliumNodeConfigs() CiliumNodeConfigInformer {
	return &ciliumNodeConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}
