func (in *LoadBalancingRuleSpec) DeepCopyInto(out *LoadBalancingRuleSpec) {
	*out = *in
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = new(LoadBalancerRuleSpecProperties)
		(*in).DeepCopyInto(*out)
	}
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import (
	corev1 "github.com/Azure/k8s-infra/apis/core/v1"
	"k8s.io/apimachinery/pkg/runtime"
)
func (in *AddressSpaceSpec) DeepCopyInto(out *AddressSpaceSpec) {
	*out = *in
	if in.AddressPrefixes != nil {
		in, out := &in.AddressPrefixes, &out.AddressPrefixes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *AddressSpaceSpec) DeepCopy() *AddressSpaceSpec {
	if in == nil {
		return nil
	}
	out := new(AddressSpaceSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *BGPCommunitiesSpec) DeepCopyInto(out *BGPCommunitiesSpec) {
	*out = *in
}
func (in *BGPCommunitiesSpec) DeepCopy() *BGPCommunitiesSpec {
	if in == nil {
		return nil
	}
	out := new(BGPCommunitiesSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendAddressPool) DeepCopyInto(out *BackendAddressPool) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *BackendAddressPool) DeepCopy() *BackendAddressPool {
	if in == nil {
		return nil
	}
	out := new(BackendAddressPool)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendAddressPool) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *BackendAddressPoolList) DeepCopyInto(out *BackendAddressPoolList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]BackendAddressPool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *BackendAddressPoolList) DeepCopy() *BackendAddressPoolList {
	if in == nil {
		return nil
	}
	out := new(BackendAddressPoolList)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendAddressPoolList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *BackendAddressPoolSpec) DeepCopyInto(out *BackendAddressPoolSpec) {
	*out = *in
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = new(BackendAddressPoolSpecProperties)
		(*in).DeepCopyInto(*out)
	}
}
func (in *BackendAddressPoolSpec) DeepCopy() *BackendAddressPoolSpec {
	if in == nil {
		return nil
	}
	out := new(BackendAddressPoolSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendAddressPoolSpecProperties) DeepCopyInto(out *BackendAddressPoolSpecProperties) {
	*out = *in
	if in.BackendIPConfigurationRefs != nil {
		in, out := &in.BackendIPConfigurationRefs, &out.BackendIPConfigurationRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
	if in.LoadBalancingRuleRefs != nil {
		in, out := &in.LoadBalancingRuleRefs, &out.LoadBalancingRuleRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
	if in.OutboundRuleRefs != nil {
		in, out := &in.OutboundRuleRefs, &out.OutboundRuleRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
}
func (in *BackendAddressPoolSpecProperties) DeepCopy() *BackendAddressPoolSpecProperties {
	if in == nil {
		return nil
	}
	out := new(BackendAddressPoolSpecProperties)
	in.DeepCopyInto(out)
	return out
}
func (in *BackendAddressPoolStatus) DeepCopyInto(out *BackendAddressPoolStatus) {
	*out = *in
}
func (in *BackendAddressPoolStatus) DeepCopy() *BackendAddressPoolStatus {
	if in == nil {
		return nil
	}
	out := new(BackendAddressPoolStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *DHCPOptionsSpec) DeepCopyInto(out *DHCPOptionsSpec) {
	*out = *in
	if in.DNSServers != nil {
		in, out := &in.DNSServers, &out.DNSServers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *DHCPOptionsSpec) DeepCopy() *DHCPOptionsSpec {
	if in == nil {
		return nil
	}
	out := new(DHCPOptionsSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendIPConfiguration) DeepCopyInto(out *FrontendIPConfiguration) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *FrontendIPConfiguration) DeepCopy() *FrontendIPConfiguration {
	if in == nil {
		return nil
	}
	out := new(FrontendIPConfiguration)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendIPConfiguration) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *FrontendIPConfigurationList) DeepCopyInto(out *FrontendIPConfigurationList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]FrontendIPConfiguration, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *FrontendIPConfigurationList) DeepCopy() *FrontendIPConfigurationList {
	if in == nil {
		return nil
	}
	out := new(FrontendIPConfigurationList)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendIPConfigurationList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *FrontendIPConfigurationSpec) DeepCopyInto(out *FrontendIPConfigurationSpec) {
	*out = *in
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = new(FrontendIPConfigurationSpecProperties)
		(*in).DeepCopyInto(*out)
	}
}
func (in *FrontendIPConfigurationSpec) DeepCopy() *FrontendIPConfigurationSpec {
	if in == nil {
		return nil
	}
	out := new(FrontendIPConfigurationSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendIPConfigurationSpecProperties) DeepCopyInto(out *FrontendIPConfigurationSpecProperties) {
	*out = *in
	if in.PublicIPAddressRef != nil {
		in, out := &in.PublicIPAddressRef, &out.PublicIPAddressRef
		*out = new(corev1.KnownTypeReference)
		**out = **in
	}
	if in.SubnetRef != nil {
		in, out := &in.SubnetRef, &out.SubnetRef
		*out = new(corev1.KnownTypeReference)
		**out = **in
	}
	if in.Zones != nil {
		in, out := &in.Zones, &out.Zones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *FrontendIPConfigurationSpecProperties) DeepCopy() *FrontendIPConfigurationSpecProperties {
	if in == nil {
		return nil
	}
	out := new(FrontendIPConfigurationSpecProperties)
	in.DeepCopyInto(out)
	return out
}
func (in *FrontendIPConfigurationStatus) DeepCopyInto(out *FrontendIPConfigurationStatus) {
	*out = *in
}
func (in *FrontendIPConfigurationStatus) DeepCopy() *FrontendIPConfigurationStatus {
	if in == nil {
		return nil
	}
	out := new(FrontendIPConfigurationStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *InboundNatRule) DeepCopyInto(out *InboundNatRule) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *InboundNatRule) DeepCopy() *InboundNatRule {
	if in == nil {
		return nil
	}
	out := new(InboundNatRule)
	in.DeepCopyInto(out)
	return out
}
func (in *InboundNatRule) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *InboundNatRuleList) DeepCopyInto(out *InboundNatRuleList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]InboundNatRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *InboundNatRuleList) DeepCopy() *InboundNatRuleList {
	if in == nil {
		return nil
	}
	out := new(InboundNatRuleList)
	in.DeepCopyInto(out)
	return out
}
func (in *InboundNatRuleList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *InboundNatRuleSpec) DeepCopyInto(out *InboundNatRuleSpec) {
	*out = *in
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = new(InboundNatRuleSpecProperties)
		**out = **in
	}
}
func (in *InboundNatRuleSpec) DeepCopy() *InboundNatRuleSpec {
	if in == nil {
		return nil
	}
	out := new(InboundNatRuleSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *InboundNatRuleSpecProperties) DeepCopyInto(out *InboundNatRuleSpecProperties) {
	*out = *in
}
func (in *InboundNatRuleSpecProperties) DeepCopy() *InboundNatRuleSpecProperties {
	if in == nil {
		return nil
	}
	out := new(InboundNatRuleSpecProperties)
	in.DeepCopyInto(out)
	return out
}
func (in *InboundNatRuleStatus) DeepCopyInto(out *InboundNatRuleStatus) {
	*out = *in
}
func (in *InboundNatRuleStatus) DeepCopy() *InboundNatRuleStatus {
	if in == nil {
		return nil
	}
	out := new(InboundNatRuleStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *InterfaceDNSSettings) DeepCopyInto(out *InterfaceDNSSettings) {
	*out = *in
	if in.DNSServers != nil {
		in, out := &in.DNSServers, &out.DNSServers
		*out = new([]string)
		if **in != nil {
			in, out := *in, *out
			*out = make([]string, len(*in))
			copy(*out, *in)
		}
	}
	if in.InternalDNSNameLabel != nil {
		in, out := &in.InternalDNSNameLabel, &out.InternalDNSNameLabel
		*out = new(string)
		**out = **in
	}
}
func (in *InterfaceDNSSettings) DeepCopy() *InterfaceDNSSettings {
	if in == nil {
		return nil
	}
	out := new(InterfaceDNSSettings)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *LoadBalancer) DeepCopy() *LoadBalancer {
	if in == nil {
		return nil
	}
	out := new(LoadBalancer)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancer) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]LoadBalancer, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *LoadBalancerList) DeepCopy() *LoadBalancerList {
	if in == nil {
		return nil
	}
	out := new(LoadBalancerList)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancerList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *LoadBalancerRuleSpecProperties) DeepCopyInto(out *LoadBalancerRuleSpecProperties) {
	*out = *in
	if in.FrontendIPConfigurationRef != nil {
		in, out := &in.FrontendIPConfigurationRef, &out.FrontendIPConfigurationRef
		*out = new(corev1.KnownTypeReference)
		**out = **in
	}
}
func (in *LoadBalancerRuleSpecProperties) DeepCopy() *LoadBalancerRuleSpecProperties {
	if in == nil {
		return nil
	}
	out := new(LoadBalancerRuleSpecProperties)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec) {
	*out = *in
	if in.ResourceGroupRef != nil {
		in, out := &in.ResourceGroupRef, &out.ResourceGroupRef
		*out = new(corev1.KnownTypeReference)
		**out = **in
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Properties != nil {
		in, out := &in.Properties, &out.Properties
		*out = new(LoadBalancerSpecProperties)
		(*in).DeepCopyInto(*out)
	}
}
func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec {
	if in == nil {
		return nil
	}
	out := new(LoadBalancerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancerSpecProperties) DeepCopyInto(out *LoadBalancerSpecProperties) {
	*out = *in
	if in.BackendAddressPoolRefs != nil {
		in, out := &in.BackendAddressPoolRefs, &out.BackendAddressPoolRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
	if in.FrontendIPConfigurationRefs != nil {
		in, out := &in.FrontendIPConfigurationRefs, &out.FrontendIPConfigurationRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
	if in.InboundNatRuleRefs != nil {
		in, out := &in.InboundNatRuleRefs, &out.InboundNatRuleRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
	if in.LoadBalancingRuleRefs != nil {
		in, out := &in.LoadBalancingRuleRefs, &out.LoadBalancingRuleRefs
		*out = make([]corev1.KnownTypeReference, len(*in))
		copy(*out, *in)
	}
}
func (in *LoadBalancerSpecProperties) DeepCopy() *LoadBalancerSpecProperties {
	if in == nil {
		return nil
	}
	out := new(LoadBalancerSpecProperties)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus) {
	*out = *in
}
func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus {
	if in == nil {
		return nil
	}
	out := new(LoadBalancerStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancingRule) DeepCopyInto(out *LoadBalancingRule) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	out.Status = in.Status
}
func (in *LoadBalancingRule) DeepCopy() *LoadBalancingRule {
	if in == nil {
		return nil
	}
	out := new(LoadBalancingRule)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancingRule) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *LoadBalancingRuleList) DeepCopyInto(out *LoadBalancingRuleList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]LoadBalancingRule, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *LoadBalancingRuleList) DeepCopy() *LoadBalancingRuleList {
	if in == nil {
		return nil
	}
	out := new(LoadBalancingRuleList)
	in.DeepCopyInto(out)
	return out
}
func (in *LoadBalancingRuleList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}