//go:build !ignore_autogenerated

/*
Copyright (c) Microsoft Corporation.
Licensed under the MIT license.
*/

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

package v1api20200930

import (
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime"
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions"
	"github.com/Azure/azure-service-operator/v2/pkg/genruntime/core"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CreationData) DeepCopyInto(out *CreationData) {
	*out = *in
	if in.CreateOption != nil {
		in, out := &in.CreateOption, &out.CreateOption
		*out = new(CreationData_CreateOption)
		**out = **in
	}
	if in.GalleryImageReference != nil {
		in, out := &in.GalleryImageReference, &out.GalleryImageReference
		*out = new(ImageDiskReference)
		(*in).DeepCopyInto(*out)
	}
	if in.ImageReference != nil {
		in, out := &in.ImageReference, &out.ImageReference
		*out = new(ImageDiskReference)
		(*in).DeepCopyInto(*out)
	}
	if in.LogicalSectorSize != nil {
		in, out := &in.LogicalSectorSize, &out.LogicalSectorSize
		*out = new(int)
		**out = **in
	}
	if in.SourceResourceReference != nil {
		in, out := &in.SourceResourceReference, &out.SourceResourceReference
		*out = new(genruntime.ResourceReference)
		**out = **in
	}
	if in.SourceUri != nil {
		in, out := &in.SourceUri, &out.SourceUri
		*out = new(string)
		**out = **in
	}
	if in.StorageAccountId != nil {
		in, out := &in.StorageAccountId, &out.StorageAccountId
		*out = new(string)
		**out = **in
	}
	if in.UploadSizeBytes != nil {
		in, out := &in.UploadSizeBytes, &out.UploadSizeBytes
		*out = new(int)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CreationData_STATUS) DeepCopyInto(out *CreationData_STATUS) {
	*out = *in
	if in.CreateOption != nil {
		in, out := &in.CreateOption, &out.CreateOption
		*out = new(CreationData_CreateOption_STATUS)
		**out = **in
	}
	if in.GalleryImageReference != nil {
		in, out := &in.GalleryImageReference, &out.GalleryImageReference
		*out = new(ImageDiskReference_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.ImageReference != nil {
		in, out := &in.ImageReference, &out.ImageReference
		*out = new(ImageDiskReference_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.LogicalSectorSize != nil {
		in, out := &in.LogicalSectorSize, &out.LogicalSectorSize
		*out = new(int)
		**out = **in
	}
	if in.SourceResourceId != nil {
		in, out := &in.SourceResourceId, &out.SourceResourceId
		*out = new(string)
		**out = **in
	}
	if in.SourceUniqueId != nil {
		in, out := &in.SourceUniqueId, &out.SourceUniqueId
		*out = new(string)
		**out = **in
	}
	if in.SourceUri != nil {
		in, out := &in.SourceUri, &out.SourceUri
		*out = new(string)
		**out = **in
	}
	if in.StorageAccountId != nil {
		in, out := &in.StorageAccountId, &out.StorageAccountId
		*out = new(string)
		**out = **in
	}
	if in.UploadSizeBytes != nil {
		in, out := &in.UploadSizeBytes, &out.UploadSizeBytes
		*out = new(int)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Disk) DeepCopyInto(out *Disk) {
	*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 Disk.
func (in *Disk) DeepCopy() *Disk {
	if in == nil {
		return nil
	}
	out := new(Disk)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Disk_STATUS) DeepCopyInto(out *Disk_STATUS) {
	*out = *in
	if in.BurstingEnabled != nil {
		in, out := &in.BurstingEnabled, &out.BurstingEnabled
		*out = new(bool)
		**out = **in
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]conditions.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CreationData != nil {
		in, out := &in.CreationData, &out.CreationData
		*out = new(CreationData_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.DiskAccessId != nil {
		in, out := &in.DiskAccessId, &out.DiskAccessId
		*out = new(string)
		**out = **in
	}
	if in.DiskIOPSReadOnly != nil {
		in, out := &in.DiskIOPSReadOnly, &out.DiskIOPSReadOnly
		*out = new(int)
		**out = **in
	}
	if in.DiskIOPSReadWrite != nil {
		in, out := &in.DiskIOPSReadWrite, &out.DiskIOPSReadWrite
		*out = new(int)
		**out = **in
	}
	if in.DiskMBpsReadOnly != nil {
		in, out := &in.DiskMBpsReadOnly, &out.DiskMBpsReadOnly
		*out = new(int)
		**out = **in
	}
	if in.DiskMBpsReadWrite != nil {
		in, out := &in.DiskMBpsReadWrite, &out.DiskMBpsReadWrite
		*out = new(int)
		**out = **in
	}
	if in.DiskSizeBytes != nil {
		in, out := &in.DiskSizeBytes, &out.DiskSizeBytes
		*out = new(int)
		**out = **in
	}
	if in.DiskSizeGB != nil {
		in, out := &in.DiskSizeGB, &out.DiskSizeGB
		*out = new(int)
		**out = **in
	}
	if in.DiskState != nil {
		in, out := &in.DiskState, &out.DiskState
		*out = new(DiskState_STATUS)
		**out = **in
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(Encryption_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.EncryptionSettingsCollection != nil {
		in, out := &in.EncryptionSettingsCollection, &out.EncryptionSettingsCollection
		*out = new(EncryptionSettingsCollection_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtendedLocation != nil {
		in, out := &in.ExtendedLocation, &out.ExtendedLocation
		*out = new(ExtendedLocation_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.HyperVGeneration != nil {
		in, out := &in.HyperVGeneration, &out.HyperVGeneration
		*out = new(DiskProperties_HyperVGeneration_STATUS)
		**out = **in
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.ManagedBy != nil {
		in, out := &in.ManagedBy, &out.ManagedBy
		*out = new(string)
		**out = **in
	}
	if in.ManagedByExtended != nil {
		in, out := &in.ManagedByExtended, &out.ManagedByExtended
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.MaxShares != nil {
		in, out := &in.MaxShares, &out.MaxShares
		*out = new(int)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.NetworkAccessPolicy != nil {
		in, out := &in.NetworkAccessPolicy, &out.NetworkAccessPolicy
		*out = new(NetworkAccessPolicy_STATUS)
		**out = **in
	}
	if in.OsType != nil {
		in, out := &in.OsType, &out.OsType
		*out = new(DiskProperties_OsType_STATUS)
		**out = **in
	}
	if in.ProvisioningState != nil {
		in, out := &in.ProvisioningState, &out.ProvisioningState
		*out = new(string)
		**out = **in
	}
	if in.PurchasePlan != nil {
		in, out := &in.PurchasePlan, &out.PurchasePlan
		*out = new(PurchasePlan_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.ShareInfo != nil {
		in, out := &in.ShareInfo, &out.ShareInfo
		*out = make([]ShareInfoElement_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(DiskSku_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tier != nil {
		in, out := &in.Tier, &out.Tier
		*out = new(string)
		**out = **in
	}
	if in.TimeCreated != nil {
		in, out := &in.TimeCreated, &out.TimeCreated
		*out = new(string)
		**out = **in
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
	if in.UniqueId != nil {
		in, out := &in.UniqueId, &out.UniqueId
		*out = new(string)
		**out = **in
	}
	if in.Zones != nil {
		in, out := &in.Zones, &out.Zones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Disk_Spec) DeepCopyInto(out *Disk_Spec) {
	*out = *in
	if in.BurstingEnabled != nil {
		in, out := &in.BurstingEnabled, &out.BurstingEnabled
		*out = new(bool)
		**out = **in
	}
	if in.CreationData != nil {
		in, out := &in.CreationData, &out.CreationData
		*out = new(CreationData)
		(*in).DeepCopyInto(*out)
	}
	if in.DiskAccessReference != nil {
		in, out := &in.DiskAccessReference, &out.DiskAccessReference
		*out = new(genruntime.ResourceReference)
		**out = **in
	}
	if in.DiskIOPSReadOnly != nil {
		in, out := &in.DiskIOPSReadOnly, &out.DiskIOPSReadOnly
		*out = new(int)
		**out = **in
	}
	if in.DiskIOPSReadWrite != nil {
		in, out := &in.DiskIOPSReadWrite, &out.DiskIOPSReadWrite
		*out = new(int)
		**out = **in
	}
	if in.DiskMBpsReadOnly != nil {
		in, out := &in.DiskMBpsReadOnly, &out.DiskMBpsReadOnly
		*out = new(int)
		**out = **in
	}
	if in.DiskMBpsReadWrite != nil {
		in, out := &in.DiskMBpsReadWrite, &out.DiskMBpsReadWrite
		*out = new(int)
		**out = **in
	}
	if in.DiskSizeGB != nil {
		in, out := &in.DiskSizeGB, &out.DiskSizeGB
		*out = new(int)
		**out = **in
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(Encryption)
		(*in).DeepCopyInto(*out)
	}
	if in.EncryptionSettingsCollection != nil {
		in, out := &in.EncryptionSettingsCollection, &out.EncryptionSettingsCollection
		*out = new(EncryptionSettingsCollection)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtendedLocation != nil {
		in, out := &in.ExtendedLocation, &out.ExtendedLocation
		*out = new(ExtendedLocation)
		(*in).DeepCopyInto(*out)
	}
	if in.HyperVGeneration != nil {
		in, out := &in.HyperVGeneration, &out.HyperVGeneration
		*out = new(DiskProperties_HyperVGeneration)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.MaxShares != nil {
		in, out := &in.MaxShares, &out.MaxShares
		*out = new(int)
		**out = **in
	}
	if in.NetworkAccessPolicy != nil {
		in, out := &in.NetworkAccessPolicy, &out.NetworkAccessPolicy
		*out = new(NetworkAccessPolicy)
		**out = **in
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(DiskOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.OsType != nil {
		in, out := &in.OsType, &out.OsType
		*out = new(DiskProperties_OsType)
		**out = **in
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**out = **in
	}
	if in.PurchasePlan != nil {
		in, out := &in.PurchasePlan, &out.PurchasePlan
		*out = new(PurchasePlan)
		(*in).DeepCopyInto(*out)
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(DiskSku)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Tier != nil {
		in, out := &in.Tier, &out.Tier
		*out = new(string)
		**out = **in
	}
	if in.Zones != nil {
		in, out := &in.Zones, &out.Zones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EncryptionSettingsCollection) DeepCopyInto(out *EncryptionSettingsCollection) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = new(bool)
		**out = **in
	}
	if in.EncryptionSettings != nil {
		in, out := &in.EncryptionSettings, &out.EncryptionSettings
		*out = make([]EncryptionSettingsElement, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EncryptionSettingsVersion != nil {
		in, out := &in.EncryptionSettingsVersion, &out.EncryptionSettingsVersion
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EncryptionSettingsCollection_STATUS) DeepCopyInto(out *EncryptionSettingsCollection_STATUS) {
	*out = *in
	if in.Enabled != nil {
		in, out := &in.Enabled, &out.Enabled
		*out = new(bool)
		**out = **in
	}
	if in.EncryptionSettings != nil {
		in, out := &in.EncryptionSettings, &out.EncryptionSettings
		*out = make([]EncryptionSettingsElement_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EncryptionSettingsVersion != nil {
		in, out := &in.EncryptionSettingsVersion, &out.EncryptionSettingsVersion
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Snapshot) DeepCopyInto(out *Snapshot) {
	*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 Snapshot.
func (in *Snapshot) DeepCopy() *Snapshot {
	if in == nil {
		return nil
	}
	out := new(Snapshot)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Snapshot_STATUS) DeepCopyInto(out *Snapshot_STATUS) {
	*out = *in
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]conditions.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.CreationData != nil {
		in, out := &in.CreationData, &out.CreationData
		*out = new(CreationData_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.DiskAccessId != nil {
		in, out := &in.DiskAccessId, &out.DiskAccessId
		*out = new(string)
		**out = **in
	}
	if in.DiskSizeBytes != nil {
		in, out := &in.DiskSizeBytes, &out.DiskSizeBytes
		*out = new(int)
		**out = **in
	}
	if in.DiskSizeGB != nil {
		in, out := &in.DiskSizeGB, &out.DiskSizeGB
		*out = new(int)
		**out = **in
	}
	if in.DiskState != nil {
		in, out := &in.DiskState, &out.DiskState
		*out = new(DiskState_STATUS)
		**out = **in
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(Encryption_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.EncryptionSettingsCollection != nil {
		in, out := &in.EncryptionSettingsCollection, &out.EncryptionSettingsCollection
		*out = new(EncryptionSettingsCollection_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtendedLocation != nil {
		in, out := &in.ExtendedLocation, &out.ExtendedLocation
		*out = new(ExtendedLocation_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.HyperVGeneration != nil {
		in, out := &in.HyperVGeneration, &out.HyperVGeneration
		*out = new(SnapshotProperties_HyperVGeneration_STATUS)
		**out = **in
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Incremental != nil {
		in, out := &in.Incremental, &out.Incremental
		*out = new(bool)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.ManagedBy != nil {
		in, out := &in.ManagedBy, &out.ManagedBy
		*out = new(string)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.NetworkAccessPolicy != nil {
		in, out := &in.NetworkAccessPolicy, &out.NetworkAccessPolicy
		*out = new(NetworkAccessPolicy_STATUS)
		**out = **in
	}
	if in.OsType != nil {
		in, out := &in.OsType, &out.OsType
		*out = new(SnapshotProperties_OsType_STATUS)
		**out = **in
	}
	if in.ProvisioningState != nil {
		in, out := &in.ProvisioningState, &out.ProvisioningState
		*out = new(string)
		**out = **in
	}
	if in.PurchasePlan != nil {
		in, out := &in.PurchasePlan, &out.PurchasePlan
		*out = new(PurchasePlan_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(SnapshotSku_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.TimeCreated != nil {
		in, out := &in.TimeCreated, &out.TimeCreated
		*out = new(string)
		**out = **in
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
	if in.UniqueId != nil {
		in, out := &in.UniqueId, &out.UniqueId
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Snapshot_Spec) DeepCopyInto(out *Snapshot_Spec) {
	*out = *in
	if in.CreationData != nil {
		in, out := &in.CreationData, &out.CreationData
		*out = new(CreationData)
		(*in).DeepCopyInto(*out)
	}
	if in.DiskAccessReference != nil {
		in, out := &in.DiskAccessReference, &out.DiskAccessReference
		*out = new(genruntime.ResourceReference)
		**out = **in
	}
	if in.DiskSizeGB != nil {
		in, out := &in.DiskSizeGB, &out.DiskSizeGB
		*out = new(int)
		**out = **in
	}
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(Encryption)
		(*in).DeepCopyInto(*out)
	}
	if in.EncryptionSettingsCollection != nil {
		in, out := &in.EncryptionSettingsCollection, &out.EncryptionSettingsCollection
		*out = new(EncryptionSettingsCollection)
		(*in).DeepCopyInto(*out)
	}
	if in.ExtendedLocation != nil {
		in, out := &in.ExtendedLocation, &out.ExtendedLocation
		*out = new(ExtendedLocation)
		(*in).DeepCopyInto(*out)
	}
	if in.HyperVGeneration != nil {
		in, out := &in.HyperVGeneration, &out.HyperVGeneration
		*out = new(SnapshotProperties_HyperVGeneration)
		**out = **in
	}
	if in.Incremental != nil {
		in, out := &in.Incremental, &out.Incremental
		*out = new(bool)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.NetworkAccessPolicy != nil {
		in, out := &in.NetworkAccessPolicy, &out.NetworkAccessPolicy
		*out = new(NetworkAccessPolicy)
		**out = **in
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(SnapshotOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.OsType != nil {
		in, out := &in.OsType, &out.OsType
		*out = new(SnapshotProperties_OsType)
		**out = **in
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**out = **in
	}
	if in.PurchasePlan != nil {
		in, out := &in.PurchasePlan, &out.PurchasePlan
		*out = new(PurchasePlan)
		(*in).DeepCopyInto(*out)
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(SnapshotSku)
		(*in).DeepCopyInto(*out)
	}
	if in.Tags != nil {
		in, out := &in.Tags, &out.Tags
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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