kubernetesk8s.io/kubernetes/pkg/registry/service Index | Files

package service

import "k8s.io/kubernetes/pkg/registry/service"

Package service provides Registry interface and it's RESTStorage implementation for storing Service api objects.

Index

Types

type REST

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

REST adapts a service registry into apiserver's RESTStorage model.

func NewREST

func NewREST(registry Registry, cloud cloudprovider.Interface, machines minion.Registry, portalNet *net.IPNet) *REST

NewREST returns a new REST.

func (*REST) Create

func (rs *REST) Create(ctx api.Context, obj runtime.Object) (<-chan apiserver.RESTResult, error)

func (*REST) Delete

func (rs *REST) Delete(ctx api.Context, id string) (<-chan apiserver.RESTResult, error)

func (*REST) Get

func (rs *REST) Get(ctx api.Context, id string) (runtime.Object, error)

func (*REST) List

func (rs *REST) List(ctx api.Context, label, field labels.Selector) (runtime.Object, error)

TODO: implement field selector?

func (*REST) New

func (*REST) New() runtime.Object

func (*REST) ResourceLocation

func (rs *REST) ResourceLocation(ctx api.Context, id string) (string, error)

ResourceLocation returns a URL to which one can send traffic for the specified service.

func (*REST) Update

func (rs *REST) Update(ctx api.Context, obj runtime.Object) (<-chan apiserver.RESTResult, error)

func (*REST) Watch

func (rs *REST) Watch(ctx api.Context, label, field labels.Selector, resourceVersion string) (watch.Interface, error)

Watch returns Services events via a watch.Interface. It implements apiserver.ResourceWatcher.

type Registry

type Registry interface {
	ListServices(ctx api.Context) (*api.ServiceList, error)
	CreateService(ctx api.Context, svc *api.Service) error
	GetService(ctx api.Context, name string) (*api.Service, error)
	DeleteService(ctx api.Context, name string) error
	UpdateService(ctx api.Context, svc *api.Service) error
	WatchServices(ctx api.Context, labels, fields labels.Selector, resourceVersion string) (watch.Interface, error)

	// TODO: endpoints and their implementation should be separated, setting endpoints should be
	// supported via the API, and the endpoints-controller should use the API to update endpoints.
	endpoint.Registry
}

Registry is an interface for things that know how to store services.

Source Files

doc.go ip_allocator.go registry.go rest.go

Version
v0.8.2
Published
Jan 20, 2015
Platform
js/wasm
Imports
16 packages
Last checked
19 minutes ago

Tools for package owners.