goscaleio

package module
v1.11.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2023 License: Apache-2.0 Imports: 31 Imported by: 4

README

Goscaleio

The Goscaleio project represents API bindings that can be used to provide ScaleIO functionality into other Go applications.

Use Cases

Any application written in Go can take advantage of these bindings. Specifically, things that are involved in monitoring, management, and more specifically infrastructrue as code would find these bindings relevant.

Current State

Early build-out and pre-documentation stages. The basics around authentication and object models are there.

Usage

Logging in
client, err := goscaleio.NewClient()
if err != nil {
  log.Fatalf("err: %v", err)
}

_, err = client.Authenticate(&goscaleio.ConfigConnect{endpoint, username, password})
if err != nil {
  log.Fatalf("error authenticating: %v", err)
}

fmt.Println("Successfuly logged in to ScaleIO Gateway at", client.SIOEndpoint.String())
Reusing the authentication token

Once a client struct is created via the NewClient() function, you can replace the Token with the saved token.

client, err := goscaleio.NewClient()
if err != nil {
  log.Fatalf("error with NewClient: %s", err)
}

client.SetToken(oldToken)
Get Systems

Retrieving systems is the first step after authentication which enables you to work with other necessary methods.

All Systems
systems, err := client.GetInstance()
if err != nil {
  log.Fatalf("err: problem getting instance %v", err)
}
Find a System
system, err := client.FindSystem(systemid,"","")
if err != nil {
  log.Fatalf("err: problem getting instance %v", err)
}
Get Protection Domains

Once you have a System struct you can then get other things like Protection Domains.

protectiondomains, err := system.GetProtectionDomain()
if err != nil {
  log.Fatalf("error getting protection domains: %v", err)
}

Debugging

Two environment variables can be set to aid in debugging

Env Var Default Value
GOSCALEIO_DEBUG false
GOSCALEIO_SHOWHTTP false

Setting GOSCALEIO_DEBUG well enable logging to stdout. Setting GOSCALEIO_SHOWHTTP will log all HTTP requests and responses to stdout.

Licensing

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Support

For any issues, questions or feedback, please follow our support process

Documentation

Index

Constants

View Source
const (
	Inconsistent        string = "Inconsistent"
	Consistent          string = "Consistent"
	ConsistentPending   string = "ConsistentPending"
	Invalid             string = "Invalid"
	PartiallyConsistent string = "PartiallyConsistent"
)

List of consistency group states.

View Source
const (
	RoleSdsOnly = "sdsOnly"
	RoleSdcOnly = "sdcOnly"
	RoleAll     = "all"
)

SDS IPs can have 3 roles.

View Source
const (

	// IOCTLDevice is the default device to send queries to
	IOCTLDevice = "/dev/scini"
)

Variables

View Source
var (
	// SDCDevice is the device used to communicate with the SDC
	SDCDevice = IOCTLDevice
	// SCINIMockMode is used for testing upper layer code that attempts to call these methods
	SCINIMockMode = false
)
View Source
var ClientConnectTimeout time.Duration

ClientConnectTimeout is used for unit testing to set the connection timeout much lower

View Source
var ExternalTimeRecorder func(string, time.Duration)

ExternalTimeRecorder is used to track time

View Source
var FSDevDirectoryPrefix string

FSDevDirectoryPrefix is for unit testing on Windows - dev is not in the same place

Functions

func DrvCfgIsSDCInstalled added in v1.3.0

func DrvCfgIsSDCInstalled() bool

DrvCfgIsSDCInstalled will check to see if the SDC kernel module is loaded

func DrvCfgQueryGUID added in v1.3.0

func DrvCfgQueryGUID() (string, error)

DrvCfgQueryGUID will return the GUID of the locally installed SDC

func DrvCfgQueryRescan added in v1.4.0

func DrvCfgQueryRescan() (string, error)

DrvCfgQueryRescan preforms a rescan

func DrvCfgQuerySystems added in v1.3.0

func DrvCfgQuerySystems() (*[]ConfiguredCluster, error)

DrvCfgQuerySystems will return the configured MDM endpoints for the locally installed SDC

func GetLink(links []*types.Link, rel string) (*types.Link, error)

GetLink returns a link

func GetSdcLocalGUID

func GetSdcLocalGUID() (string, error)

GetSdcLocalGUID returns GUID

func TimeSpent added in v1.2.0

func TimeSpent(functionName string, startTime time.Time)

TimeSpent is used to track time spent

Types

type AutoSnapshotParam added in v1.10.0

type AutoSnapshotParam struct {
	AutoSnapshotWillBeRemoved bool `json:"autoSnapshotWillBeRemoved,omitempty"`
}

AutoSnapshotParam defines type for autosnapshot parameter for method LockAutoSnapshot/UnlockAutoSnapshot

type Client

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

Client defines struct for Client

func NewClient

func NewClient() (client *Client, err error)

NewClient returns a new client

func NewClientWithArgs

func NewClientWithArgs(
	endpoint string,
	version string,
	timeout int64,
	insecure,
	useCerts bool) (client *Client, err error)

NewClientWithArgs returns a new client

func (*Client) Authenticate

func (c *Client) Authenticate(configConnect *ConfigConnect) (Cluster, error)

Authenticate controls authentication to client

func (*Client) CreateNFSExport added in v1.11.0

func (c *Client) CreateNFSExport(createParams *types.NFSExportCreate) (respnfs *types.NFSExportCreateResponse, err error)

CreateNFSExport create an NFS Export for a File System.

func (*Client) CreateReplicationConsistencyGroup added in v1.10.0

CreateReplicationConsistencyGroup creates a ReplicationConsistencyGroup on the array

func (*Client) CreateReplicationPair added in v1.10.0

func (c *Client) CreateReplicationPair(rp *types.QueryReplicationPair) (*types.ReplicationPair, error)

CreateReplicationPair creates a ReplicationPair on the desired ReplicaitonConsistencyGroup

func (*Client) CreateVolume

func (c *Client) CreateVolume(
	volume *types.VolumeParam,
	storagePoolName, protectionDomain string) (*types.VolumeResp, error)

CreateVolume creates a volume

func (*Client) DeleteNFSExport added in v1.11.0

func (c *Client) DeleteNFSExport(id string) error

DeleteNFSExport deletes the NFS export

func (*Client) FindSnapshotPolicyID added in v1.10.0

func (c *Client) FindSnapshotPolicyID(spname string) (string, error)

FindSnapshotPolicyID retruns a Snapshot Policy ID based on name

func (*Client) FindStoragePool

func (c *Client) FindStoragePool(
	id, name, href, protectionDomain string) (*types.StoragePool, error)

FindStoragePool returns a StoragePool

func (*Client) FindSystem

func (c *Client) FindSystem(
	instanceID, name, href string) (*System, error)

FindSystem returns a system based on ID or name

func (*Client) FindVolumeID

func (c *Client) FindVolumeID(volumename string) (string, error)

FindVolumeID returns a VolumeID

func (*Client) GetAllReplicationPairs added in v1.10.0

func (c *Client) GetAllReplicationPairs() ([]*types.ReplicationPair, error)

GetAllReplicationPairs returns a list all replication pairs on the system.

func (*Client) GetInstance

func (c *Client) GetInstance(systemhref string) ([]*types.System, error)

GetInstance returns an instance

func (*Client) GetNFSExport added in v1.11.0

func (c *Client) GetNFSExport() (nfsList []types.NFSExport, err error)

GetNFSExport lists NFS Exports.

func (*Client) GetNFSExportByIDName added in v1.11.0

func (c *Client) GetNFSExportByIDName(id string, name string) (respnfs *types.NFSExport, err error)

GetNFSExportByIDName returns NFS Export properties by name or ID

func (*Client) GetPeerMDMs added in v1.10.0

func (c *Client) GetPeerMDMs() ([]*types.PeerMDM, error)

GetPeerMDMs returns a list of peer MDMs know to the System

func (*Client) GetReplicationConsistencyGroupByID added in v1.10.0

func (c *Client) GetReplicationConsistencyGroupByID(groupID string) (*types.ReplicationConsistencyGroup, error)

GetReplicationConsistencyGroupByID returns a specified ReplicationConsistencyGroup

func (*Client) GetReplicationConsistencyGroups added in v1.10.0

func (c *Client) GetReplicationConsistencyGroups() ([]*types.ReplicationConsistencyGroup, error)

GetReplicationConsistencyGroups returns a list of the ReplicationConsistencyGroups

func (*Client) GetSnapshotPolicy added in v1.10.0

func (c *Client) GetSnapshotPolicy(
	spname, spid string) ([]*types.SnapshotPolicy, error)

GetSnapshotPolicy returns a list of snapshot policy

func (*Client) GetStoragePool

func (c *Client) GetStoragePool(
	storagepoolhref string) ([]*types.StoragePool, error)

GetStoragePool returns a storagepool

func (*Client) GetSystems added in v1.3.0

func (c *Client) GetSystems() ([]*types.System, error)

GetSystems returns systems

func (*Client) GetToken

func (c *Client) GetToken() string

GetToken returns token

func (*Client) GetVersion added in v1.11.0

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

GetVersion returns version

func (*Client) GetVolume

func (c *Client) GetVolume(
	volumehref, volumeid, ancestorvolumeid, volumename string,
	getSnapshots bool) ([]*types.Volume, error)

GetVolume returns a volume

func (*Client) ModifyNFSExport added in v1.11.0

func (c *Client) ModifyNFSExport(ModifyParams *types.NFSExportModify, id string) (err error)

ModifyNFSExport modifies the NFS export properties

func (*Client) RenameSdc added in v1.10.0

func (c *Client) RenameSdc(sdcID, name string) error

RenameSdc renames the sdc with given name

func (*Client) SetToken

func (c *Client) SetToken(token string)

SetToken sets token

type ClientPersistent

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

ClientPersistent defines struct for ClientPersistent

type Cluster

type Cluster struct {
}

Cluster defines struct for Cluster

type ConfigConnect

type ConfigConnect struct {
	Endpoint string
	Version  string
	Username string
	Password string
}

ConfigConnect defines struct for ConfigConnect

type ConfiguredCluster added in v1.3.0

type ConfiguredCluster struct {
	// SystemID is the MDM cluster system ID
	SystemID string
	// SdcID is the ID of the SDC as known to the MDM cluster
	SdcID string
}

ConfiguredCluster contains configuration information for one connected system

type Device

type Device struct {
	Device *types.Device
	// contains filtered or unexported fields
}

Device defines struct for Device

func NewDevice

func NewDevice(client *Client) *Device

NewDevice returns a new Device

func NewDeviceEx

func NewDeviceEx(client *Client, device *types.Device) *Device

NewDeviceEx returns a new Device

type FileSystem added in v1.11.0

type FileSystem struct {
	FileSystem *types.FileSystem
	// contains filtered or unexported fields
}

FileSystem defines struct for file system

func NewFileSystem added in v1.11.0

func NewFileSystem(client *Client, fs *types.FileSystem) *FileSystem

NewFileSystem returns a new file system

type GatewayClient added in v1.11.0

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

GatewayClient is client for Gateway server

func NewGateway added in v1.11.0

func NewGateway(
	host string, username, password string, insecure, useCerts bool) (*GatewayClient, error)

NewGateway returns a new gateway client.

func (*GatewayClient) AbortOperation added in v1.11.0

func (gc *GatewayClient) AbortOperation() (*types.GatewayResponse, error)

AbortOperation used for abort installation operation

func (*GatewayClient) BeginInstallation added in v1.11.0

func (gc *GatewayClient) BeginInstallation(jsonStr, mdmUsername, mdmPassword, liaPassword string, expansion bool) (*types.GatewayResponse, error)

BeginInstallation used for start installation

func (*GatewayClient) CheckForCompletionQueueCommands added in v1.11.0

func (gc *GatewayClient) CheckForCompletionQueueCommands(currentPhase string) (*types.GatewayResponse, error)

CheckForCompletionQueueCommands used for check queue commands completed or not

func (*GatewayClient) ClearQueueCommand added in v1.11.0

func (gc *GatewayClient) ClearQueueCommand() (*types.GatewayResponse, error)

ClearQueueCommand used for clear all commands in queue

func (*GatewayClient) DeletePackage added in v1.11.0

func (gc *GatewayClient) DeletePackage(packageName string) (*types.GatewayResponse, error)

DeletePackage used for delete packages from gateway server

func (*GatewayClient) GetInQueueCommand added in v1.11.0

func (gc *GatewayClient) GetInQueueCommand() ([]types.MDMQueueCommandDetails, error)

GetInQueueCommand used for get in queue commands

func (*GatewayClient) GetPackageDetails added in v1.11.0

func (gc *GatewayClient) GetPackageDetails() ([]*types.PackageDetails, error)

GetPackageDetails used for get package details

func (*GatewayClient) MoveToIdlePhase added in v1.11.0

func (gc *GatewayClient) MoveToIdlePhase() (*types.GatewayResponse, error)

MoveToIdlePhase used for move gateway installer to idle state

func (*GatewayClient) MoveToNextPhase added in v1.11.0

func (gc *GatewayClient) MoveToNextPhase() (*types.GatewayResponse, error)

MoveToNextPhase used for move to next phases in installation

func (*GatewayClient) ParseCSV added in v1.11.0

func (gc *GatewayClient) ParseCSV(filePath string) (*types.GatewayResponse, error)

ParseCSV used for upload csv to gateway server and parse it

func (*GatewayClient) RetryPhase added in v1.11.0

func (gc *GatewayClient) RetryPhase() (*types.GatewayResponse, error)

RetryPhase used for re run to failed phases in installation

func (*GatewayClient) UploadPackages added in v1.11.0

func (gc *GatewayClient) UploadPackages(filePaths []string) (*types.GatewayResponse, error)

UploadPackages used for upload packge to gateway server

func (*GatewayClient) ValidateMDMDetails added in v1.11.0

func (gc *GatewayClient) ValidateMDMDetails(mdmTopologyParam []byte) (*types.GatewayResponse, error)

ValidateMDMDetails used for validate mdm details

type PeerMDM added in v1.10.0

type PeerMDM struct {
	PeerMDM *types.PeerMDM
	// contains filtered or unexported fields
}

PeerMDM encpsulates a PeerMDM type and a client.

func NewPeerMDM added in v1.10.0

func NewPeerMDM(client *Client, peerMDM *types.PeerMDM) *PeerMDM

NewPeerMDM creates a PeerMDM from a types.PeerMDM and a client.

type ProtectionDomain

type ProtectionDomain struct {
	ProtectionDomain *types.ProtectionDomain
	// contains filtered or unexported fields
}

ProtectionDomain defines a struct for ProtectionDomain

func NewProtectionDomain

func NewProtectionDomain(client *Client) *ProtectionDomain

NewProtectionDomain returns a new ProtectionDomain

func NewProtectionDomainEx

func NewProtectionDomainEx(client *Client, pd *types.ProtectionDomain) *ProtectionDomain

NewProtectionDomainEx returns a new ProtectionDomain

func (*ProtectionDomain) Activate added in v1.11.0

func (pd *ProtectionDomain) Activate(forceActivate bool) error

Activate activates the Protection domain

func (*ProtectionDomain) AddSdSIP added in v1.10.0

func (pd *ProtectionDomain) AddSdSIP(id, ip, role string) error

AddSdSIP adds a new IP with specified Role in SDS

func (*ProtectionDomain) CreateSds

func (pd *ProtectionDomain) CreateSds(
	name string, ipList []string) (string, error)

CreateSds creates a new Sds with automatically assigned roles to IPs

func (*ProtectionDomain) CreateSdsWithParams added in v1.10.0

func (pd *ProtectionDomain) CreateSdsWithParams(sds *types.Sds) (string, error)

CreateSdsWithParams creates a new Sds with user defined SdsParam struct

func (*ProtectionDomain) CreateStoragePool

func (pd *ProtectionDomain) CreateStoragePool(sp *types.StoragePoolParam) (string, error)

CreateStoragePool creates a storage pool

func (*ProtectionDomain) Delete added in v1.11.0

func (pd *ProtectionDomain) Delete() error

Delete (ProtectionDomain) will delete a protection domain

func (*ProtectionDomain) DeleteSds added in v1.10.0

func (pd *ProtectionDomain) DeleteSds(id string) error

DeleteSds deletes a Sds against Id

func (*ProtectionDomain) DeleteStoragePool added in v1.3.0

func (pd *ProtectionDomain) DeleteStoragePool(name string) error

DeleteStoragePool will delete a storage pool

func (*ProtectionDomain) DisableFGLMcache added in v1.11.0

func (pd *ProtectionDomain) DisableFGLMcache() error

DisableFGLMcache disables Fine Granularity Metadata cache for the Protection Domain

func (*ProtectionDomain) DisableRFCache added in v1.10.0

func (pd *ProtectionDomain) DisableRFCache(ID string) (string, error)

DisableRFCache Disables RFCache

func (*ProtectionDomain) DisableRfcache added in v1.11.0

func (pd *ProtectionDomain) DisableRfcache() error

DisableRfcache disables SDS Read Flash cache for entire Protection Domain

func (*ProtectionDomain) EnableFGLMcache added in v1.11.0

func (pd *ProtectionDomain) EnableFGLMcache() error

EnableFGLMcache enables Fine Granularity Metadata cache for the Protection Domain

func (*ProtectionDomain) EnableOrDisableZeroPadding added in v1.11.0

func (pd *ProtectionDomain) EnableOrDisableZeroPadding(ID string, zeroPadValue string) error

EnableOrDisableZeroPadding Enables / disables zero padding

func (*ProtectionDomain) EnableRFCache added in v1.10.0

func (pd *ProtectionDomain) EnableRFCache(ID string) (string, error)

EnableRFCache Enables RFCache

func (*ProtectionDomain) EnableRfcache added in v1.11.0

func (pd *ProtectionDomain) EnableRfcache() error

EnableRfcache enables SDS Read Flash cache for entire Protection Domain

func (*ProtectionDomain) FindSds

func (pd *ProtectionDomain) FindSds(
	field, value string) (*types.Sds, error)

FindSds returns a Sds

func (*ProtectionDomain) FindStoragePool

func (pd *ProtectionDomain) FindStoragePool(
	id, name, href string) (*types.StoragePool, error)

FindStoragePool returns a storagepool based on id or name

func (*ProtectionDomain) Fragmentation added in v1.11.0

func (pd *ProtectionDomain) Fragmentation(ID string, value bool) error

Fragmentation enables or disables fragmentation

func (*ProtectionDomain) GetSds

func (pd *ProtectionDomain) GetSds() ([]types.Sds, error)

GetSds returns all Sds on the protection domain

func (*ProtectionDomain) GetStoragePool

func (pd *ProtectionDomain) GetStoragePool(
	storagepoolhref string) ([]*types.StoragePool, error)

GetStoragePool returns a storage pool

func (*ProtectionDomain) InActivate added in v1.11.0

func (pd *ProtectionDomain) InActivate(forceShutDown bool) error

InActivate disables the Protection domain

func (*ProtectionDomain) ModifyStoragePoolMedia added in v1.10.0

func (pd *ProtectionDomain) ModifyStoragePoolMedia(ID, mediaType string) (string, error)

ModifyStoragePoolMedia Modifies Storagepool Media Type

func (*ProtectionDomain) ModifyStoragePoolName added in v1.10.0

func (pd *ProtectionDomain) ModifyStoragePoolName(ID, name string) (string, error)

ModifyStoragePoolName Modifies Storagepool Name

func (*ProtectionDomain) Refresh added in v1.11.0

func (pd *ProtectionDomain) Refresh() error

Refresh reads and stores current values of the pd

func (*ProtectionDomain) RemoveSDSIP added in v1.10.0

func (pd *ProtectionDomain) RemoveSDSIP(id, ip string) error

RemoveSDSIP removes IP from SDS

func (*ProtectionDomain) SetCapacityAlertThreshold added in v1.11.0

func (pd *ProtectionDomain) SetCapacityAlertThreshold(ID string, capacityAlertThreshold *types.CapacityAlertThresholdParam) error

SetCapacityAlertThreshold Sets high or critical capacity alert threshold

func (*ProtectionDomain) SetDefaultFGLMcacheSize added in v1.11.0

func (pd *ProtectionDomain) SetDefaultFGLMcacheSize(cacheSizeInMB int) error

SetDefaultFGLMcacheSize sets the default FGL Metadata for all SDSs under the Protection Domain

func (*ProtectionDomain) SetName added in v1.11.0

func (pd *ProtectionDomain) SetName(name string) error

SetName sets the name of the pd

func (*ProtectionDomain) SetProtectedMaintenanceModeIoPriorityPolicy added in v1.11.0

func (pd *ProtectionDomain) SetProtectedMaintenanceModeIoPriorityPolicy(ID string, protectedMaintenanceModeParam *types.ProtectedMaintenanceModeParam) error

SetProtectedMaintenanceModeIoPriorityPolicy sets protected maintenance mode IO priority policy

func (*ProtectionDomain) SetRMcacheWriteHandlingMode added in v1.11.0

func (pd *ProtectionDomain) SetRMcacheWriteHandlingMode(ID string, writeHandlingModeValue string) error

SetRMcacheWriteHandlingMode Sets RMcache write handling mode

func (*ProtectionDomain) SetRebalanceEnabled added in v1.11.0

func (pd *ProtectionDomain) SetRebalanceEnabled(ID string, rebalanceEnabledValue string) error

SetRebalanceEnabled sets rebalance enabled.

func (*ProtectionDomain) SetRebalanceIoPriorityPolicy added in v1.11.0

func (pd *ProtectionDomain) SetRebalanceIoPriorityPolicy(ID string, protectedMaintenanceModeParam *types.ProtectedMaintenanceModeParam) error

SetRebalanceIoPriorityPolicy Sets rebalance I/O priority policy

func (*ProtectionDomain) SetRebuildEnabled added in v1.11.0

func (pd *ProtectionDomain) SetRebuildEnabled(ID string, rebuildEnabledValue string) error

SetRebuildEnabled Sets Rebuild Enabled

func (*ProtectionDomain) SetRebuildRebalanceParallelismParam added in v1.11.0

func (pd *ProtectionDomain) SetRebuildRebalanceParallelismParam(ID string, limitValue string) error

SetRebuildRebalanceParallelismParam Sets rebuild/rebalance parallelism

func (*ProtectionDomain) SetReplicationJournalCapacity added in v1.11.0

func (pd *ProtectionDomain) SetReplicationJournalCapacity(ID string, replicationJournalCapacity string) error

SetReplicationJournalCapacity Sets replication journal capacity

func (*ProtectionDomain) SetRfcacheParams added in v1.11.0

func (pd *ProtectionDomain) SetRfcacheParams(params types.PDRfCacheParams) error

SetRfcacheParams sets the Read Flash Cache params of the pd

func (*ProtectionDomain) SetSDSIPRole added in v1.10.0

func (pd *ProtectionDomain) SetSDSIPRole(id, ip, role string) error

SetSDSIPRole sets IP and Role of SDS

func (*ProtectionDomain) SetSdsDrlMode added in v1.10.0

func (pd *ProtectionDomain) SetSdsDrlMode(id, drlMode string) error

SetSdsDrlMode sets sds DRL Mode (Volatile or NonVolatile)

func (*ProtectionDomain) SetSdsName added in v1.10.0

func (pd *ProtectionDomain) SetSdsName(id, name string) error

SetSdsName sets sds name

func (*ProtectionDomain) SetSdsNetworkLimits added in v1.11.0

func (pd *ProtectionDomain) SetSdsNetworkLimits(params types.SdsNetworkLimitParams) error

SetSdsNetworkLimits sets IOPS limits on all SDS under the pd

func (*ProtectionDomain) SetSdsPerformanceProfile added in v1.10.0

func (pd *ProtectionDomain) SetSdsPerformanceProfile(id, perfProf string) error

SetSdsPerformanceProfile sets the SDS Performance Profile

func (*ProtectionDomain) SetSdsPort added in v1.10.0

func (pd *ProtectionDomain) SetSdsPort(id string, port int) error

SetSdsPort sets sds port

func (*ProtectionDomain) SetSdsRfCache added in v1.10.0

func (pd *ProtectionDomain) SetSdsRfCache(id string, enable bool) error

SetSdsRfCache enables or disables Rf Cache

func (*ProtectionDomain) SetSdsRmCache added in v1.10.0

func (pd *ProtectionDomain) SetSdsRmCache(id string, enable bool) error

SetSdsRmCache enables or disables Read Ram Cache

func (*ProtectionDomain) SetSdsRmCacheSize added in v1.10.0

func (pd *ProtectionDomain) SetSdsRmCacheSize(id string, size int) error

SetSdsRmCacheSize sets size of Read Ram Cache in MB

func (*ProtectionDomain) SetSparePercentage added in v1.11.0

func (pd *ProtectionDomain) SetSparePercentage(ID string, sparePercentageValue string) error

SetSparePercentage Sets spare percentage

func (*ProtectionDomain) SetVTreeMigrationIOPriorityPolicy added in v1.11.0

func (pd *ProtectionDomain) SetVTreeMigrationIOPriorityPolicy(ID string, protectedMaintenanceModeParam *types.ProtectedMaintenanceModeParam) error

SetVTreeMigrationIOPriorityPolicy Sets V-Tree migration I/O priority policy

type ReplicationConsistencyGroup added in v1.10.0

type ReplicationConsistencyGroup struct {
	ReplicationConsistencyGroup *types.ReplicationConsistencyGroup
	// contains filtered or unexported fields
}

ReplicationConsistencyGroup encpsulates a types.ReplicationConsistencyGroup and a client.

func NewReplicationConsistencyGroup added in v1.10.0

func NewReplicationConsistencyGroup(client *Client) *ReplicationConsistencyGroup

NewReplicationConsistencyGroup creates a new ReplicationConsistencyGroup.

func (*ReplicationConsistencyGroup) CreateReplicationConsistencyGroupSnapshot added in v1.10.0

func (rcg *ReplicationConsistencyGroup) CreateReplicationConsistencyGroupSnapshot(force bool) (*types.CreateReplicationConsistencyGroupSnapshotResp, error)

CreateReplicationConsistencyGroupSnapshot creates a snapshot of the ReplicationConsistencyGroup on the target array.

func (*ReplicationConsistencyGroup) ExecuteFailoverOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteFailoverOnReplicationGroup() error

ExecuteFailoverOnReplicationGroup sets the ReplicationconsistencyGroup into a failover state.

func (*ReplicationConsistencyGroup) ExecutePauseOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecutePauseOnReplicationGroup() error

ExecutePauseOnReplicationGroup pauses the replication of the ConsistencyGroup.

func (*ReplicationConsistencyGroup) ExecuteRestoreOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteRestoreOnReplicationGroup() error

ExecuteRestoreOnReplicationGroup restores the ReplicationConsistencyGroup from a failover/switchover state.

func (*ReplicationConsistencyGroup) ExecuteResumeOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteResumeOnReplicationGroup() error

ExecuteResumeOnReplicationGroup resumes the ConsistencyGroup when it is in a Paused state.

func (*ReplicationConsistencyGroup) ExecuteReverseOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteReverseOnReplicationGroup() error

ExecuteReverseOnReplicationGroup reverses the direction of replication from a failover/switchover state.

func (*ReplicationConsistencyGroup) ExecuteSwitchoverOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteSwitchoverOnReplicationGroup(force bool) error

ExecuteSwitchoverOnReplicationGroup sets the ReplicationconsistencyGroup into a switchover state.

func (*ReplicationConsistencyGroup) ExecuteSyncOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) ExecuteSyncOnReplicationGroup() (*types.SynchronizationResponse, error)

ExecuteSyncOnReplicationGroup forces a synce on the ConsistencyGroup.

func (*ReplicationConsistencyGroup) FreezeReplicationConsistencyGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) FreezeReplicationConsistencyGroup(id string) error

FreezeReplicationConsistencyGroup sets the ReplicationConsistencyGroup into a freeze state

func (*ReplicationConsistencyGroup) GetReplicationPairs added in v1.10.0

func (rcg *ReplicationConsistencyGroup) GetReplicationPairs() ([]*types.ReplicationPair, error)

GetReplicationPairs returns a list of replication pairs associated to the rcg.

func (*ReplicationConsistencyGroup) GetSyncStateOnReplicationGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) GetSyncStateOnReplicationGroup(syncKey string) error

GetSyncStateOnReplicationGroup returns the sync status of the ReplicaitonConsistencyGroup.

func (*ReplicationConsistencyGroup) RemoveReplicationConsistencyGroup added in v1.10.0

func (rcg *ReplicationConsistencyGroup) RemoveReplicationConsistencyGroup(forceIgnoreConsistency bool) error

RemoveReplicationConsistencyGroup removes a replication consistency group At this point I don't know when forceIgnoreConsistency might be required.

type ReplicationPair added in v1.10.0

type ReplicationPair struct {
	ReplicaitonPair *types.ReplicationPair
	// contains filtered or unexported fields
}

ReplicationPair encpsulates a types.ReplicationPair and a client.

func NewReplicationPair added in v1.10.0

func NewReplicationPair(client *Client) *ReplicationPair

NewReplicationPair creates a new ReplicationConsistencyGroup.

func (*ReplicationPair) GetReplicationPairStatistics added in v1.10.0

func (rp *ReplicationPair) GetReplicationPairStatistics() (*types.QueryReplicationPairStatistics, error)

GetReplicationPairStatistics returns the statistics of the desired ReplicaitonPair.

func (*ReplicationPair) RemoveReplicationPair added in v1.10.0

func (rp *ReplicationPair) RemoveReplicationPair(force bool) (*types.ReplicationPair, error)

RemoveReplicationPair removes the desired replication pair.

type Sdc

type Sdc struct {
	Sdc *types.Sdc
	// contains filtered or unexported fields
}

Sdc defines struct for Sdc

func NewSdc

func NewSdc(client *Client, sdc *types.Sdc) *Sdc

NewSdc returns a new Sdc

func (*Sdc) FindVolumes added in v1.2.0

func (sdc *Sdc) FindVolumes() ([]*Volume, error)

FindVolumes returns volumes

func (*Sdc) GetStatistics

func (sdc *Sdc) GetStatistics() (*types.SdcStatistics, error)

GetStatistics returns a Sdc statistcs

func (*Sdc) GetVolume

func (sdc *Sdc) GetVolume() ([]*types.Volume, error)

GetVolume returns a volume

type SdcMappedVolume

type SdcMappedVolume struct {
	MdmID     string
	VolumeID  string
	SdcDevice string
}

SdcMappedVolume defines struct for SdcMappedVolume

func GetLocalVolumeMap

func GetLocalVolumeMap() (mappedVolumes []*SdcMappedVolume, err error)

GetLocalVolumeMap will return all SdcMappedVolume entries

func GetLocalVolumeMapByRegex added in v1.2.0

func GetLocalVolumeMapByRegex(systemIDRegex string, volumeIDRegex string) (mappedVolumes []*SdcMappedVolume, err error)

GetLocalVolumeMapByRegex will return the SdcMappedVolume entries matching supplied regex values

type Sds

type Sds struct {
	Sds *types.Sds
	// contains filtered or unexported fields
}

Sds defines struct for Sds

func NewSds

func NewSds(client *Client) *Sds

NewSds returns a new Sds

func NewSdsEx

func NewSdsEx(client *Client, sds *types.Sds) *Sds

NewSdsEx returns a new SdsEx

func (*Sds) FindDevice added in v1.11.0

func (sds *Sds) FindDevice(
	field, value string) (*types.Device, error)

FindDevice returns a Device

func (*Sds) GetDevice added in v1.11.0

func (sds *Sds) GetDevice() ([]types.Device, error)

GetDevice returns a devices based on SDS ID

type SetCompressionMethodParam added in v1.10.0

type SetCompressionMethodParam struct {
	CompressionMethod string `json:"compressionMethod"`
}

SetCompressionMethodParam defines type for compression method for method SetCompressionMethod

type SetSnapshotSecurityParam added in v1.10.0

type SetSnapshotSecurityParam struct {
	RetentionPeriodInMin string `json:"retentionPeriodInMin"`
}

SetSnapshotSecurityParam defines type for snapshot retention period in min parameter for method SetSnapshotSecurity

type SetVolumeAccessModeLimitParam added in v1.10.0

type SetVolumeAccessModeLimitParam struct {
	AccessModeLimit string `json:"accessModeLimit"`
}

SetVolumeAccessModeLimitParam defines type for volume access mode parameter for method SetVolumeAccessModeLimit

type SetVolumeMappingAccessModeParam added in v1.10.0

type SetVolumeMappingAccessModeParam struct {
	AccessMode string `json:"accessMode"`
	SdcID      string `json:"sdcId"`
}

SetVolumeMappingAccessModeParam defines type for snapshot access mode of mapped sdc for method SetVolumeMappingAccessMode

type SetVolumeUseRmCacheParam added in v1.10.0

type SetVolumeUseRmCacheParam struct {
	UseRmCache string `json:"useRmcache"`
}

SetVolumeUseRmCacheParam defines type for Volume RM cache use for method SetVolumeUseRmCache

type SnapshotPolicy added in v1.10.0

type SnapshotPolicy struct {
	SnapshotPolicy *types.SnapshotPolicy
	// contains filtered or unexported fields
}

SnapshotPolicy defines struct for SnapshotPolicy

func NewSnapshotPolicy added in v1.10.0

func NewSnapshotPolicy(client *Client) *SnapshotPolicy

NewSnapshotPolicy returns new SnapshotPolicy

type StoragePool

type StoragePool struct {
	StoragePool *types.StoragePool
	// contains filtered or unexported fields
}

StoragePool struct defines struct for StoragePool

func NewStoragePool

func NewStoragePool(client *Client) *StoragePool

NewStoragePool returns a new StoragePool

func NewStoragePoolEx

func NewStoragePoolEx(client *Client, pool *types.StoragePool) *StoragePool

NewStoragePoolEx returns a new StoragePoolEx

func (*StoragePool) AttachDevice

func (sp *StoragePool) AttachDevice(deviceParam *types.DeviceParam) (string, error)

AttachDevice attaches a device

func (*StoragePool) CreateVolume

func (sp *StoragePool) CreateVolume(
	volume *types.VolumeParam) (*types.VolumeResp, error)

CreateVolume creates a volume

func (*StoragePool) FindDevice

func (sp *StoragePool) FindDevice(
	field, value string) (*types.Device, error)

FindDevice returns a Device

func (*StoragePool) FindVolumeID

func (sp *StoragePool) FindVolumeID(volumename string) (string, error)

FindVolumeID retruns a volume ID based on name

func (*StoragePool) GetDevice

func (sp *StoragePool) GetDevice() ([]types.Device, error)

GetDevice returns a device based on Storage Pool ID

func (*StoragePool) GetSDSStoragePool added in v1.10.0

func (sp *StoragePool) GetSDSStoragePool() ([]types.Sds, error)

GetSDSStoragePool return SDS instances associated with storage pool

func (*StoragePool) GetStatistics

func (sp *StoragePool) GetStatistics() (*types.Statistics, error)

GetStatistics returns statistics

func (*StoragePool) GetVolume

func (sp *StoragePool) GetVolume(
	volumehref, volumeid, ancestorvolumeid, volumename string,
	getSnapshots bool) ([]*types.Volume, error)

GetVolume returns a volume

func (*StoragePool) ModifyRMCache added in v1.10.0

func (sp *StoragePool) ModifyRMCache(useRmcache string) error

ModifyRMCache Sets Read RAM Cache

func (*StoragePool) RemoveDevice added in v1.11.0

func (sp *StoragePool) RemoveDevice(id string) error

RemoveDevice removes device from storage pool

func (*StoragePool) SetDeviceCapacityLimit added in v1.11.0

func (sp *StoragePool) SetDeviceCapacityLimit(id, capacityLimitInGB string) error

SetDeviceCapacityLimit modifies device capacity limit

func (*StoragePool) SetDeviceExternalAccelerationType added in v1.11.0

func (sp *StoragePool) SetDeviceExternalAccelerationType(id, externalAccelerationType string) error

SetDeviceExternalAccelerationType modifies device external acceleration type

func (*StoragePool) SetDeviceMediaType added in v1.11.0

func (sp *StoragePool) SetDeviceMediaType(id, mediaType string) error

SetDeviceMediaType modifies device media type

func (*StoragePool) SetDeviceName added in v1.11.0

func (sp *StoragePool) SetDeviceName(id, name string) error

SetDeviceName modifies device name

func (*StoragePool) UpdateDeviceOriginalPathways added in v1.11.0

func (sp *StoragePool) UpdateDeviceOriginalPathways(id string) error

UpdateDeviceOriginalPathways modifies device path if changed during server restart

type System

type System struct {
	System *types.System
	// contains filtered or unexported fields
}

System defines struct for System

func NewSystem

func NewSystem(client *Client) *System

NewSystem returns a new system

func (*System) ApproveSdcByGUID added in v1.10.0

func (s *System) ApproveSdcByGUID(sdcGUID string) (*types.ApproveSdcByGUIDResponse, error)

ApproveSdcByGUID approves the Sdc When the Powerflex Array is operating in Guid RestrictedSdcMode.

func (*System) ChangeSdcName added in v1.10.0

func (s *System) ChangeSdcName(idOfSdc, name string) (*Sdc, error)

ChangeSdcName returns a Sdc after changing its name https://developer.dell.com/apis/4008/versions/4.0/PowerFlex_REST_API.json/paths/~1api~1instances~1Sdc::%7Bid%7D~1action~1setSdcName/post

func (*System) CreateFileSystem added in v1.11.0

func (s *System) CreateFileSystem(fs *types.FsCreate) (*types.FileSystemResp, error)

CreateFileSystem creates a file system

func (*System) CreateNAS added in v1.11.0

func (s *System) CreateNAS(name string, protectionDomainID string) (*types.CreateNASResponse, error)

CreateNAS creates a NAS server

func (*System) CreateProtectionDomain

func (s *System) CreateProtectionDomain(name string) (string, error)

CreateProtectionDomain creates a ProtectionDomain

func (*System) CreateSnapshotConsistencyGroup

func (s *System) CreateSnapshotConsistencyGroup(
	snapshotVolumesParam *types.SnapshotVolumesParam) (*types.SnapshotVolumesResp, error)

CreateSnapshotConsistencyGroup creates a snapshot consistency group

func (*System) DeleteFileSystem added in v1.11.0

func (s *System) DeleteFileSystem(name string) error

DeleteFileSystem deletes a file system

func (*System) DeleteNAS added in v1.11.0

func (s *System) DeleteNAS(id string) error

DeleteNAS deletes a NAS server

func (*System) DeleteProtectionDomain added in v1.3.0

func (s *System) DeleteProtectionDomain(name string) error

DeleteProtectionDomain will delete a protection domain

func (*System) FindProtectionDomain

func (s *System) FindProtectionDomain(
	id, name, href string) (*types.ProtectionDomain, error)

FindProtectionDomain returns a ProtectionDomain

func (*System) FindProtectionDomainByID added in v1.11.0

func (s *System) FindProtectionDomainByID(id string) (*types.ProtectionDomain, error)

FindProtectionDomainByID returns the ProtectionDomain having a particular ID

func (*System) FindProtectionDomainByName added in v1.11.0

func (s *System) FindProtectionDomainByName(name string) (*types.ProtectionDomain, error)

FindProtectionDomainByName returns the ProtectionDomain having a particular name

func (*System) FindSdc

func (s *System) FindSdc(field, value string) (*Sdc, error)

FindSdc returns a Sdc

func (*System) FindSds added in v1.11.0

func (sys *System) FindSds(
	field, value string) (*types.Sds, error)

FindSds returns a Sds using system instance

func (*System) GetAllDevice added in v1.11.0

func (system *System) GetAllDevice() ([]types.Device, error)

GetAllDevice returns all device in the system

func (*System) GetAllFileSystems added in v1.11.0

func (s *System) GetAllFileSystems() ([]types.FileSystem, error)

GetAllFileSystems returns a file system

func (*System) GetAllSds added in v1.10.0

func (sys *System) GetAllSds() ([]types.Sds, error)

GetAllSds returns all SDS on the system

func (*System) GetAllStoragePools added in v1.10.0

func (sys *System) GetAllStoragePools() ([]types.StoragePool, error)

GetAllStoragePools returns all Storage pools on the system

func (*System) GetDevice added in v1.11.0

func (system *System) GetDevice(id string) (*types.Device, error)

GetDevice returns a device using Device ID

func (*System) GetDeviceByField added in v1.11.0

func (system *System) GetDeviceByField(
	field, value string) ([]types.Device, error)

GetDeviceByField returns a Device list filter by the field

func (*System) GetFileInterface added in v1.11.0

func (s *System) GetFileInterface(id string) (*types.FileInterface, error)

GetFileInterface gets a FileInterface by id

func (*System) GetFileSystemByIDName added in v1.11.0

func (s *System) GetFileSystemByIDName(id string, name string) (*types.FileSystem, error)

GetFileSystemByIDName returns a file system by Name or ID

func (*System) GetNASByIDName added in v1.11.0

func (s *System) GetNASByIDName(id string, name string) (*types.NAS, error)

GetNASByIDName gets a NAS server by name or ID

func (*System) GetProtectionDomain

func (s *System) GetProtectionDomain(
	pdhref string) ([]*types.ProtectionDomain, error)

GetProtectionDomain returns a ProtectionDomain

func (*System) GetProtectionDomainEx added in v1.11.0

func (s *System) GetProtectionDomainEx(id string) (*ProtectionDomain, error)

GetProtectionDomainEx fetches a ProtectionDomain by ID with embedded client

func (*System) GetScsiInitiator

func (s *System) GetScsiInitiator() ([]types.ScsiInitiator, error)

GetScsiInitiator returns a ScsiInitiator

func (*System) GetSdc

func (s *System) GetSdc() ([]types.Sdc, error)

GetSdc returns a Sdc

func (*System) GetSdcByID added in v1.10.0

func (s *System) GetSdcByID(id string) (*Sdc, error)

GetSdcByID returns a Sdc searched by id

func (*System) GetSdsByID added in v1.10.0

func (sys *System) GetSdsByID(id string) (types.Sds, error)

GetSdsByID returns a Sds by ID

func (*System) GetStatistics

func (s *System) GetStatistics() (*types.Statistics, error)

GetStatistics returns system statistics

func (*System) GetStoragePoolByID added in v1.10.0

func (sys *System) GetStoragePoolByID(id string) (*types.StoragePool, error)

GetStoragePoolByID returns a Storagepool by ID

func (*System) GetUser

func (s *System) GetUser() ([]types.User, error)

GetUser returns user

type Volume

type Volume struct {
	Volume *types.Volume
	// contains filtered or unexported fields
}

Volume defines struct for Volume

func NewVolume

func NewVolume(client *Client) *Volume

NewVolume returns new volume

func (*Volume) GetVTree

func (v *Volume) GetVTree() (*types.VTree, error)

GetVTree returns a volume's vtree

func (*Volume) GetVolumeStatistics added in v1.2.0

func (v *Volume) GetVolumeStatistics() (*types.VolumeStatistics, error)

GetVolumeStatistics returns a volume's statistics

func (*Volume) LockAutoSnapshot added in v1.10.0

func (v *Volume) LockAutoSnapshot() error

LockAutoSnapshot locks volume's auto snapshot in snapshotpolicy

func (*Volume) MapVolumeSdc

func (v *Volume) MapVolumeSdc(
	mapVolumeSdcParam *types.MapVolumeSdcParam) error

MapVolumeSdc maps a volume to Sdc

func (*Volume) RemoveVolume

func (v *Volume) RemoveVolume(removeMode string) error

RemoveVolume removes a volume

func (*Volume) SetCompressionMethod added in v1.10.0

func (v *Volume) SetCompressionMethod(compressionMethod string) error

SetCompressionMethod set the volume compression method.

func (*Volume) SetMappedSdcLimits

func (v *Volume) SetMappedSdcLimits(
	setMappedSdcLimitsParam *types.SetMappedSdcLimitsParam) error

SetMappedSdcLimits sets Sdc mapped limits

func (*Volume) SetSnapshotSecurity added in v1.10.0

func (v *Volume) SetSnapshotSecurity(retentionPeriodInMin string) error

SetSnapshotSecurity set retention period in min on snapshot

func (*Volume) SetVolumeAccessModeLimit added in v1.10.0

func (v *Volume) SetVolumeAccessModeLimit(mode string) error

SetVolumeAccessModeLimit sets access mode for volume/snapshot

func (*Volume) SetVolumeMappingAccessMode added in v1.10.0

func (v *Volume) SetVolumeMappingAccessMode(accessmode string, sdcid string) error

SetVolumeMappingAccessMode set access mode of mapped sdc on snapshot

func (*Volume) SetVolumeName added in v1.6.0

func (v *Volume) SetVolumeName(newName string) error

SetVolumeName sets a volume's name

func (*Volume) SetVolumeSize added in v1.2.0

func (v *Volume) SetVolumeSize(sizeInGB string) error

SetVolumeSize sets a volume's size

func (*Volume) SetVolumeUseRmCache added in v1.10.0

func (v *Volume) SetVolumeUseRmCache(useRmCache bool) error

SetVolumeUseRmCache set volume rm cahce use

func (*Volume) UnlockAutoSnapshot added in v1.10.0

func (v *Volume) UnlockAutoSnapshot() error

UnlockAutoSnapshot unlocks volume's auto snapshot in snapshotpolicy

func (*Volume) UnmapVolumeSdc

func (v *Volume) UnmapVolumeSdc(
	unmapVolumeSdcParam *types.UnmapVolumeSdcParam) error

UnmapVolumeSdc unmaps a volume from Sdc

func (*Volume) UnmarkForReplication added in v1.10.0

func (v *Volume) UnmarkForReplication() error

UnmarkForReplication Depricated Message (3.6)

Directories

Path Synopsis
types
v1

Jump to

Keyboard shortcuts

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