validation

package
v0.22.1-rc.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2021 License: Apache-2.0 Imports: 10 Imported by: 1,555

Documentation

Overview

Package validation contains generic api type validation functions.

Index

Constants

View Source
const FieldImmutableErrorMsg string = `field is immutable`

FieldImmutableErrorMsg is a error message for field is immutable.

View Source
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.

View Source
const TotalAnnotationSizeLimitB int = 256 * (1 << 10) // 256 kB

Variables

View Source
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.

View Source
var ValidateClusterName = NameIsDNS1035Label

ValidateClusterName can be used to check whether the given cluster name is valid.

View Source
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.

View Source
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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL