code: func (in *PolicyRule) DeepCopyInto(out *PolicyRule) {
  	*out = *in
  	if in.Users != nil {
  		in, out := &in.Users, &out.Users
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.UserGroups != nil {
  		in, out := &in.UserGroups, &out.UserGroups
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.Verbs != nil {
  		in, out := &in.Verbs, &out.Verbs
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.Resources != nil {
  		in, out := &in.Resources, &out.Resources
  		*out = make([]GroupResources, len(*in))
  		for i := range *in {
  			(*in)[i].DeepCopyInto(&(*out)[i])
  		}
  	}
  	if in.Namespaces != nil {
  		in, out := &in.Namespaces, &out.Namespaces
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.NonResourceURLs != nil {
  		in, out := &in.NonResourceURLs, &out.NonResourceURLs
  		*out = make([]string, len(*in))
  		copy(*out, *in)
  	}
  	if in.OmitStages != nil {
  		in, out := &in.OmitStages, &out.OmitStages
  		*out = make([]Stage, len(*in))
  		copy(*out, *in)
  	}
  	return
  }
docs: // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.