func (in *RelationshipList) DeepCopy() *RelationshipList {
	if in == nil {
		return nil
	}
	out := new(RelationshipList)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelationshipList.
package v1
import (
	"github.com/PingCAP-QE/Naglfar/pkg/ref"
	"k8s.io/apimachinery/pkg/runtime"
)
func (in AcceptResources) DeepCopyInto(out *AcceptResources) {
	{
		in := &in
		*out = make(AcceptResources, len(*in))
		copy(*out, *in)
	}
}
func (in AcceptResources) DeepCopy() AcceptResources {
	if in == nil {
		return nil
	}
	out := new(AcceptResources)
	in.DeepCopyInto(out)
	return *out
}
func (in *AlertManagerSpec) DeepCopyInto(out *AlertManagerSpec) {
	*out = *in
}
func (in *AlertManagerSpec) DeepCopy() *AlertManagerSpec {
	if in == nil {
		return nil
	}
	out := new(AlertManagerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *AvailableResource) DeepCopyInto(out *AvailableResource) {
	*out = *in
	if in.IdleCPUSet != nil {
		in, out := &in.IdleCPUSet, &out.IdleCPUSet
		*out = make([]int, len(*in))
		copy(*out, *in)
	}
	if in.Disks != nil {
		in, out := &in.Disks, &out.Disks
		*out = make(map[string]DiskResource, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}
func (in *AvailableResource) DeepCopy() *AvailableResource {
	if in == nil {
		return nil
	}
	out := new(AvailableResource)
	in.DeepCopyInto(out)
	return out
}
func (in *CDCSpec) DeepCopyInto(out *CDCSpec) {
	*out = *in
}
func (in *CDCSpec) DeepCopy() *CDCSpec {
	if in == nil {
		return nil
	}
	out := new(CDCSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ClusterTopologyRef) DeepCopyInto(out *ClusterTopologyRef) {
	*out = *in
}
func (in *ClusterTopologyRef) DeepCopy() *ClusterTopologyRef {
	if in == nil {
		return nil
	}
	out := new(ClusterTopologyRef)
	in.DeepCopyInto(out)
	return out
}
func (in *ContainerSpec) DeepCopyInto(out *ContainerSpec) {
	*out = *in
	out.ResourceRequest = in.ResourceRequest
	if in.Command != nil {
		in, out := &in.Command, &out.Command
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ContainerSpec) DeepCopy() *ContainerSpec {
	if in == nil {
		return nil
	}
	out := new(ContainerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *DMCluster) DeepCopyInto(out *DMCluster) {
	*out = *in
	if in.Global != nil {
		in, out := &in.Global, &out.Global
		*out = new(Global)
		**out = **in
	}
	out.ServerConfigs = in.ServerConfigs
	if in.Master != nil {
		in, out := &in.Master, &out.Master
		*out = make([]MasterSpec, len(*in))
		copy(*out, *in)
	}
	if in.Worker != nil {
		in, out := &in.Worker, &out.Worker
		*out = make([]WorkerSpec, len(*in))
		copy(*out, *in)
	}
	if in.AlertManager != nil {
		in, out := &in.AlertManager, &out.AlertManager
		*out = make([]AlertManagerSpec, len(*in))
		copy(*out, *in)
	}
	if in.Monitor != nil {
		in, out := &in.Monitor, &out.Monitor
		*out = make([]PrometheusSpec, len(*in))
		copy(*out, *in)
	}
	if in.Grafana != nil {
		in, out := &in.Grafana, &out.Grafana
		*out = make([]GrafanaSpec, len(*in))
		copy(*out, *in)
	}
}
func (in *DMCluster) DeepCopy() *DMCluster {
	if in == nil {
		return nil
	}
	out := new(DMCluster)
	in.DeepCopyInto(out)
	return out
}
func (in *DMServerConfigs) DeepCopyInto(out *DMServerConfigs) {
	*out = *in
}
func (in *DMServerConfigs) DeepCopy() *DMServerConfigs {
	if in == nil {
		return nil
	}
	out := new(DMServerConfigs)
	in.DeepCopyInto(out)
	return out
}
func (in *DiskBinding) DeepCopyInto(out *DiskBinding) {
	*out = *in
}
func (in *DiskBinding) DeepCopy() *DiskBinding {
	if in == nil {
		return nil
	}
	out := new(DiskBinding)
	in.DeepCopyInto(out)
	return out
}
func (in *DiskResource) DeepCopyInto(out *DiskResource) {
	*out = *in
}
func (in *DiskResource) DeepCopy() *DiskResource {
	if in == nil {
		return nil
	}
	out := new(DiskResource)
	in.DeepCopyInto(out)
	return out
}
func (in *DiskSpec) DeepCopyInto(out *DiskSpec) {
	*out = *in
}
func (in *DiskSpec) DeepCopy() *DiskSpec {
	if in == nil {
		return nil
	}
	out := new(DiskSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *DrainerSpec) DeepCopyInto(out *DrainerSpec) {
	*out = *in
}
func (in *DrainerSpec) DeepCopy() *DrainerSpec {
	if in == nil {
		return nil
	}
	out := new(DrainerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *FlinkCluster) DeepCopyInto(out *FlinkCluster) {
	*out = *in
	out.JobManager = in.JobManager
	if in.TaskManager != nil {
		in, out := &in.TaskManager, &out.TaskManager
		*out = make([]TaskManagerSpec, len(*in))
		copy(*out, *in)
	}
}
func (in *FlinkCluster) DeepCopy() *FlinkCluster {
	if in == nil {
		return nil
	}
	out := new(FlinkCluster)
	in.DeepCopyInto(out)
	return out
}
func (in *Global) DeepCopyInto(out *Global) {
	*out = *in
}
func (in *Global) DeepCopy() *Global {
	if in == nil {
		return nil
	}
	out := new(Global)
	in.DeepCopyInto(out)
	return out
}
func (in *GrafanaSpec) DeepCopyInto(out *GrafanaSpec) {
	*out = *in
}
func (in *GrafanaSpec) DeepCopy() *GrafanaSpec {
	if in == nil {
		return nil
	}
	out := new(GrafanaSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *HAProxy) DeepCopyInto(out *HAProxy) {
	*out = *in
}
func (in *HAProxy) DeepCopy() *HAProxy {
	if in == nil {
		return nil
	}
	out := new(HAProxy)
	in.DeepCopyInto(out)
	return out
}
func (in *JobManagerSpec) DeepCopyInto(out *JobManagerSpec) {
	*out = *in
}
func (in *JobManagerSpec) DeepCopy() *JobManagerSpec {
	if in == nil {
		return nil
	}
	out := new(JobManagerSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Machine) DeepCopyInto(out *Machine) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *Machine) DeepCopy() *Machine {
	if in == nil {
		return nil
	}
	out := new(Machine)
	in.DeepCopyInto(out)
	return out
}
func (in *Machine) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *MachineInfo) DeepCopyInto(out *MachineInfo) {
	*out = *in
	if in.StorageDevices != nil {
		in, out := &in.StorageDevices, &out.StorageDevices
		*out = make(map[string]StorageDevice, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
}
func (in *MachineInfo) DeepCopy() *MachineInfo {
	if in == nil {
		return nil
	}
	out := new(MachineInfo)
	in.DeepCopyInto(out)
	return out
}
func (in *MachineList) DeepCopyInto(out *MachineList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Machine, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *MachineList) DeepCopy() *MachineList {
	if in == nil {
		return nil
	}
	out := new(MachineList)
	in.DeepCopyInto(out)
	return out
}
func (in *MachineList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *MachineRef) DeepCopyInto(out *MachineRef) {
	*out = *in
	out.Ref = in.Ref
	in.Binding.DeepCopyInto(&out.Binding)
}
func (in *MachineRef) DeepCopy() *MachineRef {
	if in == nil {
		return nil
	}
	out := new(MachineRef)
	in.DeepCopyInto(out)
	return out
}
func (in *MachineRequest) DeepCopyInto(out *MachineRequest) {
	*out = *in
}
func (in *MachineRequest) DeepCopy() *MachineRequest {
	if in == nil {
		return nil
	}
	out := new(MachineRequest)
	in.DeepCopyInto(out)
	return out
}
func (in *MachineSpec) DeepCopyInto(out *MachineSpec) {
	*out = *in
	if in.Reserve != nil {
		in, out := &in.Reserve, &out.Reserve
		*out = new(ReserveResources)
		**out = **in
	}
	if in.ExclusiveDisks != nil {
		in, out := &in.ExclusiveDisks, &out.ExclusiveDisks
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *MachineSpec) DeepCopy() *MachineSpec {
	if in == nil {
		return nil
	}
	out := new(MachineSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *MachineStatus) DeepCopyInto(out *MachineStatus) {
	*out = *in
	if in.Info != nil {
		in, out := &in.Info, &out.Info
		*out = new(MachineInfo)
		(*in).DeepCopyInto(*out)
	}
}
func (in *MachineStatus) DeepCopy() *MachineStatus {
	if in == nil {
		return nil
	}
	out := new(MachineStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *MasterSpec) DeepCopyInto(out *MasterSpec) {
	*out = *in
}
func (in *MasterSpec) DeepCopy() *MasterSpec {
	if in == nil {
		return nil
	}
	out := new(MasterSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *PDSpec) DeepCopyInto(out *PDSpec) {
	*out = *in
}
func (in *PDSpec) DeepCopy() *PDSpec {
	if in == nil {
		return nil
	}
	out := new(PDSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaos) DeepCopyInto(out *ProcChaos) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *ProcChaos) DeepCopy() *ProcChaos {
	if in == nil {
		return nil
	}
	out := new(ProcChaos)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaos) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ProcChaosList) DeepCopyInto(out *ProcChaosList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]ProcChaos, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *ProcChaosList) DeepCopy() *ProcChaosList {
	if in == nil {
		return nil
	}
	out := new(ProcChaosList)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaosList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *ProcChaosSpec) DeepCopyInto(out *ProcChaosSpec) {
	*out = *in
	if in.Tasks != nil {
		in, out := &in.Tasks, &out.Tasks
		*out = make([]*ProcChaosTask, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ProcChaosTask)
				(*in).DeepCopyInto(*out)
			}
		}
	}
}
func (in *ProcChaosSpec) DeepCopy() *ProcChaosSpec {
	if in == nil {
		return nil
	}
	out := new(ProcChaosSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaosState) DeepCopyInto(out *ProcChaosState) {
	*out = *in
}
func (in *ProcChaosState) DeepCopy() *ProcChaosState {
	if in == nil {
		return nil
	}
	out := new(ProcChaosState)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaosStatus) DeepCopyInto(out *ProcChaosStatus) {
	*out = *in
	if in.States != nil {
		in, out := &in.States, &out.States
		*out = make([]*ProcChaosState, len(*in))
		for i := range *in {
			if (*in)[i] != nil {
				in, out := &(*in)[i], &(*out)[i]
				*out = new(ProcChaosState)
				**out = **in
			}
		}
	}
}
func (in *ProcChaosStatus) DeepCopy() *ProcChaosStatus {
	if in == nil {
		return nil
	}
	out := new(ProcChaosStatus)
	in.DeepCopyInto(out)
	return out
}
func (in *ProcChaosTask) DeepCopyInto(out *ProcChaosTask) {
	*out = *in
	if in.Nodes != nil {
		in, out := &in.Nodes, &out.Nodes
		*out = make([]string, len(*in))
		copy(*out, *in)
	}
}
func (in *ProcChaosTask) DeepCopy() *ProcChaosTask {
	if in == nil {
		return nil
	}
	out := new(ProcChaosTask)
	in.DeepCopyInto(out)
	return out
}
func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec) {
	*out = *in
}
func (in *PrometheusSpec) DeepCopy() *PrometheusSpec {
	if in == nil {
		return nil
	}
	out := new(PrometheusSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *PumpSpec) DeepCopyInto(out *PumpSpec) {
	*out = *in
}
func (in *PumpSpec) DeepCopy() *PumpSpec {
	if in == nil {
		return nil
	}
	out := new(PumpSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *Relationship) DeepCopyInto(out *Relationship) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Spec = in.Spec
	in.Status.DeepCopyInto(&out.Status)
}
func (in *Relationship) DeepCopy() *Relationship {
	if in == nil {
		return nil
	}
	out := new(Relationship)
	in.DeepCopyInto(out)
	return out
}
func (in *Relationship) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *RelationshipList) DeepCopyInto(out *RelationshipList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]Relationship, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}