unversioned

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2016 License: Apache-2.0 Imports: 43 Imported by: 0

Documentation ¶

Overview ¶

Package unversioned contains the implementation of the client side communication with the Kubernetes master. The Client class provides methods for reading, creating, updating, and deleting pods, replication controllers, daemons, services, and nodes.

Most consumers should use the Config object to create a Client:

import (
  client "k8s.io/kubernetes/pkg/client/unversioned"
  "k8s.io/kubernetes/pkg/api"
)

[...]

config := &client.Config{
  Host:     "http://localhost:8080",
  Username: "test",
  Password: "password",
}
client, err := client.New(config)
if err != nil {
  // handle error
}
pods, err := client.Pods(api.NamespaceDefault).List(api.ListOptions{})
if err != nil {
  // handle error
}

More advanced consumers may wish to provide their own transport via a http.RoundTripper:

config := &client.Config{
  Host:      "https://localhost:8080",
  Transport: oauthclient.Transport(),
}
client, err := client.New(config)

The RESTClient type implements the Kubernetes API conventions (see `docs/devel/api-conventions.md`) for a given API path and is intended for use by consumers implementing their own Kubernetes compatible APIs.

Index ¶

Constants ¶

View Source
const (
	ConfigMapResourceName string = "configmaps"
)

Variables ¶

View Source
var DefaultBackoff = wait.Backoff{
	Steps:    4,
	Duration: 10 * time.Millisecond,
	Factor:   5.0,
	Jitter:   0.1,
}

DefaultBackoff is the recommended backoff for a conflict where a client may be attempting to make an unrelated modification to a resource under active management by one or more controllers.

View Source
var DefaultRetry = wait.Backoff{
	Steps:    5,
	Duration: 10 * time.Millisecond,
	Factor:   1.0,
	Jitter:   0.1,
}

DefaultRetry is the recommended retry for a conflict where multiple clients are making changes to the same resource.

View Source
var ErrPodCompleted = fmt.Errorf("pod ran to completion")

ErrPodCompleted is returned by PodRunning or PodContainerRunning to indicate that the pod has already reached completed state.

Functions ¶

func ControllerHasDesiredReplicas ¶

func ControllerHasDesiredReplicas(c Interface, controller *api.ReplicationController) wait.ConditionFunc

ControllerHasDesiredReplicas returns a condition that will be true if and only if the desired replica count for a controller's ReplicaSelector equals the Replicas count.

func DeploymentHasDesiredReplicas ¶ added in v1.2.0

func DeploymentHasDesiredReplicas(c ExtensionsInterface, deployment *extensions.Deployment) wait.ConditionFunc

DeploymentHasDesiredReplicas returns a condition that will be true if and only if the desired replica count for a deployment equals its updated replicas count. (non-terminated pods that have the desired template spec).

func GetInvolvedObjectNameFieldLabel ¶ added in v1.2.0

func GetInvolvedObjectNameFieldLabel(version string) string

Returns the appropriate field label to use for name of the involved object as per the given API version.

func IsTimeout ¶

func IsTimeout(err error) bool

IsTimeout tests if this is a timeout error in the underlying transport. This is unbelievably ugly. See: http://stackoverflow.com/questions/23494950/specifically-check-for-timeout-error for details

func JobHasDesiredParallelism ¶

func JobHasDesiredParallelism(c BatchInterface, job *batch.Job) wait.ConditionFunc

JobHasDesiredParallelism returns a condition that will be true if the desired parallelism count for a job equals the current active counts or is less by an appropriate successful/unsuccessful count.

func MatchesServerVersion ¶

func MatchesServerVersion(client *Client, c *restclient.Config) error

MatchesServerVersion queries the server to compares the build version (git hash) of the client with the server's build version. It returns an error if it failed to contact the server or if the versions are not an exact match.

func NegotiateVersion ¶

func NegotiateVersion(client *Client, c *restclient.Config, requestedGV *unversioned.GroupVersion, clientRegisteredGVs []unversioned.GroupVersion) (*unversioned.GroupVersion, error)

NegotiateVersion queries the server's supported api versions to find a version that both client and server support.

  • If no version is provided, try registered client versions in order of preference.
  • If version is provided, but not default config (explicitly requested via commandline flag), and is unsupported by the server, print a warning to stderr and try client's registered versions in order of preference.
  • If version is config default, and the server does not support it, return an error.

func PodCompleted ¶ added in v1.3.0

func PodCompleted(event watch.Event) (bool, error)

PodCompleted returns true if the pod has run to completion, false if the pod has not yet reached running state, or an error in any other case.

func PodContainerRunning ¶ added in v1.3.0

func PodContainerRunning(containerName string) watch.ConditionFunc

PodContainerRunning returns false until the named container has ContainerStatus running (at least once), and will return an error if the pod is deleted, runs to completion, or the container pod is not available.

func PodNotPending ¶ added in v1.3.0

func PodNotPending(event watch.Event) (bool, error)

PodNotPending returns true if the pod has left the pending state, false if it has not, or an error in any other case (such as if the pod was deleted).

func PodRunning ¶ added in v1.3.0

func PodRunning(event watch.Event) (bool, error)

PodRunning returns true if the pod is running, false if the pod has not yet reached running state, returns ErrPodCompleted if the pod has run to completion, or an error in any other case.

func PodRunningAndReady ¶ added in v1.3.0

func PodRunningAndReady(event watch.Event) (bool, error)

PodRunningAndReady returns true if the pod is running and ready, false if the pod has not yet reached those states, returns ErrPodCompleted if the pod has run to completion, or an error in any other case.

func ReplicaSetHasDesiredReplicas ¶ added in v1.2.0

func ReplicaSetHasDesiredReplicas(c ExtensionsInterface, replicaSet *extensions.ReplicaSet) wait.ConditionFunc

ReplicaSetHasDesiredReplicas returns a condition that will be true if and only if the desired replica count for a ReplicaSet's ReplicaSelector equals the Replicas count.

func RetryOnConflict ¶ added in v1.2.0

func RetryOnConflict(backoff wait.Backoff, fn func() error) error

RetryConflict executes the provided function repeatedly, retrying if the server returns a conflicting write. Callers should preserve previous executions if they wish to retry changes. It performs an exponential backoff.

var pod *api.Pod
err := RetryOnConflict(DefaultBackoff, func() (err error) {
  pod, err = c.Pods("mynamespace").UpdateStatus(podStatus)
  return
})
if err != nil {
  // may be conflict if max retries were hit
  return err
}
...

TODO: Make Backoff an interface?

func ServiceAccountHasSecrets ¶ added in v1.3.0

func ServiceAccountHasSecrets(event watch.Event) (bool, error)

ServiceAccountHasSecrets returns true if the service account has at least one secret, false if it does not, or an error.

func SetKubernetesDefaults ¶

func SetKubernetesDefaults(config *restclient.Config) error

SetKubernetesDefaults sets default values on the provided client config for accessing the Kubernetes API or returns an error if any of the defaults are impossible or invalid. TODO: this method needs to be split into one that sets defaults per group, expected to be fix in PR "Refactoring clientcache.go and helper.go #14592"

Types ¶

type AppsClient ¶ added in v1.3.0

type AppsClient struct {
	*restclient.RESTClient
}

AppsClient is used to interact with Kubernetes batch features.

func NewApps ¶ added in v1.3.0

func NewApps(c *restclient.Config) (*AppsClient, error)

func NewAppsOrDie ¶ added in v1.3.0

func NewAppsOrDie(c *restclient.Config) *AppsClient

func (*AppsClient) PetSets ¶ added in v1.3.0

func (c *AppsClient) PetSets(namespace string) PetSetInterface

type AppsInterface ¶ added in v1.3.0

type AppsInterface interface {
	PetSetNamespacer
}

type AutoscalingClient ¶ added in v1.2.0

type AutoscalingClient struct {
	*restclient.RESTClient
}

AutoscalingClient is used to interact with Kubernetes autoscaling features.

func NewAutoscaling ¶ added in v1.2.0

func NewAutoscaling(c *restclient.Config) (*AutoscalingClient, error)

func NewAutoscalingOrDie ¶ added in v1.2.0

func NewAutoscalingOrDie(c *restclient.Config) *AutoscalingClient

func (*AutoscalingClient) HorizontalPodAutoscalers ¶ added in v1.2.0

func (c *AutoscalingClient) HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerInterface

type AutoscalingInterface ¶ added in v1.2.0

type AutoscalingInterface interface {
	HorizontalPodAutoscalersNamespacer
}

type BatchClient ¶ added in v1.2.0

type BatchClient struct {
	*restclient.RESTClient
}

BatchClient is used to interact with Kubernetes batch features.

func NewBatch ¶ added in v1.2.0

func NewBatch(c *restclient.Config) (*BatchClient, error)

func NewBatchOrDie ¶ added in v1.2.0

func NewBatchOrDie(c *restclient.Config) *BatchClient

func NewBatchV2Alpha1 ¶ added in v1.3.0

func NewBatchV2Alpha1(c *restclient.Config) (*BatchClient, error)

func (*BatchClient) Jobs ¶ added in v1.2.0

func (c *BatchClient) Jobs(namespace string) JobInterface

func (*BatchClient) ScheduledJobs ¶ added in v1.3.0

func (c *BatchClient) ScheduledJobs(namespace string) ScheduledJobInterface

type BatchInterface ¶ added in v1.2.0

type BatchInterface interface {
	JobsNamespacer
	ScheduledJobsNamespacer
}

type Client ¶

Client is the implementation of a Kubernetes client.

func New ¶

func New(c *restclient.Config) (*Client, error)

New creates a Kubernetes client for the given config. This client works with pods, replication controllers, daemons, and services. It allows operations such as list, get, update and delete on these objects. An error is returned if the provided configuration is not valid.

func NewInCluster ¶

func NewInCluster() (*Client, error)

NewInCluster is a shortcut for calling InClusterConfig() and then New().

func NewOrDie ¶

func NewOrDie(c *restclient.Config) *Client

NewOrDie creates a Kubernetes client and panics if the provided API version is not recognized.

func (*Client) Apps ¶ added in v1.3.0

func (c *Client) Apps() AppsInterface

func (*Client) Autoscaling ¶ added in v1.2.0

func (c *Client) Autoscaling() AutoscalingInterface

func (*Client) Batch ¶ added in v1.2.0

func (c *Client) Batch() BatchInterface

func (*Client) ComponentStatuses ¶

func (c *Client) ComponentStatuses() ComponentStatusInterface

func (*Client) ConfigMaps ¶ added in v1.2.0

func (c *Client) ConfigMaps(namespace string) ConfigMapsInterface

func (*Client) Discovery ¶ added in v1.1.1

func (c *Client) Discovery() discovery.DiscoveryInterface

func (*Client) Endpoints ¶

func (c *Client) Endpoints(namespace string) EndpointsInterface

func (*Client) Events ¶

func (c *Client) Events(namespace string) EventInterface

func (*Client) Extensions ¶ added in v1.1.1

func (c *Client) Extensions() ExtensionsInterface

func (*Client) LimitRanges ¶

func (c *Client) LimitRanges(namespace string) LimitRangeInterface

func (*Client) Namespaces ¶

func (c *Client) Namespaces() NamespaceInterface

func (*Client) Nodes ¶

func (c *Client) Nodes() NodeInterface

func (*Client) PersistentVolumeClaims ¶

func (c *Client) PersistentVolumeClaims(namespace string) PersistentVolumeClaimInterface

func (*Client) PersistentVolumes ¶

func (c *Client) PersistentVolumes() PersistentVolumeInterface

func (*Client) PodTemplates ¶

func (c *Client) PodTemplates(namespace string) PodTemplateInterface

func (*Client) Pods ¶

func (c *Client) Pods(namespace string) PodInterface

func (*Client) Rbac ¶ added in v1.3.0

func (c *Client) Rbac() RbacInterface

func (*Client) ReplicationControllers ¶

func (c *Client) ReplicationControllers(namespace string) ReplicationControllerInterface

func (*Client) ResourceQuotas ¶

func (c *Client) ResourceQuotas(namespace string) ResourceQuotaInterface

func (*Client) Secrets ¶

func (c *Client) Secrets(namespace string) SecretsInterface

func (*Client) ServiceAccounts ¶

func (c *Client) ServiceAccounts(namespace string) ServiceAccountsInterface

func (*Client) Services ¶

func (c *Client) Services(namespace string) ServiceInterface

type ClusterRoleBindingInterface ¶ added in v1.3.0

type ClusterRoleBindingInterface interface {
	List(opts api.ListOptions) (*rbac.ClusterRoleBindingList, error)
	Get(name string) (*rbac.ClusterRoleBinding, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(clusterRoleBinding *rbac.ClusterRoleBinding) (*rbac.ClusterRoleBinding, error)
	Update(clusterRoleBinding *rbac.ClusterRoleBinding) (*rbac.ClusterRoleBinding, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

ClusterRoleBindingInterface has methods to work with ClusterRoleBinding resources.

type ClusterRoleBindings ¶ added in v1.3.0

type ClusterRoleBindings interface {
	ClusterRoleBindings() ClusterRoleBindingInterface
}

ClusterRoleBindings has methods to work with ClusterRoleBinding resources in a namespace

type ClusterRoleInterface ¶ added in v1.3.0

type ClusterRoleInterface interface {
	List(opts api.ListOptions) (*rbac.ClusterRoleList, error)
	Get(name string) (*rbac.ClusterRole, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(clusterRole *rbac.ClusterRole) (*rbac.ClusterRole, error)
	Update(clusterRole *rbac.ClusterRole) (*rbac.ClusterRole, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

ClusterRoleInterface has methods to work with ClusterRole resources.

type ClusterRoles ¶ added in v1.3.0

type ClusterRoles interface {
	ClusterRoles() ClusterRoleInterface
}

ClusterRoles has methods to work with ClusterRole resources in a namespace

type ComponentStatusInterface ¶

type ComponentStatusInterface interface {
	List(opts api.ListOptions) (*api.ComponentStatusList, error)
	Get(name string) (*api.ComponentStatus, error)
}

ComponentStatusInterface contains methods to retrieve ComponentStatus

type ComponentStatusesInterface ¶

type ComponentStatusesInterface interface {
	ComponentStatuses() ComponentStatusInterface
}

type ConfigMaps ¶ added in v1.2.0

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

func (*ConfigMaps) Create ¶ added in v1.2.0

func (c *ConfigMaps) Create(cfg *api.ConfigMap) (*api.ConfigMap, error)

func (*ConfigMaps) Delete ¶ added in v1.2.0

func (c *ConfigMaps) Delete(name string) error

func (*ConfigMaps) Get ¶ added in v1.2.0

func (c *ConfigMaps) Get(name string) (*api.ConfigMap, error)

func (*ConfigMaps) List ¶ added in v1.2.0

func (c *ConfigMaps) List(opts api.ListOptions) (*api.ConfigMapList, error)

func (*ConfigMaps) Update ¶ added in v1.2.0

func (c *ConfigMaps) Update(cfg *api.ConfigMap) (*api.ConfigMap, error)

func (*ConfigMaps) Watch ¶ added in v1.2.0

func (c *ConfigMaps) Watch(opts api.ListOptions) (watch.Interface, error)

type ConfigMapsInterface ¶ added in v1.2.0

type ConfigMapsInterface interface {
	Get(string) (*api.ConfigMap, error)
	List(opts api.ListOptions) (*api.ConfigMapList, error)
	Create(*api.ConfigMap) (*api.ConfigMap, error)
	Delete(string) error
	Update(*api.ConfigMap) (*api.ConfigMap, error)
	Watch(api.ListOptions) (watch.Interface, error)
}

type ConfigMapsNamespacer ¶ added in v1.2.0

type ConfigMapsNamespacer interface {
	ConfigMaps(namespace string) ConfigMapsInterface
}

type ContainerInfoGetter ¶

type ContainerInfoGetter interface {
	// GetContainerInfo returns information about a container.
	GetContainerInfo(host, podID, containerID string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)
	// GetRootInfo returns information about the root container on a machine.
	GetRootInfo(host string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)
	// GetMachineInfo returns the machine's information like number of cores, memory capacity.
	GetMachineInfo(host string) (*cadvisorapi.MachineInfo, error)
}

type DaemonSetInterface ¶

type DaemonSetInterface interface {
	List(opts api.ListOptions) (*extensions.DaemonSetList, error)
	Get(name string) (*extensions.DaemonSet, error)
	Create(ctrl *extensions.DaemonSet) (*extensions.DaemonSet, error)
	Update(ctrl *extensions.DaemonSet) (*extensions.DaemonSet, error)
	UpdateStatus(ctrl *extensions.DaemonSet) (*extensions.DaemonSet, error)
	Delete(name string) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

type DaemonSetsNamespacer ¶

type DaemonSetsNamespacer interface {
	DaemonSets(namespace string) DaemonSetInterface
}

DaemonsSetsNamespacer has methods to work with DaemonSet resources in a namespace

type DeploymentInterface ¶

DeploymentInterface has methods to work with Deployment resources.

type DeploymentsNamespacer ¶

type DeploymentsNamespacer interface {
	Deployments(namespace string) DeploymentInterface
}

DeploymentsNamespacer has methods to work with Deployment resources in a namespace

type EndpointsInterface ¶

type EndpointsInterface interface {
	Create(endpoints *api.Endpoints) (*api.Endpoints, error)
	List(opts api.ListOptions) (*api.EndpointsList, error)
	Get(name string) (*api.Endpoints, error)
	Delete(name string) error
	Update(endpoints *api.Endpoints) (*api.Endpoints, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

EndpointsInterface has methods to work with Endpoints resources

type EndpointsNamespacer ¶

type EndpointsNamespacer interface {
	Endpoints(namespace string) EndpointsInterface
}

EndpointsNamespacer has methods to work with Endpoints resources in a namespace

type EventInterface ¶

type EventInterface interface {
	Create(event *api.Event) (*api.Event, error)
	Update(event *api.Event) (*api.Event, error)
	Patch(event *api.Event, data []byte) (*api.Event, error)
	List(opts api.ListOptions) (*api.EventList, error)
	Get(name string) (*api.Event, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
	// Search finds events about the specified object
	Search(objOrRef runtime.Object) (*api.EventList, error)
	Delete(name string) error
	// DeleteCollection deletes a collection of events.
	DeleteCollection(options *api.DeleteOptions, listOptions api.ListOptions) error
	// Returns the appropriate field selector based on the API version being used to communicate with the server.
	// The returned field selector can be used with List and Watch to filter desired events.
	GetFieldSelector(involvedObjectName, involvedObjectNamespace, involvedObjectKind, involvedObjectUID *string) fields.Selector
}

EventInterface has methods to work with Event resources

type EventNamespacer ¶

type EventNamespacer interface {
	Events(namespace string) EventInterface
}

EventNamespacer can return an EventInterface for the given namespace.

type ExtensionsClient ¶ added in v1.1.1

type ExtensionsClient struct {
	*restclient.RESTClient
}

ExtensionsClient is used to interact with experimental Kubernetes features. Features of Extensions group are not supported and may be changed or removed in incompatible ways at any time.

func NewExtensions ¶ added in v1.1.1

func NewExtensions(c *restclient.Config) (*ExtensionsClient, error)

NewExtensions creates a new ExtensionsClient for the given config. This client provides access to experimental Kubernetes features. Features of Extensions group are not supported and may be changed or removed in incompatible ways at any time.

func NewExtensionsOrDie ¶ added in v1.1.1

func NewExtensionsOrDie(c *restclient.Config) *ExtensionsClient

NewExtensionsOrDie creates a new ExtensionsClient for the given config and panics if there is an error in the config. Features of Extensions group are not supported and may be changed or removed in incompatible ways at any time.

func (*ExtensionsClient) DaemonSets ¶ added in v1.1.1

func (c *ExtensionsClient) DaemonSets(namespace string) DaemonSetInterface

func (*ExtensionsClient) Deployments ¶ added in v1.1.1

func (c *ExtensionsClient) Deployments(namespace string) DeploymentInterface

func (*ExtensionsClient) Ingress ¶ added in v1.1.1

func (c *ExtensionsClient) Ingress(namespace string) IngressInterface

func (*ExtensionsClient) Jobs ¶ added in v1.1.1

func (c *ExtensionsClient) Jobs(namespace string) JobInterface

func (*ExtensionsClient) NetworkPolicies ¶ added in v1.3.0

func (c *ExtensionsClient) NetworkPolicies(namespace string) NetworkPolicyInterface

func (*ExtensionsClient) PodSecurityPolicies ¶ added in v1.2.0

func (c *ExtensionsClient) PodSecurityPolicies() PodSecurityPolicyInterface

func (*ExtensionsClient) ReplicaSets ¶ added in v1.2.0

func (c *ExtensionsClient) ReplicaSets(namespace string) ReplicaSetInterface

func (*ExtensionsClient) Scales ¶ added in v1.1.1

func (c *ExtensionsClient) Scales(namespace string) ScaleInterface

func (*ExtensionsClient) ThirdPartyResources ¶ added in v1.2.0

func (c *ExtensionsClient) ThirdPartyResources() ThirdPartyResourceInterface

type ExtensionsInterface ¶ added in v1.1.1

Interface holds the experimental methods for clients of Kubernetes to allow mock testing. Features of Extensions group are not supported and may be changed or removed in incompatible ways at any time.

type FlagSet ¶

type FlagSet interface {
	StringVar(p *string, name, value, usage string)
	BoolVar(p *bool, name string, value bool, usage string)
	UintVar(p *uint, name string, value uint, usage string)
	DurationVar(p *time.Duration, name string, value time.Duration, usage string)
	IntVar(p *int, name string, value int, usage string)
}

FlagSet abstracts the flag interface for compatibility with both Golang "flag" and cobra pflags (Posix style).

type HTTPContainerInfoGetter ¶

type HTTPContainerInfoGetter struct {
	Client *http.Client
	Port   int
}

func (*HTTPContainerInfoGetter) GetContainerInfo ¶

func (self *HTTPContainerInfoGetter) GetContainerInfo(host, podID, containerID string, req *cadvisorapi.ContainerInfoRequest) (*cadvisorapi.ContainerInfo, error)

func (*HTTPContainerInfoGetter) GetMachineInfo ¶

func (self *HTTPContainerInfoGetter) GetMachineInfo(host string) (*cadvisorapi.MachineInfo, error)

func (*HTTPContainerInfoGetter) GetRootInfo ¶

type HorizontalPodAutoscalerInterface ¶

type HorizontalPodAutoscalerInterface interface {
	List(opts api.ListOptions) (*autoscaling.HorizontalPodAutoscalerList, error)
	Get(name string) (*autoscaling.HorizontalPodAutoscaler, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(horizontalPodAutoscaler *autoscaling.HorizontalPodAutoscaler) (*autoscaling.HorizontalPodAutoscaler, error)
	Update(horizontalPodAutoscaler *autoscaling.HorizontalPodAutoscaler) (*autoscaling.HorizontalPodAutoscaler, error)
	UpdateStatus(horizontalPodAutoscaler *autoscaling.HorizontalPodAutoscaler) (*autoscaling.HorizontalPodAutoscaler, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

HorizontalPodAutoscalerInterface has methods to work with HorizontalPodAutoscaler resources.

type HorizontalPodAutoscalersNamespacer ¶

type HorizontalPodAutoscalersNamespacer interface {
	HorizontalPodAutoscalers(namespace string) HorizontalPodAutoscalerInterface
}

HorizontalPodAutoscalersNamespacer has methods to work with HorizontalPodAutoscaler resources in a namespace

type IngressInterface ¶ added in v1.1.1

type IngressInterface interface {
	List(opts api.ListOptions) (*extensions.IngressList, error)
	Get(name string) (*extensions.Ingress, error)
	Create(ingress *extensions.Ingress) (*extensions.Ingress, error)
	Update(ingress *extensions.Ingress) (*extensions.Ingress, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	UpdateStatus(ingress *extensions.Ingress) (*extensions.Ingress, error)
}

IngressInterface exposes methods to work on Ingress resources.

type IngressNamespacer ¶ added in v1.1.1

type IngressNamespacer interface {
	Ingress(namespace string) IngressInterface
}

IngressNamespacer has methods to work with Ingress resources in a namespace

type JobInterface ¶

type JobInterface interface {
	List(opts api.ListOptions) (*batch.JobList, error)
	Get(name string) (*batch.Job, error)
	Create(job *batch.Job) (*batch.Job, error)
	Update(job *batch.Job) (*batch.Job, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	UpdateStatus(job *batch.Job) (*batch.Job, error)
}

JobInterface exposes methods to work on Job resources.

type JobsNamespacer ¶

type JobsNamespacer interface {
	Jobs(namespace string) JobInterface
}

JobsNamespacer has methods to work with Job resources in a namespace

type LimitRangeInterface ¶

type LimitRangeInterface interface {
	List(opts api.ListOptions) (*api.LimitRangeList, error)
	Get(name string) (*api.LimitRange, error)
	Delete(name string) error
	Create(limitRange *api.LimitRange) (*api.LimitRange, error)
	Update(limitRange *api.LimitRange) (*api.LimitRange, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

LimitRangeInterface has methods to work with LimitRange resources.

type LimitRangesNamespacer ¶

type LimitRangesNamespacer interface {
	LimitRanges(namespace string) LimitRangeInterface
}

LimitRangesNamespacer has methods to work with LimitRange resources in a namespace

type NamespaceInterface ¶

type NamespaceInterface interface {
	Create(item *api.Namespace) (*api.Namespace, error)
	Get(name string) (result *api.Namespace, err error)
	List(opts api.ListOptions) (*api.NamespaceList, error)
	Delete(name string) error
	Update(item *api.Namespace) (*api.Namespace, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
	Finalize(item *api.Namespace) (*api.Namespace, error)
	Status(item *api.Namespace) (*api.Namespace, error)
}

type NamespacesInterface ¶

type NamespacesInterface interface {
	Namespaces() NamespaceInterface
}

type NetworkPolicies ¶ added in v1.3.0

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

NetworkPolicies implements NetworkPolicyNamespacer interface

func (*NetworkPolicies) Create ¶ added in v1.3.0

func (c *NetworkPolicies) Create(networkPolicy *extensions.NetworkPolicy) (result *extensions.NetworkPolicy, err error)

Create creates a new networkPolicy.

func (*NetworkPolicies) Delete ¶ added in v1.3.0

func (c *NetworkPolicies) Delete(name string, options *api.DeleteOptions) (err error)

Delete deletes a networkPolicy, returns error if one occurs.

func (*NetworkPolicies) Get ¶ added in v1.3.0

func (c *NetworkPolicies) Get(name string) (result *extensions.NetworkPolicy, err error)

Get returns information about a particular networkPolicy.

func (*NetworkPolicies) List ¶ added in v1.3.0

func (c *NetworkPolicies) List(opts api.ListOptions) (result *extensions.NetworkPolicyList, err error)

List returns a list of networkPolicy that match the label and field selectors.

func (*NetworkPolicies) Update ¶ added in v1.3.0

func (c *NetworkPolicies) Update(networkPolicy *extensions.NetworkPolicy) (result *extensions.NetworkPolicy, err error)

Update updates an existing networkPolicy.

func (*NetworkPolicies) Watch ¶ added in v1.3.0

func (c *NetworkPolicies) Watch(opts api.ListOptions) (watch.Interface, error)

Watch returns a watch.Interface that watches the requested networkPolicy.

type NetworkPolicyInterface ¶ added in v1.3.0

type NetworkPolicyInterface interface {
	List(opts api.ListOptions) (*extensions.NetworkPolicyList, error)
	Get(name string) (*extensions.NetworkPolicy, error)
	Create(networkPolicy *extensions.NetworkPolicy) (*extensions.NetworkPolicy, error)
	Update(networkPolicy *extensions.NetworkPolicy) (*extensions.NetworkPolicy, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

NetworkPolicyInterface exposes methods to work on NetworkPolicy resources.

type NetworkPolicyNamespacer ¶ added in v1.3.0

type NetworkPolicyNamespacer interface {
	NetworkPolicies(namespace string) NetworkPolicyInterface
}

NetworkPolicyNamespacer has methods to work with NetworkPolicy resources in a namespace

type NodeInterface ¶

type NodeInterface interface {
	Get(name string) (result *api.Node, err error)
	Create(node *api.Node) (*api.Node, error)
	List(opts api.ListOptions) (*api.NodeList, error)
	Delete(name string) error
	Update(*api.Node) (*api.Node, error)
	UpdateStatus(*api.Node) (*api.Node, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

type NodesInterface ¶

type NodesInterface interface {
	Nodes() NodeInterface
}

type PersistentVolumeClaimInterface ¶

type PersistentVolumeClaimInterface interface {
	List(opts api.ListOptions) (*api.PersistentVolumeClaimList, error)
	Get(name string) (*api.PersistentVolumeClaim, error)
	Create(claim *api.PersistentVolumeClaim) (*api.PersistentVolumeClaim, error)
	Update(claim *api.PersistentVolumeClaim) (*api.PersistentVolumeClaim, error)
	UpdateStatus(claim *api.PersistentVolumeClaim) (*api.PersistentVolumeClaim, error)
	Delete(name string) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

PersistentVolumeClaimInterface has methods to work with PersistentVolumeClaim resources.

type PersistentVolumeClaimsNamespacer ¶

type PersistentVolumeClaimsNamespacer interface {
	PersistentVolumeClaims(namespace string) PersistentVolumeClaimInterface
}

PersistentVolumeClaimsNamespacer has methods to work with PersistentVolumeClaim resources in a namespace

type PersistentVolumeInterface ¶

type PersistentVolumeInterface interface {
	List(opts api.ListOptions) (*api.PersistentVolumeList, error)
	Get(name string) (*api.PersistentVolume, error)
	Create(volume *api.PersistentVolume) (*api.PersistentVolume, error)
	Update(volume *api.PersistentVolume) (*api.PersistentVolume, error)
	UpdateStatus(persistentVolume *api.PersistentVolume) (*api.PersistentVolume, error)
	Delete(name string) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

PersistentVolumeInterface has methods to work with PersistentVolume resources.

type PersistentVolumesInterface ¶

type PersistentVolumesInterface interface {
	PersistentVolumes() PersistentVolumeInterface
}

type PetSetInterface ¶ added in v1.3.0

type PetSetInterface interface {
	List(opts api.ListOptions) (*apps.PetSetList, error)
	Get(name string) (*apps.PetSet, error)
	Create(petSet *apps.PetSet) (*apps.PetSet, error)
	Update(petSet *apps.PetSet) (*apps.PetSet, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	UpdateStatus(petSet *apps.PetSet) (*apps.PetSet, error)
}

PetSetInterface exposes methods to work on PetSet resources.

type PetSetNamespacer ¶ added in v1.3.0

type PetSetNamespacer interface {
	PetSets(namespace string) PetSetInterface
}

PetSetNamespacer has methods to work with PetSet resources in a namespace

type PodDisruptionBudgetInterface ¶ added in v1.3.0

type PodDisruptionBudgetInterface interface {
	List(opts api.ListOptions) (*policy.PodDisruptionBudgetList, error)
	Get(name string) (*policy.PodDisruptionBudget, error)
	Create(podDisruptionBudget *policy.PodDisruptionBudget) (*policy.PodDisruptionBudget, error)
	Update(podDisruptionBudget *policy.PodDisruptionBudget) (*policy.PodDisruptionBudget, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	UpdateStatus(podDisruptionBudget *policy.PodDisruptionBudget) (*policy.PodDisruptionBudget, error)
}

PodDisruptionBudgetInterface exposes methods to work on PodDisruptionBudget resources.

type PodDisruptionBudgetNamespacer ¶ added in v1.3.0

type PodDisruptionBudgetNamespacer interface {
	PodDisruptionBudgets(namespace string) PodDisruptionBudgetInterface
}

PodDisruptionBudgetNamespacer has methods to work with PodDisruptionBudget resources in a namespace

type PodInterface ¶

type PodInterface interface {
	List(opts api.ListOptions) (*api.PodList, error)
	Get(name string) (*api.Pod, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(pod *api.Pod) (*api.Pod, error)
	Update(pod *api.Pod) (*api.Pod, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
	Bind(binding *api.Binding) error
	UpdateStatus(pod *api.Pod) (*api.Pod, error)
	GetLogs(name string, opts *api.PodLogOptions) *restclient.Request
}

PodInterface has methods to work with Pod resources.

type PodSecurityPoliciesInterface ¶ added in v1.2.0

type PodSecurityPoliciesInterface interface {
	PodSecurityPolicies() PodSecurityPolicyInterface
}

type PodSecurityPolicyInterface ¶ added in v1.2.0

type PodSecurityPolicyInterface interface {
	Get(name string) (result *extensions.PodSecurityPolicy, err error)
	Create(psp *extensions.PodSecurityPolicy) (*extensions.PodSecurityPolicy, error)
	List(opts api.ListOptions) (*extensions.PodSecurityPolicyList, error)
	Delete(name string) error
	Update(*extensions.PodSecurityPolicy) (*extensions.PodSecurityPolicy, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

type PodTemplateInterface ¶

type PodTemplateInterface interface {
	List(opts api.ListOptions) (*api.PodTemplateList, error)
	Get(name string) (*api.PodTemplate, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(podTemplate *api.PodTemplate) (*api.PodTemplate, error)
	Update(podTemplate *api.PodTemplate) (*api.PodTemplate, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

PodTemplateInterface has methods to work with PodTemplate resources.

type PodTemplatesNamespacer ¶

type PodTemplatesNamespacer interface {
	PodTemplates(namespace string) PodTemplateInterface
}

PodTemplatesNamespacer has methods to work with PodTemplate resources in a namespace

type PodsNamespacer ¶

type PodsNamespacer interface {
	Pods(namespace string) PodInterface
}

PodsNamespacer has methods to work with Pod resources in a namespace

type PolicyClient ¶ added in v1.3.0

type PolicyClient struct {
	*restclient.RESTClient
}

PolicyClient is used to interact with Kubernetes batch features.

func NewPolicy ¶ added in v1.3.0

func NewPolicy(c *restclient.Config) (*PolicyClient, error)

func NewPolicyOrDie ¶ added in v1.3.0

func NewPolicyOrDie(c *restclient.Config) *PolicyClient

func (*PolicyClient) PodDisruptionBudgets ¶ added in v1.3.0

func (c *PolicyClient) PodDisruptionBudgets(namespace string) PodDisruptionBudgetInterface

type PolicyInterface ¶ added in v1.3.0

type PolicyInterface interface {
	PodDisruptionBudgetNamespacer
}

type RbacClient ¶ added in v1.3.0

type RbacClient struct {
	*restclient.RESTClient
}

func NewRbac ¶ added in v1.3.0

func NewRbac(c *restclient.Config) (*RbacClient, error)

NewRbac creates a new RbacClient for the given config.

func NewRbacOrDie ¶ added in v1.3.0

func NewRbacOrDie(c *restclient.Config) *RbacClient

NewRbacOrDie creates a new RbacClient for the given config and panics if there is an error in the config.

func (*RbacClient) ClusterRoleBindings ¶ added in v1.3.0

func (c *RbacClient) ClusterRoleBindings() ClusterRoleBindingInterface

func (*RbacClient) ClusterRoles ¶ added in v1.3.0

func (c *RbacClient) ClusterRoles() ClusterRoleInterface

func (*RbacClient) RoleBindings ¶ added in v1.3.0

func (c *RbacClient) RoleBindings(namespace string) RoleBindingInterface

func (*RbacClient) Roles ¶ added in v1.3.0

func (c *RbacClient) Roles(namespace string) RoleInterface

type RbacInterface ¶ added in v1.3.0

Interface holds the methods for clients of Kubernetes to allow mock testing.

type ReplicaSetInterface ¶ added in v1.2.0

type ReplicaSetInterface interface {
	List(opts api.ListOptions) (*extensions.ReplicaSetList, error)
	Get(name string) (*extensions.ReplicaSet, error)
	Create(ctrl *extensions.ReplicaSet) (*extensions.ReplicaSet, error)
	Update(ctrl *extensions.ReplicaSet) (*extensions.ReplicaSet, error)
	UpdateStatus(ctrl *extensions.ReplicaSet) (*extensions.ReplicaSet, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

ReplicaSetInterface has methods to work with ReplicaSet resources.

type ReplicaSetsNamespacer ¶ added in v1.2.0

type ReplicaSetsNamespacer interface {
	ReplicaSets(namespace string) ReplicaSetInterface
}

ReplicaSetsNamespacer has methods to work with ReplicaSet resources in a namespace

type ReplicationControllerInterface ¶

type ReplicationControllerInterface interface {
	List(opts api.ListOptions) (*api.ReplicationControllerList, error)
	Get(name string) (*api.ReplicationController, error)
	Create(ctrl *api.ReplicationController) (*api.ReplicationController, error)
	Update(ctrl *api.ReplicationController) (*api.ReplicationController, error)
	UpdateStatus(ctrl *api.ReplicationController) (*api.ReplicationController, error)
	Delete(name string) error
	Watch(opts api.ListOptions) (watch.Interface, error)
}

ReplicationControllerInterface has methods to work with ReplicationController resources.

type ReplicationControllersNamespacer ¶

type ReplicationControllersNamespacer interface {
	ReplicationControllers(namespace string) ReplicationControllerInterface
}

ReplicationControllersNamespacer has methods to work with ReplicationController resources in a namespace

type ResourceQuotaInterface ¶

type ResourceQuotaInterface interface {
	List(opts api.ListOptions) (*api.ResourceQuotaList, error)
	Get(name string) (*api.ResourceQuota, error)
	Delete(name string) error
	Create(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)
	Update(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)
	UpdateStatus(resourceQuota *api.ResourceQuota) (*api.ResourceQuota, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

ResourceQuotaInterface has methods to work with ResourceQuota resources.

type ResourceQuotasNamespacer ¶

type ResourceQuotasNamespacer interface {
	ResourceQuotas(namespace string) ResourceQuotaInterface
}

ResourceQuotasNamespacer has methods to work with ResourceQuota resources in a namespace

type RoleBindingInterface ¶ added in v1.3.0

type RoleBindingInterface interface {
	List(opts api.ListOptions) (*rbac.RoleBindingList, error)
	Get(name string) (*rbac.RoleBinding, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(roleBinding *rbac.RoleBinding) (*rbac.RoleBinding, error)
	Update(roleBinding *rbac.RoleBinding) (*rbac.RoleBinding, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

RoleBindingInterface has methods to work with RoleBinding resources.

type RoleBindingsNamespacer ¶ added in v1.3.0

type RoleBindingsNamespacer interface {
	RoleBindings(namespace string) RoleBindingInterface
}

RoleBindingsNamespacer has methods to work with RoleBinding resources in a namespace

type RoleInterface ¶ added in v1.3.0

type RoleInterface interface {
	List(opts api.ListOptions) (*rbac.RoleList, error)
	Get(name string) (*rbac.Role, error)
	Delete(name string, options *api.DeleteOptions) error
	Create(role *rbac.Role) (*rbac.Role, error)
	Update(role *rbac.Role) (*rbac.Role, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

RoleInterface has methods to work with Role resources.

type RolesNamespacer ¶ added in v1.3.0

type RolesNamespacer interface {
	Roles(namespace string) RoleInterface
}

RolesNamespacer has methods to work with Role resources in a namespace

type ScaleInterface ¶

type ScaleInterface interface {
	Get(string, string) (*extensions.Scale, error)
	Update(string, *extensions.Scale) (*extensions.Scale, error)
}

ScaleInterface has methods to work with Scale (sub)resources.

type ScaleNamespacer ¶

type ScaleNamespacer interface {
	Scales(namespace string) ScaleInterface
}

type ScheduledJobInterface ¶ added in v1.3.0

type ScheduledJobInterface interface {
	List(opts api.ListOptions) (*batch.ScheduledJobList, error)
	Get(name string) (*batch.ScheduledJob, error)
	Create(scheduledJob *batch.ScheduledJob) (*batch.ScheduledJob, error)
	Update(scheduledJob *batch.ScheduledJob) (*batch.ScheduledJob, error)
	Delete(name string, options *api.DeleteOptions) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	UpdateStatus(scheduledJob *batch.ScheduledJob) (*batch.ScheduledJob, error)
}

ScheduledJobInterface exposes methods to work on ScheduledJob resources.

type ScheduledJobsNamespacer ¶ added in v1.3.0

type ScheduledJobsNamespacer interface {
	ScheduledJobs(namespace string) ScheduledJobInterface
}

ScheduledJobsNamespacer has methods to work with ScheduledJob resources in a namespace

type SecretsInterface ¶

type SecretsInterface interface {
	Create(secret *api.Secret) (*api.Secret, error)
	Update(secret *api.Secret) (*api.Secret, error)
	Delete(name string) error
	List(opts api.ListOptions) (*api.SecretList, error)
	Get(name string) (*api.Secret, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

type SecretsNamespacer ¶

type SecretsNamespacer interface {
	Secrets(namespace string) SecretsInterface
}

type ServiceAccountsInterface ¶

type ServiceAccountsInterface interface {
	Create(serviceAccount *api.ServiceAccount) (*api.ServiceAccount, error)
	Update(serviceAccount *api.ServiceAccount) (*api.ServiceAccount, error)
	Delete(name string) error
	List(opts api.ListOptions) (*api.ServiceAccountList, error)
	Get(name string) (*api.ServiceAccount, error)
	Watch(opts api.ListOptions) (watch.Interface, error)
}

type ServiceAccountsNamespacer ¶

type ServiceAccountsNamespacer interface {
	ServiceAccounts(namespace string) ServiceAccountsInterface
}

type ServiceInterface ¶

type ServiceInterface interface {
	List(opts api.ListOptions) (*api.ServiceList, error)
	Get(name string) (*api.Service, error)
	Create(srv *api.Service) (*api.Service, error)
	Update(srv *api.Service) (*api.Service, error)
	UpdateStatus(srv *api.Service) (*api.Service, error)
	Delete(name string) error
	Watch(opts api.ListOptions) (watch.Interface, error)
	ProxyGet(scheme, name, port, path string, params map[string]string) restclient.ResponseWrapper
}

ServiceInterface has methods to work with Service resources.

type ServicesNamespacer ¶

type ServicesNamespacer interface {
	Services(namespace string) ServiceInterface
}

ServicesNamespacer has methods to work with Service resources in a namespace

type ThirdPartyResourceNamespacer ¶ added in v1.2.0

type ThirdPartyResourceNamespacer interface {
	ThirdPartyResources() ThirdPartyResourceInterface
}

ThirdPartyResourceNamespacer has methods to work with ThirdPartyResource resources in a namespace

Directories ¶

Path Synopsis
adapters
Package auth defines a file format for holding authentication information needed by clients of Kubernetes.
Package auth defines a file format for holding authentication information needed by clients of Kubernetes.
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination.
Package clientcmd provides one stop shopping for building a working client from a fixed config, from a .kubeconfig file, from command line flags, or from any merged combination.
api
This is made a separate package and should only be imported by tests, because it imports testapi
This is made a separate package and should only be imported by tests, because it imports testapi
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers.
Package portforward adds support for SSH-like port forwarding from the client's local host to remote containers.
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.
Package remotecommand adds support for executing commands in containers, with support for separate stdin, stdout, and stderr streams, as well as TTY.

Jump to

Keyboard shortcuts

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