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 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(meta *metav1.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc, ...) 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`
const IsNegativeErrorMsg string = `must be greater than or equal to 0`
Variables ¶
var BannedOwners = map[schema.GroupVersionKind]struct{}{ schema.GroupVersionKind{Group: "", Version: "v1", Kind: "Event"}: {}, }
BannedOwners is a black list of object that are not allowed to be owners.
var RepairMalformedUpdates bool = true
TODO: delete this global variable when we enable the validation of common fields by default.
var ValidateClusterName = NameIsDNS1035Label
ValidateClusterName can be used to check whether the given cluster name is valid.
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 ¶
NameIsDNS1035Label is a ValidateNameFunc for names that must be a DNS 952 label.
func NameIsDNSLabel ¶
NameIsDNSLabel is a ValidateNameFunc for names that must be a DNS 1123 label.
func NameIsDNSSubdomain ¶
NameIsDNSSubdomain is a ValidateNameFunc for names that must be a DNS subdomain.
func ValidateAnnotations ¶
ValidateAnnotations validates that a set of annotations are correctly defined.
func ValidateFinalizerName ¶
Validate finalizer names
func ValidateFinalizers ¶
ValidateFinalizers tests if the finalizers name are valid, and if there are conflicting finalizers.
func ValidateImmutableField ¶
func ValidateNoNewFinalizers ¶
func ValidateNonnegativeField ¶
Validates that given value is not negative.
func ValidateObjectMeta ¶
func ValidateObjectMeta(meta *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 ValidateObjectMetaUpdate ¶
func ValidateObjectMetaUpdate(newMeta, oldMeta *metav1.ObjectMeta, fldPath *field.Path) field.ErrorList
ValidateObjectMetaUpdate validates an object's metadata when updated
func ValidateOwnerReferences ¶
Types ¶
type ValidateNameFunc ¶
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.