nodebuilder

package
v1.9.0-RC2 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

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

Builder is the builder object for ZFSNode

func BuildFrom

func BuildFrom(node *apis.ZFSNode) *Builder

BuildFrom returns new instance of Builder from the provided api instance

func NewBuilder

func NewBuilder() *Builder

NewBuilder returns new instance of Builder

func (*Builder) Build

func (b *Builder) Build() (*apis.ZFSNode, error)

Build returns ZFSNode API object

func (*Builder) WithName

func (b *Builder) WithName(name string) *Builder

WithName sets the name of ZFSNode

func (*Builder) WithNamespace

func (b *Builder) WithNamespace(namespace string) *Builder

WithNamespace sets the namespace of ZFSNode

func (*Builder) WithOwnerReferences

func (b *Builder) WithOwnerReferences(ownerRefs ...metav1.OwnerReference) *Builder

WithOwnerReferences sets the owner references of ZFSNode

func (*Builder) WithPools

func (b *Builder) WithPools(pools []apis.Pool) *Builder

WithPools sets the pools of ZFSNode

type Kubeclient

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

Kubeclient enables kubernetes API operations on zfs node instance

func NewKubeclient

func NewKubeclient(opts ...KubeclientBuildOption) *Kubeclient

NewKubeclient returns a new instance of kubeclient meant for zfs node operations

func (*Kubeclient) Create

func (k *Kubeclient) Create(node *apis.ZFSNode) (*apis.ZFSNode, error)

Create creates a zfs node instance in kubernetes cluster

func (*Kubeclient) Delete

func (k *Kubeclient) Delete(name string) error

Delete deletes the zfs node from kubernetes

func (*Kubeclient) Get

func (k *Kubeclient) Get(
	name string,
	opts metav1.GetOptions,
) (*apis.ZFSNode, error)

Get returns zfs node object for given name

func (*Kubeclient) GetRaw

func (k *Kubeclient) GetRaw(
	name string,
	opts metav1.GetOptions,
) ([]byte, error)

GetRaw returns zfs node instance in bytes

func (*Kubeclient) List

func (k *Kubeclient) List(opts metav1.ListOptions) (*apis.ZFSNodeList, error)

List returns a list of zfs node instances present in kubernetes cluster

func (*Kubeclient) Update

func (k *Kubeclient) Update(node *apis.ZFSNode) (*apis.ZFSNode, error)

Update updates this zfs node instance against kubernetes cluster

func (*Kubeclient) WithNamespace

func (k *Kubeclient) WithNamespace(namespace string) *Kubeclient

WithNamespace sets the provided namespace against this Kubeclient instance

type KubeclientBuildOption

type KubeclientBuildOption func(*Kubeclient)

KubeclientBuildOption defines the abstraction to build a kubeclient instance

func WithClientSet

func WithClientSet(c *clientset.Clientset) KubeclientBuildOption

WithClientSet sets the kubernetes client against the kubeclient instance

func WithKubeConfigPath

func WithKubeConfigPath(path string) KubeclientBuildOption

WithKubeConfigPath sets the kubernetes client against the provided path

func WithNamespace

func WithNamespace(namespace string) KubeclientBuildOption

WithNamespace sets the kubernetes client against the provided namespace

type ZFSNode

type ZFSNode struct {
	// ZFSVolume object
	Object *apis.ZFSNode
}

ZFSNode is a wrapper over ZFSNode API instance

func From

func From(node *apis.ZFSNode) *ZFSNode

From returns a new instance of zfs volume

Jump to

Keyboard shortcuts

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