pod

package
v0.3.21 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2016 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package pod provides Registry interface and it's RESTStorage implementation for storing Pod api objects.

Index

Constants

This section is empty.

Variables

View Source
var StatusStrategy = podStatusStrategy{Strategy}
View Source
var Strategy = podStrategy{api.Scheme, api.SimpleNameGenerator}

Strategy is the default logic that applies when creating and updating Pod objects via the REST API.

Functions

func AttachLocation

func AttachLocation(getter ResourceGetter, connInfo client.ConnectionInfoGetter, ctx api.Context, name string, opts *api.PodAttachOptions) (*url.URL, http.RoundTripper, error)

AttachLocation returns the attach URL for a pod container. If opts.Container is blank and only one container is present in the pod, that container is used.

func ExecLocation

func ExecLocation(getter ResourceGetter, connInfo client.ConnectionInfoGetter, ctx api.Context, name string, opts *api.PodExecOptions) (*url.URL, http.RoundTripper, error)

ExecLocation returns the exec URL for a pod container. If opts.Container is blank and only one container is present in the pod, that container is used.

func LogLocation

func LogLocation(getter ResourceGetter, connInfo client.ConnectionInfoGetter, ctx api.Context, name string, opts *api.PodLogOptions) (*url.URL, http.RoundTripper, error)

LogLocation returns a the log URL for a pod container. If opts.Container is blank and only one container is present in the pod, that container is used.

func MatchPod

func MatchPod(label labels.Selector, field fields.Selector) generic.Matcher

MatchPod returns a generic matcher for a given label and field selector.

func PodToSelectableFields

func PodToSelectableFields(pod *api.Pod) fields.Set

PodToSelectableFields returns a label set that represents the object TODO: fields are not labels, and the validation rules for them do not apply.

func PortForwardLocation

func PortForwardLocation(getter ResourceGetter, connInfo client.ConnectionInfoGetter, ctx api.Context, name string) (*url.URL, http.RoundTripper, error)

PortForwardLocation returns a the port-forward URL for a pod.

func ResourceLocation

func ResourceLocation(getter ResourceGetter, ctx api.Context, id string) (*url.URL, http.RoundTripper, error)

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

Types

type Registry

type Registry interface {
	// ListPods obtains a list of pods having labels which match selector.
	ListPods(ctx api.Context, label labels.Selector) (*api.PodList, error)
	// Watch for new/changed/deleted pods
	WatchPods(ctx api.Context, label labels.Selector, field fields.Selector, resourceVersion string) (watch.Interface, error)
	// Get a specific pod
	GetPod(ctx api.Context, podID string) (*api.Pod, error)
	// Create a pod based on a specification.
	CreatePod(ctx api.Context, pod *api.Pod) error
	// Update an existing pod
	UpdatePod(ctx api.Context, pod *api.Pod) error
	// Delete an existing pod
	DeletePod(ctx api.Context, podID string) error
}

Registry is an interface implemented by things that know how to store Pod objects.

func NewRegistry

func NewRegistry(s rest.StandardStorage) Registry

NewRegistry returns a new Registry interface for the given Storage. Any mismatched types will panic.

type ResourceGetter

type ResourceGetter interface {
	Get(api.Context, string) (runtime.Object, error)
}

ResourceGetter is an interface for retrieving resources by ResourceLocation.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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