binding

package
v0.0.0-...-e20f597 Latest Latest
Warning

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

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

Documentation

Overview

Package binding contains the middle layer logic for bindings. Bindings are objects containing instructions for how a pod ought to be bound to a host. This allows a registry object which supports this action (ApplyBinding) to be served through an apiserver.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BindingStorage

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

BindingStorage implements the RESTStorage interface. When bindings are written, it changes the location of the affected pods. This information is eventually reflected in the pod's CurrentState.Host field.

func NewBindingStorage

func NewBindingStorage(bindingRegistry Registry) *BindingStorage

NewBindingStorage makes a new BindingStorage backed by the given bindingRegistry.

func (*BindingStorage) Create

func (b *BindingStorage) Create(obj interface{}) (<-chan interface{}, error)

Create attempts to make the assignment indicated by the binding it recieves.

func (*BindingStorage) Delete

func (*BindingStorage) Delete(id string) (<-chan interface{}, error)

Delete returns an error because bindings are write-only objects.

func (*BindingStorage) Get

func (*BindingStorage) Get(id string) (interface{}, error)

Get returns an error because bindings are write-only objects.

func (*BindingStorage) List

func (*BindingStorage) List(selector labels.Selector) (interface{}, error)

List returns an error because bindings are write-only objects.

func (*BindingStorage) New

func (*BindingStorage) New() interface{}

New returns a new binding object fit for having data unmarshalled into it.

func (*BindingStorage) Update

func (b *BindingStorage) Update(obj interface{}) (<-chan interface{}, error)

Update returns an error-- this object may not be updated.

type MockRegistry

type MockRegistry struct {
	OnApplyBinding func(binding *api.Binding) error
}

MockRegistry can be used for testing.

func (MockRegistry) ApplyBinding

func (mr MockRegistry) ApplyBinding(binding *api.Binding) error

type Registry

type Registry interface {
	// ApplyBinding should apply the binding. That is, it should actually
	// assign or place pod binding.PodID on machine binding.Host.
	ApplyBinding(binding *api.Binding) error
}

Registry contains the functions needed to support a BindingStorage.

Jump to

Keyboard shortcuts

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