func (in *DanmNetSpec) DeepCopyInto(out *DanmNetSpec) {
	*out = *in
	if in.AllowedTenants != nil {
		in, out := &in.AllowedTenants, &out.AllowedTenants
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Options.DeepCopyInto(&out.Options)
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ClusterNetwork) DeepCopyInto(out *ClusterNetwork) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}
func (in *ClusterNetwork) DeepCopy() *ClusterNetwork {
	if in == nil {
		return nil
	}
	out := new(ClusterNetwork)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterNetwork) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ClusterNetworkList) DeepCopyInto(out *ClusterNetworkList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ClusterNetwork, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *ClusterNetworkList) DeepCopy() *ClusterNetworkList {
	if in == nil {
		return nil
	}
	out := new(ClusterNetworkList)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterNetworkList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *DanmEp) DeepCopyInto(out *DanmEp) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}
func (in *DanmEp) DeepCopy() *DanmEp {
	if in == nil {
		return nil
	}
	out := new(DanmEp)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmEp) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *DanmEpIface) DeepCopyInto(out *DanmEpIface) {
	*out = *in
	if in.Proutes != nil {
		in, out := &in.Proutes, &out.Proutes
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Proutes6 != nil {
		in, out := &in.Proutes6, &out.Proutes6
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	return
}
func (in *DanmEpIface) DeepCopy() *DanmEpIface {
	if in == nil {
		return nil
	}
	out := new(DanmEpIface)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmEpList) DeepCopyInto(out *DanmEpList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]DanmEp, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *DanmEpList) DeepCopy() *DanmEpList {
	if in == nil {
		return nil
	}
	out := new(DanmEpList)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmEpList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *DanmEpSpec) DeepCopyInto(out *DanmEpSpec) {
	*out = *in
	in.Iface.DeepCopyInto(&out.Iface)
	return
}
func (in *DanmEpSpec) DeepCopy() *DanmEpSpec {
	if in == nil {
		return nil
	}
	out := new(DanmEpSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmNet) DeepCopyInto(out *DanmNet) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}
func (in *DanmNet) DeepCopy() *DanmNet {
	if in == nil {
		return nil
	}
	out := new(DanmNet)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmNet) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *DanmNetList) DeepCopyInto(out *DanmNetList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]DanmNet, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *DanmNetList) DeepCopy() *DanmNetList {
	if in == nil {
		return nil
	}
	out := new(DanmNetList)
	in.DeepCopyInto(out)
	return out
}
func (in *DanmNetList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *DanmNetOption) DeepCopyInto(out *DanmNetOption) {
	*out = *in
	if in.Routes != nil {
		in, out := &in.Routes, &out.Routes
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	out.Pool = in.Pool
	if in.Routes6 != nil {
		in, out := &in.Routes6, &out.Routes6
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	out.Pool6 = in.Pool6
	return
}
func (in *DanmNetOption) DeepCopy() *DanmNetOption {
	if in == nil {
		return nil
	}
	out := new(DanmNetOption)
	in.DeepCopyInto(out)
	return out
}