Documentation

Overview

    Package validation contains generic api type validation functions.

    Index

    Constants

    View Source
    const FieldImmutableErrorMsg string = `field is immutable`
    View Source
    const IsNegativeErrorMsg string = `must be greater than or equal to 0`

    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 ValidateFinalizerName

                    func ValidateFinalizerName(stringValue string, fldPath *field.Path) field.ErrorList

                      Validate 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

                        func ValidateInitializers

                        func ValidateInitializers(initializers *metav1.Initializers, fldPath *field.Path) field.ErrorList

                        func ValidateInitializersUpdate

                        func ValidateInitializersUpdate(newInit, oldInit *metav1.Initializers, fldPath *field.Path) field.ErrorList

                          ValidateInitializersUpdate checks the update of the metadata initializers field

                          func ValidateNoNewFinalizers

                          func ValidateNoNewFinalizers(newFinalizers []string, oldFinalizers []string, fldPath *field.Path) field.ErrorList

                          func ValidateNonnegativeField

                          func ValidateNonnegativeField(value int64, fldPath *field.Path) field.ErrorList

                            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

                                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 ValidateObjectMetaAccessorUpdate

                                func ValidateObjectMetaAccessorUpdate(newMeta, oldMeta metav1.Object, fldPath *field.Path) field.ErrorList

                                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

                                  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