func convert_v1_StatusCause_To_api_StatusCause(in *StatusCause, out *api.StatusCause, s conversion.Scope) error { if defaulting, found := s.DefaultingInterface(reflect.TypeOf(*in)); found { defaulting.(func(*StatusCause))(in) } out.Type = api.CauseType(in.Type) out.Message = in.Message out.Field = in.Field return nil }
// NewInvalid returns an error indicating the item is invalid and cannot be processed. func NewInvalid(kind, name string, errs ValidationErrorList) error { causes := make([]api.StatusCause, 0, len(errs)) for i := range errs { if err, ok := errs[i].(*ValidationError); ok { causes = append(causes, api.StatusCause{ Type: api.CauseType(err.Type), Message: err.Error(), Field: err.Field, }) } } return &StatusError{api.Status{ Status: api.StatusFailure, Code: StatusUnprocessableEntity, // RFC 4918: StatusUnprocessableEntity Reason: api.StatusReasonInvalid, Details: &api.StatusDetails{ Kind: kind, ID: name, Causes: causes, }, Message: fmt.Sprintf("%s %q is invalid: %v", kind, name, errors.NewAggregate(errs)), }} }
// NewInvalidError returns an error indicating the item is invalid and cannot be processed. func NewInvalidErr(kind, name string, errs errors.ErrorList) error { causes := make([]api.StatusCause, 0, len(errs)) for i := range errs { if err, ok := errs[i].(errors.ValidationError); ok { causes = append(causes, api.StatusCause{ Type: api.CauseType(err.Type), Message: err.Error(), Field: err.Field, }) } } return &apiServerError{api.Status{ Status: api.StatusFailure, Code: 422, // RFC 4918 Reason: api.StatusReasonInvalid, Details: &api.StatusDetails{ Kind: kind, ID: name, Causes: causes, }, Message: fmt.Sprintf("%s %q is invalid: %s", kind, name, errs.ToError()), }} }