client

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Jun 23, 2021 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConfigKeyNamespace = "namespace"
	ConfigKeyFeatures  = "features"
	ConfigKeyCACert    = "cacert"
	ConfigKeyColorized = "colorized"
)

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 Deletor

type Deletor interface {
	Delete(name string, opts metav1.DeleteOptions) error
}

Deletor deletes an object.

type Dynamic

type Dynamic interface {
	Creator
	Lister
	Watcher
	Getter
	Patcher
	Deletor
}

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)
	// KubebuilderClient returns a client for the controller runtime framework. It adds Kubernetes and Velero
	// types to its scheme. It uses the following priority to specify the cluster
	// configuration: --kubeconfig flag, KUBECONFIG environment variable, in-cluster configuration.
	KubebuilderClient() (kbclient.Client, 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) (*unstructured.UnstructuredList, 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) CACertFile

func (c VeleroConfig) CACertFile() string

func (VeleroConfig) Colorized

func (c VeleroConfig) Colorized() bool

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