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 ¶
- type MockRegistry
- type REST
- func (b *REST) Create(ctx api.Context, obj runtime.Object) (<-chan apiserver.RESTResult, error)
- func (*REST) Delete(ctx api.Context, id string) (<-chan apiserver.RESTResult, error)
- func (*REST) Get(ctx api.Context, id string) (runtime.Object, error)
- func (*REST) List(ctx api.Context, label, field labels.Selector) (runtime.Object, error)
- func (*REST) New() runtime.Object
- func (b *REST) Update(ctx api.Context, obj runtime.Object) (<-chan apiserver.RESTResult, error)
- type Registry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockRegistry ¶
type MockRegistry struct {
OnApplyBinding func(binding *api.Binding) error
}
MockRegistry can be used for testing.
func (MockRegistry) ApplyBinding ¶
func (mr MockRegistry) ApplyBinding(ctx api.Context, binding *api.Binding) error
type REST ¶
type REST struct {
// contains filtered or unexported fields
}
REST implements the RESTStorage interface for bindings. 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 NewREST ¶
func NewREST(bindingRegistry Registry) *REST
NewREST creates a new REST backed by the given bindingRegistry.
func (*REST) Create ¶
func (b *REST) Create(ctx api.Context, obj runtime.Object) (<-chan apiserver.RESTResult, error)
Create attempts to make the assignment indicated by the binding it recieves.
func (*REST) Delete ¶
func (*REST) Delete(ctx api.Context, id string) (<-chan apiserver.RESTResult, error)
Delete returns an error because bindings are write-only objects.
func (*REST) Get ¶
func (*REST) Get(ctx api.Context, id string) (runtime.Object, error)
Get returns an error because bindings are write-only objects.
func (*REST) List ¶
func (*REST) List(ctx api.Context, label, field labels.Selector) (runtime.Object, error)
List returns an error because bindings are write-only objects.
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(ctx api.Context, binding *api.Binding) error
}
Registry contains the functions needed to support a BindingStorage.