func (in *TopolvmClusterStatus) DeepCopy() *TopolvmClusterStatus {
	if in == nil {
		return nil
	}
	out := new(TopolvmClusterStatus)
	in.DeepCopyInto(out)
	return out
}
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopolvmClusterStatus.
package v1
import (
	runtime "k8s.io/apimachinery/pkg/runtime"
)
func (in *ClassState) DeepCopyInto(out *ClassState) {
	*out = *in
	if in.DeviceStates != nil {
		in, out := &in.DeviceStates, &out.DeviceStates
		*out = make([]DeviceState, len(*in))
		copy(*out, *in)
	}
}
func (in *ClassState) DeepCopy() *ClassState {
	if in == nil {
		return nil
	}
	out := new(ClassState)
	in.DeepCopyInto(out)
	return out
}
func (in *DeviceClass) DeepCopyInto(out *DeviceClass) {
	*out = *in
	if in.Device != nil {
		in, out := &in.Device, &out.Device
		*out = make([]Disk, len(*in))
		copy(*out, *in)
	}
}
func (in *DeviceClass) DeepCopy() *DeviceClass {
	if in == nil {
		return nil
	}
	out := new(DeviceClass)
	in.DeepCopyInto(out)
	return out
}
func (in *DeviceState) DeepCopyInto(out *DeviceState) {
	*out = *in
}
func (in *DeviceState) DeepCopy() *DeviceState {
	if in == nil {
		return nil
	}
	out := new(DeviceState)
	in.DeepCopyInto(out)
	return out
}
func (in *Disk) DeepCopyInto(out *Disk) {
	*out = *in
}
func (in *Disk) DeepCopy() *Disk {
	if in == nil {
		return nil
	}
	out := new(Disk)
	in.DeepCopyInto(out)
	return out
}
func (in *NodeDevices) DeepCopyInto(out *NodeDevices) {
	*out = *in
	if in.DeviceClasses != nil {
		in, out := &in.DeviceClasses, &out.DeviceClasses
		*out = make([]DeviceClass, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *NodeDevices) DeepCopy() *NodeDevices {
	if in == nil {
		return nil
	}
	out := new(NodeDevices)
	in.DeepCopyInto(out)
	return out
}
func (in *NodeStorageState) DeepCopyInto(out *NodeStorageState) {
	*out = *in
	if in.FailClasses != nil {
		in, out := &in.FailClasses, &out.FailClasses
		*out = make([]ClassState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.SuccessClasses != nil {
		in, out := &in.SuccessClasses, &out.SuccessClasses
		*out = make([]ClassState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *NodeStorageState) DeepCopy() *NodeStorageState {
	if in == nil {
		return nil
	}
	out := new(NodeStorageState)
	in.DeepCopyInto(out)
	return out
}
func (in *TopolvmCluster) DeepCopyInto(out *TopolvmCluster) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	in.Status.DeepCopyInto(&out.Status)
}
func (in *TopolvmCluster) DeepCopy() *TopolvmCluster {
	if in == nil {
		return nil
	}
	out := new(TopolvmCluster)
	in.DeepCopyInto(out)
	return out
}
func (in *TopolvmCluster) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *TopolvmClusterList) DeepCopyInto(out *TopolvmClusterList) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ListMeta.DeepCopyInto(&out.ListMeta)
	if in.Items != nil {
		in, out := &in.Items, &out.Items
		*out = make([]TopolvmCluster, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *TopolvmClusterList) DeepCopy() *TopolvmClusterList {
	if in == nil {
		return nil
	}
	out := new(TopolvmClusterList)
	in.DeepCopyInto(out)
	return out
}
func (in *TopolvmClusterList) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *TopolvmClusterSpec) DeepCopyInto(out *TopolvmClusterSpec) {
	*out = *in
	if in.DeviceClasses != nil {
		in, out := &in.DeviceClasses, &out.DeviceClasses
		*out = make([]NodeDevices, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}
func (in *TopolvmClusterSpec) DeepCopy() *TopolvmClusterSpec {
	if in == nil {
		return nil
	}
	out := new(TopolvmClusterSpec)
	in.DeepCopyInto(out)
	return out
}
func (in *TopolvmClusterStatus) DeepCopyInto(out *TopolvmClusterStatus) {
	*out = *in
	if in.NodeStorageStatus != nil {
		in, out := &in.NodeStorageStatus, &out.NodeStorageStatus
		*out = make([]NodeStorageState, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
}