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

/*
Copyright © 2021 Alibaba Group Holding Ltd.

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 deepcopy-gen. DO NOT EDIT.

package v1alpha1

import (
	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodeConfig) DeepCopyInto(out *NodeConfig) {
	*out = *in
	if in.Selector != nil {
		in, out := &in.Selector, &out.Selector
		*out = new(v1.LabelSelector)
		(*in).DeepCopyInto(*out)
	}
	out.SpdkConfig = in.SpdkConfig
	in.ListConfig.DeepCopyInto(&out.ListConfig)
	in.ResourceToBeInited.DeepCopyInto(&out.ResourceToBeInited)
	return
}

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *NodeLocalStorage) 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 *NodeLocalStorageInitConfig) DeepCopyInto(out *NodeLocalStorageInitConfig) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	in.Spec.DeepCopyInto(&out.Spec)
	return
}

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

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

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

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

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

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

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

// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *NodeLocalStorageList) 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 *NodeLocalStorageSpec) DeepCopyInto(out *NodeLocalStorageSpec) {
	*out = *in
	out.SpdkConfig = in.SpdkConfig
	in.ListConfig.DeepCopyInto(&out.ListConfig)
	in.ResourceToBeInited.DeepCopyInto(&out.ResourceToBeInited)
	return
}

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

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

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

// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *NodeStorageInfo) DeepCopyInto(out *NodeStorageInfo) {
	*out = *in
	if in.DeviceInfos != nil {
		in, out := &in.DeviceInfos, &out.DeviceInfos
		*out = make([]DeviceInfo, len(*in))
		copy(*out, *in)
	}
	if in.VolumeGroups != nil {
		in, out := &in.VolumeGroups, &out.VolumeGroups
		*out = make([]VolumeGroup, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	if in.MountPoints != nil {
		in, out := &in.MountPoints, &out.MountPoints
		*out = make([]MountPoint, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	in.State.DeepCopyInto(&out.State)
	return
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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