kubectl

package
v0.0.0-...-bb44ddd Latest Latest
Warning

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

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

Documentation

Overview

Package kubectl is a set of libraries that are used by the kubectl command line tool. They are separated out into a library to support unit testing. Most functionality should be included in this package, and the main kubectl should really just be an entry point.

A set of common functions needed by cmd/kubectl and pkg/kubectl packages.

Index

Constants

View Source
const (
	DefaultHostAcceptRE   = "^localhost$,^127\\.0\\.0\\.1$,^\\[::1\\]$"
	DefaultPathAcceptRE   = "^/.*"
	DefaultPathRejectRE   = "^/api/.*/exec,^/api/.*/run"
	DefaultMethodRejectRE = "POST,PUT,PATCH"
)
View Source
const (
	Interval = time.Second * 1
	Timeout  = time.Minute * 5
)
View Source
const MaxRetries = 3

Variables

View Source
var (
	// The reverse proxy will periodically flush the io writer at this frequency.
	// Only matters for long poll connections like the one used to watch. With an
	// interval of 0 the reverse proxy will buffer content sent on any connection
	// with transfer-encoding=chunked.
	// TODO: Flush after each chunk so the client doesn't suffer a 100ms latency per
	// watch event.
	ReverseProxyFlushInterval = 100 * time.Millisecond
)

Functions

func AbortRollingUpdate

func AbortRollingUpdate(c *RollingUpdaterConfig)

func AddDeploymentKeyToReplicationController

func AddDeploymentKeyToReplicationController(oldRc *api.ReplicationController, client client.Interface, deploymentKey, deploymentValue, namespace string, out io.Writer) (*api.ReplicationController, error)

func AddJsonFilenameFlag

func AddJsonFilenameFlag(cmd *cobra.Command, usage string)

func CreateNewControllerFromCurrentController

func CreateNewControllerFromCurrentController(c *client.Client, namespace, oldName, newName, image, deploymentKey string) (*api.ReplicationController, error)

func DescribableResources

func DescribableResources() []string

List of all resource types we can describe

func DescribeEvents

func DescribeEvents(el *api.EventList, w io.Writer)

func DescribeLimitRanges

func DescribeLimitRanges(limitRanges *api.LimitRangeList, w io.Writer)

DescribeLimitRanges merges a set of limit range items into a single tabular description

func DescribeResourceQuotas

func DescribeResourceQuotas(quotas *api.ResourceQuotaList, w io.Writer)

DescribeResourceQuotas merges a set of quota items into a single tabular description of all quotas

func FindSourceController

func FindSourceController(r RollingUpdaterClient, namespace, name string) (*api.ReplicationController, error)

func GetBool

func GetBool(params map[string]string, key string, defValue bool) (bool, error)

func GetClientVersion

func GetClientVersion(w io.Writer)

func GetNextControllerAnnotation

func GetNextControllerAnnotation(rc *api.ReplicationController) (string, bool)

func GetVersion

func GetVersion(w io.Writer, kubeClient client.Interface)

func IsNoSuchReaperError

func IsNoSuchReaperError(err error) bool

func IsZero

func IsZero(i interface{}) bool

func LoadExistingNextReplicationController

func LoadExistingNextReplicationController(c *client.Client, namespace, newName string) (*api.ReplicationController, error)

func MakeLabels

func MakeLabels(labels map[string]string) string

func MakeParams

func MakeParams(cmd *cobra.Command, params []GeneratorParam) map[string]interface{}

MakeParams is a utility that creates generator parameters from a command line

func MakeRegexpArray

func MakeRegexpArray(str string) ([]*regexp.Regexp, error)

Splits a comma separated list of regexps into a array of Regexp objects.

func MakeRegexpArrayOrDie

func MakeRegexpArrayOrDie(str string) []*regexp.Regexp

func ParseLabels

func ParseLabels(labelSpec interface{}) (map[string]string, error)

ParseLabels turns a string representation of a label set into a map[string]string

func Rename

func ScaleCondition

func ScaleCondition(r Scaler, precondition *ScalePrecondition, namespace, name string, count uint) wait.ConditionFunc

ScaleCondition is a closure around Scale that facilitates retries via util.wait

func SetNextControllerAnnotation

func SetNextControllerAnnotation(rc *api.ReplicationController, name string)

func UpdateExistingReplicationController

func UpdateExistingReplicationController(c client.Interface, oldRc *api.ReplicationController, namespace, newName, deploymentKey, deploymentValue string, out io.Writer) (*api.ReplicationController, error)

func ValidateParams

func ValidateParams(paramSpec []GeneratorParam, params map[string]interface{}) error

ValidateParams ensures that all required params are present in the params map

func WatchLoop

func WatchLoop(w watch.Interface, fn func(watch.Event) error)

WatchLoop loops, passing events in w to fn. If user sends interrupt signal, shut down cleanly. Otherwise, never return.

Types

type AlwaysAccept

type AlwaysAccept struct{}

AlwaysAccept is an UpdateAcceptor which always accepts the controller.

func (*AlwaysAccept) Accept

Accept implements UpdateAcceptor.

type BasicPod

type BasicPod struct{}

func (BasicPod) Generate

func (BasicPod) Generate(genericParams map[string]interface{}) (runtime.Object, error)

func (BasicPod) ParamNames

func (BasicPod) ParamNames() []GeneratorParam

type BasicReplicationController

type BasicReplicationController struct{}

func (BasicReplicationController) Generate

func (BasicReplicationController) Generate(genericParams map[string]interface{}) (runtime.Object, error)

func (BasicReplicationController) ParamNames

type ControllerScaleError

type ControllerScaleError struct {
	FailureType     ControllerScaleErrorType
	ResourceVersion string
	ActualError     error
}

A ControllerScaleError is returned when a scale request passes preconditions but fails to actually scale the controller.

func (ControllerScaleError) Error

func (c ControllerScaleError) Error() string

type ControllerScaleErrorType

type ControllerScaleErrorType int
const (
	ControllerScaleGetFailure ControllerScaleErrorType = iota
	ControllerScaleUpdateFailure
)

type Describer

type Describer interface {
	Describe(namespace, name string) (output string, err error)
}

Describer generates output for the named resource or an error if the output could not be generated. Implementors typically abstract the retrieval of the named object from a remote server.

func DescriberFor

func DescriberFor(kind string, c *client.Client, ec *client.ExperimentalClient) (Describer, bool)

Describer returns the default describe functions for each of the standard Kubernetes types.

type Describers

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

Describers implements ObjectDescriber against functions registered via Add. Those functions can be strongly typed. Types are exactly matched (no conversion or assignable checks).

func (*Describers) Add

func (d *Describers) Add(fns ...interface{}) error

Add adds one or more describer functions to the Describer. The passed function must match the signature:

func(...) (string, error)

Any number of arguments may be provided.

func (*Describers) DescribeObject

func (d *Describers) DescribeObject(exact interface{}, extra ...interface{}) (string, error)

DescribeObject implements ObjectDescriber and will attempt to print the provided object to a string, if at least one describer function has been registered with the exact types passed, or if any describer can print the exact object in its first argument (the remainder will be provided empty values). If no function registered with Add can satisfy the passed objects, an ErrNoDescriber will be returned TODO: reorder and partial match extra.

type ErrNoDescriber

type ErrNoDescriber struct {
	Types []string
}

ErrNoDescriber is a structured error indicating the provided object or objects cannot be described.

func (ErrNoDescriber) Error

func (e ErrNoDescriber) Error() string

Error implements the error interface.

type FilterServer

type FilterServer struct {
	// Only paths that match this regexp will be accepted
	AcceptPaths []*regexp.Regexp
	// Paths that match this regexp will be rejected, even if they match the above
	RejectPaths []*regexp.Regexp
	// Hosts are required to match this list of regexp
	AcceptHosts []*regexp.Regexp
	// Methods that match this regexp are rejected
	RejectMethods []*regexp.Regexp
	// contains filtered or unexported fields
}

FilterServer rejects requests which don't match one of the specified regular expressions

func (*FilterServer) HandlerFor

func (f *FilterServer) HandlerFor(delegate http.Handler) *FilterServer

Make a copy of f which passes requests along to the new delegate.

func (*FilterServer) ServeHTTP

func (f *FilterServer) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type Generator

type Generator interface {
	// Generate creates an API object given a set of parameters
	Generate(params map[string]interface{}) (runtime.Object, error)
	// ParamNames returns the list of parameters that this generator uses
	ParamNames() []GeneratorParam
}

Generator is an interface for things that can generate API objects from input parameters.

type GeneratorParam

type GeneratorParam struct {
	Name     string
	Required bool
}

GeneratorParam is a parameter for a generator TODO: facilitate structured json generator input schemes

type HumanReadablePrinter

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

HumanReadablePrinter is an implementation of ResourcePrinter which attempts to provide more elegant output. It is not threadsafe, but you may call PrintObj repeatedly; headers will only be printed if the object type changes. This makes it useful for printing items received from watches.

func NewHumanReadablePrinter

func NewHumanReadablePrinter(noHeaders, withNamespace bool, wide bool, columnLabels []string) *HumanReadablePrinter

NewHumanReadablePrinter creates a HumanReadablePrinter.

func (*HumanReadablePrinter) HandledResources

func (h *HumanReadablePrinter) HandledResources() []string

func (*HumanReadablePrinter) Handler

func (h *HumanReadablePrinter) Handler(columns []string, printFunc interface{}) error

Handler adds a print handler with a given set of columns to HumanReadablePrinter instance. See validatePrintHandlerFunc for required method signature.

func (*HumanReadablePrinter) PrintObj

func (h *HumanReadablePrinter) PrintObj(obj runtime.Object, output io.Writer) error

PrintObj prints the obj in a human-friendly format according to the type of the obj.

type JSONPrinter

type JSONPrinter struct {
}

JSONPrinter is an implementation of ResourcePrinter which outputs an object as JSON.

func (*JSONPrinter) PrintObj

func (p *JSONPrinter) PrintObj(obj runtime.Object, w io.Writer) error

PrintObj is an implementation of ResourcePrinter.PrintObj which simply writes the object to the Writer.

type LimitRangeDescriber

type LimitRangeDescriber struct {
	client.Interface
}

LimitRangeDescriber generates information about a limit range

func (*LimitRangeDescriber) Describe

func (d *LimitRangeDescriber) Describe(namespace, name string) (string, error)

type NamespaceDescriber

type NamespaceDescriber struct {
	client.Interface
}

NamespaceDescriber generates information about a namespace

func (*NamespaceDescriber) Describe

func (d *NamespaceDescriber) Describe(namespace, name string) (string, error)

type NamespaceInfo

type NamespaceInfo struct {
	Namespace string
}

type NoSuchReaperError

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

func (*NoSuchReaperError) Error

func (n *NoSuchReaperError) Error() string

type NodeDescriber

type NodeDescriber struct {
	client.Interface
}

NodeDescriber generates information about a node.

func (*NodeDescriber) Describe

func (d *NodeDescriber) Describe(namespace, name string) (string, error)

type ObjectDescriber

type ObjectDescriber interface {
	DescribeObject(object interface{}, extra ...interface{}) (output string, err error)
}

ObjectDescriber is an interface for displaying arbitrary objects with extra information. Use when an object is in hand (on disk, or already retrieved). Implementors may ignore the additional information passed on extra, or use it by default. ObjectDescribers may return ErrNoDescriber if no suitable describer is found.

var DefaultObjectDescriber ObjectDescriber

DefaultObjectDescriber can describe the default Kubernetes objects.

type OutputVersionMapper

type OutputVersionMapper struct {
	meta.RESTMapper
	OutputVersion string
}

OutputVersionMapper is a RESTMapper that will prefer mappings that correspond to a preferred output version (if feasible)

func (OutputVersionMapper) RESTMapping

func (m OutputVersionMapper) RESTMapping(kind string, versions ...string) (*meta.RESTMapping, error)

RESTMapping implements meta.RESTMapper by prepending the output version to the preferred version list.

type PersistentVolumeClaimDescriber

type PersistentVolumeClaimDescriber struct {
	client.Interface
}

func (*PersistentVolumeClaimDescriber) Describe

func (d *PersistentVolumeClaimDescriber) Describe(namespace, name string) (string, error)

type PersistentVolumeDescriber

type PersistentVolumeDescriber struct {
	client.Interface
}

func (*PersistentVolumeDescriber) Describe

func (d *PersistentVolumeDescriber) Describe(namespace, name string) (string, error)

type PodDescriber

type PodDescriber struct {
	client.Interface
}

PodDescriber generates information about a pod and the replication controllers that create it.

func (*PodDescriber) Describe

func (d *PodDescriber) Describe(namespace, name string) (string, error)

type PodReaper

type PodReaper struct {
	client.Interface
}

func (*PodReaper) Stop

func (reaper *PodReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error)

type PreconditionError

type PreconditionError struct {
	Precondition  string
	ExpectedValue string
	ActualValue   string
}

A PreconditionError is returned when a replication controller fails to match the scale preconditions passed to kubectl.

func (PreconditionError) Error

func (pe PreconditionError) Error() string

type ProxyServer

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

ProxyServer is a http.Handler which proxies Kubernetes APIs to remote API server.

func NewProxyServer

func NewProxyServer(filebase string, apiProxyPrefix string, staticPrefix string, filter *FilterServer, cfg *client.Config) (*ProxyServer, error)

NewProxyServer creates and installs a new ProxyServer. It automatically registers the created ProxyServer to http.DefaultServeMux. 'filter', if non-nil, protects requests to the api only.

func (*ProxyServer) Listen

func (s *ProxyServer) Listen(port int) (net.Listener, error)

Listen is a simple wrapper around net.Listen.

func (*ProxyServer) ListenUnix

func (s *ProxyServer) ListenUnix(path string) (net.Listener, error)

ListenUnix does net.Listen for a unix socket

func (*ProxyServer) ServeOnListener

func (s *ProxyServer) ServeOnListener(l net.Listener) error

Serve starts the server using given listener, loops forever.

type RESTClient

type RESTClient interface {
	Get() *client.Request
	Post() *client.Request
	Patch(api.PatchType) *client.Request
	Delete() *client.Request
	Put() *client.Request
}

RESTClient is a client helper for dealing with RESTful resources in a generic way.

type Reaper

type Reaper interface {
	Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error)
}

A Reaper handles terminating an object as gracefully as possible. timeout is how long we'll wait for the termination to be successful gracePeriod is time given to an API object for it to delete itself cleanly (e.g. pod shutdown)

func ReaperFor

func ReaperFor(kind string, c client.Interface, ec *client.ExperimentalClient) (Reaper, error)

func ReaperForReplicationController

func ReaperForReplicationController(c client.Interface, timeout time.Duration) (Reaper, error)

type ReplicationControllerDescriber

type ReplicationControllerDescriber struct {
	client.Interface
}

ReplicationControllerDescriber generates information about a replication controller and the pods it has created.

func (*ReplicationControllerDescriber) Describe

func (d *ReplicationControllerDescriber) Describe(namespace, name string) (string, error)

type ReplicationControllerReaper

type ReplicationControllerReaper struct {
	client.Interface
	// contains filtered or unexported fields
}

func (*ReplicationControllerReaper) Stop

func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error)

type ReplicationControllerScaler

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

func (*ReplicationControllerScaler) Scale

func (scaler *ReplicationControllerScaler) Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, waitForReplicas *RetryParams) error

Scale updates a ReplicationController to a new size, with optional precondition check (if preconditions is not nil), optional retries (if retry is not nil), and then optionally waits for it's replica count to reach the new value (if wait is not nil).

func (*ReplicationControllerScaler) ScaleSimple

func (scaler *ReplicationControllerScaler) ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)

type ResourcePrinter

type ResourcePrinter interface {
	// Print receives a runtime object, formats it and prints it to a writer.
	PrintObj(runtime.Object, io.Writer) error
}

ResourcePrinter is an interface that knows how to print runtime objects.

func GetPrinter

func GetPrinter(format, formatArgument string) (ResourcePrinter, bool, error)

GetPrinter takes a format type, an optional format argument. It will return true if the format is generic (untyped), otherwise it will return false. The printer is agnostic to schema versions, so you must send arguments to PrintObj in the version you wish them to be shown using a VersionedPrinter (typically when generic is true).

func NewVersionedPrinter

func NewVersionedPrinter(printer ResourcePrinter, convertor runtime.ObjectConvertor, version ...string) ResourcePrinter

NewVersionedPrinter wraps a printer to convert objects to a known API version prior to printing.

type ResourcePrinterFunc

type ResourcePrinterFunc func(runtime.Object, io.Writer) error

ResourcePrinterFunc is a function that can print objects

func (ResourcePrinterFunc) PrintObj

func (fn ResourcePrinterFunc) PrintObj(obj runtime.Object, w io.Writer) error

PrintObj implements ResourcePrinter

type ResourceQuotaDescriber

type ResourceQuotaDescriber struct {
	client.Interface
}

ResourceQuotaDescriber generates information about a resource quota

func (*ResourceQuotaDescriber) Describe

func (d *ResourceQuotaDescriber) Describe(namespace, name string) (string, error)

type RetryParams

type RetryParams struct {
	Interval, Timeout time.Duration
}

RetryParams encapsulates the retry parameters used by kubectl's scaler.

func NewRetryParams

func NewRetryParams(interval, timeout time.Duration) *RetryParams

type RollingUpdater

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

RollingUpdater provides methods for updating replicated pods in a predictable, fault-tolerant way.

func NewRollingUpdater

func NewRollingUpdater(namespace string, client RollingUpdaterClient) *RollingUpdater

NewRollingUpdater creates a RollingUpdater from a client

func (*RollingUpdater) Update

func (r *RollingUpdater) Update(config *RollingUpdaterConfig) error

Update all pods for a ReplicationController (oldRc) by creating a new controller (newRc) with 0 replicas, and synchronously scaling oldRc and newRc until oldRc has 0 replicas and newRc has the original # of desired replicas. Cleanup occurs based on a RollingUpdaterCleanupPolicy.

The scaling amount each interval is either 1 or based on a percent of the desired replicas. If a percentage is used and the percentage is negative, the scaling order is inverted to down/up instead of the default up/down.

If an update from newRc to oldRc is already in progress, we attempt to drive it to completion. If an error occurs at any step of the update, the error will be returned.

TODO: make this handle performing a rollback of a partially completed rollout.

type RollingUpdaterCleanupPolicy

type RollingUpdaterCleanupPolicy string

RollingUpdaterCleanupPolicy is a cleanup action to take after the deployment is complete.

const (
	// DeleteRollingUpdateCleanupPolicy means delete the old controller.
	DeleteRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Delete"
	// PreserveRollingUpdateCleanupPolicy means keep the old controller.
	PreserveRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Preserve"
	// RenameRollingUpdateCleanupPolicy means delete the old controller, and rename
	// the new controller to the name of the old controller.
	RenameRollingUpdateCleanupPolicy RollingUpdaterCleanupPolicy = "Rename"
)

type RollingUpdaterClient

type RollingUpdaterClient interface {
	ListReplicationControllers(namespace string, selector labels.Selector) (*api.ReplicationControllerList, error)
	GetReplicationController(namespace, name string) (*api.ReplicationController, error)
	UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error)
	CreateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error)
	DeleteReplicationController(namespace, name string) error
	ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc
}

RollingUpdaterClient abstracts access to ReplicationControllers.

func NewRollingUpdaterClient

func NewRollingUpdaterClient(c client.Interface) RollingUpdaterClient

type RollingUpdaterConfig

type RollingUpdaterConfig struct {
	// Out is a writer for progress output.
	Out io.Writer
	// OldRC is an existing controller to be replaced.
	OldRc *api.ReplicationController
	// NewRc is a controller that will take ownership of updated pods (will be
	// created if needed).
	NewRc *api.ReplicationController
	// UpdatePeriod is the time to wait between individual pod updates.
	UpdatePeriod time.Duration
	// Interval is the time to wait between polling controller status after
	// update.
	Interval time.Duration
	// Timeout is the time to wait for controller updates before giving up.
	Timeout time.Duration
	// CleanupPolicy defines the cleanup action to take after the deployment is
	// complete.
	CleanupPolicy RollingUpdaterCleanupPolicy
	// UpdateAcceptor is given a chance to accept the new controller after each
	// scale-up operation. If the controller is accepted, updates continue; if
	// the controller is rejected, the update will fail immediately.
	UpdateAcceptor UpdateAcceptor
	// UpdatePercent is optional; if specified, the amount of replicas scaled up
	// and down each interval will be computed as a percentage of the desired
	// replicas for the new RC. If UpdatePercent is nil, one replica will be
	// scaled up and down each interval. If UpdatePercent is negative, the order
	// of scaling will be down/up instead of up/down.
	UpdatePercent *int
}

RollingUpdaterConfig is the configuration for a rolling deployment process.

type RuntimeSort

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

RuntimeSort is an implementation of the golang sort interface that knows how to sort lists of runtime.Object

func (*RuntimeSort) Len

func (r *RuntimeSort) Len() int

func (*RuntimeSort) Less

func (r *RuntimeSort) Less(i, j int) bool

func (*RuntimeSort) Swap

func (r *RuntimeSort) Swap(i, j int)

type ScalePrecondition

type ScalePrecondition struct {
	Size            int
	ResourceVersion string
}

ScalePrecondition describes a condition that must be true for the scale to take place If CurrentSize == -1, it is ignored. If CurrentResourceVersion is the empty string, it is ignored. Otherwise they must equal the values in the replication controller for it to be valid.

func (*ScalePrecondition) Validate

func (precondition *ScalePrecondition) Validate(controller *api.ReplicationController) error

Validate ensures that the preconditions match. Returns nil if they are valid, an error otherwise

type Scaler

type Scaler interface {
	// Scale scales the named resource after checking preconditions. It optionally
	// retries in the event of resource version mismatch (if retry is not nil),
	// and optionally waits until the status of the resource matches newSize (if wait is not nil)
	Scale(namespace, name string, newSize uint, preconditions *ScalePrecondition, retry, wait *RetryParams) error
	// ScaleSimple does a simple one-shot attempt at scaling - not useful on it's own, but
	// a necessary building block for Scale
	ScaleSimple(namespace, name string, preconditions *ScalePrecondition, newSize uint) (string, error)
}

func ScalerFor

func ScalerFor(kind string, c ScalerClient) (Scaler, error)

type ScalerClient

type ScalerClient interface {
	GetReplicationController(namespace, name string) (*api.ReplicationController, error)
	UpdateReplicationController(namespace string, rc *api.ReplicationController) (*api.ReplicationController, error)
	ControllerHasDesiredReplicas(rc *api.ReplicationController) wait.ConditionFunc
}

ScalerClient abstracts access to ReplicationControllers.

func NewScalerClient

func NewScalerClient(c client.Interface) ScalerClient

type SecretDescriber

type SecretDescriber struct {
	client.Interface
}

SecretDescriber generates information about a secret

func (*SecretDescriber) Describe

func (d *SecretDescriber) Describe(namespace, name string) (string, error)

type ServiceAccountDescriber

type ServiceAccountDescriber struct {
	client.Interface
}

ServiceAccountDescriber generates information about a service.

func (*ServiceAccountDescriber) Describe

func (d *ServiceAccountDescriber) Describe(namespace, name string) (string, error)

type ServiceDescriber

type ServiceDescriber struct {
	client.Interface
}

ServiceDescriber generates information about a service.

func (*ServiceDescriber) Describe

func (d *ServiceDescriber) Describe(namespace, name string) (string, error)

type ServiceGeneratorV1

type ServiceGeneratorV1 struct{}

The only difference between ServiceGeneratorV1 and V2 is that the service port is named "default" in V1, while it is left unnamed in V2.

func (ServiceGeneratorV1) Generate

func (ServiceGeneratorV1) Generate(params map[string]interface{}) (runtime.Object, error)

func (ServiceGeneratorV1) ParamNames

func (ServiceGeneratorV1) ParamNames() []GeneratorParam

type ServiceGeneratorV2

type ServiceGeneratorV2 struct{}

func (ServiceGeneratorV2) Generate

func (ServiceGeneratorV2) Generate(params map[string]interface{}) (runtime.Object, error)

func (ServiceGeneratorV2) ParamNames

func (ServiceGeneratorV2) ParamNames() []GeneratorParam

type ServiceReaper

type ServiceReaper struct {
	client.Interface
}

func (*ServiceReaper) Stop

func (reaper *ServiceReaper) Stop(namespace, name string, timeout time.Duration, gracePeriod *api.DeleteOptions) (string, error)

type ShortcutExpander

type ShortcutExpander struct {
	meta.RESTMapper
}

ShortcutExpander is a RESTMapper that can be used for Kubernetes resources.

func (ShortcutExpander) VersionAndKindForResource

func (e ShortcutExpander) VersionAndKindForResource(resource string) (defaultVersion, kind string, err error)

VersionAndKindForResource implements meta.RESTMapper. It expands the resource first, then invokes the wrapped mapper.

type SortableEvents

type SortableEvents []api.Event

SortableEvents implements sort.Interface for []api.Event based on the Timestamp field

func (SortableEvents) Len

func (list SortableEvents) Len() int

func (SortableEvents) Less

func (list SortableEvents) Less(i, j int) bool

func (SortableEvents) Swap

func (list SortableEvents) Swap(i, j int)

type SortableResourceNames

type SortableResourceNames []api.ResourceName

func (SortableResourceNames) Len

func (list SortableResourceNames) Len() int

func (SortableResourceNames) Less

func (list SortableResourceNames) Less(i, j int) bool

func (SortableResourceNames) Swap

func (list SortableResourceNames) Swap(i, j int)

type SortingPrinter

type SortingPrinter struct {
	SortField string
	Delegate  ResourcePrinter
}

Sorting printer sorts list types before delegating to another printer. Non-list types are simply passed through

func (*SortingPrinter) PrintObj

func (s *SortingPrinter) PrintObj(obj runtime.Object, out io.Writer) error

type TemplatePrinter

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

TemplatePrinter is an implementation of ResourcePrinter which formats data with a Go Template.

func NewTemplatePrinter

func NewTemplatePrinter(tmpl []byte) (*TemplatePrinter, error)

func (*TemplatePrinter) PrintObj

func (p *TemplatePrinter) PrintObj(obj runtime.Object, w io.Writer) error

PrintObj formats the obj with the Go Template.

type UpdateAcceptor

type UpdateAcceptor interface {
	// Accept returns nil if the controller is okay, otherwise returns an error.
	Accept(*api.ReplicationController) error
}

UpdateAcceptor is given a chance to accept or reject the new controller during a deployment each time the controller is scaled up.

After the successful scale-up of the controller, the controller is given to the UpdateAcceptor. If the UpdateAcceptor rejects the controller, the deployment is stopped with an error.

var DefaultUpdateAcceptor UpdateAcceptor = &AlwaysAccept{}

DefaultUpdaterAcceptor always accepts controllers.

type VersionedPrinter

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

VersionedPrinter takes runtime objects and ensures they are converted to a given API version prior to being passed to a nested printer.

func (*VersionedPrinter) PrintObj

func (p *VersionedPrinter) PrintObj(obj runtime.Object, w io.Writer) error

PrintObj implements ResourcePrinter

type YAMLPrinter

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

YAMLPrinter is an implementation of ResourcePrinter which outputs an object as YAML. The input object is assumed to be in the internal version of an API and is converted to the given version first.

func (*YAMLPrinter) PrintObj

func (p *YAMLPrinter) PrintObj(obj runtime.Object, w io.Writer) error

PrintObj prints the data as YAML.

Directories

Path Synopsis
cmd
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions.
Package resource assists clients in dealing with RESTful objects that match the Kubernetes API conventions.

Jump to

Keyboard shortcuts

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