func (in *CSIVolumeSource) DeepCopyInto(out *CSIVolumeSource) {
	*out = *in
	if in.ReadOnly != nil {
		in, out := &in.ReadOnly, &out.ReadOnly
		*out = new(bool)
		**out = **in
	}
	if in.FSType != nil {
		in, out := &in.FSType, &out.FSType
		*out = new(string)
		**out = **in
	}
	if in.VolumeAttributes != nil {
		in, out := &in.VolumeAttributes, &out.VolumeAttributes
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.NodePublishSecretRef != nil {
		in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef
		*out = new(LocalObjectReference)
		**out = **in
	}
	return
}
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
package v1
import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	runtime "k8s.io/apimachinery/pkg/runtime"
	types "k8s.io/apimachinery/pkg/types"
)
func (in *AWSElasticBlockStoreVolumeSource) DeepCopyInto(out *AWSElasticBlockStoreVolumeSource) {
	*out = *in
	return
}
func (in *AWSElasticBlockStoreVolumeSource) DeepCopy() *AWSElasticBlockStoreVolumeSource {
	if in == nil {
		return nil
	}
	out := new(AWSElasticBlockStoreVolumeSource)
	in.DeepCopyInto(out)
	return out
}
func (in *Affinity) DeepCopyInto(out *Affinity) {
	*out = *in
	if in.NodeAffinity != nil {
		in, out := &in.NodeAffinity, &out.NodeAffinity
		*out = new(NodeAffinity)
		(*in).DeepCopyInto(*out)
	}
	if in.PodAffinity != nil {
		in, out := &in.PodAffinity, &out.PodAffinity
		*out = new(PodAffinity)
		(*in).DeepCopyInto(*out)
	}
	if in.PodAntiAffinity != nil {
		in, out := &in.PodAntiAffinity, &out.PodAntiAffinity
		*out = new(PodAntiAffinity)
		(*in).DeepCopyInto(*out)
	}
	return
}
func (in *Affinity) DeepCopy() *Affinity {
	if in == nil {
		return nil
	}
	out := new(Affinity)
	in.DeepCopyInto(out)
	return out
}
func (in *AttachedVolume) DeepCopyInto(out *AttachedVolume) {
	*out = *in
	return
}
func (in *AttachedVolume) DeepCopy() *AttachedVolume {
	if in == nil {
		return nil
	}
	out := new(AttachedVolume)
	in.DeepCopyInto(out)
	return out
}
func (in *AvoidPods) DeepCopyInto(out *AvoidPods) {
	*out = *in
	if in.PreferAvoidPods != nil {
		in, out := &in.PreferAvoidPods, &out.PreferAvoidPods
		*out = make([]PreferAvoidPodsEntry, len(*in))
		for i := range *in {
			(*in)[i].DeepCopyInto(&(*out)[i])
		}
	}
	return
}
func (in *AvoidPods) DeepCopy() *AvoidPods {
	if in == nil {
		return nil
	}
	out := new(AvoidPods)
	in.DeepCopyInto(out)
	return out
}
func (in *AzureDiskVolumeSource) DeepCopyInto(out *AzureDiskVolumeSource) {
	*out = *in
	if in.CachingMode != nil {
		in, out := &in.CachingMode, &out.CachingMode
		*out = new(AzureDataDiskCachingMode)
		**out = **in
	}
	if in.FSType != nil {
		in, out := &in.FSType, &out.FSType
		*out = new(string)
		**out = **in
	}
	if in.ReadOnly != nil {
		in, out := &in.ReadOnly, &out.ReadOnly
		*out = new(bool)
		**out = **in
	}
	if in.Kind != nil {
		in, out := &in.Kind, &out.Kind
		*out = new(AzureDataDiskKind)
		**out = **in
	}
	return
}
func (in *AzureDiskVolumeSource) DeepCopy() *AzureDiskVolumeSource {
	if in == nil {
		return nil
	}
	out := new(AzureDiskVolumeSource)
	in.DeepCopyInto(out)
	return out
}
func (in *AzureFilePersistentVolumeSource) DeepCopyInto(out *AzureFilePersistentVolumeSource) {
	*out = *in
	if in.SecretNamespace != nil {
		in, out := &in.SecretNamespace, &out.SecretNamespace
		*out = new(string)
		**out = **in
	}
	return
}
func (in *AzureFilePersistentVolumeSource) DeepCopy() *AzureFilePersistentVolumeSource {
	if in == nil {
		return nil
	}
	out := new(AzureFilePersistentVolumeSource)
	in.DeepCopyInto(out)
	return out
}
func (in *AzureFileVolumeSource) DeepCopyInto(out *AzureFileVolumeSource) {
	*out = *in
	return
}
func (in *AzureFileVolumeSource) DeepCopy() *AzureFileVolumeSource {
	if in == nil {
		return nil
	}
	out := new(AzureFileVolumeSource)
	in.DeepCopyInto(out)
	return out
}
func (in *Binding) DeepCopyInto(out *Binding) {
	*out = *in
	out.TypeMeta = in.TypeMeta
	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
	out.Target = in.Target
	return
}
func (in *Binding) DeepCopy() *Binding {
	if in == nil {
		return nil
	}
	out := new(Binding)
	in.DeepCopyInto(out)
	return out
}
func (in *Binding) DeepCopyObject() runtime.Object {
	if c := in.DeepCopy(); c != nil {
		return c
	}
	return nil
}
func (in *CSIPersistentVolumeSource) DeepCopyInto(out *CSIPersistentVolumeSource) {
	*out = *in
	if in.VolumeAttributes != nil {
		in, out := &in.VolumeAttributes, &out.VolumeAttributes
		*out = make(map[string]string, len(*in))
		for key, val := range *in {
			(*out)[key] = val
		}
	}
	if in.ControllerPublishSecretRef != nil {
		in, out := &in.ControllerPublishSecretRef, &out.ControllerPublishSecretRef
		*out = new(SecretReference)
		**out = **in
	}
	if in.NodeStageSecretRef != nil {
		in, out := &in.NodeStageSecretRef, &out.NodeStageSecretRef
		*out = new(SecretReference)
		**out = **in
	}
	if in.NodePublishSecretRef != nil {
		in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef
		*out = new(SecretReference)
		**out = **in
	}
	if in.ControllerExpandSecretRef != nil {
		in, out := &in.ControllerExpandSecretRef, &out.ControllerExpandSecretRef
		*out = new(SecretReference)
		**out = **in
	}
	return
}
func (in *CSIPersistentVolumeSource) DeepCopy() *CSIPersistentVolumeSource {
	if in == nil {
		return nil
	}
	out := new(CSIPersistentVolumeSource)
	in.DeepCopyInto(out)
	return out
}