code: func (in *VolumeSnapshotDataSource) DeepCopyInto(out *VolumeSnapshotDataSource) {
  	*out = *in
  	if in.HostPath != nil {
  		in, out := &in.HostPath, &out.HostPath
  		if *in == nil {
  			*out = nil
  		} else {
  			*out = new(HostPathVolumeSnapshotSource)
  			**out = **in
  		}
  	}
  	if in.GlusterSnapshotVolume != nil {
  		in, out := &in.GlusterSnapshotVolume, &out.GlusterSnapshotVolume
  		if *in == nil {
  			*out = nil
  		} else {
  			*out = new(GlusterVolumeSnapshotSource)
  			**out = **in
  		}
  	}
  	if in.AWSElasticBlockStore != nil {
  		in, out := &in.AWSElasticBlockStore, &out.AWSElasticBlockStore
  		if *in == nil {
  			*out = nil
  		} else {
  			*out = new(AWSElasticBlockStoreVolumeSnapshotSource)
  			**out = **in
  		}
  	}
  	if in.GCEPersistentDiskSnapshot != nil {
  		in, out := &in.GCEPersistentDiskSnapshot, &out.GCEPersistentDiskSnapshot
  		if *in == nil {
  			*out = nil
  		} else {
  			*out = new(GCEPersistentDiskSnapshotSource)
  			**out = **in
  		}
  	}
  	if in.CinderSnapshot != nil {
  		in, out := &in.CinderSnapshot, &out.CinderSnapshot
  		if *in == nil {
  			*out = nil
  		} else {
  			*out = new(CinderVolumeSnapshotSource)
  			**out = **in
  		}
  	}
  	return
  }
docs: // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.