//go:build !ignore_autogenerated

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

package v1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *Cluster) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *ClusterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) {
	*out = *in
	in.Kubernetes.DeepCopyInto(&out.Kubernetes)
	in.SqlEndpoints.DeepCopyInto(&out.SqlEndpoints)
	in.Cluster.DeepCopyInto(&out.Cluster)
	if in.ExtraGroups != nil {
		in, out := &in.ExtraGroups, &out.ExtraGroups
		*out = make([]ExtraGroupSpec, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.Paused != nil {
		in, out := &in.Paused, &out.Paused
		*out = new(bool)
		**out = **in
	}
	if in.ForProvider != nil {
		in, out := &in.ForProvider, &out.ForProvider
		*out = new(runtime.RawExtension)
		(*in).DeepCopyInto(*out)
	}
	if in.SharedBucket != nil {
		in, out := &in.SharedBucket, &out.SharedBucket
		*out = new(SharedBucket)
		**out = **in
	}
	if in.ConfigRevisionRef != nil {
		in, out := &in.ConfigRevisionRef, &out.ConfigRevisionRef
		*out = new(Reference)
		**out = **in
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *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
}
