rest

package
v0.10.1-0...-dbf77f2 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2015 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package rest defines common logic around changes to Kubernetes resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BeforeCreate

func BeforeCreate(strategy RESTCreateStrategy, ctx api.Context, obj runtime.Object) error

BeforeCreate ensures that common operations for all resources are performed on creation. It only returns errors that can be converted to api.Status. It invokes ResetBeforeCreate, then GenerateName, then Validate. It returns nil if the object should be created.

func BeforeUpdate

func BeforeUpdate(strategy RESTUpdateStrategy, ctx api.Context, obj, old runtime.Object) error

BeforeUpdate ensures that common operations for all resources are performed on update. It only returns errors that can be converted to api.Status. It will invoke update validation with the provided existing and updated objects.

func CheckGeneratedNameError

func CheckGeneratedNameError(strategy RESTCreateStrategy, err error, obj runtime.Object) error

CheckGeneratedNameError checks whether an error that occured creating a resource is due to generation being unable to pick a valid name.

Types

type ObjectFunc

type ObjectFunc func(obj runtime.Object) error

ObjectFunc is a function to act on a given object. An error may be returned if the hook cannot be completed. An ObjectFunc may transform the provided object.

func AllFuncs

func AllFuncs(fns ...ObjectFunc) ObjectFunc

AllFuncs returns an ObjectFunc that attempts to run all of the provided functions in order, returning early if there are any errors.

type RESTCreateStrategy

type RESTCreateStrategy interface {
	runtime.ObjectTyper
	// The name generate is used when the standard GenerateName field is set.
	// The NameGenerator will be invoked prior to validation.
	api.NameGenerator

	// NamespaceScoped returns true if the object must be within a namespace.
	NamespaceScoped() bool
	// ResetBeforeCreate is invoked on create before validation to remove any fields
	// that may not be persisted.
	ResetBeforeCreate(obj runtime.Object)
	// Validate is invoked after default fields in the object have been filled in before
	// the object is persisted.
	Validate(obj runtime.Object) errors.ValidationErrorList
}

RESTCreateStrategy defines the minimum validation, accepted input, and name generation behavior to create an object that follows Kubernetes API conventions.

var Namespaces RESTCreateStrategy = namespaceStrategy{api.Scheme, api.SimpleNameGenerator}

Namespaces is the default logic that applies when creating and updating Namespace objects.

var Nodes RESTCreateStrategy = nodeStrategy{api.Scheme, api.SimpleNameGenerator}

Nodes is the default logic that applies when creating and updating Node objects.

var ReplicationControllers RESTCreateStrategy = rcStrategy{api.Scheme, api.SimpleNameGenerator}

ReplicationControllers is the default logic that applies when creating and updating Replication Controller objects.

var Services RESTCreateStrategy = svcStrategy{api.Scheme, api.SimpleNameGenerator}

Services is the default logic that applies when creating and updating Service objects.

type RESTUpdateStrategy

type RESTUpdateStrategy interface {
	runtime.ObjectTyper
	// NamespaceScoped returns true if the object must be within a namespace.
	NamespaceScoped() bool
	// AllowCreateOnUpdate returns true if the object can be created by a PUT.
	AllowCreateOnUpdate() bool
	// ValidateUpdate is invoked after default fields in the object have been filled in before
	// the object is persisted.
	ValidateUpdate(obj, old runtime.Object) errors.ValidationErrorList
}

RESTUpdateStrategy defines the minimum validation, accepted input, and name generation behavior to update an object that follows Kubernetes API conventions. A resource may have many UpdateStrategies, depending on the call pattern in use.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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