Documentation ¶
Index ¶
- Variables
- func GetConfig(kubeconfig, context, namespace string) *genericclioptions.ConfigFlags
- type Client
- func (c *Client) Build(reader io.Reader) (Result, error)
- func (c *Client) BuildUnstructured(reader io.Reader) (Result, error)
- func (c *Client) Create(reader io.Reader) error
- func (c *Client) Delete(reader io.Reader) error
- func (c *Client) KubernetesClientSet() (*kubernetes.Clientset, error)
- func (c *Client) Update(originalReader, targetReader io.Reader, force, recreate bool) error
- func (c *Client) Wait(reader io.Reader, timeout time.Duration) error
- func (c *Client) WaitAndGetCompletedPodPhase(name string, timeout time.Duration) (v1.PodPhase, error)
- func (c *Client) WatchUntilReady(reader io.Reader, timeout time.Duration) error
- type Factory
- type Interface
- type Result
- func (r *Result) Append(val *resource.Info)
- func (r Result) Contains(info *resource.Info) bool
- func (r Result) Difference(rs Result) Result
- func (r Result) Filter(fn func(*resource.Info) bool) Result
- func (r Result) Get(info *resource.Info) *resource.Info
- func (r Result) Intersect(rs Result) Result
- func (r Result) Visit(fn resource.VisitorFunc) error
Constants ¶
This section is empty.
Variables ¶
var ErrNoObjectsVisited = errors.New("no objects visited")
ErrNoObjectsVisited indicates that during a visit operation, no matching objects were found.
Functions ¶
func GetConfig ¶
func GetConfig(kubeconfig, context, namespace string) *genericclioptions.ConfigFlags
GetConfig returns a Kubernetes client config.
Types ¶
type Client ¶
Client represents a client capable of communicating with the Kubernetes API.
func (*Client) Build ¶
Build validates for Kubernetes objects and returns resource Infos from a io.Reader.
func (*Client) BuildUnstructured ¶
BuildUnstructured validates for Kubernetes objects and returns unstructured infos.
func (*Client) Create ¶
Create creates Kubernetes resources from an io.reader.
Namespace will set the namespace.
func (*Client) Delete ¶
Delete deletes Kubernetes resources from an io.reader.
Namespace will set the namespace.
func (*Client) KubernetesClientSet ¶
func (c *Client) KubernetesClientSet() (*kubernetes.Clientset, error)
KubernetesClientSet returns a client set from the client factory.
func (*Client) Update ¶
Update reads in the current configuration and a target configuration from io.reader and creates resources that don't already exists, updates resources that have been modified in the target configuration and deletes resources from the current configuration that are not present in the target configuration.
Namespace will set the namespaces.
func (*Client) WaitAndGetCompletedPodPhase ¶
func (c *Client) WaitAndGetCompletedPodPhase(name string, timeout time.Duration) (v1.PodPhase, error)
WaitAndGetCompletedPodPhase waits up to a timeout until a pod enters a completed phase and returns said phase (PodSucceeded or PodFailed qualify).
func (*Client) WatchUntilReady ¶
WatchUntilReady watches the resource given in the reader, and waits until it is ready.
This function is mainly for hook implementations. It watches for a resource to hit a particular milestone. The milestone depends on the Kind.
For most kinds, it checks to see if the resource is marked as Added or Modified by the Kubernetes event stream. For some kinds, it does more:
- Jobs: A job is marked "Ready" when it has successfully completed. This is ascertained by watching the Status fields in a job's output.
Handling for other kinds will be added as necessary.
type Factory ¶
type Factory interface { // ToRawKubeConfigLoader return kubeconfig loader as-is ToRawKubeConfigLoader() clientcmd.ClientConfig // KubernetesClientSet gives you back an external clientset KubernetesClientSet() (*kubernetes.Clientset, error) // NewBuilder returns an object that assists in loading objects from both disk and the server // and which implements the common patterns for CLI interactions with generic resources. NewBuilder() *resource.Builder // Returns a schema that can validate objects stored on disk. Validator(validate bool) (validation.Schema, error) }
Factory provides abstractions that allow the Kubectl command to be extended across multiple types of resources and different API sets.
type Interface ¶
type Interface interface { // Create creates one or more resources. // // reader must contain a YAML stream (one or more YAML documents separated // by "\n---\n"). Create(reader io.Reader) error Wait(r io.Reader, timeout time.Duration) error // Delete destroys one or more resources. // // reader must contain a YAML stream (one or more YAML documents separated // by "\n---\n"). Delete(io.Reader) error // Watch the resource in reader until it is "ready". // // For Jobs, "ready" means the job ran to completion (excited without error). // For all other kinds, it means the kind was created or modified without // error. WatchUntilReady(reader io.Reader, timeout time.Duration) error // Update updates one or more resources or creates the resource // if it doesn't exist. // // reader must contain a YAML stream (one or more YAML documents separated // by "\n---\n"). Update(originalReader, modifiedReader io.Reader, force bool, recreate bool) error Build(reader io.Reader) (Result, error) BuildUnstructured(reader io.Reader) (Result, error) // WaitAndGetCompletedPodPhase waits up to a timeout until a pod enters a completed phase // and returns said phase (PodSucceeded or PodFailed qualify). WaitAndGetCompletedPodPhase(name string, timeout time.Duration) (v1.PodPhase, error) }
KubernetesClient represents a client capable of communicating with the Kubernetes API.
A KubernetesClient must be concurrency safe.
type Result ¶
Result provides convenience methods for comparing collections of Infos.
func (Result) Difference ¶
Difference will return a new Result with objects not contained in rs.