Documentation ¶
Index ¶
- func IntegerValidator(ans interface{}) error
- func KeyEqValFormatValidator(portsStr interface{}) error
- func NameValidator(name interface{}) error
- func NilValidator(interface{}) error
- func NonNegativeValidator(arg interface{}) error
- func PathValidator(path interface{}) error
- func PortsValidator(portsStr interface{}) error
- func ValidateHost(host string) error
- func ValidateName(name string) error
- type Validatable
- type Validator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IntegerValidator ¶
func IntegerValidator(ans interface{}) error
IntegerValidator validates that the provided object can be properly converted to an int value
func KeyEqValFormatValidator ¶
func KeyEqValFormatValidator(portsStr interface{}) error
KeyEqValFormatValidator ensures that all the parts of the input follow the key=value format examples of valid input are: NAME=JANE PORT=8080,PATH=/health
func NameValidator ¶
func NameValidator(name interface{}) error
NameValidator provides a Validator view of the ValidateName function.
func NonNegativeValidator ¶
func NonNegativeValidator(arg interface{}) error
NonNegativeValidator validates whether the given value is not negative or not
func PathValidator ¶
func PathValidator(path interface{}) error
PathValidator validates whether the given path exists on the file system
func PortsValidator ¶
func PortsValidator(portsStr interface{}) error
PortsValidator validates whether all the parts of the input are valid port declarations examples of valid input are: 8080 8080, 9090/udp 8080/tcp, 9090/udp
func ValidateHost ¶
ValidateHost validates that the provided host is a valid subdomain according to DNS (RFC 1123) rules
func ValidateName ¶
ValidateName will do validation of application & component names according to DNS (RFC 1123) rules Criteria for valid name in kubernetes: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/identifiers.md
Types ¶
type Validatable ¶
type Validatable struct { // Required indicates whether this Validatable is a required value in the context it's supposed to be used Required bool `json:"required,omitempty"` // Type specifies the type of values this Validatable accepts so that some validation can be performed based on it Type string `json:"type"` // AdditionalValidators allows users to specify validators (in addition to default ones) to validate this Validatable's value AdditionalValidators []Validator `json:"-"` }
Validatable represents a common ancestor for validatable parameters
func (Validatable) AsValidatable ¶
func (v Validatable) AsValidatable() Validatable
AsValidatable allows avoiding type casts in client code
type Validator ¶
type Validator func(interface{}) error
Validator is a function that validates that the provided interface conforms to expectations or return an error
func GetValidatorFor ¶
func GetValidatorFor(prop Validatable) Validator
GetValidatorFor retrieves a validator for the specified validatable, first validating its required state, then its value based on type then any additional validators in the order specified by Validatable.AdditionalValidators