//go:build !ignore_autogenerated
// +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 *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 *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 *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.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 *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 *Audit) DeepCopyInto(out *Audit) {
	*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 *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 *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 *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.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.Options != nil {
		in, out := &in.Options, &out.Options
		*out = make([]string, len(*in))
		copy(*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
	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 *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 *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.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.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.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	in.Cluster.DeepCopyInto(&out.Cluster)
	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 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.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 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)
	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 *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 *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 *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.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)
	}
}

// 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 *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
	}
}

// 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 *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.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 *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 *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 *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
	}
}

// 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 *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 *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 *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
}

// 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
	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
	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 *InstanceType) DeepCopyInto(out *InstanceType) {
	*out = *in
	out.CPU = in.CPU.DeepCopy()
	out.Memory = in.Memory.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 *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 *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.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
	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 *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)
	}
}

// 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.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 *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)
	}
}

// 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)
	}
	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))
		copy(*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 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 *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 *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)
}

// 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 *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 *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 *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
}

// 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 *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()
}

// 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
	if in.Audit != nil {
		in, out := &in.Audit, &out.Audit
		*out = new(Audit)
		**out = **in
	}
	if in.PrecheckAudit != nil {
		in, out := &in.PrecheckAudit, &out.PrecheckAudit
		*out = new(Audit)
		**out = **in
	}
	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 *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
	}
}

// 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.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.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 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 *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.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 *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 *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
}
