﻿//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
Copyright 2021.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

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

package v1

import (
	corev1 "k8s.io/api/core/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 *AntstorDataControl) DeepCopyInto(out *AntstorDataControl) {
	*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 AntstorDataControl.
func (in *AntstorDataControl) DeepCopy() *AntstorDataControl {
	if in == nil {
		return nil
	}
	out := new(AntstorDataControl)
	in.DeepCopyInto(out)
	return out
}

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AntstorDataControlList) 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 *AntstorDataControlSpec) DeepCopyInto(out *AntstorDataControlSpec) {
	*out = *in
	if in.LVM != nil {
		in, out := &in.LVM, &out.LVM
		*out = new(LVMControl)
		(*in).DeepCopyInto(*out)
	}
	out.Raid = in.Raid
	in.HostNode.DeepCopyInto(&out.HostNode)
	if in.VolumeGroups != nil {
		in, out := &in.VolumeGroups, &out.VolumeGroups
		*out = make([]EntityIdentity, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *AntstorVolumeList) 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 *AntstorVolumeSpec) DeepCopyInto(out *AntstorVolumeSpec) {
	*out = *in
	if in.NodeAffinity != nil {
		in, out := &in.NodeAffinity, &out.NodeAffinity
		*out = new(corev1.NodeAffinity)
		(*in).DeepCopyInto(*out)
	}
	if in.PoolAffinity != nil {
		in, out := &in.PoolAffinity, &out.PoolAffinity
		*out = new(corev1.NodeAffinity)
		(*in).DeepCopyInto(*out)
	}
	if in.HostNode != nil {
		in, out := &in.HostNode, &out.HostNode
		*out = new(NodeInfo)
		(*in).DeepCopyInto(*out)
	}
	if in.KernelLvol != nil {
		in, out := &in.KernelLvol, &out.KernelLvol
		*out = new(KernelLvol)
		**out = **in
	}
	if in.SpdkLvol != nil {
		in, out := &in.SpdkLvol, &out.SpdkLvol
		*out = new(SpdkLvol)
		**out = **in
	}
	if in.SpdkTarget != nil {
		in, out := &in.SpdkTarget, &out.SpdkTarget
		*out = new(SpdkTarget)
		**out = **in
	}
}

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DesiredVolumeSpec) DeepCopyInto(out *DesiredVolumeSpec) {
	*out = *in
	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.Labels != nil {
		in, out := &in.Labels, &out.Labels
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	out.CountRange = in.CountRange
	in.SizeRange.DeepCopyInto(&out.SizeRange)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *StoragePoolList) 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 *StoragePoolSpec) DeepCopyInto(out *StoragePoolSpec) {
	*out = *in
	in.KernelLVM.DeepCopyInto(&out.KernelLVM)
	out.SpdkLVStore = in.SpdkLVStore
	if in.Addresses != nil {
		in, out := &in.Addresses, &out.Addresses
		*out = make([]corev1.NodeAddress, len(*in))
		copy(*out, *in)
	}
	in.NodeInfo.DeepCopyInto(&out.NodeInfo)
}

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *StoragePoolStatus) DeepCopyInto(out *StoragePoolStatus) {
	*out = *in
	if in.Capacity != nil {
		in, out := &in.Capacity, &out.Capacity
		*out = make(corev1.ResourceList, len(*in))
		for key, val := range *in {
			(*out)[key] = val.DeepCopy()
		}
	}
	out.VGFreeSize = in.VGFreeSize.DeepCopy()
	out.VGVirtualFreeSize = in.VGVirtualFreeSize.DeepCopy()
	if in.Conditions != nil {
		in, out := &in.Conditions, &out.Conditions
		*out = make([]PoolCondition, len(*in))
		copy(*out, *in)
	}
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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