cloudops

package
v1.0.6 Latest Latest
Warning

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

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

README

methods

This provides a simple wrapper around the most basic (and common) operations. This example is geared towards a Kubernetes environment, and takes YAML input as the configuration which specifies the MVIP, SVIP, login credentials and the account name to use for volume operations.

It provides the ability to create, delete, list, update (size or QoS) as well as perform iSCSI connect operations (origianally using the kubernetes-csi iscsi-lib, but solidfire-csi uses Dell's GoiSCSI library).

Example YAML config

endpoint: https://admin:admin@10.1.1.1/json-rpc/12.5
svip: 10.1.2.1:3260
tenantname: tenant1
defaultvolumesize: 1
initiatoriface: default

The remaining needed items (like CHAP credentials) should be able to be collected by the init routine itself so long as the endpoint and tenant info is correct.

Documentation

Index

Constants

View Source
const GiB = 1073741824

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	SFClient          *sdk.SFClient
	Endpoint          string
	URL               string
	Login             string
	Password          string
	Version           string
	SVIP              string
	DefaultVolumeSize string
	InitiatorIface    string
	TargetSecret      string
	InitiatorSecret   string
	TenantName        string
	AccountID         int64
	Limits            *sdk.GetLimitsResult
}

func NewClient

func NewClient(c string) (*Client, error)

func NewClientFromSecrets

func NewClientFromSecrets(url, user, password, version, tenantName, defaultVolSize string) (*Client, error)

func NewClientWithArgs

func NewClientWithArgs(endpoint, version, tenantName string, defaultVolSize string) (*Client, error)

func (*Client) ConnectVolume

func (c *Client) ConnectVolume(volumeID int64) (string, error)

func (*Client) CreateGroupSnapshot

func (c *Client) CreateGroupSnapshot(volumes []int64, name string, enableRemoteReplication bool, ensureSerialCreation bool, retention string) (*sdk.CreateGroupSnapshotResult, error)

func (*Client) DeleteGroupSnapshot

func (c *Client) DeleteGroupSnapshot(groupSnapshotID int64) error

func (*Client) DeleteVolume

func (c *Client) DeleteVolume(volumeID int64) error

func (*Client) ExpandVolume

func (c *Client) ExpandVolume(volumeID, newSize int64) error

func (*Client) GetClusterVersion added in v1.0.1

func (c *Client) GetClusterVersion() (string, error)

func (*Client) GetCreateVolume

func (c *Client) GetCreateVolume(req sdk.CreateVolumeRequest) (*sdk.Volume, error)

func (*Client) GetVolume

func (c *Client) GetVolume(volumeID int64) (*sdk.Volume, error)

func (*Client) GetVolumeByName

func (c *Client) GetVolumeByName(volumeName string) (*sdk.Volume, error)

func (*Client) ListGroupSnapshots

func (c *Client) ListGroupSnapshots(volumes []int64) ([]sdk.GroupSnapshot, error)

func (*Client) ListISCSISessions added in v1.0.1

func (c *Client) ListISCSISessions() ([]sdk.ISCSISession, error)

func (*Client) ListVolumes

func (c *Client) ListVolumes() ([]sdk.Volume, error)

func (*Client) ModifyQoS

func (c *Client) ModifyQoS(volumeID int64, qos *sdk.QoS) error

Jump to

Keyboard shortcuts

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