//go:build !ignore_autogenerated

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

package v1

import (
	corev1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *AWSPrivateLinkServiceStatus) DeepCopyInto(out *AWSPrivateLinkServiceStatus) {
	*out = *in
	if in.AvailabilityZones != nil {
		in, out := &in.AvailabilityZones, &out.AvailabilityZones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Port != nil {
		in, out := &in.Port, &out.Port
		*out = new(int32)
		**out = **in
	}
	if in.Connections != nil {
		in, out := &in.Connections, &out.Connections
		*out = make([]*AWSPrivateLinkServiceConnection, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(AWSPrivateLinkServiceConnection)
				**out = **in
			}
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// 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 *AzureNodeSubnet) DeepCopyInto(out *AzureNodeSubnet) {
	*out = *in
}

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BackupList) 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 *BackupSpec) DeepCopyInto(out *BackupSpec) {
	*out = *in
	if in.Mode != nil {
		in, out := &in.Mode, &out.Mode
		*out = new(BackupMode)
		**out = **in
	}
	if in.CommitTS != nil {
		in, out := &in.CommitTS, &out.CommitTS
		*out = new(string)
		**out = **in
	}
	if in.TableFilter != nil {
		in, out := &in.TableFilter, &out.TableFilter
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LogTruncateUntil != nil {
		in, out := &in.LogTruncateUntil, &out.LogTruncateUntil
		*out = new(string)
		**out = **in
	}
	if in.LogStop != nil {
		in, out := &in.LogStop, &out.LogStop
		*out = new(bool)
		**out = **in
	}
	if in.Storage != nil {
		in, out := &in.Storage, &out.Storage
		*out = new(string)
		**out = **in
	}
	if in.CleanPolicy != nil {
		in, out := &in.CleanPolicy, &out.CleanPolicy
		*out = new(CleanPolicy)
		**out = **in
	}
	if in.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.Configuration != nil {
		in, out := &in.Configuration, &out.Configuration
		*out = new(DPConfiguration)
		**out = **in
	}
	if in.NodeRole != nil {
		in, out := &in.NodeRole, &out.NodeRole
		*out = new(string)
		**out = **in
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]corev1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ResourceRequirements != nil {
		in, out := &in.ResourceRequirements, &out.ResourceRequirements
		*out = new(corev1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.InstanceType != nil {
		in, out := &in.InstanceType, &out.InstanceType
		*out = new(string)
		**out = **in
	}
	if in.AccountRef != nil {
		in, out := &in.AccountRef, &out.AccountRef
		*out = new(AccountReference)
		**out = **in
	}
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *BranchList) 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 *BranchPublicSpec) DeepCopyInto(out *BranchPublicSpec) {
	*out = *in
	in.Service.DeepCopyInto(&out.Service)
	if in.AuthorizedNetworks != nil {
		in, out := &in.AuthorizedNetworks, &out.AuthorizedNetworks
		*out = make([]AuthorizedNetwork, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BranchSpec) DeepCopyInto(out *BranchSpec) {
	*out = *in
	in.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	in.Cluster.DeepCopyInto(&out.Cluster)
	if in.AutoScaling != nil {
		in, out := &in.AutoScaling, &out.AutoScaling
		*out = new(AutoScaling)
		**out = **in
	}
	if in.ForProvider != nil {
		in, out := &in.ForProvider, &out.ForProvider
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.ConfigRevisionRef != nil {
		in, out := &in.ConfigRevisionRef, &out.ConfigRevisionRef
		*out = new(Reference)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *BranchStatus) DeepCopyInto(out *BranchStatus) {
	*out = *in
	if in.DB != nil {
		in, out := &in.DB, &out.DB
		*out = new(DBStatus)
		(*in).DeepCopyInto(*out)
	}
	in.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	if in.ObjectStore != nil {
		in, out := &in.ObjectStore, &out.ObjectStore
		*out = new(ObjectStoreStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(MetricsStatus)
		**out = **in
	}
	if in.Proxy != nil {
		in, out := &in.Proxy, &out.Proxy
		*out = new(ProxyStatus)
		**out = **in
	}
	if in.LastActiveTimestamp != nil {
		in, out := &in.LastActiveTimestamp, &out.LastActiveTimestamp
		*out = (*in).DeepCopy()
	}
	if in.LastDetectTimestamp != nil {
		in, out := &in.LastDetectTimestamp, &out.LastDetectTimestamp
		*out = (*in).DeepCopy()
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.FromProvider.DeepCopyInto(&out.FromProvider)
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Cloud) DeepCopyInto(out *Cloud) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(CloudAWS)
		(*in).DeepCopyInto(*out)
	}
	if in.Ack != nil {
		in, out := &in.Ack, &out.Ack
		*out = new(CloudAck)
		(*in).DeepCopyInto(*out)
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(CloudGCP)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(CloudAzure)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterConfigList) 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 *ClusterConfigSpec) DeepCopyInto(out *ClusterConfigSpec) {
	*out = *in
	if in.ConfigMeta != nil {
		in, out := &in.ConfigMeta, &out.ConfigMeta
		*out = new(ConfigMeta)
		**out = **in
	}
	if in.TiDB != nil {
		in, out := &in.TiDB, &out.TiDB
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.PD != nil {
		in, out := &in.PD, &out.PD
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiProxy != nil {
		in, out := &in.TiProxy, &out.TiProxy
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiKV != nil {
		in, out := &in.TiKV, &out.TiKV
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlash != nil {
		in, out := &in.TiFlash, &out.TiFlash
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlashLearner != nil {
		in, out := &in.TiFlashLearner, &out.TiFlashLearner
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Backup != nil {
		in, out := &in.Backup, &out.Backup
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Restore != nil {
		in, out := &in.Restore, &out.Restore
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Lightning != nil {
		in, out := &in.Lightning, &out.Lightning
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiCDC != nil {
		in, out := &in.TiCDC, &out.TiCDC
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiflowMaster != nil {
		in, out := &in.TiflowMaster, &out.TiflowMaster
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiflowExecutor != nil {
		in, out := &in.TiflowExecutor, &out.TiflowExecutor
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(metav1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterList) 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 *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
	*out = *in
	in.Kubernetes.DeepCopyInto(&out.Kubernetes)
	in.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	in.Cluster.DeepCopyInto(&out.Cluster)
	if in.ExtraGroups != nil {
		in, out := &in.ExtraGroups, &out.ExtraGroups
		*out = make([]ExtraGroupSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
	if in.ForProvider != nil {
		in, out := &in.ForProvider, &out.ForProvider
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.SharedBucket != nil {
		in, out := &in.SharedBucket, &out.SharedBucket
		*out = new(SharedBucket)
		**out = **in
	}
	if in.ConfigRevisionRef != nil {
		in, out := &in.ConfigRevisionRef, &out.ConfigRevisionRef
		*out = new(Reference)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus) {
	*out = *in
	if in.DB != nil {
		in, out := &in.DB, &out.DB
		*out = new(DBStatus)
		(*in).DeepCopyInto(*out)
	}
	in.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	if in.ExtraEndpoints != nil {
		in, out := &in.ExtraEndpoints, &out.ExtraEndpoints
		*out = make([]ExtraGroupStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ObjectStore != nil {
		in, out := &in.ObjectStore, &out.ObjectStore
		*out = new(ObjectStoreStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Metrics != nil {
		in, out := &in.Metrics, &out.Metrics
		*out = new(MetricsStatus)
		**out = **in
	}
	if in.Proxy != nil {
		in, out := &in.Proxy, &out.Proxy
		*out = new(ProxyStatus)
		**out = **in
	}
	if in.Gateway != nil {
		in, out := &in.Gateway, &out.Gateway
		*out = new(GatewayStatus)
		**out = **in
	}
	if in.LastActiveTimestamp != nil {
		in, out := &in.LastActiveTimestamp, &out.LastActiveTimestamp
		*out = (*in).DeepCopy()
	}
	if in.LastDetectTimestamp != nil {
		in, out := &in.LastDetectTimestamp, &out.LastDetectTimestamp
		*out = (*in).DeepCopy()
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]ClusterCondition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.FromProvider.DeepCopyInto(&out.FromProvider)
	if in.NodeIdentity != nil {
		in, out := &in.NodeIdentity, &out.NodeIdentity
		*out = new(NodeIdentity)
		(*in).DeepCopyInto(*out)
	}
	if in.SharedBucket != nil {
		in, out := &in.SharedBucket, &out.SharedBucket
		*out = new(SharedBucketStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureClusterStatus)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterTopology) DeepCopyInto(out *ClusterTopology) {
	*out = *in
	in.TiDB.DeepCopyInto(&out.TiDB)
	in.PD.DeepCopyInto(&out.PD)
	in.TiKV.DeepCopyInto(&out.TiKV)
	in.TiFlash.DeepCopyInto(&out.TiFlash)
	in.TiProxy.DeepCopyInto(&out.TiProxy)
	if in.SuspendAction != nil {
		in, out := &in.SuspendAction, &out.SuspendAction
		*out = new(SuspendAction)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *CompactBackupList) 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 *CompactBackupSpec) DeepCopyInto(out *CompactBackupSpec) {
	*out = *in
	if in.StartTs != nil {
		in, out := &in.StartTs, &out.StartTs
		*out = new(string)
		**out = **in
	}
	if in.EndTs != nil {
		in, out := &in.EndTs, &out.EndTs
		*out = new(string)
		**out = **in
	}
	if in.Concurrency != nil {
		in, out := &in.Concurrency, &out.Concurrency
		*out = new(int32)
		**out = **in
	}
	if in.Storage != nil {
		in, out := &in.Storage, &out.Storage
		*out = new(string)
		**out = **in
	}
	if in.InstanceType != nil {
		in, out := &in.InstanceType, &out.InstanceType
		*out = new(string)
		**out = **in
	}
	if in.ResourceRequirements != nil {
		in, out := &in.ResourceRequirements, &out.ResourceRequirements
		*out = new(corev1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.Configuration != nil {
		in, out := &in.Configuration, &out.Configuration
		*out = new(DPConfiguration)
		**out = **in
	}
	if in.CleanPolicy != nil {
		in, out := &in.CleanPolicy, &out.CleanPolicy
		*out = new(CleanPolicy)
		**out = **in
	}
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
	if in.ShardCount != nil {
		in, out := &in.ShardCount, &out.ShardCount
		*out = new(int32)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigChangeDBStatus) DeepCopyInto(out *ConfigChangeDBStatus) {
	*out = *in
	if in.PD != nil {
		in, out := &in.PD, &out.PD
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiDB != nil {
		in, out := &in.TiDB, &out.TiDB
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiKV != nil {
		in, out := &in.TiKV, &out.TiKV
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlash != nil {
		in, out := &in.TiFlash, &out.TiFlash
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlashLearner != nil {
		in, out := &in.TiFlashLearner, &out.TiFlashLearner
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiProxy != nil {
		in, out := &in.TiProxy, &out.TiProxy
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiCDC != nil {
		in, out := &in.TiCDC, &out.TiCDC
		*out = new(ConfigChangeComponentStatus)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ConfigChangeStatus) DeepCopyInto(out *ConfigChangeStatus) {
	*out = *in
	if in.BeginTime != nil {
		in, out := &in.BeginTime, &out.BeginTime
		*out = (*in).DeepCopy()
	}
	if in.EndTime != nil {
		in, out := &in.EndTime, &out.EndTime
		*out = (*in).DeepCopy()
	}
	if in.LastEventSendTime != nil {
		in, out := &in.LastEventSendTime, &out.LastEventSendTime
		*out = (*in).DeepCopy()
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]*ConfigChangeStep, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ConfigChangeStep)
				**out = **in
			}
		}
	}
	if in.ChangedCategories != nil {
		in, out := &in.ChangedCategories, &out.ChangedCategories
		*out = make([]ConfigChangeCategory, len(*in))
		copy(*out, *in)
	}
	if in.ChangedComponents != nil {
		in, out := &in.ChangedComponents, &out.ChangedComponents
		*out = make([]ComponentType, len(*in))
		copy(*out, *in)
	}
	in.DB.DeepCopyInto(&out.DB)
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ConfigRevisionList) 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 *ConfigRevisionSpec) DeepCopyInto(out *ConfigRevisionSpec) {
	*out = *in
	if in.TiDB != nil {
		in, out := &in.TiDB, &out.TiDB
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.PD != nil {
		in, out := &in.PD, &out.PD
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiKV != nil {
		in, out := &in.TiKV, &out.TiKV
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiProxy != nil {
		in, out := &in.TiProxy, &out.TiProxy
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlash != nil {
		in, out := &in.TiFlash, &out.TiFlash
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlashLearner != nil {
		in, out := &in.TiFlashLearner, &out.TiFlashLearner
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Backup != nil {
		in, out := &in.Backup, &out.Backup
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Restore != nil {
		in, out := &in.Restore, &out.Restore
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.Lightning != nil {
		in, out := &in.Lightning, &out.Lightning
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiCDC != nil {
		in, out := &in.TiCDC, &out.TiCDC
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiflowMaster != nil {
		in, out := &in.TiflowMaster, &out.TiflowMaster
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
	if in.TiflowExecutor != nil {
		in, out := &in.TiflowExecutor, &out.TiflowExecutor
		*out = new(Configuration)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *CsvFormat) DeepCopyInto(out *CsvFormat) {
	*out = *in
	if in.Separator != nil {
		in, out := &in.Separator, &out.Separator
		*out = new(string)
		**out = **in
	}
	if in.Delimiter != nil {
		in, out := &in.Delimiter, &out.Delimiter
		*out = new(string)
		**out = **in
	}
	if in.Header != nil {
		in, out := &in.Header, &out.Header
		*out = new(bool)
		**out = **in
	}
	if in.NotNull != nil {
		in, out := &in.NotNull, &out.NotNull
		*out = new(bool)
		**out = **in
	}
	if in.Null != nil {
		in, out := &in.Null, &out.Null
		*out = new(string)
		**out = **in
	}
	if in.BackslashEscape != nil {
		in, out := &in.BackslashEscape, &out.BackslashEscape
		*out = new(bool)
		**out = **in
	}
	if in.TrimLastSeparator != nil {
		in, out := &in.TrimLastSeparator, &out.TrimLastSeparator
		*out = new(bool)
		**out = **in
	}
	if in.HeaderSchemaMatch != nil {
		in, out := &in.HeaderSchemaMatch, &out.HeaderSchemaMatch
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DBStatus) DeepCopyInto(out *DBStatus) {
	*out = *in
	if in.TiKV != nil {
		in, out := &in.TiKV, &out.TiKV
		*out = new(TiKVStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiDB != nil {
		in, out := &in.TiDB, &out.TiDB
		*out = new(TiDBStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiProxy != nil {
		in, out := &in.TiProxy, &out.TiProxy
		*out = new(TiProxyStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.PD != nil {
		in, out := &in.PD, &out.PD
		*out = new(PDStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.TiFlash != nil {
		in, out := &in.TiFlash, &out.TiFlash
		*out = new(TiFlashStatus)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DWWorkerList) 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 *DWWorkerSpec) DeepCopyInto(out *DWWorkerSpec) {
	*out = *in
	if in.Args != nil {
		in, out := &in.Args, &out.Args
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DumplingList) 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 *DumplingSpec) DeepCopyInto(out *DumplingSpec) {
	*out = *in
	if in.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.TableFilter != nil {
		in, out := &in.TableFilter, &out.TableFilter
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ExportList) 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 *ExportOptions) DeepCopyInto(out *ExportOptions) {
	*out = *in
	in.CSVOptions.DeepCopyInto(&out.CSVOptions)
	if in.TableFilter != nil {
		in, out := &in.TableFilter, &out.TableFilter
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.ColumnSelectors != nil {
		in, out := &in.ColumnSelectors, &out.ColumnSelectors
		*out = make([]ColumnSelector, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.EscapeBackslash != nil {
		in, out := &in.EscapeBackslash, &out.EscapeBackslash
		*out = new(bool)
		**out = **in
	}
	out.ParquetOptions = in.ParquetOptions
	if in.Partition != nil {
		in, out := &in.Partition, &out.Partition
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *From) DeepCopyInto(out *From) {
	*out = *in
	if in.LogBackup != nil {
		in, out := &in.LogBackup, &out.LogBackup
		*out = new(string)
		**out = **in
	}
	if in.PiTRRestoredTS != nil {
		in, out := &in.PiTRRestoredTS, &out.PiTRRestoredTS
		*out = new(string)
		**out = **in
	}
	if in.RestoreBucketInfo != nil {
		in, out := &in.RestoreBucketInfo, &out.RestoreBucketInfo
		*out = new(RestoreBucketInfo)
		**out = **in
	}
	if in.Region != nil {
		in, out := &in.Region, &out.Region
		*out = new(string)
		**out = **in
	}
	if in.SnapshotBackupStorage != nil {
		in, out := &in.SnapshotBackupStorage, &out.SnapshotBackupStorage
		*out = new(string)
		**out = **in
	}
	if in.LogBackupStorage != nil {
		in, out := &in.LogBackupStorage, &out.LogBackupStorage
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GardenerNetworkAWSStatus) DeepCopyInto(out *GardenerNetworkAWSStatus) {
	*out = *in
	if in.VpcID != nil {
		in, out := &in.VpcID, &out.VpcID
		*out = new(string)
		**out = **in
	}
	if in.HostedZoneID != nil {
		in, out := &in.HostedZoneID, &out.HostedZoneID
		*out = new(string)
		**out = **in
	}
	if in.AccountID != nil {
		in, out := &in.AccountID, &out.AccountID
		*out = new(string)
		**out = **in
	}
	if in.S3EndpointID != nil {
		in, out := &in.S3EndpointID, &out.S3EndpointID
		*out = new(string)
		**out = **in
	}
	if in.SecurityGroups != nil {
		in, out := &in.SecurityGroups, &out.SecurityGroups
		*out = make([]SecurityGroup, len(*in))
		copy(*out, *in)
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *GardenerNetworkGCPStatus) DeepCopyInto(out *GardenerNetworkGCPStatus) {
	*out = *in
	if in.TiKVAWSUserArn != nil {
		in, out := &in.TiKVAWSUserArn, &out.TiKVAWSUserArn
		*out = new(string)
		**out = **in
	}
	if in.KmsSecretName != nil {
		in, out := &in.KmsSecretName, &out.KmsSecretName
		*out = new(string)
		**out = **in
	}
	if in.BrSecretName != nil {
		in, out := &in.BrSecretName, &out.BrSecretName
		*out = new(string)
		**out = **in
	}
	if in.NetworkName != nil {
		in, out := &in.NetworkName, &out.NetworkName
		*out = new(string)
		**out = **in
	}
	if in.HostedZoneID != nil {
		in, out := &in.HostedZoneID, &out.HostedZoneID
		*out = new(string)
		**out = **in
	}
	if in.ProjectID != nil {
		in, out := &in.ProjectID, &out.ProjectID
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *GardenerNetworkStatus) 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 *GardenerProviderSpec) DeepCopyInto(out *GardenerProviderSpec) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	if in.EnableGracefulShutdownWebhook != nil {
		in, out := &in.EnableGracefulShutdownWebhook, &out.EnableGracefulShutdownWebhook
		*out = new(bool)
		**out = **in
	}
	out.Reporter = in.Reporter
	out.SLIReporter = in.SLIReporter
	in.Proxy.DeepCopyInto(&out.Proxy)
	out.TopSQL = in.TopSQL
	out.DataFlowAgent = in.DataFlowAgent
	out.AWS = in.AWS
	out.GCP = in.GCP
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ImportList) 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 *ImportSpec) DeepCopyInto(out *ImportSpec) {
	*out = *in
	in.Source.DeepCopyInto(&out.Source)
	out.AccessConfig = in.AccessConfig
	out.CustomConfigs = in.CustomConfigs
	if in.NodeRole != nil {
		in, out := &in.NodeRole, &out.NodeRole
		*out = new(string)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ImportStatus) DeepCopyInto(out *ImportStatus) {
	*out = *in
	if in.CurrentTables != nil {
		in, out := &in.CurrentTables, &out.CurrentTables
		*out = make([]CurrentTableStatus, len(*in))
		copy(*out, *in)
	}
	if in.AllTableDetails != nil {
		in, out := &in.AllTableDetails, &out.AllTableDetails
		*out = make([]CurrentTableStatus, len(*in))
		copy(*out, *in)
	}
	if in.TotalFiles != nil {
		in, out := &in.TotalFiles, &out.TotalFiles
		*out = new(uint32)
		**out = **in
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InfraAPIConfig) DeepCopyInto(out *InfraAPIConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Server = in.Server
	out.Gardener = in.Gardener
	in.CrossplaneController.DeepCopyInto(&out.CrossplaneController)
	out.Import = in.Import
	if in.CentralCIDR != nil {
		in, out := &in.CentralCIDR, &out.CentralCIDR
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.Predicate.DeepCopyInto(&out.Predicate)
	out.Hibernation = in.Hibernation
	out.DNS = in.DNS
	in.Proxy.DeepCopyInto(&out.Proxy)
	if in.ObservabilityInfraConfig != nil {
		in, out := &in.ObservabilityInfraConfig, &out.ObservabilityInfraConfig
		*out = new(ObservabilityInfraConfig)
		(*in).DeepCopyInto(*out)
	}
	in.Audit.DeepCopyInto(&out.Audit)
	in.MixedDeployPDWithTiKV.DeepCopyInto(&out.MixedDeployPDWithTiKV)
	if in.FeatureGates != nil {
		in, out := &in.FeatureGates, &out.FeatureGates
		*out = make(map[FeatureGateName]FeatureGate, len(*in))
		for key, val := range *in {
			(*out)[key] = *val.DeepCopy()
		}
	}
	if in.ExpFeatureGates != nil {
		in, out := &in.ExpFeatureGates, &out.ExpFeatureGates
		*out = make([]ExpFeatureGate, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *InstanceType) DeepCopyInto(out *InstanceType) {
	*out = *in
	out.CPU = in.CPU.DeepCopy()
	out.Memory = in.Memory.DeepCopy()
	out.UnavailableMemory = in.UnavailableMemory.DeepCopy()
	if in.Regions != nil {
		in, out := &in.Regions, &out.Regions
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LocalStorageSize != nil {
		in, out := &in.LocalStorageSize, &out.LocalStorageSize
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.MinStorage != nil {
		in, out := &in.MinStorage, &out.MinStorage
		x := (*in).DeepCopy()
		*out = &x
	}
	if in.MaxStorage != nil {
		in, out := &in.MaxStorage, &out.MaxStorage
		x := (*in).DeepCopy()
		*out = &x
	}
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Kubernetes) DeepCopyInto(out *Kubernetes) {
	*out = *in
	if in.CAData != nil {
		in, out := &in.CAData, &out.CAData
		*out = make([]byte, len(*in))
		copy(*out, *in)
	}
	if in.KubeConfigSecretRef != nil {
		in, out := &in.KubeConfigSecretRef, &out.KubeConfigSecretRef
		*out = new(corev1.SecretReference)
		**out = **in
	}
	in.Cloud.DeepCopyInto(&out.Cloud)
}

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *MixedDeployPDWithTiKV) DeepCopyInto(out *MixedDeployPDWithTiKV) {
	*out = *in
	in.AffectClusterCreatedAfter.DeepCopyInto(&out.AffectClusterCreatedAfter)
	if in.AffectNamespaceAllowList != nil {
		in, out := &in.AffectNamespaceAllowList, &out.AffectNamespaceAllowList
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.AffectNamespaceBlockList != nil {
		in, out := &in.AffectNamespaceBlockList, &out.AffectNamespaceBlockList
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.AffectTopology.DeepCopyInto(&out.AffectTopology)
	if in.affectNamespaceAllowListSet != nil {
		in, out := &in.affectNamespaceAllowListSet, &out.affectNamespaceAllowListSet
		*out = make(map[string]bool, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.affectNamespaceBlockListSet != nil {
		in, out := &in.affectNamespaceBlockListSet, &out.affectNamespaceBlockListSet
		*out = make(map[string]bool, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkPeerStatus.
func (in *NetworkPeerStatus) DeepCopy() *NetworkPeerStatus {
	if in == nil {
		return nil
	}
	out := new(NetworkPeerStatus)
	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
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
	if in.AccountRef != nil {
		in, out := &in.AccountRef, &out.AccountRef
		*out = new(AccountReference)
		**out = **in
	}
	if in.ForProvider != nil {
		in, out := &in.ForProvider, &out.ForProvider
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
}

// 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 *NetworkStatus) DeepCopyInto(out *NetworkStatus) {
	*out = *in
	out.Peering = in.Peering
	out.Import = in.Import
	out.IAM = in.IAM
	out.CoreDNS = in.CoreDNS
	if in.ExternalIPs != nil {
		in, out := &in.ExternalIPs, &out.ExternalIPs
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	in.FromProvider.DeepCopyInto(&out.FromProvider)
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodegroupSpec) DeepCopyInto(out *NodegroupSpec) {
	*out = *in
	if in.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Annotations != nil {
		in, out := &in.Annotations, &out.Annotations
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.MachineSpec != nil {
		in, out := &in.MachineSpec, &out.MachineSpec
		*out = new(MachineSpec)
		**out = **in
	}
	if in.Taints != nil {
		in, out := &in.Taints, &out.Taints
		*out = make([]corev1.Taint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Zones != nil {
		in, out := &in.Zones, &out.Zones
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NodeRole != nil {
		in, out := &in.NodeRole, &out.NodeRole
		*out = new(string)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ProviderList) 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 *ProviderSpec) DeepCopyInto(out *ProviderSpec) {
	*out = *in
	if in.Regions != nil {
		in, out := &in.Regions, &out.Regions
		*out = make([]Region, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.InstanceTypes != nil {
		in, out := &in.InstanceTypes, &out.InstanceTypes
		*out = make([]InstanceType, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.StorageClasses != nil {
		in, out := &in.StorageClasses, &out.StorageClasses
		*out = make([]StorageClass, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ForProvider != nil {
		in, out := &in.ForProvider, &out.ForProvider
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReplaySpec) DeepCopyInto(out *ReplaySpec) {
	*out = *in
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
	if in.SourceClusterType != nil {
		in, out := &in.SourceClusterType, &out.SourceClusterType
		*out = new(ReplayClusterType)
		**out = **in
	}
	if in.SourceClusterID != nil {
		in, out := &in.SourceClusterID, &out.SourceClusterID
		*out = new(string)
		**out = **in
	}
	if in.SourceProvider != nil {
		in, out := &in.SourceProvider, &out.SourceProvider
		*out = new(string)
		**out = **in
	}
	if in.SourceRegion != nil {
		in, out := &in.SourceRegion, &out.SourceRegion
		*out = new(string)
		**out = **in
	}
	if in.Tasks != nil {
		in, out := &in.Tasks, &out.Tasks
		*out = make([]ReplayTask, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.ReplayConfig.DeepCopyInto(&out.ReplayConfig)
	in.Kubernetes.DeepCopyInto(&out.Kubernetes)
	out.PasswordSecretRef = in.PasswordSecretRef
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ReplayTask) DeepCopyInto(out *ReplayTask) {
	*out = *in
	if in.SourceAuditLogAddrs != nil {
		in, out := &in.SourceAuditLogAddrs, &out.SourceAuditLogAddrs
		*out = make([]AuditLogAddr, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Resources != nil {
		in, out := &in.Resources, &out.Resources
		*out = new(ReplayTaskResources)
		**out = **in
	}
	if in.ReplayConfigs != nil {
		in, out := &in.ReplayConfigs, &out.ReplayConfigs
		*out = make([]ReplayConfig, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *RestoreSpec) DeepCopyInto(out *RestoreSpec) {
	*out = *in
	in.From.DeepCopyInto(&out.From)
	if in.Configuration != nil {
		in, out := &in.Configuration, &out.Configuration
		*out = new(DPConfiguration)
		**out = **in
	}
	if in.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NodeRole != nil {
		in, out := &in.NodeRole, &out.NodeRole
		*out = new(string)
		**out = **in
	}
	if in.Env != nil {
		in, out := &in.Env, &out.Env
		*out = make([]corev1.EnvVar, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.ResourceRequirements != nil {
		in, out := &in.ResourceRequirements, &out.ResourceRequirements
		*out = new(corev1.ResourceRequirements)
		(*in).DeepCopyInto(*out)
	}
	if in.InstanceType != nil {
		in, out := &in.InstanceType, &out.InstanceType
		*out = new(string)
		**out = **in
	}
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
}

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

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

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

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

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

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

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

// 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 *Server) DeepCopyInto(out *Server) {
	*out = *in
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *SharedBucketStatus) DeepCopyInto(out *SharedBucketStatus) {
	*out = *in
	if in.AWS != nil {
		in, out := &in.AWS, &out.AWS
		*out = new(AWSSharedBucketStatus)
		**out = **in
	}
	if in.GCP != nil {
		in, out := &in.GCP, &out.GCP
		*out = new(GCPSharedBucketStatus)
		**out = **in
	}
	if in.Azure != nil {
		in, out := &in.Azure, &out.Azure
		*out = new(AzureSharedBucketStatus)
		**out = **in
	}
}

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ShootBackupStatus) 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 *ShootLastError) DeepCopyInto(out *ShootLastError) {
	*out = *in
	if in.TaskID != nil {
		in, out := &in.TaskID, &out.TaskID
		*out = new(string)
		**out = **in
	}
	if in.Codes != nil {
		in, out := &in.Codes, &out.Codes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.LastUpdateTime != nil {
		in, out := &in.LastUpdateTime, &out.LastUpdateTime
		*out = (*in).DeepCopy()
	}
}

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *Step) DeepCopyInto(out *Step) {
	*out = *in
	if in.BeginTime != nil {
		in, out := &in.BeginTime, &out.BeginTime
		*out = (*in).DeepCopy()
	}
	if in.EndTime != nil {
		in, out := &in.EndTime, &out.EndTime
		*out = (*in).DeepCopy()
	}
	if in.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.Phases != nil {
		in, out := &in.Phases, &out.Phases
		*out = make([]StepPhase, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.LastProgressTime != nil {
		in, out := &in.LastProgressTime, &out.LastProgressTime
		*out = (*in).DeepCopy()
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *TiCDCList) 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 *TiCDCSpec) DeepCopyInto(out *TiCDCSpec) {
	*out = *in
	if in.CDCClusterID != nil {
		in, out := &in.CDCClusterID, &out.CDCClusterID
		*out = new(string)
		**out = **in
	}
	out.StorageSize = in.StorageSize.DeepCopy()
	if in.Configuration != nil {
		in, out := &in.Configuration, &out.Configuration
		*out = new(DPConfiguration)
		**out = **in
	}
	if in.NodeRole != nil {
		in, out := &in.NodeRole, &out.NodeRole
		*out = new(string)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TiDB) DeepCopyInto(out *TiDB) {
	*out = *in
	out.ComponentStub = in.ComponentStub
	if in.Audit != nil {
		in, out := &in.Audit, &out.Audit
		*out = new(Audit)
		(*in).DeepCopyInto(*out)
	}
	if in.PrecheckAudit != nil {
		in, out := &in.PrecheckAudit, &out.PrecheckAudit
		*out = new(Audit)
		(*in).DeepCopyInto(*out)
	}
	if in.Security != nil {
		in, out := &in.Security, &out.Security
		*out = new(TiDBSecurity)
		(*in).DeepCopyInto(*out)
	}
	if in.SuspendAction != nil {
		in, out := &in.SuspendAction, &out.SuspendAction
		*out = new(SuspendAction)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TiKV) DeepCopyInto(out *TiKV) {
	*out = *in
	out.ComponentStub = in.ComponentStub
	out.StorageSize = in.StorageSize.DeepCopy()
	if in.StorageVolumes != nil {
		in, out := &in.StorageVolumes, &out.StorageVolumes
		*out = make([]ComponentStorageVolume, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.DedicatedRaftEngineStorage != nil {
		in, out := &in.DedicatedRaftEngineStorage, &out.DedicatedRaftEngineStorage
		*out = new(TiKVDedicatedRaftEngineStorage)
		(*in).DeepCopyInto(*out)
	}
	if in.UseLocalStorage != nil {
		in, out := &in.UseLocalStorage, &out.UseLocalStorage
		*out = new(bool)
		**out = **in
	}
	if in.SuspendAction != nil {
		in, out := &in.SuspendAction, &out.SuspendAction
		*out = new(SuspendAction)
		**out = **in
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *TiKVStatus) DeepCopyInto(out *TiKVStatus) {
	*out = *in
	if in.Members != nil {
		in, out := &in.Members, &out.Members
		*out = make([]StoreMember, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Volume != nil {
		in, out := &in.Volume, &out.Volume
		*out = new(VolumeStatus)
		(*in).DeepCopyInto(*out)
	}
	if in.StorageVolumes != nil {
		in, out := &in.StorageVolumes, &out.StorageVolumes
		*out = make([]StorageVolumeStatus, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]metav1.Condition, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *UpgradeOperationStatus) DeepCopyInto(out *UpgradeOperationStatus) {
	*out = *in
	if in.BeginTime != nil {
		in, out := &in.BeginTime, &out.BeginTime
		*out = (*in).DeepCopy()
	}
	if in.EndTime != nil {
		in, out := &in.EndTime, &out.EndTime
		*out = (*in).DeepCopy()
	}
	if in.CurrentStep != nil {
		in, out := &in.CurrentStep, &out.CurrentStep
		*out = new(Step)
		(*in).DeepCopyInto(*out)
	}
	if in.NextSteps != nil {
		in, out := &in.NextSteps, &out.NextSteps
		*out = make(Steps, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.FinishedSteps != nil {
		in, out := &in.FinishedSteps, &out.FinishedSteps
		*out = make(Steps, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *WorkflowList) 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 *WorkflowNotification) DeepCopyInto(out *WorkflowNotification) {
	*out = *in
	if in.Notifyees != nil {
		in, out := &in.Notifyees, &out.Notifyees
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec) {
	*out = *in
	if in.Schedule != nil {
		in, out := &in.Schedule, &out.Schedule
		*out = (*in).DeepCopy()
	}
	if in.TTL != nil {
		in, out := &in.TTL, &out.TTL
		*out = new(metav1.Duration)
		**out = **in
	}
	if in.RetryPolicy != nil {
		in, out := &in.RetryPolicy, &out.RetryPolicy
		*out = new(WorkflowRetryPolicy)
		(*in).DeepCopyInto(*out)
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make(WorkflowSteps, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Inputs != nil {
		in, out := &in.Inputs, &out.Inputs
		*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 WorkflowSpec.
func (in *WorkflowSpec) DeepCopy() *WorkflowSpec {
	if in == nil {
		return nil
	}
	out := new(WorkflowSpec)
	in.DeepCopyInto(out)
	return out
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus) {
	*out = *in
	if in.BeginAt != nil {
		in, out := &in.BeginAt, &out.BeginAt
		*out = (*in).DeepCopy()
	}
	if in.EndAt != nil {
		in, out := &in.EndAt, &out.EndAt
		*out = (*in).DeepCopy()
	}
	if in.Steps != nil {
		in, out := &in.Steps, &out.Steps
		*out = make([]*WorkflowStepStatus, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(WorkflowStepStatus)
				(*in).DeepCopyInto(*out)
			}
		}
	}
	if in.FinishedSteps != nil {
		in, out := &in.FinishedSteps, &out.FinishedSteps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.EndingSteps != nil {
		in, out := &in.EndingSteps, &out.EndingSteps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.RunningSteps != nil {
		in, out := &in.RunningSteps, &out.RunningSteps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.CancelEndingSteps != nil {
		in, out := &in.CancelEndingSteps, &out.CancelEndingSteps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.CancellingSteps != nil {
		in, out := &in.CancellingSteps, &out.CancellingSteps
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
	if in.NextExecuteTime != nil {
		in, out := &in.NextExecuteTime, &out.NextExecuteTime
		*out = (*in).DeepCopy()
	}
	if in.Outputs != nil {
		in, out := &in.Outputs, &out.Outputs
		*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 WorkflowStatus.
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus {
	if in == nil {
		return nil
	}
	out := new(WorkflowStatus)
	in.DeepCopyInto(out)
	return out
}

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

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

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

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

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