// Code generated by protoc-gen-deepcopy. DO NOT EDIT.
package pbproxystate

import (
	proto "google.golang.org/protobuf/proto"
)

// DeepCopyInto supports using Cluster within kubernetes types, where deepcopy-gen is used.
func (in *Cluster) DeepCopyInto(out *Cluster) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Cluster. Required by controller-gen.
func (in *Cluster) DeepCopy() *Cluster {
	if in == nil {
		return nil
	}
	out := new(Cluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Cluster. Required by controller-gen.
func (in *Cluster) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using FailoverGroup within kubernetes types, where deepcopy-gen is used.
func (in *FailoverGroup) DeepCopyInto(out *FailoverGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverGroup. Required by controller-gen.
func (in *FailoverGroup) DeepCopy() *FailoverGroup {
	if in == nil {
		return nil
	}
	out := new(FailoverGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new FailoverGroup. Required by controller-gen.
func (in *FailoverGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using FailoverGroupConfig within kubernetes types, where deepcopy-gen is used.
func (in *FailoverGroupConfig) DeepCopyInto(out *FailoverGroupConfig) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailoverGroupConfig. Required by controller-gen.
func (in *FailoverGroupConfig) DeepCopy() *FailoverGroupConfig {
	if in == nil {
		return nil
	}
	out := new(FailoverGroupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new FailoverGroupConfig. Required by controller-gen.
func (in *FailoverGroupConfig) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using EndpointGroup within kubernetes types, where deepcopy-gen is used.
func (in *EndpointGroup) DeepCopyInto(out *EndpointGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointGroup. Required by controller-gen.
func (in *EndpointGroup) DeepCopy() *EndpointGroup {
	if in == nil {
		return nil
	}
	out := new(EndpointGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EndpointGroup. Required by controller-gen.
func (in *EndpointGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using DynamicEndpointGroup within kubernetes types, where deepcopy-gen is used.
func (in *DynamicEndpointGroup) DeepCopyInto(out *DynamicEndpointGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicEndpointGroup. Required by controller-gen.
func (in *DynamicEndpointGroup) DeepCopy() *DynamicEndpointGroup {
	if in == nil {
		return nil
	}
	out := new(DynamicEndpointGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DynamicEndpointGroup. Required by controller-gen.
func (in *DynamicEndpointGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using PassthroughEndpointGroup within kubernetes types, where deepcopy-gen is used.
func (in *PassthroughEndpointGroup) DeepCopyInto(out *PassthroughEndpointGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughEndpointGroup. Required by controller-gen.
func (in *PassthroughEndpointGroup) DeepCopy() *PassthroughEndpointGroup {
	if in == nil {
		return nil
	}
	out := new(PassthroughEndpointGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughEndpointGroup. Required by controller-gen.
func (in *PassthroughEndpointGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using DNSEndpointGroup within kubernetes types, where deepcopy-gen is used.
func (in *DNSEndpointGroup) DeepCopyInto(out *DNSEndpointGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointGroup. Required by controller-gen.
func (in *DNSEndpointGroup) DeepCopy() *DNSEndpointGroup {
	if in == nil {
		return nil
	}
	out := new(DNSEndpointGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointGroup. Required by controller-gen.
func (in *DNSEndpointGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using StaticEndpointGroup within kubernetes types, where deepcopy-gen is used.
func (in *StaticEndpointGroup) DeepCopyInto(out *StaticEndpointGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticEndpointGroup. Required by controller-gen.
func (in *StaticEndpointGroup) DeepCopy() *StaticEndpointGroup {
	if in == nil {
		return nil
	}
	out := new(StaticEndpointGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new StaticEndpointGroup. Required by controller-gen.
func (in *StaticEndpointGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using DestinationCluster within kubernetes types, where deepcopy-gen is used.
func (in *DestinationCluster) DeepCopyInto(out *DestinationCluster) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationCluster. Required by controller-gen.
func (in *DestinationCluster) DeepCopy() *DestinationCluster {
	if in == nil {
		return nil
	}
	out := new(DestinationCluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DestinationCluster. Required by controller-gen.
func (in *DestinationCluster) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using L4WeightedClusterGroup within kubernetes types, where deepcopy-gen is used.
func (in *L4WeightedClusterGroup) DeepCopyInto(out *L4WeightedClusterGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L4WeightedClusterGroup. Required by controller-gen.
func (in *L4WeightedClusterGroup) DeepCopy() *L4WeightedClusterGroup {
	if in == nil {
		return nil
	}
	out := new(L4WeightedClusterGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new L4WeightedClusterGroup. Required by controller-gen.
func (in *L4WeightedClusterGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using L7WeightedClusterGroup within kubernetes types, where deepcopy-gen is used.
func (in *L7WeightedClusterGroup) DeepCopyInto(out *L7WeightedClusterGroup) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L7WeightedClusterGroup. Required by controller-gen.
func (in *L7WeightedClusterGroup) DeepCopy() *L7WeightedClusterGroup {
	if in == nil {
		return nil
	}
	out := new(L7WeightedClusterGroup)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new L7WeightedClusterGroup. Required by controller-gen.
func (in *L7WeightedClusterGroup) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using L4WeightedDestinationCluster within kubernetes types, where deepcopy-gen is used.
func (in *L4WeightedDestinationCluster) DeepCopyInto(out *L4WeightedDestinationCluster) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L4WeightedDestinationCluster. Required by controller-gen.
func (in *L4WeightedDestinationCluster) DeepCopy() *L4WeightedDestinationCluster {
	if in == nil {
		return nil
	}
	out := new(L4WeightedDestinationCluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new L4WeightedDestinationCluster. Required by controller-gen.
func (in *L4WeightedDestinationCluster) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using L7WeightedDestinationCluster within kubernetes types, where deepcopy-gen is used.
func (in *L7WeightedDestinationCluster) DeepCopyInto(out *L7WeightedDestinationCluster) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L7WeightedDestinationCluster. Required by controller-gen.
func (in *L7WeightedDestinationCluster) DeepCopy() *L7WeightedDestinationCluster {
	if in == nil {
		return nil
	}
	out := new(L7WeightedDestinationCluster)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new L7WeightedDestinationCluster. Required by controller-gen.
func (in *L7WeightedDestinationCluster) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using DynamicEndpointGroupConfig within kubernetes types, where deepcopy-gen is used.
func (in *DynamicEndpointGroupConfig) DeepCopyInto(out *DynamicEndpointGroupConfig) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DynamicEndpointGroupConfig. Required by controller-gen.
func (in *DynamicEndpointGroupConfig) DeepCopy() *DynamicEndpointGroupConfig {
	if in == nil {
		return nil
	}
	out := new(DynamicEndpointGroupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DynamicEndpointGroupConfig. Required by controller-gen.
func (in *DynamicEndpointGroupConfig) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using LBPolicyLeastRequest within kubernetes types, where deepcopy-gen is used.
func (in *LBPolicyLeastRequest) DeepCopyInto(out *LBPolicyLeastRequest) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyLeastRequest. Required by controller-gen.
func (in *LBPolicyLeastRequest) DeepCopy() *LBPolicyLeastRequest {
	if in == nil {
		return nil
	}
	out := new(LBPolicyLeastRequest)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyLeastRequest. Required by controller-gen.
func (in *LBPolicyLeastRequest) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using LBPolicyRoundRobin within kubernetes types, where deepcopy-gen is used.
func (in *LBPolicyRoundRobin) DeepCopyInto(out *LBPolicyRoundRobin) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRoundRobin. Required by controller-gen.
func (in *LBPolicyRoundRobin) DeepCopy() *LBPolicyRoundRobin {
	if in == nil {
		return nil
	}
	out := new(LBPolicyRoundRobin)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRoundRobin. Required by controller-gen.
func (in *LBPolicyRoundRobin) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using LBPolicyRandom within kubernetes types, where deepcopy-gen is used.
func (in *LBPolicyRandom) DeepCopyInto(out *LBPolicyRandom) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRandom. Required by controller-gen.
func (in *LBPolicyRandom) DeepCopy() *LBPolicyRandom {
	if in == nil {
		return nil
	}
	out := new(LBPolicyRandom)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRandom. Required by controller-gen.
func (in *LBPolicyRandom) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using LBPolicyRingHash within kubernetes types, where deepcopy-gen is used.
func (in *LBPolicyRingHash) DeepCopyInto(out *LBPolicyRingHash) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRingHash. Required by controller-gen.
func (in *LBPolicyRingHash) DeepCopy() *LBPolicyRingHash {
	if in == nil {
		return nil
	}
	out := new(LBPolicyRingHash)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyRingHash. Required by controller-gen.
func (in *LBPolicyRingHash) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using LBPolicyMaglev within kubernetes types, where deepcopy-gen is used.
func (in *LBPolicyMaglev) DeepCopyInto(out *LBPolicyMaglev) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyMaglev. Required by controller-gen.
func (in *LBPolicyMaglev) DeepCopy() *LBPolicyMaglev {
	if in == nil {
		return nil
	}
	out := new(LBPolicyMaglev)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new LBPolicyMaglev. Required by controller-gen.
func (in *LBPolicyMaglev) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using CircuitBreakers within kubernetes types, where deepcopy-gen is used.
func (in *CircuitBreakers) DeepCopyInto(out *CircuitBreakers) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakers. Required by controller-gen.
func (in *CircuitBreakers) DeepCopy() *CircuitBreakers {
	if in == nil {
		return nil
	}
	out := new(CircuitBreakers)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakers. Required by controller-gen.
func (in *CircuitBreakers) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using UpstreamLimits within kubernetes types, where deepcopy-gen is used.
func (in *UpstreamLimits) DeepCopyInto(out *UpstreamLimits) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamLimits. Required by controller-gen.
func (in *UpstreamLimits) DeepCopy() *UpstreamLimits {
	if in == nil {
		return nil
	}
	out := new(UpstreamLimits)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamLimits. Required by controller-gen.
func (in *UpstreamLimits) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using OutlierDetection within kubernetes types, where deepcopy-gen is used.
func (in *OutlierDetection) DeepCopyInto(out *OutlierDetection) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetection. Required by controller-gen.
func (in *OutlierDetection) DeepCopy() *OutlierDetection {
	if in == nil {
		return nil
	}
	out := new(OutlierDetection)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new OutlierDetection. Required by controller-gen.
func (in *OutlierDetection) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using UpstreamConnectionOptions within kubernetes types, where deepcopy-gen is used.
func (in *UpstreamConnectionOptions) DeepCopyInto(out *UpstreamConnectionOptions) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamConnectionOptions. Required by controller-gen.
func (in *UpstreamConnectionOptions) DeepCopy() *UpstreamConnectionOptions {
	if in == nil {
		return nil
	}
	out := new(UpstreamConnectionOptions)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamConnectionOptions. Required by controller-gen.
func (in *UpstreamConnectionOptions) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using PassthroughEndpointGroupConfig within kubernetes types, where deepcopy-gen is used.
func (in *PassthroughEndpointGroupConfig) DeepCopyInto(out *PassthroughEndpointGroupConfig) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughEndpointGroupConfig. Required by controller-gen.
func (in *PassthroughEndpointGroupConfig) DeepCopy() *PassthroughEndpointGroupConfig {
	if in == nil {
		return nil
	}
	out := new(PassthroughEndpointGroupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new PassthroughEndpointGroupConfig. Required by controller-gen.
func (in *PassthroughEndpointGroupConfig) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using DNSEndpointGroupConfig within kubernetes types, where deepcopy-gen is used.
func (in *DNSEndpointGroupConfig) DeepCopyInto(out *DNSEndpointGroupConfig) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointGroupConfig. Required by controller-gen.
func (in *DNSEndpointGroupConfig) DeepCopy() *DNSEndpointGroupConfig {
	if in == nil {
		return nil
	}
	out := new(DNSEndpointGroupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DNSEndpointGroupConfig. Required by controller-gen.
func (in *DNSEndpointGroupConfig) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}

// DeepCopyInto supports using StaticEndpointGroupConfig within kubernetes types, where deepcopy-gen is used.
func (in *StaticEndpointGroupConfig) DeepCopyInto(out *StaticEndpointGroupConfig) {
	proto.Reset(out)
	proto.Merge(out, proto.Clone(in))
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StaticEndpointGroupConfig. Required by controller-gen.
func (in *StaticEndpointGroupConfig) DeepCopy() *StaticEndpointGroupConfig {
	if in == nil {
		return nil
	}
	out := new(StaticEndpointGroupConfig)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new StaticEndpointGroupConfig. Required by controller-gen.
func (in *StaticEndpointGroupConfig) DeepCopyInterface() interface{} {
	return in.DeepCopy()
}
