Documentation ¶
Index ¶
- func FromObject(obj interface{}) error
- func HasStatusCause(err error, name api.CauseType) bool
- func IsAlreadyExists(err error) bool
- func IsBadRequest(err error) bool
- func IsConflict(err error) bool
- func IsForbidden(err error) bool
- func IsGone(err error) bool
- func IsInternalError(err error) bool
- func IsInvalid(err error) bool
- func IsMethodNotSupported(err error) bool
- func IsNotAcceptable(err error) bool
- func IsNotFound(err error) bool
- func IsRequestEntityTooLargeError(err error) bool
- func IsResourceExpired(err error) bool
- func IsServerTimeout(err error) bool
- func IsServiceUnavailable(err error) bool
- func IsTimeout(err error) bool
- func IsTooManyRequests(err error) bool
- func IsUnauthorized(err error) bool
- func IsUnexpectedObjectError(err error) bool
- func IsUnexpectedServerError(err error) bool
- func IsUnsupportedMediaType(err error) bool
- func ReasonForError(err error) api.StatusReason
- func StatusCause(err error, name api.CauseType) (api.StatusCause, bool)
- func SuggestsClientDelay(err error) (int, bool)
- type APIStatus
- type ErrorReporter
- type StatusError
- func NewAlreadyExists(name string) *StatusError
- func NewApplyConflict(causes []api.StatusCause, message string) *StatusError
- func NewBadRequest(reason string) *StatusError
- func NewConflict(name string, err error) *StatusError
- func NewForbidden(name string, err error) *StatusError
- func NewGenericServerResponse(code int, verb string, name, serverMessage string, retryAfterSeconds int, ...) *StatusError
- func NewGone(message string) *StatusError
- func NewInternalError(err error) *StatusError
- func NewInvalid(name string, errs field.ErrorList) *StatusError
- func NewMethodNotSupported(action string) *StatusError
- func NewNotFound(name string) *StatusError
- func NewRequestEntityTooLargeError(message string) *StatusError
- func NewResourceExpired(message string) *StatusError
- func NewServerTimeout(operation string, retryAfterSeconds int) *StatusError
- func NewServerTimeoutForKind(operation string, retryAfterSeconds int) *StatusError
- func NewServiceUnavailable(reason string) *StatusError
- func NewTimeoutError(message string, retryAfterSeconds int) *StatusError
- func NewTooManyRequests(message string, retryAfterSeconds int) *StatusError
- func NewTooManyRequestsError(message string) *StatusError
- func NewUnauthorized(reason string) *StatusError
- type UnexpectedObjectError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FromObject ¶
func FromObject(obj interface{}) error
FromObject generates an StatusError from an api.Status, if that is the type of obj; otherwise, returns an UnexpecteObjectError.
func HasStatusCause ¶
HasStatusCause returns true if the provided error has a details cause with the provided type name.
func IsAlreadyExists ¶
IsAlreadyExists determines if the err is an error which indicates that a specified resource already exists. It supports wrapped errors.
func IsBadRequest ¶
IsBadRequest determines if err is an error which indicates that the request is invalid. It supports wrapped errors.
func IsConflict ¶
IsConflict determines if the err is an error which indicates the provided update conflicts. It supports wrapped errors.
func IsForbidden ¶
IsForbidden determines if err is an error which indicates that the request is forbidden and cannot be completed as requested. It supports wrapped errors.
func IsGone ¶
IsGone is true if the error indicates the requested resource is no longer available. It supports wrapped errors.
func IsInternalError ¶
IsInternalError determines if err is an error which indicates an internal server error. It supports wrapped errors.
func IsInvalid ¶
IsInvalid determines if the err is an error which indicates the provided resource is not valid. It supports wrapped errors.
func IsMethodNotSupported ¶
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. It supports wrapped errors.
func IsNotAcceptable ¶
IsNotAcceptable determines if err is an error which indicates that the request failed due to an invalid Accept header It supports wrapped errors.
func IsNotFound ¶
IsNotFound returns true if the specified error was created by NewNotFound. It supports wrapped errors.
func IsRequestEntityTooLargeError ¶
IsRequestEntityTooLargeError determines if err is an error which indicates the request entity is too large. It supports wrapped errors.
func IsResourceExpired ¶
IsResourceExpired is true if the error indicates the resource has expired and the current action is no longer possible. It supports wrapped errors.
func IsServerTimeout ¶
IsServerTimeout determines if err is an error which indicates that the request needs to be retried by the client. It supports wrapped errors.
func IsServiceUnavailable ¶
IsServiceUnavailable is true if the error indicates the underlying service is no longer available. It supports wrapped errors.
func IsTimeout ¶
IsTimeout determines if err is an error which indicates that request times out due to long processing. It supports wrapped errors.
func IsTooManyRequests ¶
IsTooManyRequests determines if err is an error which indicates that there are too many requests that the server cannot handle. It supports wrapped errors.
func IsUnauthorized ¶
IsUnauthorized determines if err is an error which indicates that the request is unauthorized and requires authentication by the user. It supports wrapped errors.
func IsUnexpectedObjectError ¶
IsUnexpectedObjectError determines if err is due to an unexpected object from the master. It supports wrapped errors.
func IsUnexpectedServerError ¶
IsUnexpectedServerError returns true if the server response was not in the expected API format, and may be the result of another HTTP actor. It supports wrapped errors.
func IsUnsupportedMediaType ¶
IsUnsupportedMediaType determines if err is an error which indicates that the request failed due to an invalid Content-Type header It supports wrapped errors.
func ReasonForError ¶
func ReasonForError(err error) api.StatusReason
ReasonForError returns the HTTP status for a particular error. It supports wrapped errors.
func StatusCause ¶
StatusCause returns the named cause from the provided error if it exists and the error is of the type APIStatus. Otherwise it returns false.
func SuggestsClientDelay ¶
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. It does not address whether the error *should* be retried, since some errors (like a 3xx) may request delay without retry. It supports wrapped errors.
Types ¶
type APIStatus ¶
APIStatus is exposed by errors that can be converted to an api.Status object for finer grained details.
type ErrorReporter ¶
type ErrorReporter struct {
// contains filtered or unexported fields
}
ErrorReporter converts generic errors into runtime.Object errors without requiring the caller to take a dependency on meta/v1 (where Status lives). This prevents circular dependencies in core watch code.
func NewClientErrorReporter ¶
func NewClientErrorReporter(code int, verb string, reason string) *ErrorReporter
NewClientErrorReporter will respond with valid v1.Status objects that report unexpected server responses. Primarily used by watch to report errors when we attempt to decode a response from the server and it is not in the form we expect. Because watch is a dependency of the core api, we can't return meta/v1.Status in that package and so much inject this interface to convert a generic error as appropriate. The reason is passed as a unique status cause on the returned status, otherwise the generic "ClientError" is returned.
func (*ErrorReporter) AsObject ¶
func (r *ErrorReporter) AsObject(err error) interface{}
AsObject returns a valid error runtime.Object (a v1.Status) for the given error, using the code and verb of the reporter type. The error is set to indicate that this was an unexpected server response.
type StatusError ¶
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(name string) *StatusError
NewAlreadyExists returns an error indicating the item requested exists by that identifier.
func NewApplyConflict ¶
func NewApplyConflict(causes []api.StatusCause, message string) *StatusError
NewApplyConflict returns an error including details on the requests apply conflicts
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(name string, err error) *StatusError
NewConflict returns an error indicating the item can't be updated as provided.
func NewForbidden ¶
func NewForbidden(name string, err error) *StatusError
NewForbidden returns an error indicating the requested action was forbidden
func NewGenericServerResponse ¶
func NewGenericServerResponse(code int, verb string, 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. DEPRECATED: Please use NewResourceExpired instead.
func NewInternalError ¶
func NewInternalError(err error) *StatusError
NewInternalError returns an error indicating the item is invalid and cannot be processed.
func NewInvalid ¶
func NewInvalid(name string, errs field.ErrorList) *StatusError
NewInvalid returns an error indicating the item is invalid and cannot be processed.
func NewMethodNotSupported ¶
func NewMethodNotSupported(action string) *StatusError
NewMethodNotSupported returns an error indicating the requested action is not supported on this kind.
func NewNotFound ¶
func NewNotFound(name string) *StatusError
NewNotFound returns a new error which indicates that the resource of the kind and the name was not found.
func NewRequestEntityTooLargeError ¶
func NewRequestEntityTooLargeError(message string) *StatusError
NewRequestEntityTooLargeError returns an error indicating that the request entity was too large.
func NewResourceExpired ¶
func NewResourceExpired(message string) *StatusError
NewResourceExpired creates an error that indicates that the requested resource content has expired from the server (usually due to a resourceVersion that is too old).
func NewServerTimeout ¶
func NewServerTimeout(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(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 NewTooManyRequests ¶
func NewTooManyRequests(message string, retryAfterSeconds int) *StatusError
NewTooManyRequests creates an error that indicates that the client must try again later because the specified endpoint is not accepting requests. More specific details should be provided if client should know why the failure was limited4.
func NewTooManyRequestsError ¶
func NewTooManyRequestsError(message string) *StatusError
NewTooManyRequestsError returns an error indicating that the request was rejected because the server has received too many requests. Client should wait and retry. But if the request is perishable, then the client should not retry the request.
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() api.Status
Status allows access to e's status without having to know the detailed workings of StatusError.
type UnexpectedObjectError ¶
type UnexpectedObjectError struct {
Object interface{}
}
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'.