client

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2020 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigKeyNamespace = "namespace"
	ConfigKeyFeatures  = "features"
)

Variables

This section is empty.

Functions

func Config

func Config(kubeconfig, kubecontext, baseName string, qps float32, burst int) (*rest.Config, error)

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

func SaveConfig

func SaveConfig(config VeleroConfig) error

SaveConfig saves the passed in config map to the Velero 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 Velero 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 a VeleroClient. 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)
	// DynamicClient returns a Kubernetes dynamic client. It uses the following priority to specify the cluster
	// configuration: --kubeconfig flag, KUBECONFIG environment variable, in-cluster configuration.
	DynamicClient() (dynamic.Interface, error)
	// SetBasename changes the basename for an already-constructed client.
	// This is useful for generating clients that require a different user-agent string below the root `velero`
	// command, such as the server subcommand.
	SetBasename(string)
	// SetClientQPS sets the Queries Per Second for a client.
	SetClientQPS(float32)
	// SetClientBurst sets the Burst for a client.
	SetClientBurst(int)
	// ClientConfig returns a rest.Config struct used for client-go clients.
	ClientConfig() (*rest.Config, error)
	// Namespace returns the namespace which the Factory will create clients for.
	Namespace() string
}

Factory knows how to create a VeleroClient and Kubernetes client.

func NewFactory

func NewFactory(baseName string, config VeleroConfig) 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 VeleroConfig

type VeleroConfig map[string]interface{}

VeleroConfig is a map of strings to interface{} for deserializing Velero client config options. The alias is a way to attach type-asserting convenience methods.

func LoadConfig

func LoadConfig() (VeleroConfig, error)

LoadConfig loads the Velero client configuration file and returns it as a VeleroConfig. If the file does not exist, an empty map is returned.

func (VeleroConfig) Features

func (c VeleroConfig) Features() []string

func (VeleroConfig) Namespace

func (c VeleroConfig) Namespace() string

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