code: func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) {
  	*out = *in
  	in.Names.DeepCopyInto(&out.Names)
  	if in.Validation != nil {
  		in, out := &in.Validation, &out.Validation
  		*out = new(CustomResourceValidation)
  		(*in).DeepCopyInto(*out)
  	}
  	if in.Subresources != nil {
  		in, out := &in.Subresources, &out.Subresources
  		*out = new(CustomResourceSubresources)
  		(*in).DeepCopyInto(*out)
  	}
  	if in.Versions != nil {
  		in, out := &in.Versions, &out.Versions
  		*out = make([]CustomResourceDefinitionVersion, len(*in))
  		for i := range *in {
  			(*in)[i].DeepCopyInto(&(*out)[i])
  		}
  	}
  	if in.AdditionalPrinterColumns != nil {
  		in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns
  		*out = make([]CustomResourceColumnDefinition, len(*in))
  		copy(*out, *in)
  	}
  	if in.Conversion != nil {
  		in, out := &in.Conversion, &out.Conversion
  		*out = new(CustomResourceConversion)
  		(*in).DeepCopyInto(*out)
  	}
  	return
  }
docs: // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.