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 ¶
- func AccumulateUniquePorts(containers []api.Container, accumulator map[int]bool, ...) errs.ValidationErrorList
- func NewInvalidTypeError(expected reflect.Kind, observed reflect.Kind, fieldName string) error
- func ValidateAnnotations(annotations map[string]string, field string) errs.ValidationErrorList
- func ValidateEndpoints(endpoints *api.Endpoints) errs.ValidationErrorList
- func ValidateEndpointsName(name string, prefix bool) (bool, string)
- func ValidateEndpointsUpdate(oldEndpoints, newEndpoints *api.Endpoints) errs.ValidationErrorList
- func ValidateEvent(event *api.Event) errs.ValidationErrorList
- func ValidateLabels(labels map[string]string, field string) errs.ValidationErrorList
- func ValidateLimitRange(limitRange *api.LimitRange) errs.ValidationErrorList
- func ValidateLimitRangeName(name string, prefix bool) (bool, string)
- func ValidateManifest(manifest *api.ContainerManifest) errs.ValidationErrorList
- func ValidateNamespace(namespace *api.Namespace) errs.ValidationErrorList
- func ValidateNamespaceFinalizeUpdate(newNamespace, oldNamespace *api.Namespace) errs.ValidationErrorList
- func ValidateNamespaceName(name string, prefix bool) (bool, string)
- func ValidateNamespaceStatusUpdate(newNamespace, oldNamespace *api.Namespace) errs.ValidationErrorList
- func ValidateNamespaceUpdate(newNamespace *api.Namespace, oldNamespace *api.Namespace) errs.ValidationErrorList
- func ValidateNode(node *api.Node) errs.ValidationErrorList
- func ValidateNodeName(name string, prefix bool) (bool, string)
- func ValidateNodeUpdate(oldNode *api.Node, node *api.Node) errs.ValidationErrorList
- func ValidateObjectMeta(meta *api.ObjectMeta, requiresNamespace bool, nameFn ValidateNameFunc) errs.ValidationErrorList
- func ValidateObjectMetaUpdate(old, meta *api.ObjectMeta) errs.ValidationErrorList
- func ValidatePersistentVolume(pv *api.PersistentVolume) errs.ValidationErrorList
- func ValidatePersistentVolumeClaim(pvc *api.PersistentVolumeClaim) errs.ValidationErrorList
- func ValidatePersistentVolumeClaimStatusUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList
- func ValidatePersistentVolumeClaimUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList
- func ValidatePersistentVolumeName(name string, prefix bool) (bool, string)
- func ValidatePersistentVolumeStatusUpdate(newPv, oldPv *api.PersistentVolume) errs.ValidationErrorList
- func ValidatePersistentVolumeUpdate(newPv, oldPv *api.PersistentVolume) errs.ValidationErrorList
- func ValidatePod(pod *api.Pod) errs.ValidationErrorList
- func ValidatePodName(name string, prefix bool) (bool, string)
- func ValidatePodSpec(spec *api.PodSpec) errs.ValidationErrorList
- func ValidatePodStatusUpdate(newPod, oldPod *api.Pod) errs.ValidationErrorList
- func ValidatePodTemplate(pod *api.PodTemplate) errs.ValidationErrorList
- func ValidatePodTemplateSpec(spec *api.PodTemplateSpec, replicas int) errs.ValidationErrorList
- func ValidatePodTemplateUpdate(newPod, oldPod *api.PodTemplate) errs.ValidationErrorList
- func ValidatePodUpdate(newPod, oldPod *api.Pod) errs.ValidationErrorList
- func ValidateReadOnlyPersistentDisks(volumes []api.Volume) errs.ValidationErrorList
- func ValidateReplicationController(controller *api.ReplicationController) errs.ValidationErrorList
- func ValidateReplicationControllerName(name string, prefix bool) (bool, string)
- func ValidateReplicationControllerSpec(spec *api.ReplicationControllerSpec) errs.ValidationErrorList
- func ValidateReplicationControllerUpdate(oldController, controller *api.ReplicationController) errs.ValidationErrorList
- func ValidateResourceQuota(resourceQuota *api.ResourceQuota) errs.ValidationErrorList
- func ValidateResourceQuotaName(name string, prefix bool) (bool, string)
- func ValidateResourceQuotaStatusUpdate(newResourceQuota, oldResourceQuota *api.ResourceQuota) errs.ValidationErrorList
- func ValidateResourceQuotaUpdate(newResourceQuota, oldResourceQuota *api.ResourceQuota) errs.ValidationErrorList
- func ValidateResourceRequirements(requirements *api.ResourceRequirements) errs.ValidationErrorList
- func ValidateSecret(secret *api.Secret) errs.ValidationErrorList
- func ValidateSecretName(name string, prefix bool) (bool, string)
- func ValidateSecretUpdate(oldSecret, newSecret *api.Secret) errs.ValidationErrorList
- func ValidateSecurityContext(sc *api.SecurityContext) errs.ValidationErrorList
- func ValidateService(service *api.Service) errs.ValidationErrorList
- func ValidateServiceName(name string, prefix bool) (bool, string)
- func ValidateServiceUpdate(oldService, service *api.Service) errs.ValidationErrorList
- type InvalidTypeError
- type NullSchema
- type Schema
- type SwaggerSchema
- type ValidateNameFunc
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.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 ¶
func ValidateAnnotations ¶
func ValidateAnnotations(annotations map[string]string, field string) errs.ValidationErrorList
ValidateAnnotations validates that a set of annotations are correctly defined.
func ValidateEndpoints ¶
func ValidateEndpoints(endpoints *api.Endpoints) errs.ValidationErrorList
ValidateEndpoints tests if required fields are set.
func ValidateEndpointsName ¶
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 ¶
func ValidateEndpointsUpdate(oldEndpoints, newEndpoints *api.Endpoints) errs.ValidationErrorList
ValidateEndpointsUpdate tests to make sure an endpoints update can be applied.
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 ValidateLimitRangeName ¶
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 ¶
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 ¶
func ValidateNamespace(namespace *api.Namespace) errs.ValidationErrorList
ValidateNamespace tests if required fields are set.
func ValidateNamespaceFinalizeUpdate ¶
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 ¶
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 ¶
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 ¶
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 ¶
func ValidateNode(node *api.Node) errs.ValidationErrorList
ValidateNode tests if required fields in the node are set.
func ValidateNodeName ¶
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 ¶
ValidateNodeUpdate tests to make sure a node update can be applied. Modifies oldNode.
func ValidateObjectMeta ¶
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 ¶
func ValidateObjectMetaUpdate(old, meta *api.ObjectMeta) errs.ValidationErrorList
ValidateObjectMetaUpdate validates an object's metadata when updated
func ValidatePersistentVolume ¶
func ValidatePersistentVolume(pv *api.PersistentVolume) errs.ValidationErrorList
func ValidatePersistentVolumeClaim ¶
func ValidatePersistentVolumeClaim(pvc *api.PersistentVolumeClaim) errs.ValidationErrorList
func ValidatePersistentVolumeClaimStatusUpdate ¶
func ValidatePersistentVolumeClaimStatusUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList
func ValidatePersistentVolumeClaimUpdate ¶
func ValidatePersistentVolumeClaimUpdate(newPvc, oldPvc *api.PersistentVolumeClaim) errs.ValidationErrorList
func ValidatePersistentVolumeStatusUpdate ¶
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 ¶
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 ¶
func ValidatePod(pod *api.Pod) errs.ValidationErrorList
ValidatePod tests if required fields in the pod are set.
func ValidatePodName ¶
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 ¶
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 ¶
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 ¶
func ValidatePodTemplate(pod *api.PodTemplate) errs.ValidationErrorList
ValidatePodTemplate tests if required fields in the pod template are set.
func ValidatePodTemplateSpec ¶
func ValidatePodTemplateSpec(spec *api.PodTemplateSpec, replicas int) errs.ValidationErrorList
ValidatePodTemplateSpec validates the spec of a pod template
func ValidatePodTemplateUpdate ¶
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 ¶
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 ¶
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 ValidateReplicationControllerName ¶
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 ¶
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 ValidateResourceQuota ¶
func ValidateResourceQuota(resourceQuota *api.ResourceQuota) errs.ValidationErrorList
ValidateResourceQuota tests if required fields in the ResourceQuota are set.
func ValidateResourceQuotaName ¶
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 ¶
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 ¶
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 ¶
func ValidateResourceRequirements(requirements *api.ResourceRequirements) errs.ValidationErrorList
Validates resource requirement spec.
func ValidateSecret ¶
func ValidateSecret(secret *api.Secret) errs.ValidationErrorList
ValidateSecret tests if required fields in the Secret are set.
func ValidateSecretName ¶
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 ¶
func ValidateSecretUpdate(oldSecret, newSecret *api.Secret) errs.ValidationErrorList
ValidateSecretUpdate tests if required fields in the Secret are set.
func ValidateSecurityContext ¶
func ValidateSecurityContext(sc *api.SecurityContext) errs.ValidationErrorList
ValidateSecurityContext ensure the security context contains valid settings
func ValidateService ¶
func ValidateService(service *api.Service) errs.ValidationErrorList
ValidateService tests if required fields in the service are set.
func ValidateServiceName ¶
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 ¶
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 ¶
Schema is an interface that knows how to validate an API object serialized to a byte array.
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