Documentation
¶
Overview ¶
Package validation contains generic api type validation functions.
Index ¶
- Constants
- Variables
- func NameIsDNS1035Label(name string, prefix bool) []string
- func NameIsDNSLabel(name string, prefix bool) []string
- func NameIsDNSSubdomain(name string, prefix bool) []string
- func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList
- func ValidateAnnotationsSize(annotations map[string]string) error
- func ValidateFinalizerName(stringValue string, fldPath *field.Path) field.ErrorList
- func ValidateFinalizers(finalizers []string, fldPath *field.Path) field.ErrorList
- func ValidateImmutableField(newVal, oldVal interface{}, fldPath *field.Path) field.ErrorList
- func ValidateNoNewFinalizers(newFinalizers []string, oldFinalizers []string, fldPath *field.Path) field.ErrorList
- func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList
- func ValidateObjectMeta(objMeta *metav1.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc, ...) field.ErrorList
- func ValidateObjectMetaAccessor(meta metav1.Object, requiresNamespace bool, nameFn ValidateNameFunc, ...) field.ErrorList
- func ValidateObjectMetaAccessorUpdate(newMeta, oldMeta metav1.Object, fldPath *field.Path) field.ErrorList
- func ValidateObjectMetaUpdate(newMeta, oldMeta *metav1.ObjectMeta, fldPath *field.Path) field.ErrorList
- func ValidateOwnerReferences(ownerReferences []metav1.OwnerReference, fldPath *field.Path) field.ErrorList
- type ValidateNameFunc
Constants ¶
const FieldImmutableErrorMsg string = `field is immutable`
FieldImmutableErrorMsg is a error message for field is immutable.
const IsNegativeErrorMsg string = `must be greater than or equal to 0`
IsNegativeErrorMsg is a error message for value must be greater than or equal to 0.
const TotalAnnotationSizeLimitB int = 256 * (1 << 10) // 256 kB
Variables ¶
var BannedOwners = map[schema.GroupVersionKind]struct{}{
{Group: "", Version: "v1", Kind: "Event"}: {},
}
BannedOwners is a black list of object that are not allowed to be owners.
var ValidateNamespaceName = NameIsDNSLabel
ValidateNamespaceName can be used to check whether the given namespace name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.
var ValidateServiceAccountName = NameIsDNSSubdomain
ValidateServiceAccountName can be used to check whether the given service account name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.
Functions ¶
func NameIsDNS1035Label ¶
func NameIsDNS1035Label(name string, prefix bool) []string
NameIsDNS1035Label is a ValidateNameFunc for names that must be a DNS 952 label.
func NameIsDNSLabel ¶
func NameIsDNSLabel(name string, prefix bool) []string
NameIsDNSLabel is a ValidateNameFunc for names that must be a DNS 1123 label.
func NameIsDNSSubdomain ¶
func NameIsDNSSubdomain(name string, prefix bool) []string
NameIsDNSSubdomain is a ValidateNameFunc for names that must be a DNS subdomain.
func ValidateAnnotations ¶
func ValidateAnnotations(annotations map[string]string, fldPath *field.Path) field.ErrorList
ValidateAnnotations validates that a set of annotations are correctly defined.
func ValidateAnnotationsSize ¶ added in v0.22.0
func ValidateAnnotationsSize(annotations map[string]string) error
func ValidateFinalizerName ¶
func ValidateFinalizerName(stringValue string, fldPath *field.Path) field.ErrorList
ValidateFinalizerName validates finalizer names.
func ValidateFinalizers ¶
func ValidateFinalizers(finalizers []string, fldPath *field.Path) field.ErrorList
ValidateFinalizers tests if the finalizers name are valid, and if there are conflicting finalizers.
func ValidateImmutableField ¶
func ValidateImmutableField(newVal, oldVal interface{}, fldPath *field.Path) field.ErrorList
ValidateImmutableField validates the new value and the old value are deeply equal.
func ValidateNoNewFinalizers ¶
func ValidateNoNewFinalizers(newFinalizers []string, oldFinalizers []string, fldPath *field.Path) field.ErrorList
ValidateNoNewFinalizers validates the new finalizers has no new finalizers compare to old finalizers.
func ValidateNonnegativeField ¶
func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList
ValidateNonnegativeField validates that given value is not negative.
func ValidateObjectMeta ¶
func ValidateObjectMeta(objMeta *metav1.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc, fldPath *field.Path) field.ErrorList
ValidateObjectMeta validates an object's metadata on creation. It expects that name generation has already been performed. It doesn't return an error for rootscoped resources with namespace, because namespace should already be cleared before.
func ValidateObjectMetaAccessor ¶
func ValidateObjectMetaAccessor(meta metav1.Object, requiresNamespace bool, nameFn ValidateNameFunc, fldPath *field.Path) field.ErrorList
ValidateObjectMetaAccessor validates an object's metadata on creation. It expects that name generation has already been performed. It doesn't return an error for rootscoped resources with namespace, because namespace should already be cleared before.
func ValidateObjectMetaAccessorUpdate ¶
func ValidateObjectMetaAccessorUpdate(newMeta, oldMeta metav1.Object, fldPath *field.Path) field.ErrorList
ValidateObjectMetaAccessorUpdate validates an object's metadata when updated.
func ValidateObjectMetaUpdate ¶
func ValidateObjectMetaUpdate(newMeta, oldMeta *metav1.ObjectMeta, fldPath *field.Path) field.ErrorList
ValidateObjectMetaUpdate validates an object's metadata when updated.
func ValidateOwnerReferences ¶
func ValidateOwnerReferences(ownerReferences []metav1.OwnerReference, fldPath *field.Path) field.ErrorList
ValidateOwnerReferences validates that a set of owner references are correctly defined.
Types ¶
type ValidateNameFunc ¶
type ValidateNameFunc func(name string, prefix bool) []string
ValidateNameFunc validates that the provided name is valid for a given resource type. Not all resources have the same validation rules for names. Prefix is true if the name will have a value appended to it. If the name is not valid, this returns a list of descriptions of individual characteristics of the value that were not valid. Otherwise this returns an empty list or nil.