errors

package
v0.0.0-...-d94079d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2017 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package errors provides detailed error types for api field validation.

Index

Constants

View Source
const (
	StatusUnprocessableEntity = 422
	StatusTooManyRequests     = 429
	// StatusServerTimeout is an indication that a transient server error has
	// occurred and the client *should* retry, with an optional Retry-After
	// header to specify the back off window.
	StatusServerTimeout = 504
)

HTTP Status codes not in the golang http package.

Variables

This section is empty.

Functions

func FromObject

func FromObject(obj runtime.Object) error

FromObject generates an StatusError from an metav1.Status, if that is the type of obj; otherwise, returns an UnexpecteObjectError.

func IsAlreadyExists

func IsAlreadyExists(err error) bool

IsAlreadyExists determines if the err is an error which indicates that a specified resource already exists.

func IsBadRequest

func IsBadRequest(err error) bool

IsBadRequest determines if err is an error which indicates that the request is invalid.

func IsConflict

func IsConflict(err error) bool

IsConflict determines if the err is an error which indicates the provided update conflicts.

func IsForbidden

func IsForbidden(err error) bool

IsForbidden determines if err is an error which indicates that the request is forbidden and cannot be completed as requested.

func IsInternalError

func IsInternalError(err error) bool

IsInternalError determines if err is an error which indicates an internal server error.

func IsInvalid

func IsInvalid(err error) bool

IsInvalid determines if the err is an error which indicates the provided resource is not valid.

func IsMethodNotSupported

func IsMethodNotSupported(err error) bool

IsMethodNotSupported determines if the err is an error which indicates the provided action could not be performed because it is not supported by the server.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound returns true if the specified error was created by NewNotFound.

func IsServerTimeout

func IsServerTimeout(err error) bool

IsServerTimeout determines if err is an error which indicates that the request needs to be retried by the client.

func IsTimeout

func IsTimeout(err error) bool

IsTimeout determines if err is an error which indicates that request times out due to long processing.

func IsTooManyRequests

func IsTooManyRequests(err error) bool

IsTooManyRequests determines if err is an error which indicates that there are too many requests that the server cannot handle. TODO: update IsTooManyRequests() when the TooManyRequests(429) error returned from the API server has a non-empty Reason field

func IsUnauthorized

func IsUnauthorized(err error) bool

IsUnauthorized determines if err is an error which indicates that the request is unauthorized and requires authentication by the user.

func IsUnexpectedObjectError

func IsUnexpectedObjectError(err error) bool

IsUnexpectedObjectError determines if err is due to an unexpected object from the master.

func IsUnexpectedServerError

func IsUnexpectedServerError(err error) bool

IsUnexpectedServerError returns true if the server response was not in the expected API format, and may be the result of another HTTP actor.

func SuggestsClientDelay

func SuggestsClientDelay(err error) (int, bool)

SuggestsClientDelay returns true if this error suggests a client delay as well as the suggested seconds to wait, or false if the error does not imply a wait.

Types

type APIStatus

type APIStatus interface {
	Status() metav1.Status
}

APIStatus is exposed by errors that can be converted to an api.Status object for finer grained details.

type StatusError

type StatusError struct {
	ErrStatus metav1.Status
}

StatusError is an error intended for consumption by a REST API server; it can also be reconstructed by clients from a REST response. Public to allow easy type switches.

func NewAlreadyExists

func NewAlreadyExists(qualifiedResource schema.GroupResource, name string) *StatusError

NewAlreadyExists returns an error indicating the item requested exists by that identifier.

func NewBadRequest

func NewBadRequest(reason string) *StatusError

NewBadRequest creates an error that indicates that the request is invalid and can not be processed.

func NewConflict

func NewConflict(qualifiedResource schema.GroupResource, name string, err error) *StatusError

NewConflict returns an error indicating the item can't be updated as provided.

func NewForbidden

func NewForbidden(qualifiedResource schema.GroupResource, name string, err error) *StatusError

NewForbidden returns an error indicating the requested action was forbidden

func NewGenericServerResponse

func NewGenericServerResponse(code int, verb string, qualifiedResource schema.GroupResource, name, serverMessage string, retryAfterSeconds int, isUnexpectedResponse bool) *StatusError

NewGenericServerResponse returns a new error for server responses that are not in a recognizable form.

func NewGone

func NewGone(message string) *StatusError

NewGone returns an error indicating the item no longer available at the server and no forwarding address is known.

func NewInternalError

func NewInternalError(err error) *StatusError

NewInternalError returns an error indicating the item is invalid and cannot be processed.

func NewInvalid

func NewInvalid(qualifiedKind schema.GroupKind, name string, errs field.ErrorList) *StatusError

NewInvalid returns an error indicating the item is invalid and cannot be processed.

func NewMethodNotSupported

func NewMethodNotSupported(qualifiedResource schema.GroupResource, action string) *StatusError

NewMethodNotSupported returns an error indicating the requested action is not supported on this kind.

func NewNotFound

func NewNotFound(qualifiedResource schema.GroupResource, name string) *StatusError

NewNotFound returns a new error which indicates that the resource of the kind and the name was not found.

func NewServerTimeout

func NewServerTimeout(qualifiedResource schema.GroupResource, operation string, retryAfterSeconds int) *StatusError

NewServerTimeout returns an error indicating the requested action could not be completed due to a transient error, and the client should try again.

func NewServerTimeoutForKind

func NewServerTimeoutForKind(qualifiedKind schema.GroupKind, operation string, retryAfterSeconds int) *StatusError

NewServerTimeoutForKind should not exist. Server timeouts happen when accessing resources, the Kind is just what we happened to be looking at when the request failed. This delegates to keep code sane, but we should work towards removing this.

func NewServiceUnavailable

func NewServiceUnavailable(reason string) *StatusError

NewServiceUnavailable creates an error that indicates that the requested service is unavailable.

func NewTimeoutError

func NewTimeoutError(message string, retryAfterSeconds int) *StatusError

NewTimeoutError returns an error indicating that a timeout occurred before the request could be completed. Clients may retry, but the operation may still complete.

func NewUnauthorized

func NewUnauthorized(reason string) *StatusError

NewUnauthorized returns an error indicating the client is not authorized to perform the requested action.

func (*StatusError) DebugError

func (e *StatusError) DebugError() (string, []interface{})

DebugError reports extended info about the error to debug output.

func (*StatusError) Error

func (e *StatusError) Error() string

Error implements the Error interface.

func (*StatusError) Status

func (e *StatusError) Status() metav1.Status

Status allows access to e's status without having to know the detailed workings of StatusError.

type UnexpectedObjectError

type UnexpectedObjectError struct {
	Object runtime.Object
}

UnexpectedObjectError can be returned by FromObject if it's passed a non-status object.

func (*UnexpectedObjectError) Error

func (u *UnexpectedObjectError) Error() string

Error returns an error message describing 'u'.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL