//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Copyright 2024 Antrea Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

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

package v1alpha2

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AppliedTo) DeepCopyInto(out *AppliedTo) {
	*out = *in
	if in.PodSelector != nil {
		in, out := &in.PodSelector, &out.PodSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.NamespaceSelector != nil {
		in, out := &in.NamespaceSelector, &out.NamespaceSelector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	if in.Groups != nil {
		in, out := &in.Groups, &out.Groups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ERSPANTunnel) DeepCopyInto(out *ERSPANTunnel) {
	*out = *in
	if in.SessionID != nil {
		in, out := &in.SessionID, &out.SessionID
		*out = new(int32)
		**out = **in
	}
	if in.Index != nil {
		in, out := &in.Index, &out.Index
		*out = new(int32)
		**out = **in
	}
	if in.Dir != nil {
		in, out := &in.Dir, &out.Dir
		*out = new(int32)
		**out = **in
	}
	if in.HardwareID != nil {
		in, out := &in.HardwareID, &out.HardwareID
		*out = new(int32)
		**out = **in
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Endpoint) DeepCopyInto(out *Endpoint) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalEntity) DeepCopyInto(out *ExternalEntity) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ExternalEntity) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalEntityList) DeepCopyInto(out *ExternalEntityList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ExternalEntity, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ExternalEntityList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ExternalEntitySpec) DeepCopyInto(out *ExternalEntitySpec) {
	*out = *in
	if in.Endpoints != nil {
		in, out := &in.Endpoints, &out.Endpoints
		*out = make([]Endpoint, len(*in))
		copy(*out, *in)
	}
	if in.Ports != nil {
		in, out := &in.Ports, &out.Ports
		*out = make([]NamedPort, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GRETunnel) DeepCopyInto(out *GRETunnel) {
	*out = *in
	if in.Key != nil {
		in, out := &in.Key, &out.Key
		*out = new(int32)
		**out = **in
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPAddressOwner) DeepCopyInto(out *IPAddressOwner) {
	*out = *in
	if in.Pod != nil {
		in, out := &in.Pod, &out.Pod
		*out = new(PodOwner)
		**out = **in
	}
	if in.StatefulSet != nil {
		in, out := &in.StatefulSet, &out.StatefulSet
		*out = new(StatefulSetOwner)
		**out = **in
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPAddressState) DeepCopyInto(out *IPAddressState) {
	*out = *in
	in.Owner.DeepCopyInto(&out.Owner)
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPPool) DeepCopyInto(out *IPPool) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *IPPool) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPPoolList) DeepCopyInto(out *IPPoolList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]IPPool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *IPPoolList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPPoolSpec) DeepCopyInto(out *IPPoolSpec) {
	*out = *in
	if in.IPRanges != nil {
		in, out := &in.IPRanges, &out.IPRanges
		*out = make([]SubnetIPRange, len(*in))
		copy(*out, *in)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPPoolStatus) DeepCopyInto(out *IPPoolStatus) {
	*out = *in
	if in.IPAddresses != nil {
		in, out := &in.IPAddresses, &out.IPAddresses
		*out = make([]IPAddressState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	out.Usage = in.Usage
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPPoolUsage) DeepCopyInto(out *IPPoolUsage) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *IPRange) DeepCopyInto(out *IPRange) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NamedPort) DeepCopyInto(out *NamedPort) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NetworkDevice) DeepCopyInto(out *NetworkDevice) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *OVSInternalPort) DeepCopyInto(out *OVSInternalPort) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PodOwner) DeepCopyInto(out *PodOwner) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StatefulSetOwner) DeepCopyInto(out *StatefulSetOwner) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubnetIPRange) DeepCopyInto(out *SubnetIPRange) {
	*out = *in
	out.IPRange = in.IPRange
	out.SubnetInfo = in.SubnetInfo
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubnetInfo) DeepCopyInto(out *SubnetInfo) {
	*out = *in
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficControl) DeepCopyInto(out *TrafficControl) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TrafficControl) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficControlList) DeepCopyInto(out *TrafficControlList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]TrafficControl, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TrafficControlList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficControlPort) DeepCopyInto(out *TrafficControlPort) {
	*out = *in
	if in.OVSInternal != nil {
		in, out := &in.OVSInternal, &out.OVSInternal
		*out = new(OVSInternalPort)
		**out = **in
	}
	if in.Device != nil {
		in, out := &in.Device, &out.Device
		*out = new(NetworkDevice)
		**out = **in
	}
	if in.GENEVE != nil {
		in, out := &in.GENEVE, &out.GENEVE
		*out = new(UDPTunnel)
		(*in).DeepCopyInto(*out)
	}
	if in.VXLAN != nil {
		in, out := &in.VXLAN, &out.VXLAN
		*out = new(UDPTunnel)
		(*in).DeepCopyInto(*out)
	}
	if in.GRE != nil {
		in, out := &in.GRE, &out.GRE
		*out = new(GRETunnel)
		(*in).DeepCopyInto(*out)
	}
	if in.ERSPAN != nil {
		in, out := &in.ERSPAN, &out.ERSPAN
		*out = new(ERSPANTunnel)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TrafficControlSpec) DeepCopyInto(out *TrafficControlSpec) {
	*out = *in
	in.AppliedTo.DeepCopyInto(&out.AppliedTo)
	in.TargetPort.DeepCopyInto(&out.TargetPort)
	if in.ReturnPort != nil {
		in, out := &in.ReturnPort, &out.ReturnPort
		*out = new(TrafficControlPort)
		(*in).DeepCopyInto(*out)
	}
	return
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UDPTunnel) DeepCopyInto(out *UDPTunnel) {
	*out = *in
	if in.VNI != nil {
		in, out := &in.VNI, &out.VNI
		*out = new(int32)
		**out = **in
	}
	if in.DestinationPort != nil {
		in, out := &in.DestinationPort, &out.DestinationPort
		*out = new(int32)
		**out = **in
	}
	return
}

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