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

/*
Copyright The Kubernetes 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 controller-gen. DO NOT EDIT.

package v1beta1

import (
	corev1 "k8s.io/api/core/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	apiv1beta1 "sigs.k8s.io/cluster-api/api/v1beta1"
	"sigs.k8s.io/cluster-api/errors"
)

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *APIServerAccessProfile) DeepCopyInto(out *APIServerAccessProfile) {
	*out = *in
	if in.AuthorizedIPRanges != nil {
		in, out := &in.AuthorizedIPRanges, &out.AuthorizedIPRanges
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.EnablePrivateCluster != nil {
		in, out := &in.EnablePrivateCluster, &out.EnablePrivateCluster
		*out = new(bool)
		**out = **in
	}
	if in.PrivateDNSZone != nil {
		in, out := &in.PrivateDNSZone, &out.PrivateDNSZone
		*out = new(string)
		**out = **in
	}
	if in.EnablePrivateClusterPublicFQDN != nil {
		in, out := &in.EnablePrivateClusterPublicFQDN, &out.EnablePrivateClusterPublicFQDN
		*out = new(bool)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AddonProfile) DeepCopyInto(out *AddonProfile) {
	*out = *in
	if in.Config != nil {
		in, out := &in.Config, &out.Config
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AutoScalerProfile) DeepCopyInto(out *AutoScalerProfile) {
	*out = *in
	if in.BalanceSimilarNodeGroups != nil {
		in, out := &in.BalanceSimilarNodeGroups, &out.BalanceSimilarNodeGroups
		*out = new(BalanceSimilarNodeGroups)
		**out = **in
	}
	if in.Expander != nil {
		in, out := &in.Expander, &out.Expander
		*out = new(Expander)
		**out = **in
	}
	if in.MaxEmptyBulkDelete != nil {
		in, out := &in.MaxEmptyBulkDelete, &out.MaxEmptyBulkDelete
		*out = new(string)
		**out = **in
	}
	if in.MaxGracefulTerminationSec != nil {
		in, out := &in.MaxGracefulTerminationSec, &out.MaxGracefulTerminationSec
		*out = new(string)
		**out = **in
	}
	if in.MaxNodeProvisionTime != nil {
		in, out := &in.MaxNodeProvisionTime, &out.MaxNodeProvisionTime
		*out = new(string)
		**out = **in
	}
	if in.MaxTotalUnreadyPercentage != nil {
		in, out := &in.MaxTotalUnreadyPercentage, &out.MaxTotalUnreadyPercentage
		*out = new(string)
		**out = **in
	}
	if in.NewPodScaleUpDelay != nil {
		in, out := &in.NewPodScaleUpDelay, &out.NewPodScaleUpDelay
		*out = new(string)
		**out = **in
	}
	if in.OkTotalUnreadyCount != nil {
		in, out := &in.OkTotalUnreadyCount, &out.OkTotalUnreadyCount
		*out = new(string)
		**out = **in
	}
	if in.ScanInterval != nil {
		in, out := &in.ScanInterval, &out.ScanInterval
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownDelayAfterAdd != nil {
		in, out := &in.ScaleDownDelayAfterAdd, &out.ScaleDownDelayAfterAdd
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownDelayAfterDelete != nil {
		in, out := &in.ScaleDownDelayAfterDelete, &out.ScaleDownDelayAfterDelete
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownDelayAfterFailure != nil {
		in, out := &in.ScaleDownDelayAfterFailure, &out.ScaleDownDelayAfterFailure
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownUnneededTime != nil {
		in, out := &in.ScaleDownUnneededTime, &out.ScaleDownUnneededTime
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownUnreadyTime != nil {
		in, out := &in.ScaleDownUnreadyTime, &out.ScaleDownUnreadyTime
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownUtilizationThreshold != nil {
		in, out := &in.ScaleDownUtilizationThreshold, &out.ScaleDownUtilizationThreshold
		*out = new(string)
		**out = **in
	}
	if in.SkipNodesWithLocalStorage != nil {
		in, out := &in.SkipNodesWithLocalStorage, &out.SkipNodesWithLocalStorage
		*out = new(SkipNodesWithLocalStorage)
		**out = **in
	}
	if in.SkipNodesWithSystemPods != nil {
		in, out := &in.SkipNodesWithSystemPods, &out.SkipNodesWithSystemPods
		*out = new(SkipNodesWithSystemPods)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureCluster) 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 *AzureClusterClassSpec) DeepCopyInto(out *AzureClusterClassSpec) {
	*out = *in
	if in.ExtendedLocation != nil {
		in, out := &in.ExtendedLocation, &out.ExtendedLocation
		*out = new(ExtendedLocationSpec)
		**out = **in
	}
	if in.AdditionalTags != nil {
		in, out := &in.AdditionalTags, &out.AdditionalTags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.IdentityRef != nil {
		in, out := &in.IdentityRef, &out.IdentityRef
		*out = new(corev1.ObjectReference)
		**out = **in
	}
	if in.CloudProviderConfigOverrides != nil {
		in, out := &in.CloudProviderConfigOverrides, &out.CloudProviderConfigOverrides
		*out = new(CloudProviderConfigOverrides)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureClusterIdentity) 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 *AzureClusterIdentityList) DeepCopyInto(out *AzureClusterIdentityList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureClusterIdentity, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureClusterIdentityList) 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 *AzureClusterIdentitySpec) DeepCopyInto(out *AzureClusterIdentitySpec) {
	*out = *in
	out.ClientSecret = in.ClientSecret
	if in.AllowedNamespaces != nil {
		in, out := &in.AllowedNamespaces, &out.AllowedNamespaces
		*out = new(AllowedNamespaces)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureClusterList) 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 *AzureClusterSpec) DeepCopyInto(out *AzureClusterSpec) {
	*out = *in
	in.AzureClusterClassSpec.DeepCopyInto(&out.AzureClusterClassSpec)
	in.NetworkSpec.DeepCopyInto(&out.NetworkSpec)
	in.BastionSpec.DeepCopyInto(&out.BastionSpec)
	out.ControlPlaneEndpoint = in.ControlPlaneEndpoint
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureClusterStatus) DeepCopyInto(out *AzureClusterStatus) {
	*out = *in
	if in.FailureDomains != nil {
		in, out := &in.FailureDomains, &out.FailureDomains
		*out = make(apiv1beta1.FailureDomains, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make(apiv1beta1.Conditions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LongRunningOperationStates != nil {
		in, out := &in.LongRunningOperationStates, &out.LongRunningOperationStates
		*out = make(Futures, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureClusterTemplate) 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 *AzureClusterTemplateList) DeepCopyInto(out *AzureClusterTemplateList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureClusterTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureClusterTemplateList) 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 *AzureClusterTemplateResource) DeepCopyInto(out *AzureClusterTemplateResource) {
	*out = *in
	in.Spec.DeepCopyInto(&out.Spec)
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureComputeGalleryImage) DeepCopyInto(out *AzureComputeGalleryImage) {
	*out = *in
	if in.SubscriptionID != nil {
		in, out := &in.SubscriptionID, &out.SubscriptionID
		*out = new(string)
		**out = **in
	}
	if in.ResourceGroup != nil {
		in, out := &in.ResourceGroup, &out.ResourceGroup
		*out = new(string)
		**out = **in
	}
	if in.Plan != nil {
		in, out := &in.Plan, &out.Plan
		*out = new(ImagePlan)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureMachine) 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 *AzureMachineList) DeepCopyInto(out *AzureMachineList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureMachine, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureMachineList) 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 *AzureMachineSpec) DeepCopyInto(out *AzureMachineSpec) {
	*out = *in
	if in.ProviderID != nil {
		in, out := &in.ProviderID, &out.ProviderID
		*out = new(string)
		**out = **in
	}
	if in.FailureDomain != nil {
		in, out := &in.FailureDomain, &out.FailureDomain
		*out = new(string)
		**out = **in
	}
	if in.Image != nil {
		in, out := &in.Image, &out.Image
		*out = new(Image)
		(*in).DeepCopyInto(*out)
	}
	if in.UserAssignedIdentities != nil {
		in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities
		*out = make([]UserAssignedIdentity, len(*in))
		copy(*out, *in)
	}
	if in.SystemAssignedIdentityRole != nil {
		in, out := &in.SystemAssignedIdentityRole, &out.SystemAssignedIdentityRole
		*out = new(SystemAssignedIdentityRole)
		**out = **in
	}
	in.OSDisk.DeepCopyInto(&out.OSDisk)
	if in.DataDisks != nil {
		in, out := &in.DataDisks, &out.DataDisks
		*out = make([]DataDisk, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.AdditionalTags != nil {
		in, out := &in.AdditionalTags, &out.AdditionalTags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.AdditionalCapabilities != nil {
		in, out := &in.AdditionalCapabilities, &out.AdditionalCapabilities
		*out = new(AdditionalCapabilities)
		(*in).DeepCopyInto(*out)
	}
	if in.AcceleratedNetworking != nil {
		in, out := &in.AcceleratedNetworking, &out.AcceleratedNetworking
		*out = new(bool)
		**out = **in
	}
	if in.Diagnostics != nil {
		in, out := &in.Diagnostics, &out.Diagnostics
		*out = new(Diagnostics)
		(*in).DeepCopyInto(*out)
	}
	if in.SpotVMOptions != nil {
		in, out := &in.SpotVMOptions, &out.SpotVMOptions
		*out = new(SpotVMOptions)
		(*in).DeepCopyInto(*out)
	}
	if in.SecurityProfile != nil {
		in, out := &in.SecurityProfile, &out.SecurityProfile
		*out = new(SecurityProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.DNSServers != nil {
		in, out := &in.DNSServers, &out.DNSServers
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.VMExtensions != nil {
		in, out := &in.VMExtensions, &out.VMExtensions
		*out = make([]VMExtension, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.NetworkInterfaces != nil {
		in, out := &in.NetworkInterfaces, &out.NetworkInterfaces
		*out = make([]NetworkInterface, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureMachineStatus) DeepCopyInto(out *AzureMachineStatus) {
	*out = *in
	if in.Addresses != nil {
		in, out := &in.Addresses, &out.Addresses
		*out = make([]corev1.NodeAddress, len(*in))
		copy(*out, *in)
	}
	if in.VMState != nil {
		in, out := &in.VMState, &out.VMState
		*out = new(ProvisioningState)
		**out = **in
	}
	if in.FailureReason != nil {
		in, out := &in.FailureReason, &out.FailureReason
		*out = new(errors.MachineStatusError)
		**out = **in
	}
	if in.FailureMessage != nil {
		in, out := &in.FailureMessage, &out.FailureMessage
		*out = new(string)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make(apiv1beta1.Conditions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LongRunningOperationStates != nil {
		in, out := &in.LongRunningOperationStates, &out.LongRunningOperationStates
		*out = make(Futures, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureMachineTemplate) 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 *AzureMachineTemplateList) DeepCopyInto(out *AzureMachineTemplateList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureMachineTemplate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureMachineTemplateList) 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 *AzureMachineTemplateResource) DeepCopyInto(out *AzureMachineTemplateResource) {
	*out = *in
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedCluster) 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 *AzureManagedClusterList) DeepCopyInto(out *AzureManagedClusterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureManagedCluster, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedClusterList) 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 *AzureManagedClusterSpec) DeepCopyInto(out *AzureManagedClusterSpec) {
	*out = *in
	out.ControlPlaneEndpoint = in.ControlPlaneEndpoint
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedControlPlane) 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 *AzureManagedControlPlaneList) DeepCopyInto(out *AzureManagedControlPlaneList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureManagedControlPlane, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedControlPlaneList) 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 *AzureManagedControlPlaneSpec) DeepCopyInto(out *AzureManagedControlPlaneSpec) {
	*out = *in
	in.VirtualNetwork.DeepCopyInto(&out.VirtualNetwork)
	out.ControlPlaneEndpoint = in.ControlPlaneEndpoint
	if in.AdditionalTags != nil {
		in, out := &in.AdditionalTags, &out.AdditionalTags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.NetworkPlugin != nil {
		in, out := &in.NetworkPlugin, &out.NetworkPlugin
		*out = new(string)
		**out = **in
	}
	if in.NetworkPluginMode != nil {
		in, out := &in.NetworkPluginMode, &out.NetworkPluginMode
		*out = new(NetworkPluginMode)
		**out = **in
	}
	if in.NetworkPolicy != nil {
		in, out := &in.NetworkPolicy, &out.NetworkPolicy
		*out = new(string)
		**out = **in
	}
	if in.OutboundType != nil {
		in, out := &in.OutboundType, &out.OutboundType
		*out = new(ManagedControlPlaneOutboundType)
		**out = **in
	}
	if in.SSHPublicKey != nil {
		in, out := &in.SSHPublicKey, &out.SSHPublicKey
		*out = new(string)
		**out = **in
	}
	if in.DNSServiceIP != nil {
		in, out := &in.DNSServiceIP, &out.DNSServiceIP
		*out = new(string)
		**out = **in
	}
	if in.LoadBalancerSKU != nil {
		in, out := &in.LoadBalancerSKU, &out.LoadBalancerSKU
		*out = new(string)
		**out = **in
	}
	if in.IdentityRef != nil {
		in, out := &in.IdentityRef, &out.IdentityRef
		*out = new(corev1.ObjectReference)
		**out = **in
	}
	if in.AADProfile != nil {
		in, out := &in.AADProfile, &out.AADProfile
		*out = new(AADProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.AddonProfiles != nil {
		in, out := &in.AddonProfiles, &out.AddonProfiles
		*out = make([]AddonProfile, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SKU != nil {
		in, out := &in.SKU, &out.SKU
		*out = new(AKSSku)
		**out = **in
	}
	if in.LoadBalancerProfile != nil {
		in, out := &in.LoadBalancerProfile, &out.LoadBalancerProfile
		*out = new(LoadBalancerProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.APIServerAccessProfile != nil {
		in, out := &in.APIServerAccessProfile, &out.APIServerAccessProfile
		*out = new(APIServerAccessProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.AutoScalerProfile != nil {
		in, out := &in.AutoScalerProfile, &out.AutoScalerProfile
		*out = new(AutoScalerProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.Identity != nil {
		in, out := &in.Identity, &out.Identity
		*out = new(Identity)
		**out = **in
	}
	if in.HTTPProxyConfig != nil {
		in, out := &in.HTTPProxyConfig, &out.HTTPProxyConfig
		*out = new(HTTPProxyConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.OIDCIssuerProfile != nil {
		in, out := &in.OIDCIssuerProfile, &out.OIDCIssuerProfile
		*out = new(OIDCIssuerProfile)
		(*in).DeepCopyInto(*out)
	}
	if in.DNSPrefix != nil {
		in, out := &in.DNSPrefix, &out.DNSPrefix
		*out = new(string)
		**out = **in
	}
	if in.DisableLocalAccounts != nil {
		in, out := &in.DisableLocalAccounts, &out.DisableLocalAccounts
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureManagedControlPlaneStatus) DeepCopyInto(out *AzureManagedControlPlaneStatus) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make(apiv1beta1.Conditions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LongRunningOperationStates != nil {
		in, out := &in.LongRunningOperationStates, &out.LongRunningOperationStates
		*out = make(Futures, len(*in))
		copy(*out, *in)
	}
	if in.OIDCIssuerProfile != nil {
		in, out := &in.OIDCIssuerProfile, &out.OIDCIssuerProfile
		*out = new(OIDCIssuerProfileStatus)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedMachinePool) 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 *AzureManagedMachinePoolList) DeepCopyInto(out *AzureManagedMachinePoolList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]AzureManagedMachinePool, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AzureManagedMachinePoolList) 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 *AzureManagedMachinePoolSpec) DeepCopyInto(out *AzureManagedMachinePoolSpec) {
	*out = *in
	if in.AdditionalTags != nil {
		in, out := &in.AdditionalTags, &out.AdditionalTags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.OSDiskSizeGB != nil {
		in, out := &in.OSDiskSizeGB, &out.OSDiskSizeGB
		*out = new(int32)
		**out = **in
	}
	if in.AvailabilityZones != nil {
		in, out := &in.AvailabilityZones, &out.AvailabilityZones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NodeLabels != nil {
		in, out := &in.NodeLabels, &out.NodeLabels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Taints != nil {
		in, out := &in.Taints, &out.Taints
		*out = make(Taints, len(*in))
		copy(*out, *in)
	}
	if in.ProviderIDList != nil {
		in, out := &in.ProviderIDList, &out.ProviderIDList
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Scaling != nil {
		in, out := &in.Scaling, &out.Scaling
		*out = new(ManagedMachinePoolScaling)
		(*in).DeepCopyInto(*out)
	}
	if in.MaxPods != nil {
		in, out := &in.MaxPods, &out.MaxPods
		*out = new(int32)
		**out = **in
	}
	if in.OsDiskType != nil {
		in, out := &in.OsDiskType, &out.OsDiskType
		*out = new(string)
		**out = **in
	}
	if in.EnableUltraSSD != nil {
		in, out := &in.EnableUltraSSD, &out.EnableUltraSSD
		*out = new(bool)
		**out = **in
	}
	if in.OSType != nil {
		in, out := &in.OSType, &out.OSType
		*out = new(string)
		**out = **in
	}
	if in.EnableNodePublicIP != nil {
		in, out := &in.EnableNodePublicIP, &out.EnableNodePublicIP
		*out = new(bool)
		**out = **in
	}
	if in.NodePublicIPPrefixID != nil {
		in, out := &in.NodePublicIPPrefixID, &out.NodePublicIPPrefixID
		*out = new(string)
		**out = **in
	}
	if in.ScaleSetPriority != nil {
		in, out := &in.ScaleSetPriority, &out.ScaleSetPriority
		*out = new(string)
		**out = **in
	}
	if in.ScaleDownMode != nil {
		in, out := &in.ScaleDownMode, &out.ScaleDownMode
		*out = new(string)
		**out = **in
	}
	if in.SpotMaxPrice != nil {
		in, out := &in.SpotMaxPrice, &out.SpotMaxPrice
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.KubeletConfig != nil {
		in, out := &in.KubeletConfig, &out.KubeletConfig
		*out = new(KubeletConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.KubeletDiskType != nil {
		in, out := &in.KubeletDiskType, &out.KubeletDiskType
		*out = new(KubeletDiskType)
		**out = **in
	}
	if in.LinuxOSConfig != nil {
		in, out := &in.LinuxOSConfig, &out.LinuxOSConfig
		*out = new(LinuxOSConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.SubnetName != nil {
		in, out := &in.SubnetName, &out.SubnetName
		*out = new(string)
		**out = **in
	}
	if in.EnableFIPS != nil {
		in, out := &in.EnableFIPS, &out.EnableFIPS
		*out = new(bool)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureManagedMachinePoolStatus) DeepCopyInto(out *AzureManagedMachinePoolStatus) {
	*out = *in
	if in.ErrorReason != nil {
		in, out := &in.ErrorReason, &out.ErrorReason
		*out = new(errors.MachineStatusError)
		**out = **in
	}
	if in.ErrorMessage != nil {
		in, out := &in.ErrorMessage, &out.ErrorMessage
		*out = new(string)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make(apiv1beta1.Conditions, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LongRunningOperationStates != nil {
		in, out := &in.LongRunningOperationStates, &out.LongRunningOperationStates
		*out = make(Futures, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AzureSharedGalleryImage) DeepCopyInto(out *AzureSharedGalleryImage) {
	*out = *in
	if in.Publisher != nil {
		in, out := &in.Publisher, &out.Publisher
		*out = new(string)
		**out = **in
	}
	if in.Offer != nil {
		in, out := &in.Offer, &out.Offer
		*out = new(string)
		**out = **in
	}
	if in.SKU != nil {
		in, out := &in.SKU, &out.SKU
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BackOffConfig) DeepCopyInto(out *BackOffConfig) {
	*out = *in
	if in.CloudProviderBackoffExponent != nil {
		in, out := &in.CloudProviderBackoffExponent, &out.CloudProviderBackoffExponent
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.CloudProviderBackoffJitter != nil {
		in, out := &in.CloudProviderBackoffJitter, &out.CloudProviderBackoffJitter
		x := (*in).DeepCopy()
		*out = &x
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BuildParams) DeepCopyInto(out *BuildParams) {
	*out = *in
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Role != nil {
		in, out := &in.Role, &out.Role
		*out = new(string)
		**out = **in
	}
	if in.Additional != nil {
		in, out := &in.Additional, &out.Additional
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in Futures) DeepCopyInto(out *Futures) {
	{
		in := &in
		*out = make(Futures, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *HTTPProxyConfig) DeepCopyInto(out *HTTPProxyConfig) {
	*out = *in
	if in.HTTPProxy != nil {
		in, out := &in.HTTPProxy, &out.HTTPProxy
		*out = new(string)
		**out = **in
	}
	if in.HTTPSProxy != nil {
		in, out := &in.HTTPSProxy, &out.HTTPSProxy
		*out = new(string)
		**out = **in
	}
	if in.NoProxy != nil {
		in, out := &in.NoProxy, &out.NoProxy
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.TrustedCA != nil {
		in, out := &in.TrustedCA, &out.TrustedCA
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Image) DeepCopyInto(out *Image) {
	*out = *in
	if in.ID != nil {
		in, out := &in.ID, &out.ID
		*out = new(string)
		**out = **in
	}
	if in.SharedGallery != nil {
		in, out := &in.SharedGallery, &out.SharedGallery
		*out = new(AzureSharedGalleryImage)
		(*in).DeepCopyInto(*out)
	}
	if in.Marketplace != nil {
		in, out := &in.Marketplace, &out.Marketplace
		*out = new(AzureMarketplaceImage)
		**out = **in
	}
	if in.ComputeGallery != nil {
		in, out := &in.ComputeGallery, &out.ComputeGallery
		*out = new(AzureComputeGalleryImage)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig) {
	*out = *in
	if in.CPUManagerPolicy != nil {
		in, out := &in.CPUManagerPolicy, &out.CPUManagerPolicy
		*out = new(CPUManagerPolicy)
		**out = **in
	}
	if in.CPUCfsQuota != nil {
		in, out := &in.CPUCfsQuota, &out.CPUCfsQuota
		*out = new(bool)
		**out = **in
	}
	if in.CPUCfsQuotaPeriod != nil {
		in, out := &in.CPUCfsQuotaPeriod, &out.CPUCfsQuotaPeriod
		*out = new(string)
		**out = **in
	}
	if in.ImageGcHighThreshold != nil {
		in, out := &in.ImageGcHighThreshold, &out.ImageGcHighThreshold
		*out = new(int32)
		**out = **in
	}
	if in.ImageGcLowThreshold != nil {
		in, out := &in.ImageGcLowThreshold, &out.ImageGcLowThreshold
		*out = new(int32)
		**out = **in
	}
	if in.TopologyManagerPolicy != nil {
		in, out := &in.TopologyManagerPolicy, &out.TopologyManagerPolicy
		*out = new(TopologyManagerPolicy)
		**out = **in
	}
	if in.AllowedUnsafeSysctls != nil {
		in, out := &in.AllowedUnsafeSysctls, &out.AllowedUnsafeSysctls
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.FailSwapOn != nil {
		in, out := &in.FailSwapOn, &out.FailSwapOn
		*out = new(bool)
		**out = **in
	}
	if in.ContainerLogMaxSizeMB != nil {
		in, out := &in.ContainerLogMaxSizeMB, &out.ContainerLogMaxSizeMB
		*out = new(int32)
		**out = **in
	}
	if in.ContainerLogMaxFiles != nil {
		in, out := &in.ContainerLogMaxFiles, &out.ContainerLogMaxFiles
		*out = new(int32)
		**out = **in
	}
	if in.PodMaxPids != nil {
		in, out := &in.PodMaxPids, &out.PodMaxPids
		*out = new(int32)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LinuxOSConfig) DeepCopyInto(out *LinuxOSConfig) {
	*out = *in
	if in.SwapFileSizeMB != nil {
		in, out := &in.SwapFileSizeMB, &out.SwapFileSizeMB
		*out = new(int32)
		**out = **in
	}
	if in.Sysctls != nil {
		in, out := &in.Sysctls, &out.Sysctls
		*out = new(SysctlConfig)
		(*in).DeepCopyInto(*out)
	}
	if in.TransparentHugePageDefrag != nil {
		in, out := &in.TransparentHugePageDefrag, &out.TransparentHugePageDefrag
		*out = new(TransparentHugePageOption)
		**out = **in
	}
	if in.TransparentHugePageEnabled != nil {
		in, out := &in.TransparentHugePageEnabled, &out.TransparentHugePageEnabled
		*out = new(TransparentHugePageOption)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoadBalancerProfile) DeepCopyInto(out *LoadBalancerProfile) {
	*out = *in
	if in.ManagedOutboundIPs != nil {
		in, out := &in.ManagedOutboundIPs, &out.ManagedOutboundIPs
		*out = new(int32)
		**out = **in
	}
	if in.OutboundIPPrefixes != nil {
		in, out := &in.OutboundIPPrefixes, &out.OutboundIPPrefixes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.OutboundIPs != nil {
		in, out := &in.OutboundIPs, &out.OutboundIPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.AllocatedOutboundPorts != nil {
		in, out := &in.AllocatedOutboundPorts, &out.AllocatedOutboundPorts
		*out = new(int32)
		**out = **in
	}
	if in.IdleTimeoutInMinutes != nil {
		in, out := &in.IdleTimeoutInMinutes, &out.IdleTimeoutInMinutes
		*out = new(int32)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec) {
	*out = *in
	if in.FrontendIPs != nil {
		in, out := &in.FrontendIPs, &out.FrontendIPs
		*out = make([]FrontendIP, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FrontendIPsCount != nil {
		in, out := &in.FrontendIPsCount, &out.FrontendIPsCount
		*out = new(int32)
		**out = **in
	}
	out.BackendPool = in.BackendPool
	in.LoadBalancerClassSpec.DeepCopyInto(&out.LoadBalancerClassSpec)
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedDiskParameters) DeepCopyInto(out *ManagedDiskParameters) {
	*out = *in
	if in.DiskEncryptionSet != nil {
		in, out := &in.DiskEncryptionSet, &out.DiskEncryptionSet
		*out = new(DiskEncryptionSetParameters)
		**out = **in
	}
	if in.SecurityProfile != nil {
		in, out := &in.SecurityProfile, &out.SecurityProfile
		*out = new(VMDiskSecurityProfile)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec) {
	*out = *in
	in.Vnet.DeepCopyInto(&out.Vnet)
	if in.Subnets != nil {
		in, out := &in.Subnets, &out.Subnets
		*out = make(Subnets, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.APIServerLB.DeepCopyInto(&out.APIServerLB)
	if in.NodeOutboundLB != nil {
		in, out := &in.NodeOutboundLB, &out.NodeOutboundLB
		*out = new(LoadBalancerSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ControlPlaneOutboundLB != nil {
		in, out := &in.ControlPlaneOutboundLB, &out.ControlPlaneOutboundLB
		*out = new(LoadBalancerSpec)
		(*in).DeepCopyInto(*out)
	}
	out.NetworkClassSpec = in.NetworkClassSpec
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NetworkTemplateSpec) DeepCopyInto(out *NetworkTemplateSpec) {
	*out = *in
	out.NetworkClassSpec = in.NetworkClassSpec
	in.Vnet.DeepCopyInto(&out.Vnet)
	if in.Subnets != nil {
		in, out := &in.Subnets, &out.Subnets
		*out = make(SubnetTemplatesSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.APIServerLB.DeepCopyInto(&out.APIServerLB)
	if in.NodeOutboundLB != nil {
		in, out := &in.NodeOutboundLB, &out.NodeOutboundLB
		*out = new(LoadBalancerClassSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.ControlPlaneOutboundLB != nil {
		in, out := &in.ControlPlaneOutboundLB, &out.ControlPlaneOutboundLB
		*out = new(LoadBalancerClassSpec)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *PrivateEndpointSpec) DeepCopyInto(out *PrivateEndpointSpec) {
	*out = *in
	if in.PrivateLinkServiceConnections != nil {
		in, out := &in.PrivateLinkServiceConnections, &out.PrivateLinkServiceConnections
		*out = make([]PrivateLinkServiceConnection, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PrivateIPAddresses != nil {
		in, out := &in.PrivateIPAddresses, &out.PrivateIPAddresses
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ApplicationSecurityGroups != nil {
		in, out := &in.ApplicationSecurityGroups, &out.ApplicationSecurityGroups
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RateLimitConfig) DeepCopyInto(out *RateLimitConfig) {
	*out = *in
	if in.CloudProviderRateLimitQPS != nil {
		in, out := &in.CloudProviderRateLimitQPS, &out.CloudProviderRateLimitQPS
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.CloudProviderRateLimitQPSWrite != nil {
		in, out := &in.CloudProviderRateLimitQPSWrite, &out.CloudProviderRateLimitQPSWrite
		x := (*in).DeepCopy()
		*out = &x
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecurityGroupClass) DeepCopyInto(out *SecurityGroupClass) {
	*out = *in
	if in.SecurityRules != nil {
		in, out := &in.SecurityRules, &out.SecurityRules
		*out = make(SecurityRules, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SecurityRule) DeepCopyInto(out *SecurityRule) {
	*out = *in
	if in.SourcePorts != nil {
		in, out := &in.SourcePorts, &out.SourcePorts
		*out = new(string)
		**out = **in
	}
	if in.DestinationPorts != nil {
		in, out := &in.DestinationPorts, &out.DestinationPorts
		*out = new(string)
		**out = **in
	}
	if in.Source != nil {
		in, out := &in.Source, &out.Source
		*out = new(string)
		**out = **in
	}
	if in.Destination != nil {
		in, out := &in.Destination, &out.Destination
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SpotVMOptions) DeepCopyInto(out *SpotVMOptions) {
	*out = *in
	if in.MaxPrice != nil {
		in, out := &in.MaxPrice, &out.MaxPrice
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.EvictionPolicy != nil {
		in, out := &in.EvictionPolicy, &out.EvictionPolicy
		*out = new(SpotEvictionPolicy)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubnetClassSpec) DeepCopyInto(out *SubnetClassSpec) {
	*out = *in
	if in.CIDRBlocks != nil {
		in, out := &in.CIDRBlocks, &out.CIDRBlocks
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ServiceEndpoints != nil {
		in, out := &in.ServiceEndpoints, &out.ServiceEndpoints
		*out = make(ServiceEndpoints, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.PrivateEndpoints != nil {
		in, out := &in.PrivateEndpoints, &out.PrivateEndpoints
		*out = make(PrivateEndpoints, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec) {
	*out = *in
	in.SecurityGroup.DeepCopyInto(&out.SecurityGroup)
	out.RouteTable = in.RouteTable
	in.NatGateway.DeepCopyInto(&out.NatGateway)
	in.SubnetClassSpec.DeepCopyInto(&out.SubnetClassSpec)
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SysctlConfig) DeepCopyInto(out *SysctlConfig) {
	*out = *in
	if in.FsAioMaxNr != nil {
		in, out := &in.FsAioMaxNr, &out.FsAioMaxNr
		*out = new(int32)
		**out = **in
	}
	if in.FsFileMax != nil {
		in, out := &in.FsFileMax, &out.FsFileMax
		*out = new(int32)
		**out = **in
	}
	if in.FsInotifyMaxUserWatches != nil {
		in, out := &in.FsInotifyMaxUserWatches, &out.FsInotifyMaxUserWatches
		*out = new(int32)
		**out = **in
	}
	if in.FsNrOpen != nil {
		in, out := &in.FsNrOpen, &out.FsNrOpen
		*out = new(int32)
		**out = **in
	}
	if in.KernelThreadsMax != nil {
		in, out := &in.KernelThreadsMax, &out.KernelThreadsMax
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreNetdevMaxBacklog != nil {
		in, out := &in.NetCoreNetdevMaxBacklog, &out.NetCoreNetdevMaxBacklog
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreOptmemMax != nil {
		in, out := &in.NetCoreOptmemMax, &out.NetCoreOptmemMax
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreRmemDefault != nil {
		in, out := &in.NetCoreRmemDefault, &out.NetCoreRmemDefault
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreRmemMax != nil {
		in, out := &in.NetCoreRmemMax, &out.NetCoreRmemMax
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreSomaxconn != nil {
		in, out := &in.NetCoreSomaxconn, &out.NetCoreSomaxconn
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreWmemDefault != nil {
		in, out := &in.NetCoreWmemDefault, &out.NetCoreWmemDefault
		*out = new(int32)
		**out = **in
	}
	if in.NetCoreWmemMax != nil {
		in, out := &in.NetCoreWmemMax, &out.NetCoreWmemMax
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4IPLocalPortRange != nil {
		in, out := &in.NetIpv4IPLocalPortRange, &out.NetIpv4IPLocalPortRange
		*out = new(string)
		**out = **in
	}
	if in.NetIpv4NeighDefaultGcThresh1 != nil {
		in, out := &in.NetIpv4NeighDefaultGcThresh1, &out.NetIpv4NeighDefaultGcThresh1
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4NeighDefaultGcThresh2 != nil {
		in, out := &in.NetIpv4NeighDefaultGcThresh2, &out.NetIpv4NeighDefaultGcThresh2
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4NeighDefaultGcThresh3 != nil {
		in, out := &in.NetIpv4NeighDefaultGcThresh3, &out.NetIpv4NeighDefaultGcThresh3
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPFinTimeout != nil {
		in, out := &in.NetIpv4TCPFinTimeout, &out.NetIpv4TCPFinTimeout
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPKeepaliveProbes != nil {
		in, out := &in.NetIpv4TCPKeepaliveProbes, &out.NetIpv4TCPKeepaliveProbes
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPKeepaliveTime != nil {
		in, out := &in.NetIpv4TCPKeepaliveTime, &out.NetIpv4TCPKeepaliveTime
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPMaxSynBacklog != nil {
		in, out := &in.NetIpv4TCPMaxSynBacklog, &out.NetIpv4TCPMaxSynBacklog
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPMaxTwBuckets != nil {
		in, out := &in.NetIpv4TCPMaxTwBuckets, &out.NetIpv4TCPMaxTwBuckets
		*out = new(int32)
		**out = **in
	}
	if in.NetIpv4TCPTwReuse != nil {
		in, out := &in.NetIpv4TCPTwReuse, &out.NetIpv4TCPTwReuse
		*out = new(bool)
		**out = **in
	}
	if in.NetIpv4TCPkeepaliveIntvl != nil {
		in, out := &in.NetIpv4TCPkeepaliveIntvl, &out.NetIpv4TCPkeepaliveIntvl
		*out = new(int32)
		**out = **in
	}
	if in.NetNetfilterNfConntrackBuckets != nil {
		in, out := &in.NetNetfilterNfConntrackBuckets, &out.NetNetfilterNfConntrackBuckets
		*out = new(int32)
		**out = **in
	}
	if in.NetNetfilterNfConntrackMax != nil {
		in, out := &in.NetNetfilterNfConntrackMax, &out.NetNetfilterNfConntrackMax
		*out = new(int32)
		**out = **in
	}
	if in.VMMaxMapCount != nil {
		in, out := &in.VMMaxMapCount, &out.VMMaxMapCount
		*out = new(int32)
		**out = **in
	}
	if in.VMSwappiness != nil {
		in, out := &in.VMSwappiness, &out.VMSwappiness
		*out = new(int32)
		**out = **in
	}
	if in.VMVfsCachePressure != nil {
		in, out := &in.VMVfsCachePressure, &out.VMVfsCachePressure
		*out = new(int32)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in Tags) DeepCopyInto(out *Tags) {
	{
		in := &in
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in Taints) DeepCopyInto(out *Taints) {
	{
		in := &in
		*out = make(Taints, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VMExtension) DeepCopyInto(out *VMExtension) {
	*out = *in
	if in.Settings != nil {
		in, out := &in.Settings, &out.Settings
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ProtectedSettings != nil {
		in, out := &in.ProtectedSettings, &out.ProtectedSettings
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VnetClassSpec) DeepCopyInto(out *VnetClassSpec) {
	*out = *in
	if in.CIDRBlocks != nil {
		in, out := &in.CIDRBlocks, &out.CIDRBlocks
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(Tags, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *VnetPeeringProperties) DeepCopyInto(out *VnetPeeringProperties) {
	*out = *in
	if in.AllowForwardedTraffic != nil {
		in, out := &in.AllowForwardedTraffic, &out.AllowForwardedTraffic
		*out = new(bool)
		**out = **in
	}
	if in.AllowGatewayTransit != nil {
		in, out := &in.AllowGatewayTransit, &out.AllowGatewayTransit
		*out = new(bool)
		**out = **in
	}
	if in.AllowVirtualNetworkAccess != nil {
		in, out := &in.AllowVirtualNetworkAccess, &out.AllowVirtualNetworkAccess
		*out = new(bool)
		**out = **in
	}
	if in.UseRemoteGateways != nil {
		in, out := &in.UseRemoteGateways, &out.UseRemoteGateways
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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