client

package
v0.0.0-...-858171e Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2018 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigKeyNamespace = "namespace"
)

Variables

This section is empty.

Functions

func Config

func Config(kubeconfig, kubecontext, baseName string) (*rest.Config, error)

Config returns a *rest.Config, using either the kubeconfig (if specified) or an in-cluster configuration.

func LoadConfig

func LoadConfig() (map[string]string, error)

LoadConfig loads the Ark client configuration file and returns it as a map[string]string. If the file does not exist, an empty map is returned.

func SaveConfig

func SaveConfig(config map[string]string) error

SaveConfig saves the passed in config map to the Ark client configuration file.

Types

type Creator

type Creator interface {
	// Create creates an object.
	Create(obj *unstructured.Unstructured) (*unstructured.Unstructured, error)
}

Creator creates an object.

type Dynamic

type Dynamic interface {
	Creator
	Lister
	Watcher
	Getter
	Patcher
}

Dynamic contains client methods that Ark needs for backing up and restoring resources.

type DynamicFactory

type DynamicFactory interface {
	// ClientForGroupVersionResource returns a Dynamic client for the given group/version
	// and resource for the given namespace.
	ClientForGroupVersionResource(gv schema.GroupVersion, resource metav1.APIResource, namespace string) (Dynamic, error)
}

DynamicFactory contains methods for retrieving dynamic clients for GroupVersionResources and GroupVersionKinds.

func NewDynamicFactory

func NewDynamicFactory(dynamicClient dynamic.Interface) DynamicFactory

NewDynamicFactory returns a new ClientPool-based dynamic factory.

type Factory

type Factory interface {
	// BindFlags binds common flags (--kubeconfig, --namespace) to the passed-in FlagSet.
	BindFlags(flags *pflag.FlagSet)
	// Client returns an ArkClient. It uses the following priority to specify the cluster
	// configuration: --kubeconfig flag, KUBECONFIG environment variable, in-cluster configuration.
	Client() (clientset.Interface, error)
	// KubeClient returns a Kubernetes client. It uses the following priority to specify the cluster
	// configuration: --kubeconfig flag, KUBECONFIG environment variable, in-cluster configuration.
	KubeClient() (kubernetes.Interface, error)
	Namespace() string
}

Factory knows how to create an ArkClient and Kubernetes client.

func NewFactory

func NewFactory(baseName string) Factory

NewFactory returns a Factory.

type Getter

type Getter interface {
	// Get fetches an object by name.
	Get(name string, opts metav1.GetOptions) (*unstructured.Unstructured, error)
}

Getter gets an object.

type Lister

type Lister interface {
	// List lists all the objects of a given resource.
	List(metav1.ListOptions) (runtime.Object, error)
}

Lister lists objects.

type Patcher

type Patcher interface {
	Patch(name string, data []byte) (*unstructured.Unstructured, error)
}

Patcher patches an object.

type Watcher

type Watcher interface {
	// Watch watches for changes to objects of a given resource.
	Watch(metav1.ListOptions) (watch.Interface, error)
}

Watcher watches objects.

Jump to

Keyboard shortcuts

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