validation

package
v0.9.1-0...-e335e2d Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2015 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AccumulateUniquePorts

func AccumulateUniquePorts(containers []api.Container, accumulator map[int]bool, extract func(*api.Port) 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

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

func ValidateBoundPod

func ValidateBoundPod(pod *api.BoundPod) errs.ValidationErrorList

ValidateBoundPod tests if required fields on a bound pod are set. TODO: to be removed.

func ValidateEvent

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

ValidateEvent makes sure that the event makes sense.

func ValidateLabels

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

ValidateLabels validates that a set of labels are correctly defined.

func ValidateLimitRange

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

ValidateLimitRange tests if required fields in the LimitRange are set.

func ValidateManifest

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 ValidateMinion

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

ValidateMinion tests if required fields in the node are set.

func ValidateMinionUpdate

func ValidateMinionUpdate(oldMinion *api.Node, minion *api.Node) errs.ValidationErrorList

ValidateMinionUpdate tests to make sure a minion update can be applied. Modifies oldMinion.

func ValidateObjectMeta

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

ValidateObjectMeta validates an object's metadata.

func ValidateObjectMetaUpdate

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

ValidateObjectMetaUpdate validates an object's metadata when updated

func ValidatePod

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

ValidatePod tests if required fields in the pod are set.

func ValidatePodSpec

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 ValidatePodTemplateSpec

func ValidatePodTemplateSpec(spec *api.PodTemplateSpec) errs.ValidationErrorList

ValidatePodTemplateSpec validates the spec of a pod template

func ValidatePodUpdate

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

ValidatePodUpdate tests to see if the update is legal

func ValidateReadOnlyPersistentDisks

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

func ValidateReplicationController

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

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

func ValidateReplicationControllerSpec

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

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

func ValidateReplicationControllerUpdate

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

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

func ValidateResourceName

func ValidateResourceName(str string) errs.ValidationErrorList

Typename is a generic representation for all compute resource typenames. Refer to docs/resources.md for more details.

func ValidateResourceQuota

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

ValidateResourceQuota tests if required fields in the ResourceQuota are set.

func ValidateService

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

ValidateService tests if required fields in the service are set.

func ValidateServiceUpdate

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

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

Types

type InvalidTypeError

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

func (*InvalidTypeError) Error

func (i *InvalidTypeError) Error() string

type NullSchema

type NullSchema struct{}

func (NullSchema) ValidateBytes

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

type Schema

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

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

type SwaggerSchema

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

func (*SwaggerSchema) ValidateBytes

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

func (*SwaggerSchema) ValidateObject

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

type ValidateNameFunc

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

Jump to

Keyboard shortcuts

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