kube-openapik8s.io/kube-openapi/pkg/validation/errors Index | Files

package errors

import "k8s.io/kube-openapi/pkg/validation/errors"

Package errors provides an Error interface and several concrete types implementing this interface to manage API errors and JSON-schema validation errors.

A middleware handler ServeError() is provided to serve the errors types it defines.

It is used throughout the various go-openapi toolkit libraries (https://github.com/go-openapi).

Index

Constants

const (
	// CompositeErrorCode remains 422 for backwards-compatibility
	// and to separate it from validation errors with cause
	CompositeErrorCode = 422
	// InvalidTypeCode is used for any subclass of invalid types
	InvalidTypeCode = 600 + iota
	RequiredFailCode
	TooLongFailCode
	TooShortFailCode
	PatternFailCode
	EnumFailCode
	MultipleOfFailCode
	MaxFailCode
	MinFailCode
	UniqueFailCode
	MaxItemsFailCode
	MinItemsFailCode
	NoAdditionalItemsCode
	TooFewPropertiesCode
	TooManyPropertiesCode
	UnallowedPropertyCode
	FailedAllPatternPropsCode
	MultipleOfMustBePositiveCode
)

All code responses can be used to differentiate errors for different handling by the consuming program

Types

type CompositeError

type CompositeError struct {
	Errors []error
	// contains filtered or unexported fields
}

CompositeError is an error that groups several errors together

func CompositeValidationError

func CompositeValidationError(errors ...error) *CompositeError

CompositeValidationError an error to wrap a bunch of other errors

func (*CompositeError) Code

func (c *CompositeError) Code() int32

Code for this error

func (*CompositeError) Error

func (c *CompositeError) Error() string

type Error

type Error interface {
	error
	Code() int32
}

Error represents a error interface all swagger framework errors implement

func New

func New(code int32, message string, args ...interface{}) Error

New creates a new API error with a code and a message

type Validation

type Validation struct {
	Name  string
	In    string
	Value interface{}
	Valid interface{}

	Values []interface{}
	// contains filtered or unexported fields
}

Validation represents a failure of a precondition

func AdditionalItemsNotAllowed

func AdditionalItemsNotAllowed(name, in string) *Validation

AdditionalItemsNotAllowed an error for invalid additional items

func DuplicateItems

func DuplicateItems(name, in string) *Validation

DuplicateItems error for when an array contains duplicates

func EnumFail

func EnumFail(name, in string, value interface{}, values []interface{}) *Validation

EnumFail error for when an enum validation fails

func ExceedsMaximum

func ExceedsMaximum(name, in string, max float64, exclusive bool, value interface{}) *Validation

ExceedsMaximum error for when maxinum validation fails

func ExceedsMaximumInt

func ExceedsMaximumInt(name, in string, max int64, exclusive bool, value interface{}) *Validation

ExceedsMaximumInt error for when maxinum validation fails

func ExceedsMaximumUint

func ExceedsMaximumUint(name, in string, max uint64, exclusive bool, value interface{}) *Validation

ExceedsMaximumUint error for when maxinum validation fails

func ExceedsMinimum

func ExceedsMinimum(name, in string, min float64, exclusive bool, value interface{}) *Validation

ExceedsMinimum error for when maxinum validation fails

func ExceedsMinimumInt

func ExceedsMinimumInt(name, in string, min int64, exclusive bool, value interface{}) *Validation

ExceedsMinimumInt error for when maxinum validation fails

func ExceedsMinimumUint

func ExceedsMinimumUint(name, in string, min uint64, exclusive bool, value interface{}) *Validation

ExceedsMinimumUint error for when maxinum validation fails

func FailedAllPatternProperties

func FailedAllPatternProperties(name, in, key string) *Validation

FailedAllPatternProperties an error for when the property doesn't match a pattern

func FailedPattern

func FailedPattern(name, in, pattern string, value interface{}) *Validation

FailedPattern error for when a string fails a regex pattern match the pattern that is returned is the ECMA syntax version of the pattern not the golang version.

func InvalidCollectionFormat

func InvalidCollectionFormat(name, in, format string) *Validation

InvalidCollectionFormat another flavor of invalid type error

func InvalidType

func InvalidType(name, in, typeName string, value interface{}) *Validation

InvalidType creates an error for when the type is invalid

func InvalidTypeName

func InvalidTypeName(typeName string) *Validation

InvalidTypeName an error for when the type is invalid

func MultipleOfMustBePositive

func MultipleOfMustBePositive(name, in string, factor interface{}) *Validation

MultipleOfMustBePositive error for when a multipleOf factor is negative

func NotMultipleOf

func NotMultipleOf(name, in string, multiple, value interface{}) *Validation

NotMultipleOf error for when multiple of validation fails

func PropertyNotAllowed

func PropertyNotAllowed(name, in, key string) *Validation

PropertyNotAllowed an error for when the property doesn't match a pattern

func Required

func Required(name, in string) *Validation

Required error for when a value is missing

func TooFewItems

func TooFewItems(name, in string, min int64, value interface{}) *Validation

TooFewItems error for when an array contains too few items

func TooFewProperties

func TooFewProperties(name, in string, minProperties, size int64) *Validation

TooFewProperties an error for an object with too few properties

func TooLong

func TooLong(name, in string, max int64, value interface{}) *Validation

TooLong error for when a string is too long

func TooManyItems

func TooManyItems(name, in string, max int64, value interface{}) *Validation

TooManyItems error for when an array contains too many items

func TooManyProperties

func TooManyProperties(name, in string, maxProperties, size int64) *Validation

TooManyProperties an error for an object with too many properties

func TooShort

func TooShort(name, in string, min int64, value interface{}) *Validation

TooShort error for when a string is too short

func (*Validation) Code

func (e *Validation) Code() int32

Code the error code

func (*Validation) Error

func (e *Validation) Error() string

func (*Validation) ValidateName

func (e *Validation) ValidateName(name string) *Validation

ValidateName produces an error message name for an aliased property

Source Files

api.go doc.go headers.go schema.go

Version
v0.0.0-20250318190949-c8a335a9a2ff (latest)
Published
Mar 18, 2025
Platform
windows/amd64
Imports
2 packages
Last checked
1 month ago

Tools for package owners.