func autoConvert_v1_ClusterRole_To_api_ClusterRole(in *ClusterRole, out *api.ClusterRole, s conversion.Scope) error {
	if err := api_v1.Convert_v1_ObjectMeta_To_api_ObjectMeta(&in.ObjectMeta, &out.ObjectMeta, s); err != nil {
		return err
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]api.PolicyRule, len(*in))
		for i := range *in {
			if err := Convert_v1_PolicyRule_To_api_PolicyRule(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Rules = nil
	}
	return nil
}
func autoConvert_v1_ClusterRole_To_api_ClusterRole(in *ClusterRole, out *authorization_api.ClusterRole, s conversion.Scope) error {
	if err := api.Convert_unversioned_TypeMeta_To_unversioned_TypeMeta(&in.TypeMeta, &out.TypeMeta, s); err != nil {
		return err
	}
	// TODO: Inefficient conversion - can we improve it?
	if err := s.Convert(&in.ObjectMeta, &out.ObjectMeta, 0); err != nil {
		return err
	}
	if in.Rules != nil {
		in, out := &in.Rules, &out.Rules
		*out = make([]authorization_api.PolicyRule, len(*in))
		for i := range *in {
			if err := Convert_v1_PolicyRule_To_api_PolicyRule(&(*in)[i], &(*out)[i], s); err != nil {
				return err
			}
		}
	} else {
		out.Rules = nil
	}
	return nil
}