Documentation
¶
Index ¶
- Constants
- Variables
- func IsValidationError(err error) bool
- func MustBeOneOf(entity string, allowedValues ...string) string
- func MustHaveAtLeastOne(allowedValues ...string) string
- func MustHaveExactlyOneOf(entity string, allowedValues ...string) string
- func MustHaveOnlyOne(entity string, allowedValues ...string) string
- type PathBuilder
- type ValidationError
- func MakeFieldMustBeOneOfErr(field string, allowed ...string) ValidationError
- func MakeOneOfErr(fieldA, fieldB, msg string, oneOf []string) ValidationError
- func MakeRequiredFieldErr(path PathBuilder) ValidationError
- func MakeUnimplementedFieldErr(path PathBuilder) ValidationError
- func OK() ValidationError
- func ValidateBackendRef(b common_api.BackendRef) ValidationError
- func ValidateBackendResourceRef(ref *common_api.BackendResourceRef) ValidationError
- func ValidateBandwidth(path PathBuilder, value string) ValidationError
- func ValidateDurationGreaterThan(path PathBuilder, duration *k8s.Duration, minDuration time.Duration) ValidationError
- func ValidateDurationGreaterThanZero(path PathBuilder, duration k8s.Duration) ValidationError
- func ValidateDurationGreaterThanZeroOrNil(path PathBuilder, duration *k8s.Duration) ValidationError
- func ValidateDurationNotNegative(path PathBuilder, duration *k8s.Duration) ValidationError
- func ValidateDurationNotNegativeOrNil(path PathBuilder, duration *k8s.Duration) ValidationError
- func ValidateIntOrStringGreaterOrEqualThan(path PathBuilder, number *intstr.IntOrString, minValue int) ValidationError
- func ValidateIntPercentageOrNil(path PathBuilder, percentage *int32) ValidationError
- func ValidateIntegerGreaterThan(path PathBuilder, value uint32, minValue uint32) ValidationError
- func ValidateIntegerGreaterThanZeroOrNil(path PathBuilder, value *uint32) ValidationError
- func ValidateLength(path PathBuilder, maxLength int, v string) ValidationError
- func ValidateNil[T any](path PathBuilder, t *T, msg string) ValidationError
- func ValidateOtelAttributeName(path PathBuilder, value string) ValidationError
- func ValidateOtelBackendRefOrEndpoint(endpoint string, backendRef *common_api.BackendResourceRef, ...) ValidationError
- func ValidatePathOrNil(path PathBuilder, filePath *string) ValidationError
- func ValidatePercentage(path PathBuilder, percentage *intstr.IntOrString, allow0 bool) ValidationError
- func ValidatePercentageOrNil(path PathBuilder, percentage *intstr.IntOrString) ValidationError
- func ValidatePort(path PathBuilder, value uint32) ValidationError
- func ValidateStatusCode(path PathBuilder, status int32) ValidationError
- func ValidateStringDefined(path PathBuilder, value string) ValidationError
- func ValidateUInt32PercentageOrNil(path PathBuilder, percentage *uint32) ValidationError
- func ValidateValueGreaterThanZero(path PathBuilder, value int32) ValidationError
- func ValidateValueGreaterThanZeroOrNil(path PathBuilder, value *int32) ValidationError
- func (v *ValidationError) Add(err ValidationError)
- func (v *ValidationError) AddError(rootField string, validationErr ValidationError)
- func (v *ValidationError) AddErrorAt(path PathBuilder, validationErr ValidationError)
- func (v *ValidationError) AddViolation(field string, message string)
- func (v *ValidationError) AddViolationAt(path PathBuilder, message string)
- func (v *ValidationError) Error() string
- func (v *ValidationError) HasViolations() bool
- func (v *ValidationError) OrNil() error
- func (v *ValidationError) Transform(transformFunc func(Violation) Violation) *ValidationError
- type Violation
Constants ¶
const ( HasToBeGreaterThan = "must be greater than" HasToBeLessThan = "must be less than" HasToBeGreaterOrEqualThen = "must be greater or equal then" HasToBeGreaterThanZero = "must be greater than 0" MustNotBeEmpty = "must not be empty" MustBeDefined = "must be defined" MustBeSet = "must be set" MustNotBeSet = "must not be set" MustNotBeDefined = "must not be defined" MustBeDefinedAndGreaterThanZero = "must be defined and greater than zero" WhenDefinedHasToBeNonNegative = "must not be negative when defined" WhenDefinedHasToBeGreaterThanZero = "must be greater than zero when defined" HasToBeInRangeFormat = "must be in inclusive range [%v, %v]" WhenDefinedHasToBeValidPath = "must be a valid path when defined" StringHasToBeValidNumber = "string must be a valid number" MustHaveBPSUnit = "must be in kbps/Mbps/Gbps units" MustBeStaticOtelAttributeName = "must be a static OpenTelemetry attribute name; placeholders are only supported in values" MustNotUseReservedOtelPrefix = "must not use the reserved OpenTelemetry prefix 'otel.'" MustMatchOtelAttributeNameFormat = "" /* 144-byte string literal not displayed */ )
Variables ¶
var ( HasToBeInPercentageRange = fmt.Sprintf(HasToBeInRangeFormat, "0.0", "100.0") HasToBeInUintPercentageRange = fmt.Sprintf(HasToBeInRangeFormat, 0, 100) )
var (
BandwidthRegex = regexp.MustCompile(`^(\d*)\s?([GMk]+bps)$`)
)
Functions ¶
func IsValidationError ¶
func MustBeOneOf ¶ added in v2.10.9
func MustHaveAtLeastOne ¶
func MustHaveExactlyOneOf ¶
func MustHaveOnlyOne ¶
Types ¶
type PathBuilder ¶
type PathBuilder []string
func Root ¶
func Root() PathBuilder
func RootedAt ¶
func RootedAt(name string) PathBuilder
func (PathBuilder) Field ¶
func (p PathBuilder) Field(name string) PathBuilder
func (PathBuilder) Index ¶
func (p PathBuilder) Index(index int) PathBuilder
func (PathBuilder) Key ¶
func (p PathBuilder) Key(key string) PathBuilder
func (PathBuilder) String ¶
func (p PathBuilder) String() string
type ValidationError ¶
type ValidationError struct {
Violations []Violation `json:"violations"`
}
func MakeFieldMustBeOneOfErr ¶
func MakeFieldMustBeOneOfErr(field string, allowed ...string) ValidationError
func MakeOneOfErr ¶
func MakeOneOfErr(fieldA, fieldB, msg string, oneOf []string) ValidationError
func MakeRequiredFieldErr ¶
func MakeRequiredFieldErr(path PathBuilder) ValidationError
func MakeUnimplementedFieldErr ¶
func MakeUnimplementedFieldErr(path PathBuilder) ValidationError
func ValidateBackendRef ¶ added in v2.10.9
func ValidateBackendRef(b common_api.BackendRef) ValidationError
func ValidateBackendResourceRef ¶ added in v2.14.0
func ValidateBackendResourceRef(ref *common_api.BackendResourceRef) ValidationError
ValidateBackendResourceRef checks that a BackendResourceRef has a valid kind and labels set.
func ValidateBandwidth ¶
func ValidateBandwidth(path PathBuilder, value string) ValidationError
func ValidateDurationGreaterThan ¶
func ValidateDurationGreaterThan(path PathBuilder, duration *k8s.Duration, minDuration time.Duration) ValidationError
func ValidateDurationGreaterThanZero ¶
func ValidateDurationGreaterThanZero(path PathBuilder, duration k8s.Duration) ValidationError
func ValidateDurationGreaterThanZeroOrNil ¶
func ValidateDurationGreaterThanZeroOrNil(path PathBuilder, duration *k8s.Duration) ValidationError
func ValidateDurationNotNegative ¶
func ValidateDurationNotNegative(path PathBuilder, duration *k8s.Duration) ValidationError
func ValidateDurationNotNegativeOrNil ¶
func ValidateDurationNotNegativeOrNil(path PathBuilder, duration *k8s.Duration) ValidationError
func ValidateIntOrStringGreaterOrEqualThan ¶
func ValidateIntOrStringGreaterOrEqualThan(path PathBuilder, number *intstr.IntOrString, minValue int) ValidationError
func ValidateIntPercentageOrNil ¶
func ValidateIntPercentageOrNil(path PathBuilder, percentage *int32) ValidationError
func ValidateIntegerGreaterThan ¶
func ValidateIntegerGreaterThan(path PathBuilder, value uint32, minValue uint32) ValidationError
func ValidateIntegerGreaterThanZeroOrNil ¶
func ValidateIntegerGreaterThanZeroOrNil(path PathBuilder, value *uint32) ValidationError
func ValidateLength ¶ added in v2.10.9
func ValidateLength(path PathBuilder, maxLength int, v string) ValidationError
ValidateLength should only be used when kubebuilder annotations can't be used
func ValidateNil ¶
func ValidateNil[T any](path PathBuilder, t *T, msg string) ValidationError
func ValidateOtelAttributeName ¶ added in v2.14.0
func ValidateOtelAttributeName(path PathBuilder, value string) ValidationError
ValidateOtelAttributeName enforces the MeshAccessLog OpenTelemetry attribute key grammar: lowercase letters, digits, `_` and `.`, starting with a letter, ending with an alphanumeric, without consecutive delimiters, and without the reserved `otel.` prefix. `%...%` placeholders are rejected because only values may be interpolated.
func ValidateOtelBackendRefOrEndpoint ¶ added in v2.14.0
func ValidateOtelBackendRefOrEndpoint( endpoint string, backendRef *common_api.BackendResourceRef, extraEndpointValidators ...func(string) ValidationError, ) ValidationError
ValidateOtelBackendRefOrEndpoint validates that exactly one of endpoint or backendRef is set. If backendRef is set, delegates to ValidateBackendResourceRef. If endpoint is set, rejects URL characters and runs optional extra validators. Extra validators allow policies to enforce stricter endpoint rules for backward compatibility (e.g. MeshMetric requires host:port).
func ValidatePathOrNil ¶
func ValidatePathOrNil(path PathBuilder, filePath *string) ValidationError
func ValidatePercentage ¶
func ValidatePercentage(path PathBuilder, percentage *intstr.IntOrString, allow0 bool) ValidationError
func ValidatePercentageOrNil ¶
func ValidatePercentageOrNil(path PathBuilder, percentage *intstr.IntOrString) ValidationError
func ValidatePort ¶
func ValidatePort(path PathBuilder, value uint32) ValidationError
func ValidateStatusCode ¶
func ValidateStatusCode(path PathBuilder, status int32) ValidationError
func ValidateStringDefined ¶
func ValidateStringDefined(path PathBuilder, value string) ValidationError
func ValidateUInt32PercentageOrNil ¶
func ValidateUInt32PercentageOrNil(path PathBuilder, percentage *uint32) ValidationError
func ValidateValueGreaterThanZero ¶
func ValidateValueGreaterThanZero(path PathBuilder, value int32) ValidationError
func ValidateValueGreaterThanZeroOrNil ¶
func ValidateValueGreaterThanZeroOrNil(path PathBuilder, value *int32) ValidationError
func (*ValidationError) Add ¶
func (v *ValidationError) Add(err ValidationError)
func (*ValidationError) AddError ¶
func (v *ValidationError) AddError(rootField string, validationErr ValidationError)
func (*ValidationError) AddErrorAt ¶
func (v *ValidationError) AddErrorAt(path PathBuilder, validationErr ValidationError)
func (*ValidationError) AddViolation ¶
func (v *ValidationError) AddViolation(field string, message string)
func (*ValidationError) AddViolationAt ¶
func (v *ValidationError) AddViolationAt(path PathBuilder, message string)
func (*ValidationError) Error ¶
func (v *ValidationError) Error() string
func (*ValidationError) HasViolations ¶
func (v *ValidationError) HasViolations() bool
func (*ValidationError) OrNil ¶
func (v *ValidationError) OrNil() error
func (*ValidationError) Transform ¶
func (v *ValidationError) Transform(transformFunc func(Violation) Violation) *ValidationError
Transform returns a new ValidationError with every violation transformed by a given transformFunc.