//go:build !ignore_autogenerated

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

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

package v1api20250401

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 *ClusterProperties_Encryption) DeepCopyInto(out *ClusterProperties_Encryption) {
	*out = *in
	if in.CustomerManagedKeyEncryption != nil {
		in, out := &in.CustomerManagedKeyEncryption, &out.CustomerManagedKeyEncryption
		*out = new(ClusterProperties_Encryption_CustomerManagedKeyEncryption)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProperties_Encryption.
func (in *ClusterProperties_Encryption) DeepCopy() *ClusterProperties_Encryption {
	if in == nil {
		return nil
	}
	out := new(ClusterProperties_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 *ClusterProperties_Encryption_CustomerManagedKeyEncryption) DeepCopyInto(out *ClusterProperties_Encryption_CustomerManagedKeyEncryption) {
	*out = *in
	if in.KeyEncryptionKeyIdentity != nil {
		in, out := &in.KeyEncryptionKeyIdentity, &out.KeyEncryptionKeyIdentity
		*out = new(ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity)
		(*in).DeepCopyInto(*out)
	}
	if in.KeyEncryptionKeyUrl != nil {
		in, out := &in.KeyEncryptionKeyUrl, &out.KeyEncryptionKeyUrl
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS.
func (in *ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS) DeepCopy() *ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS {
	if in == nil {
		return nil
	}
	out := new(ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_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 *ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS) DeepCopyInto(out *ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS) {
	*out = *in
	if in.KeyEncryptionKeyIdentity != nil {
		in, out := &in.KeyEncryptionKeyIdentity, &out.KeyEncryptionKeyIdentity
		*out = new(ClusterProperties_Encryption_CustomerManagedKeyEncryption_KeyEncryptionKeyIdentity_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.KeyEncryptionKeyUrl != nil {
		in, out := &in.KeyEncryptionKeyUrl, &out.KeyEncryptionKeyUrl
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS.
func (in *ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS) DeepCopy() *ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS {
	if in == nil {
		return nil
	}
	out := new(ClusterProperties_Encryption_CustomerManagedKeyEncryption_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 *ClusterProperties_Encryption_STATUS) DeepCopyInto(out *ClusterProperties_Encryption_STATUS) {
	*out = *in
	if in.CustomerManagedKeyEncryption != nil {
		in, out := &in.CustomerManagedKeyEncryption, &out.CustomerManagedKeyEncryption
		*out = new(ClusterProperties_Encryption_CustomerManagedKeyEncryption_STATUS)
		(*in).DeepCopyInto(*out)
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterProperties_Encryption_STATUS.
func (in *ClusterProperties_Encryption_STATUS) DeepCopy() *ClusterProperties_Encryption_STATUS {
	if in == nil {
		return nil
	}
	out := new(ClusterProperties_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 *DatabaseProperties_GeoReplication) DeepCopyInto(out *DatabaseProperties_GeoReplication) {
	*out = *in
	if in.GroupNickname != nil {
		in, out := &in.GroupNickname, &out.GroupNickname
		*out = new(string)
		**out = **in
	}
	if in.LinkedDatabases != nil {
		in, out := &in.LinkedDatabases, &out.LinkedDatabases
		*out = make([]LinkedDatabase, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseProperties_GeoReplication_STATUS.
func (in *DatabaseProperties_GeoReplication_STATUS) DeepCopy() *DatabaseProperties_GeoReplication_STATUS {
	if in == nil {
		return nil
	}
	out := new(DatabaseProperties_GeoReplication_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 *LinkedDatabase) DeepCopyInto(out *LinkedDatabase) {
	*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 LinkedDatabase.
func (in *LinkedDatabase) DeepCopy() *LinkedDatabase {
	if in == nil {
		return nil
	}
	out := new(LinkedDatabase)
	in.DeepCopyInto(out)
	return out
}

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinkedDatabase_STATUS.
func (in *LinkedDatabase_STATUS) DeepCopy() *LinkedDatabase_STATUS {
	if in == nil {
		return nil
	}
	out := new(LinkedDatabase_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 *ManagedServiceIdentity) DeepCopyInto(out *ManagedServiceIdentity) {
	*out = *in
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(ManagedServiceIdentityType)
		**out = **in
	}
	if in.UserAssignedIdentities != nil {
		in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities
		*out = make([]UserAssignedIdentityDetails, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ManagedServiceIdentity_STATUS) DeepCopyInto(out *ManagedServiceIdentity_STATUS) {
	*out = *in
	if in.PrincipalId != nil {
		in, out := &in.PrincipalId, &out.PrincipalId
		*out = new(string)
		**out = **in
	}
	if in.TenantId != nil {
		in, out := &in.TenantId, &out.TenantId
		*out = new(string)
		**out = **in
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(ManagedServiceIdentityType_STATUS)
		**out = **in
	}
	if in.UserAssignedIdentities != nil {
		in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities
		*out = make(map[string]UserAssignedIdentity_STATUS, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedServiceIdentity_STATUS.
func (in *ManagedServiceIdentity_STATUS) DeepCopy() *ManagedServiceIdentity_STATUS {
	if in == nil {
		return nil
	}
	out := new(ManagedServiceIdentity_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 *Module) DeepCopyInto(out *Module) {
	*out = *in
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = new(string)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
}

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module_STATUS.
func (in *Module_STATUS) DeepCopy() *Module_STATUS {
	if in == nil {
		return nil
	}
	out := new(Module_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 *Persistence) DeepCopyInto(out *Persistence) {
	*out = *in
	if in.AofEnabled != nil {
		in, out := &in.AofEnabled, &out.AofEnabled
		*out = new(bool)
		**out = **in
	}
	if in.AofFrequency != nil {
		in, out := &in.AofFrequency, &out.AofFrequency
		*out = new(Persistence_AofFrequency)
		**out = **in
	}
	if in.RdbEnabled != nil {
		in, out := &in.RdbEnabled, &out.RdbEnabled
		*out = new(bool)
		**out = **in
	}
	if in.RdbFrequency != nil {
		in, out := &in.RdbFrequency, &out.RdbFrequency
		*out = new(Persistence_RdbFrequency)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Persistence_STATUS) DeepCopyInto(out *Persistence_STATUS) {
	*out = *in
	if in.AofEnabled != nil {
		in, out := &in.AofEnabled, &out.AofEnabled
		*out = new(bool)
		**out = **in
	}
	if in.AofFrequency != nil {
		in, out := &in.AofFrequency, &out.AofFrequency
		*out = new(Persistence_AofFrequency_STATUS)
		**out = **in
	}
	if in.RdbEnabled != nil {
		in, out := &in.RdbEnabled, &out.RdbEnabled
		*out = new(bool)
		**out = **in
	}
	if in.RdbFrequency != nil {
		in, out := &in.RdbFrequency, &out.RdbFrequency
		*out = new(Persistence_RdbFrequency_STATUS)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Persistence_STATUS.
func (in *Persistence_STATUS) DeepCopy() *Persistence_STATUS {
	if in == nil {
		return nil
	}
	out := new(Persistence_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 *PrivateEndpointConnection_STATUS) DeepCopyInto(out *PrivateEndpointConnection_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 PrivateEndpointConnection_STATUS.
func (in *PrivateEndpointConnection_STATUS) DeepCopy() *PrivateEndpointConnection_STATUS {
	if in == nil {
		return nil
	}
	out := new(PrivateEndpointConnection_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 *RedisEnterprise) DeepCopyInto(out *RedisEnterprise) {
	*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 RedisEnterprise.
func (in *RedisEnterprise) DeepCopy() *RedisEnterprise {
	if in == nil {
		return nil
	}
	out := new(RedisEnterprise)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RedisEnterprise) 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 *RedisEnterpriseDatabase) DeepCopyInto(out *RedisEnterpriseDatabase) {
	*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 RedisEnterpriseDatabase.
func (in *RedisEnterpriseDatabase) DeepCopy() *RedisEnterpriseDatabase {
	if in == nil {
		return nil
	}
	out := new(RedisEnterpriseDatabase)
	in.DeepCopyInto(out)
	return out
}

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RedisEnterpriseDatabaseList) 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 *RedisEnterpriseDatabaseOperatorSpec) DeepCopyInto(out *RedisEnterpriseDatabaseOperatorSpec) {
	*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 RedisEnterpriseDatabaseOperatorSpec.
func (in *RedisEnterpriseDatabaseOperatorSpec) DeepCopy() *RedisEnterpriseDatabaseOperatorSpec {
	if in == nil {
		return nil
	}
	out := new(RedisEnterpriseDatabaseOperatorSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisEnterpriseDatabase_STATUS) DeepCopyInto(out *RedisEnterpriseDatabase_STATUS) {
	*out = *in
	if in.AccessKeysAuthentication != nil {
		in, out := &in.AccessKeysAuthentication, &out.AccessKeysAuthentication
		*out = new(DatabaseProperties_AccessKeysAuthentication_STATUS)
		**out = **in
	}
	if in.ClientProtocol != nil {
		in, out := &in.ClientProtocol, &out.ClientProtocol
		*out = new(DatabaseProperties_ClientProtocol_STATUS)
		**out = **in
	}
	if in.ClusteringPolicy != nil {
		in, out := &in.ClusteringPolicy, &out.ClusteringPolicy
		*out = new(DatabaseProperties_ClusteringPolicy_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.DeferUpgrade != nil {
		in, out := &in.DeferUpgrade, &out.DeferUpgrade
		*out = new(DatabaseProperties_DeferUpgrade_STATUS)
		**out = **in
	}
	if in.EvictionPolicy != nil {
		in, out := &in.EvictionPolicy, &out.EvictionPolicy
		*out = new(DatabaseProperties_EvictionPolicy_STATUS)
		**out = **in
	}
	if in.GeoReplication != nil {
		in, out := &in.GeoReplication, &out.GeoReplication
		*out = new(DatabaseProperties_GeoReplication_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Modules != nil {
		in, out := &in.Modules, &out.Modules
		*out = make([]Module_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(Persistence_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int)
		**out = **in
	}
	if in.ProvisioningState != nil {
		in, out := &in.ProvisioningState, &out.ProvisioningState
		*out = new(ProvisioningState_STATUS)
		**out = **in
	}
	if in.RedisVersion != nil {
		in, out := &in.RedisVersion, &out.RedisVersion
		*out = new(string)
		**out = **in
	}
	if in.ResourceState != nil {
		in, out := &in.ResourceState, &out.ResourceState
		*out = new(ResourceState_STATUS)
		**out = **in
	}
	if in.SystemData != nil {
		in, out := &in.SystemData, &out.SystemData
		*out = new(SystemData_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Type != nil {
		in, out := &in.Type, &out.Type
		*out = new(string)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisEnterpriseDatabase_STATUS.
func (in *RedisEnterpriseDatabase_STATUS) DeepCopy() *RedisEnterpriseDatabase_STATUS {
	if in == nil {
		return nil
	}
	out := new(RedisEnterpriseDatabase_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 *RedisEnterpriseDatabase_Spec) DeepCopyInto(out *RedisEnterpriseDatabase_Spec) {
	*out = *in
	if in.AccessKeysAuthentication != nil {
		in, out := &in.AccessKeysAuthentication, &out.AccessKeysAuthentication
		*out = new(DatabaseProperties_AccessKeysAuthentication)
		**out = **in
	}
	if in.ClientProtocol != nil {
		in, out := &in.ClientProtocol, &out.ClientProtocol
		*out = new(DatabaseProperties_ClientProtocol)
		**out = **in
	}
	if in.ClusteringPolicy != nil {
		in, out := &in.ClusteringPolicy, &out.ClusteringPolicy
		*out = new(DatabaseProperties_ClusteringPolicy)
		**out = **in
	}
	if in.DeferUpgrade != nil {
		in, out := &in.DeferUpgrade, &out.DeferUpgrade
		*out = new(DatabaseProperties_DeferUpgrade)
		**out = **in
	}
	if in.EvictionPolicy != nil {
		in, out := &in.EvictionPolicy, &out.EvictionPolicy
		*out = new(DatabaseProperties_EvictionPolicy)
		**out = **in
	}
	if in.GeoReplication != nil {
		in, out := &in.GeoReplication, &out.GeoReplication
		*out = new(DatabaseProperties_GeoReplication)
		(*in).DeepCopyInto(*out)
	}
	if in.Modules != nil {
		in, out := &in.Modules, &out.Modules
		*out = make([]Module, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(RedisEnterpriseDatabaseOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**out = **in
	}
	if in.Persistence != nil {
		in, out := &in.Persistence, &out.Persistence
		*out = new(Persistence)
		(*in).DeepCopyInto(*out)
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int)
		**out = **in
	}
}

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *RedisEnterpriseList) 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 *RedisEnterpriseOperatorSpec) DeepCopyInto(out *RedisEnterpriseOperatorSpec) {
	*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 RedisEnterpriseOperatorSpec.
func (in *RedisEnterpriseOperatorSpec) DeepCopy() *RedisEnterpriseOperatorSpec {
	if in == nil {
		return nil
	}
	out := new(RedisEnterpriseOperatorSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RedisEnterprise_STATUS) DeepCopyInto(out *RedisEnterprise_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.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(ClusterProperties_Encryption_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.HighAvailability != nil {
		in, out := &in.HighAvailability, &out.HighAvailability
		*out = new(ClusterProperties_HighAvailability_STATUS)
		**out = **in
	}
	if in.HostName != nil {
		in, out := &in.HostName, &out.HostName
		*out = new(string)
		**out = **in
	}
	if in.Id != nil {
		in, out := &in.Id, &out.Id
		*out = new(string)
		**out = **in
	}
	if in.Identity != nil {
		in, out := &in.Identity, &out.Identity
		*out = new(ManagedServiceIdentity_STATUS)
		(*in).DeepCopyInto(*out)
	}
	if in.Kind != nil {
		in, out := &in.Kind, &out.Kind
		*out = new(Kind_STATUS)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.MinimumTlsVersion != nil {
		in, out := &in.MinimumTlsVersion, &out.MinimumTlsVersion
		*out = new(ClusterProperties_MinimumTlsVersion_STATUS)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(string)
		**out = **in
	}
	if in.PrivateEndpointConnections != nil {
		in, out := &in.PrivateEndpointConnections, &out.PrivateEndpointConnections
		*out = make([]PrivateEndpointConnection_STATUS, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ProvisioningState != nil {
		in, out := &in.ProvisioningState, &out.ProvisioningState
		*out = new(ProvisioningState_STATUS)
		**out = **in
	}
	if in.RedisVersion != nil {
		in, out := &in.RedisVersion, &out.RedisVersion
		*out = new(string)
		**out = **in
	}
	if in.RedundancyMode != nil {
		in, out := &in.RedundancyMode, &out.RedundancyMode
		*out = new(ClusterProperties_RedundancyMode_STATUS)
		**out = **in
	}
	if in.ResourceState != nil {
		in, out := &in.ResourceState, &out.ResourceState
		*out = new(ResourceState_STATUS)
		**out = **in
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(Sku_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.Type != nil {
		in, out := &in.Type, &out.Type
		*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 RedisEnterprise_STATUS.
func (in *RedisEnterprise_STATUS) DeepCopy() *RedisEnterprise_STATUS {
	if in == nil {
		return nil
	}
	out := new(RedisEnterprise_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 *RedisEnterprise_Spec) DeepCopyInto(out *RedisEnterprise_Spec) {
	*out = *in
	if in.Encryption != nil {
		in, out := &in.Encryption, &out.Encryption
		*out = new(ClusterProperties_Encryption)
		(*in).DeepCopyInto(*out)
	}
	if in.HighAvailability != nil {
		in, out := &in.HighAvailability, &out.HighAvailability
		*out = new(ClusterProperties_HighAvailability)
		**out = **in
	}
	if in.Identity != nil {
		in, out := &in.Identity, &out.Identity
		*out = new(ManagedServiceIdentity)
		(*in).DeepCopyInto(*out)
	}
	if in.Kind != nil {
		in, out := &in.Kind, &out.Kind
		*out = new(Kind)
		**out = **in
	}
	if in.Location != nil {
		in, out := &in.Location, &out.Location
		*out = new(string)
		**out = **in
	}
	if in.MinimumTlsVersion != nil {
		in, out := &in.MinimumTlsVersion, &out.MinimumTlsVersion
		*out = new(ClusterProperties_MinimumTlsVersion)
		**out = **in
	}
	if in.OperatorSpec != nil {
		in, out := &in.OperatorSpec, &out.OperatorSpec
		*out = new(RedisEnterpriseOperatorSpec)
		(*in).DeepCopyInto(*out)
	}
	if in.Owner != nil {
		in, out := &in.Owner, &out.Owner
		*out = new(genruntime.KnownResourceReference)
		**out = **in
	}
	if in.Sku != nil {
		in, out := &in.Sku, &out.Sku
		*out = new(Sku)
		(*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.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 RedisEnterprise_Spec.
func (in *RedisEnterprise_Spec) DeepCopy() *RedisEnterprise_Spec {
	if in == nil {
		return nil
	}
	out := new(RedisEnterprise_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 *Sku) DeepCopyInto(out *Sku) {
	*out = *in
	if in.Capacity != nil {
		in, out := &in.Capacity, &out.Capacity
		*out = new(int)
		**out = **in
	}
	if in.Name != nil {
		in, out := &in.Name, &out.Name
		*out = new(Sku_Name)
		**out = **in
	}
}

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Sku_STATUS.
func (in *Sku_STATUS) DeepCopy() *Sku_STATUS {
	if in == nil {
		return nil
	}
	out := new(Sku_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 *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) {
	*out = *in
	if in.CreatedAt != nil {
		in, out := &in.CreatedAt, &out.CreatedAt
		*out = new(string)
		**out = **in
	}
	if in.CreatedBy != nil {
		in, out := &in.CreatedBy, &out.CreatedBy
		*out = new(string)
		**out = **in
	}
	if in.CreatedByType != nil {
		in, out := &in.CreatedByType, &out.CreatedByType
		*out = new(SystemData_CreatedByType_STATUS)
		**out = **in
	}
	if in.LastModifiedAt != nil {
		in, out := &in.LastModifiedAt, &out.LastModifiedAt
		*out = new(string)
		**out = **in
	}
	if in.LastModifiedBy != nil {
		in, out := &in.LastModifiedBy, &out.LastModifiedBy
		*out = new(string)
		**out = **in
	}
	if in.LastModifiedByType != nil {
		in, out := &in.LastModifiedByType, &out.LastModifiedByType
		*out = new(SystemData_LastModifiedByType_STATUS)
		**out = **in
	}
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS.
func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS {
	if in == nil {
		return nil
	}
	out := new(SystemData_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 *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) {
	*out = *in
	out.Reference = in.Reference
}

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails.
func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails {
	if in == nil {
		return nil
	}
	out := new(UserAssignedIdentityDetails)
	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_STATUS) DeepCopyInto(out *UserAssignedIdentity_STATUS) {
	*out = *in
	if in.ClientId != nil {
		in, out := &in.ClientId, &out.ClientId
		*out = new(string)
		**out = **in
	}
	if in.PrincipalId != nil {
		in, out := &in.PrincipalId, &out.PrincipalId
		*out = new(string)
		**out = **in
	}
}

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