kubernetes: github.com/erimatnor/kubernetes/pkg/api/validation Index | Files

package validation

import "github.com/erimatnor/kubernetes/pkg/api/validation"

Package validation has functions for validating the correctness of api objects and explaining what is wrong with them when they aren't valid.

Index

Package Files

doc.go events.go schema.go validation.go

func AccumulateUniquePorts Uses

func AccumulateUniquePorts(containers []api.Container, accumulator map[int]bool, extract func(*api.ContainerPort) int) errs.ValidationErrorList

AccumulateUniquePorts runs an extraction function on each Port of each Container, accumulating the results and returning an error if any ports conflict.

func NewInvalidTypeError Uses

func NewInvalidTypeError(expected reflect.Kind, observed reflect.Kind, fieldName string) error

func ValidateAnnotations Uses

func ValidateAnnotations(annotations map[string]string, field string) errs.ValidationErrorList

ValidateAnnotations validates that a set of annotations are correctly defined.

func ValidateEndpoints Uses

func ValidateEndpoints(endpoints *api.Endpoints) errs.ValidationErrorList

ValidateEndpoints tests if required fields are set.

func ValidateEndpointsName Uses

func ValidateEndpointsName(name string, prefix bool) (bool, string)

ValidateEndpointsName can be used to check whether the given endpoints name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateEndpointsUpdate Uses

func ValidateEndpointsUpdate(oldEndpoints, newEndpoints *api.Endpoints) errs.ValidationErrorList

ValidateEndpointsUpdate tests to make sure an endpoints update can be applied.

func ValidateEvent Uses

func ValidateEvent(event *api.Event) errs.ValidationErrorList

ValidateEvent makes sure that the event makes sense.

func ValidateLabels Uses

func ValidateLabels(labels map[string]string, field string) errs.ValidationErrorList

ValidateLabels validates that a set of labels are correctly defined.

func ValidateLimitRange Uses

func ValidateLimitRange(limitRange *api.LimitRange) errs.ValidationErrorList

ValidateLimitRange tests if required fields in the LimitRange are set.

func ValidateLimitRangeName Uses

func ValidateLimitRangeName(name string, prefix bool) (bool, string)

ValidateLimitRangeName can be used to check whether the given limit range name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateManifest Uses

func ValidateManifest(manifest *api.ContainerManifest) errs.ValidationErrorList

ValidateManifest tests that the specified ContainerManifest has valid data. This includes checking formatting and uniqueness. It also canonicalizes the structure by setting default values and implementing any backwards-compatibility tricks. TODO: replaced by ValidatePodSpec

func ValidateNamespace Uses

func ValidateNamespace(namespace *api.Namespace) errs.ValidationErrorList

ValidateNamespace tests if required fields are set.

func ValidateNamespaceFinalizeUpdate Uses

func ValidateNamespaceFinalizeUpdate(newNamespace, oldNamespace *api.Namespace) errs.ValidationErrorList

ValidateNamespaceFinalizeUpdate tests to see if the update is legal for an end user to make. newNamespace is updated with fields that cannot be changed.

func ValidateNamespaceName Uses

func ValidateNamespaceName(name string, prefix bool) (bool, string)

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.

func ValidateNamespaceStatusUpdate Uses

func ValidateNamespaceStatusUpdate(newNamespace, oldNamespace *api.Namespace) errs.ValidationErrorList

ValidateNamespaceStatusUpdate tests to see if the update is legal for an end user to make. newNamespace is updated with fields that cannot be changed.

func ValidateNamespaceUpdate Uses

func ValidateNamespaceUpdate(newNamespace *api.Namespace, oldNamespace *api.Namespace) errs.ValidationErrorList

ValidateNamespaceUpdate tests to make sure a namespace update can be applied. newNamespace is updated with fields that cannot be changed TODO The syntax here is the reverse of the (old, new) pattern in most other validation. Fix this.

func ValidateNode Uses

func ValidateNode(node *api.Node) errs.ValidationErrorList

ValidateNode tests if required fields in the node are set.

func ValidateNodeName Uses

func ValidateNodeName(name string, prefix bool) (bool, string)

ValidateNodeName can be used to check whether the given node name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateNodeUpdate Uses

func ValidateNodeUpdate(oldNode *api.Node, node *api.Node) errs.ValidationErrorList

ValidateNodeUpdate tests to make sure a node update can be applied. Modifies oldNode.

func ValidateObjectMeta Uses

func ValidateObjectMeta(meta *api.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc) errs.ValidationErrorList

ValidateObjectMeta validates an object's metadata on creation. It expects that name generation has already been performed.

func ValidateObjectMetaUpdate Uses

func ValidateObjectMetaUpdate(old, meta *api.ObjectMeta) errs.ValidationErrorList

ValidateObjectMetaUpdate validates an object's metadata when updated

func ValidatePersistentVolume Uses

func ValidatePersistentVolume(pv *api.PersistentVolume) errs.ValidationErrorList

func ValidatePersistentVolumeClaim Uses

func ValidatePersistentVolumeClaim(pvc *api.PersistentVolumeClaim) errs.ValidationErrorList

func ValidatePersistentVolumeClaimStatusUpdate Uses

func ValidatePersistentVolumeClaimStatusUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList

func ValidatePersistentVolumeClaimUpdate Uses

func ValidatePersistentVolumeClaimUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList

func ValidatePersistentVolumeName Uses

func ValidatePersistentVolumeName(name string, prefix bool) (bool, string)

func ValidatePersistentVolumeStatusUpdate Uses

func ValidatePersistentVolumeStatusUpdate(newPv, oldPv *api.PersistentVolume) errs.ValidationErrorList

ValidatePersistentVolumeStatusUpdate tests to see if the status update is legal for an end user to make. newPv is updated with fields that cannot be changed.

func ValidatePersistentVolumeUpdate Uses

func ValidatePersistentVolumeUpdate(newPv, oldPv *api.PersistentVolume) errs.ValidationErrorList

ValidatePersistentVolumeUpdate tests to see if the update is legal for an end user to make. newPv is updated with fields that cannot be changed.

func ValidatePod Uses

func ValidatePod(pod *api.Pod) errs.ValidationErrorList

ValidatePod tests if required fields in the pod are set.

func ValidatePodName Uses

func ValidatePodName(name string, prefix bool) (bool, string)

ValidatePodName can be used to check whether the given pod name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidatePodSpec Uses

func ValidatePodSpec(spec *api.PodSpec) errs.ValidationErrorList

ValidatePodSpec tests that the specified PodSpec has valid data. This includes checking formatting and uniqueness. It also canonicalizes the structure by setting default values and implementing any backwards-compatibility tricks.

func ValidatePodStatusUpdate Uses

func ValidatePodStatusUpdate(newPod, oldPod *api.Pod) errs.ValidationErrorList

ValidatePodStatusUpdate tests to see if the update is legal for an end user to make. newPod is updated with fields that cannot be changed.

func ValidatePodTemplate Uses

func ValidatePodTemplate(pod *api.PodTemplate) errs.ValidationErrorList

ValidatePodTemplate tests if required fields in the pod template are set.

func ValidatePodTemplateSpec Uses

func ValidatePodTemplateSpec(spec *api.PodTemplateSpec, replicas int) errs.ValidationErrorList

ValidatePodTemplateSpec validates the spec of a pod template

func ValidatePodTemplateUpdate Uses

func ValidatePodTemplateUpdate(newPod, oldPod *api.PodTemplate) errs.ValidationErrorList

ValidatePodTemplateUpdate tests to see if the update is legal for an end user to make. newPod is updated with fields that cannot be changed.

func ValidatePodUpdate Uses

func ValidatePodUpdate(newPod, oldPod *api.Pod) errs.ValidationErrorList

ValidatePodUpdate tests to see if the update is legal for an end user to make. newPod is updated with fields that cannot be changed.

func ValidateReadOnlyPersistentDisks Uses

func ValidateReadOnlyPersistentDisks(volumes []api.Volume) errs.ValidationErrorList

func ValidateReplicationController Uses

func ValidateReplicationController(controller *api.ReplicationController) errs.ValidationErrorList

ValidateReplicationController tests if required fields in the replication controller are set.

func ValidateReplicationControllerName Uses

func ValidateReplicationControllerName(name string, prefix bool) (bool, string)

ValidateReplicationControllerName can be used to check whether the given replication controller name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateReplicationControllerSpec Uses

func ValidateReplicationControllerSpec(spec *api.ReplicationControllerSpec) errs.ValidationErrorList

ValidateReplicationControllerSpec tests if required fields in the replication controller spec are set.

func ValidateReplicationControllerUpdate Uses

func ValidateReplicationControllerUpdate(oldController, controller *api.ReplicationController) errs.ValidationErrorList

ValidateReplicationControllerUpdate tests if required fields in the replication controller are set.

func ValidateResourceQuota Uses

func ValidateResourceQuota(resourceQuota *api.ResourceQuota) errs.ValidationErrorList

ValidateResourceQuota tests if required fields in the ResourceQuota are set.

func ValidateResourceQuotaName Uses

func ValidateResourceQuotaName(name string, prefix bool) (bool, string)

ValidateResourceQuotaName can be used to check whether the given resource quota name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateResourceQuotaStatusUpdate Uses

func ValidateResourceQuotaStatusUpdate(newResourceQuota, oldResourceQuota *api.ResourceQuota) errs.ValidationErrorList

ValidateResourceQuotaStatusUpdate tests to see if the status update is legal for an end user to make. newResourceQuota is updated with fields that cannot be changed.

func ValidateResourceQuotaUpdate Uses

func ValidateResourceQuotaUpdate(newResourceQuota, oldResourceQuota *api.ResourceQuota) errs.ValidationErrorList

ValidateResourceQuotaUpdate tests to see if the update is legal for an end user to make. newResourceQuota is updated with fields that cannot be changed.

func ValidateResourceRequirements Uses

func ValidateResourceRequirements(requirements *api.ResourceRequirements) errs.ValidationErrorList

Validates resource requirement spec.

func ValidateSecret Uses

func ValidateSecret(secret *api.Secret) errs.ValidationErrorList

ValidateSecret tests if required fields in the Secret are set.

func ValidateSecretName Uses

func ValidateSecretName(name string, prefix bool) (bool, string)

ValidateSecretName can be used to check whether the given secret name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateSecretUpdate Uses

func ValidateSecretUpdate(oldSecret, newSecret *api.Secret) errs.ValidationErrorList

ValidateSecretUpdate tests if required fields in the Secret are set.

func ValidateSecurityContext Uses

func ValidateSecurityContext(sc *api.SecurityContext) errs.ValidationErrorList

ValidateSecurityContext ensure the security context contains valid settings

func ValidateService Uses

func ValidateService(service *api.Service) errs.ValidationErrorList

ValidateService tests if required fields in the service are set.

func ValidateServiceName Uses

func ValidateServiceName(name string, prefix bool) (bool, string)

ValidateServiceName can be used to check whether the given service name is valid. Prefix indicates this name will be used as part of generation, in which case trailing dashes are allowed.

func ValidateServiceUpdate Uses

func ValidateServiceUpdate(oldService, service *api.Service) errs.ValidationErrorList

ValidateServiceUpdate tests if required fields in the service are set during an update

type InvalidTypeError Uses

type InvalidTypeError struct {
    ExpectedKind reflect.Kind
    ObservedKind reflect.Kind
    FieldName    string
}

func (*InvalidTypeError) Error Uses

func (i *InvalidTypeError) Error() string

type NullSchema Uses

type NullSchema struct{}

func (NullSchema) ValidateBytes Uses

func (NullSchema) ValidateBytes(data []byte) error

type Schema Uses

type Schema interface {
    ValidateBytes(data []byte) error
}

Schema is an interface that knows how to validate an API object serialized to a byte array.

func NewSwaggerSchemaFromBytes Uses

func NewSwaggerSchemaFromBytes(data []byte) (Schema, error)

type SwaggerSchema Uses

type SwaggerSchema struct {
    // contains filtered or unexported fields
}

func (*SwaggerSchema) ValidateBytes Uses

func (s *SwaggerSchema) ValidateBytes(data []byte) error

func (*SwaggerSchema) ValidateObject Uses

func (s *SwaggerSchema) ValidateObject(obj interface{}, apiVersion, fieldName, typeName string) error

type ValidateNameFunc Uses

type ValidateNameFunc func(name string, prefix bool) (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.

Package validation imports 16 packages (graph). Updated 2017-05-11. Refresh now. Tools for package owners.