Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- func (c *Client) AddVolumesToProtectedStorageGroup(ctx context.Context, ...) error
- func (c *Client) AddVolumesToStorageGroup(ctx context.Context, symID, storageGroupID string, force bool, ...) error
- func (c *Client) AddVolumesToStorageGroupS(ctx context.Context, symID, storageGroupID string, force bool, ...) error
- func (c *Client) Authenticate(ctx context.Context, configConnect *ConfigConnect) error
- func (c *Client) CreateFileSystem(ctx context.Context, symID, name, nasServer, serviceLevel string, ...) (*types.FileSystem, error)
- func (c *Client) CreateHost(ctx context.Context, symID string, hostID string, initiatorIDs []string, ...) (*types.Host, error)
- func (c *Client) CreateHostGroup(ctx context.Context, symID string, hostGroupID string, hostIDs []string, ...) (*types.HostGroup, error)
- func (c *Client) CreateMaskingView(ctx context.Context, symID string, maskingViewID string, storageGroupID string, ...) (*types.MaskingView, error)
- func (c *Client) CreateMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) (*types.MigrationEnv, error)
- func (c *Client) CreateNFSExport(ctx context.Context, symID string, ...) (*types.NFSExport, error)
- func (c *Client) CreatePortGroup(ctx context.Context, symID string, portGroupID string, ...) (*types.PortGroup, error)
- func (c *Client) CreateRDFPair(ctx context.Context, symID, rdfGroupNo, deviceID, rdfMode, rdfType string, ...) (*types.RDFDevicePairList, error)
- func (c *Client) CreateSGMigration(ctx context.Context, localSymID, remoteSymID, storageGroup string) (*types.MigrationSession, error)
- func (c *Client) CreateSGReplica(ctx context.Context, ...) (*types.SGRDFInfo, error)
- func (c *Client) CreateSnapshot(ctx context.Context, symID string, snapID string, ...) error
- func (c *Client) CreateSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string, interval string, ...) (*types.SnapshotPolicy, error)
- func (c *Client) CreateStorageGroup(ctx context.Context, symID, storageGroupID, srpID, serviceLevel string, ...) (*types.StorageGroup, error)
- func (c *Client) CreateStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, ...) (*types.StorageGroupSnap, error)
- func (c *Client) CreateVolumeInProtectedStorageGroupS(ctx context.Context, symID, remoteSymID, storageGroupID string, ...) (*types.Volume, error)
- func (c *Client) CreateVolumeInStorageGroup(ctx context.Context, symID string, storageGroupID string, volumeName string, ...) (*types.Volume, error)
- func (c *Client) CreateVolumeInStorageGroupS(ctx context.Context, symID, storageGroupID string, volumeName string, ...) (*types.Volume, error)
- func (c *Client) DeleteFileSystem(ctx context.Context, symID, fsID string) error
- func (c *Client) DeleteHost(ctx context.Context, symID string, hostID string) error
- func (c *Client) DeleteHostGroup(ctx context.Context, symID string, hostGroupID string) error
- func (c *Client) DeleteMaskingView(ctx context.Context, symID string, maskingViewID string) error
- func (c *Client) DeleteMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) error
- func (c *Client) DeleteNASServer(ctx context.Context, symID, nasID string) error
- func (c *Client) DeleteNFSExport(ctx context.Context, symID, nfsExportID string) error
- func (c *Client) DeletePortGroup(ctx context.Context, symID string, portGroupID string) error
- func (c *Client) DeleteSnapshot(ctx context.Context, symID, snapID string, sourceVolumes []types.VolumeList, ...) error
- func (c *Client) DeleteSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) error
- func (c *Client) DeleteSnapshotS(ctx context.Context, symID, snapID string, sourceVolumes []types.VolumeList, ...) error
- func (c *Client) DeleteStorageGroup(ctx context.Context, symID string, storageGroupID string) error
- func (c *Client) DeleteStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, ...) error
- func (c *Client) DeleteVolume(ctx context.Context, symID string, volumeID string) error
- func (c *Client) DeleteVolumeIDsIterator(ctx context.Context, iter *types.VolumeIterator) error
- func (c *Client) ExecuteCreateRDFGroup(ctx context.Context, symID string, CreateRDFPayload *types.RDFGroupCreate) error
- func (c *Client) ExecuteReplicationActionOnSG(ctx context.Context, symID, action, storageGroup, rdfGroup string, ...) error
- func (c *Client) ExpandVolume(ctx context.Context, symID string, volumeID string, rdfGNo int, ...) (*types.Volume, error)
- func (c *Client) GetAddVolumeToSGPayload(isSync, force bool, remoteSymID, remoteStorageGroupID string, ...) (payload interface{})
- func (c *Client) GetAllowedArrays() []string
- func (c *Client) GetArrayPerfKeys(ctx context.Context) (*types.ArrayKeysResult, error)
- func (c *Client) GetCreateRDFPairPayload(devList types.LocalDeviceListCriteria, rdfMode, rdfType string, ...) *types.CreateRDFPair
- func (c *Client) GetCreateSGReplicaPayload(remoteSymID string, rdfMode string, rdfgNo int, remoteSGName string, ...) *types.CreateSGSRDF
- func (c *Client) GetCreateStorageGroupPayload(storageGroupID, srpID, serviceLevel string, thickVolumes bool, ...) (payload interface{})
- func (c *Client) GetCreateVolInSGPayload(volumeSize interface{}, capUnit string, volumeName string, ...) (payload interface{})
- func (c *Client) GetDirectorIDList(ctx context.Context, symID string) (*types.DirectorIDList, error)
- func (c *Client) GetFileInterfaceByID(ctx context.Context, symID, interfaceID string) (*types.FileInterface, error)
- func (c *Client) GetFileSystemByID(ctx context.Context, symID, fsID string) (*types.FileSystem, error)
- func (c *Client) GetFileSystemList(ctx context.Context, symID string, query types.QueryParams) (*types.FileSystemIterator, error)
- func (c *Client) GetFileSystemMetricsByID(ctx context.Context, symID string, fsID string, metricsQuery []string, ...) (*types.FileSystemMetricsIterator, error)
- func (c *Client) GetFreeLocalAndRemoteRDFg(ctx context.Context, localSymID string, remoteSymID string) (*types.NextFreeRDFGroup, error)
- func (c *Client) GetHTTPClient() *http.Client
- func (c *Client) GetHostByID(ctx context.Context, symID string, hostID string) (*types.Host, error)
- func (c *Client) GetHostGroupByID(ctx context.Context, symID string, hostGroupID string) (*types.HostGroup, error)
- func (c *Client) GetHostGroupList(ctx context.Context, symID string) (*types.HostGroupList, error)
- func (c *Client) GetHostList(ctx context.Context, symID string) (*types.HostList, error)
- func (c *Client) GetISCSITargets(ctx context.Context, symID string) ([]ISCSITarget, error)
- func (c *Client) GetInitiatorByID(ctx context.Context, symID string, initID string) (*types.Initiator, error)
- func (c *Client) GetInitiatorList(ctx context.Context, symID string, initiatorHBA string, isISCSI bool, ...) (*types.InitiatorList, error)
- func (c *Client) GetJobByID(ctx context.Context, symID string, jobID string) (*types.Job, error)
- func (c *Client) GetJobIDList(ctx context.Context, symID string, statusQuery string) ([]string, error)
- func (c *Client) GetListOfTargetAddresses(ctx context.Context, symID string) ([]string, error)
- func (c *Client) GetLocalOnlineRDFDirs(ctx context.Context, localSymID string) (*types.RDFDirList, error)
- func (c *Client) GetLocalOnlineRDFPorts(ctx context.Context, rdfDir string, localSymID string) (*types.RDFPortList, error)
- func (c *Client) GetLocalRDFPortDetails(ctx context.Context, localSymID string, rdfDir string, rdfPort int) (*types.RDFPortDetails, error)
- func (c *Client) GetMaskingViewByID(ctx context.Context, symID string, maskingViewID string) (*types.MaskingView, error)
- func (c *Client) GetMaskingViewConnections(ctx context.Context, symID string, maskingViewID string, volumeID string) ([]*types.MaskingViewConnection, error)
- func (c *Client) GetMaskingViewList(ctx context.Context, symID string) (*types.MaskingViewList, error)
- func (c *Client) GetMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) (*types.MigrationEnv, error)
- func (c *Client) GetNASServerByID(ctx context.Context, symID, nasID string) (*types.NASServer, error)
- func (c *Client) GetNASServerList(ctx context.Context, symID string, query types.QueryParams) (*types.NASServerIterator, error)
- func (c *Client) GetNFSExportByID(ctx context.Context, symID, nfsExportID string) (*types.NFSExport, error)
- func (c *Client) GetNFSExportList(ctx context.Context, symID string, query types.QueryParams) (*types.NFSExportIterator, error)
- func (c *Client) GetNVMeTCPTargets(ctx context.Context, symID string) ([]NVMeTCPTarget, error)
- func (c *Client) GetPort(ctx context.Context, symID string, directorID string, portID string) (*types.Port, error)
- func (c *Client) GetPortGroupByID(ctx context.Context, symID string, portGroupID string) (*types.PortGroup, error)
- func (c *Client) GetPortGroupList(ctx context.Context, symID string, portGroupType string) (*types.PortGroupList, error)
- func (c *Client) GetPortList(ctx context.Context, symID string, directorID string, query string) (*types.PortList, error)
- func (c *Client) GetPrivVolumeByID(ctx context.Context, symID string, volumeID string) (*types.VolumeResultPrivate, error)
- func (c *Client) GetProtectedStorageGroup(ctx context.Context, symID, storageGroup string) (*types.RDFStorageGroup, error)
- func (c *Client) GetRDFDevicePairInfo(ctx context.Context, symID, rdfGroup, volumeID string) (*types.RDFDevicePair, error)
- func (c *Client) GetRDFGroupByID(ctx context.Context, symID, rdfGroupNo string) (*types.RDFGroup, error)
- func (c *Client) GetRDFGroupList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.RDFGroupList, error)
- func (c *Client) GetRemoteRDFPortOnSAN(ctx context.Context, localSymID string, rdfDir string, rdfPort string) (*types.RemoteRDFPortDetails, error)
- func (c *Client) GetRemoveVolumeFromSGPayload(force bool, remoteSymID, remoteStorageGroupID string, volumeIDs ...string) (payload interface{})
- func (c *Client) GetReplicationCapabilities(ctx context.Context) (*types.SymReplicationCapabilities, error)
- func (c *Client) GetSnapVolumeList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.SymVolumeList, error)
- func (c *Client) GetSnapshotGenerationInfo(ctx context.Context, symID, volumeID, snapID string, generation int64) (*types.VolumeSnapshotGeneration, error)
- func (c *Client) GetSnapshotGenerations(ctx context.Context, symID, volumeID, snapID string) (*types.VolumeSnapshotGenerations, error)
- func (c *Client) GetSnapshotInfo(ctx context.Context, symID, volumeID, snapID string) (*types.VolumeSnapshot, error)
- func (c *Client) GetSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) (*types.SnapshotPolicy, error)
- func (c *Client) GetSnapshotPolicyList(ctx context.Context, symID string) (*types.SnapshotPolicyList, error)
- func (c *Client) GetStorageGroup(ctx context.Context, symID string, storageGroupID string) (*types.StorageGroup, error)
- func (c *Client) GetStorageGroupIDList(ctx context.Context, symID, storageGroupIDMatch string, like bool) (*types.StorageGroupIDList, error)
- func (c *Client) GetStorageGroupMetrics(ctx context.Context, symID string, storageGroupID string, ...) (*types.StorageGroupMetricsIterator, error)
- func (c *Client) GetStorageGroupMigration(ctx context.Context, localSymID string) (*types.MigrationStorageGroups, error)
- func (c *Client) GetStorageGroupMigrationByID(ctx context.Context, localSymID, storageGroupID string) (*types.MigrationSession, error)
- func (c *Client) GetStorageGroupPerfKeys(ctx context.Context, symID string) (*types.StorageGroupKeysResult, error)
- func (c *Client) GetStorageGroupRDFInfo(ctx context.Context, symID, sgName, rdfGroupNo string) (*types.StorageGroupRDFG, error)
- func (c *Client) GetStorageGroupSnapshotPolicy(ctx context.Context, symID, snapshotPolicyID, storageGroupID string) (*types.StorageGroupSnapshotPolicy, error)
- func (c *Client) GetStorageGroupSnapshotSnap(ctx context.Context, symID string, storageGroupID string, ...) (*types.StorageGroupSnap, error)
- func (c *Client) GetStorageGroupSnapshotSnapIDs(ctx context.Context, symID string, storageGroupID string, snapshotID string) (*types.SnapID, error)
- func (c *Client) GetStorageGroupSnapshots(ctx context.Context, symID string, storageGroupID string, ...) (*types.StorageGroupSnapshot, error)
- func (c *Client) GetStoragePool(ctx context.Context, symID string, storagePoolID string) (*types.StoragePool, error)
- func (c *Client) GetStoragePoolList(ctx context.Context, symid string) (*types.StoragePoolList, error)
- func (c *Client) GetSymmetrixByID(ctx context.Context, id string) (*types.Symmetrix, error)
- func (c *Client) GetSymmetrixIDList(ctx context.Context) (*types.SymmetrixIDList, error)
- func (c *Client) GetTimeoutContext(ctx context.Context) (context.Context, context.CancelFunc)
- func (c *Client) GetVolumeByID(ctx context.Context, symID string, volumeID string) (*types.Volume, error)
- func (c *Client) GetVolumeByIdentifier(ctx context.Context, symID, storageGroupID string, volumeName string, ...) (*types.Volume, error)
- func (c *Client) GetVolumeIDList(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) ([]string, error)
- func (c *Client) GetVolumeIDListInStorageGroup(ctx context.Context, symID string, storageGroupID string) ([]string, error)
- func (c *Client) GetVolumeIDListWithParams(ctx context.Context, symID string, queryParams map[string]string) ([]string, error)
- func (c *Client) GetVolumeIDsIterator(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) (*types.VolumeIterator, error)
- func (c *Client) GetVolumeIDsIteratorPage(ctx context.Context, iter *types.VolumeIterator, from, to int) ([]string, error)
- func (c *Client) GetVolumeIDsIteratorWithParams(ctx context.Context, symID string, queryParams map[string]string) (*types.VolumeIterator, error)
- func (c *Client) GetVolumeSnapInfo(ctx context.Context, symID string, volumeID string) (*types.SnapshotVolumeGeneration, error)
- func (c *Client) GetVolumesInStorageGroupIterator(ctx context.Context, symID string, storageGroupID string) (*types.VolumeIterator, error)
- func (c *Client) GetVolumesMetrics(ctx context.Context, symID string, storageGroups string, metricsQuery []string, ...) (*types.VolumeMetricsIterator, error)
- func (c *Client) GetVolumesMetricsByID(ctx context.Context, symID string, volID string, metricsQuery []string, ...) (*types.VolumeMetricsIterator, error)
- func (c *Client) InitiateDeallocationOfTracksFromVolume(ctx context.Context, symID string, volumeID string) (*types.Job, error)
- func (c *Client) IsAllowedArray(array string) (bool, error)
- func (c *Client) JobToString(job *types.Job) string
- func (c *Client) MigrateStorageGroup(ctx context.Context, symID, storageGroupID, srpID, serviceLevel string, ...) (*v100.StorageGroup, error)
- func (c *Client) ModifyFileSystem(ctx context.Context, symID, fsID string, payload types.ModifyFileSystem) (*types.FileSystem, error)
- func (c *Client) ModifyMigrationSession(ctx context.Context, localSymID, action, storageGroup string) error
- func (c *Client) ModifyMobilityForVolume(ctx context.Context, symID string, volumeID string, mobility bool) (*types.Volume, error)
- func (c *Client) ModifyNASServer(ctx context.Context, symID, nasID string, payload types.ModifyNASServer) (*types.NASServer, error)
- func (c *Client) ModifyNFSExport(ctx context.Context, symID, nfsExportID string, payload types.ModifyNFSExport) (*types.NFSExport, error)
- func (c *Client) ModifySnapshot(ctx context.Context, symID string, sourceVol []types.VolumeList, ...) error
- func (c *Client) ModifySnapshotS(ctx context.Context, symID string, sourceVol []types.VolumeList, ...) error
- func (c *Client) ModifyStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, ...) (*types.StorageGroupSnap, error)
- func (c *Client) RefreshSymmetrix(ctx context.Context, symID string) error
- func (c *Client) RemoveVolumesFromProtectedStorageGroup(ctx context.Context, symID string, ...) (*types.StorageGroup, error)
- func (c *Client) RemoveVolumesFromStorageGroup(ctx context.Context, symID string, storageGroupID string, force bool, ...) (*types.StorageGroup, error)
- func (c *Client) RenameMaskingView(ctx context.Context, symID string, maskingViewID string, newName string) (*types.MaskingView, error)
- func (c *Client) RenamePortGroup(ctx context.Context, symID string, portGroupID string, newName string) (*types.PortGroup, error)
- func (c *Client) RenameVolume(ctx context.Context, symID string, volumeID string, newName string) (*types.Volume, error)
- func (c *Client) SetAllowedArrays(arrays []string) error
- func (c *Client) SetContextTimeout(timeout time.Duration) Pmax
- func (c *Client) TimeSpent(functionName string, startTime time.Time)
- func (c *Client) UpdateHostFlags(ctx context.Context, symID string, hostID string, hostFlags *types.HostFlags) (*types.Host, error)
- func (c *Client) UpdateHostGroupFlags(ctx context.Context, symID string, hostGroupID string, ...) (*types.HostGroup, error)
- func (c *Client) UpdateHostGroupHosts(ctx context.Context, symID string, hostGroupID string, hostIDs []string) (*types.HostGroup, error)
- func (c *Client) UpdateHostGroupName(ctx context.Context, symID, oldHostGroupID, newHostGroupID string) (*types.HostGroup, error)
- func (c *Client) UpdateHostInitiators(ctx context.Context, symID string, host *types.Host, initiatorIDs []string) (*types.Host, error)
- func (c *Client) UpdateHostName(ctx context.Context, symID, oldHostID, newHostID string) (*types.Host, error)
- func (c *Client) UpdatePortGroup(ctx context.Context, symID string, portGroupID string, ports []types.PortKey) (*types.PortGroup, error)
- func (c *Client) UpdateSnapshotPolicy(ctx context.Context, symID string, action string, snapshotPolicyID string, ...) error
- func (c *Client) UpdateStorageGroup(ctx context.Context, symID string, storageGroupID string, payload interface{}) (*types.Job, error)
- func (c *Client) UpdateStorageGroupS(ctx context.Context, symID string, storageGroupID string, payload interface{}) error
- func (c *Client) WaitOnJobCompletion(ctx context.Context, symID string, jobID string) (*types.Job, error)
- func (c *Client) WithSymmetrixID(symmetrixID string) Pmax
- type ConfigConnect
- type ISCSITarget
- type NVMeTCPTarget
- type Pmax
- type SnapshotAction
Constants ¶
const ( XFile = "file/" XFileSystem = "/file_system" XNFSExport = "/nfs_export" XNASServer = "/nas_server" XFileInterface = "/file_interface" )
constants to be used in APIs
const ( // DefaultAPIVersion is the default API version you will get if not specified to NewClientWithArgs. // The other supported versions are listed here. DefaultAPIVersion = "100" // APIVersion91 is the API version corresponding to 91 APIVersion91 = "91" )
const ( Average = "Average" Performance = "performance" StorageGroup = "/StorageGroup" Volume = "/Volume" FileSystem = "/file/filesystem" Metrics = "/metrics" Keys = "/keys" Array = "/Array" )
The following constants are for the query of performance metrics for pmax
const ( // XEnvironment constant for internal use in URL XEnvironment = "/environment/" // IncludeMigrations constant for internal use in URL IncludeMigrations = "?includeMigrations" )
const ( Replication = "replication/" SnapID = "/snapid" )
The follow constants are for internal use within the pmax library.
const ( SLOProvisioningX = "sloprovisioning/" SnapshotPolicy = "/snapshot_policy" SymmetrixX = "symmetrix/" IteratorX = "common/Iterator/" XPage = "/page" XVolume = "/volume" XStorageGroup = "/storagegroup" XPortGroup = "/portgroup" XInitiator = "/initiator" XHost = "/host" XHostGroup = "/hostgroup" XMaskingView = "/maskingview" Emulation = "FBA" MaxVolIdentifierLength = 64 Migration = "migration/" )
The follow constants are for internal use within the pmax library.
const ( RESTPrefix = "univmax/restapi/" StorageResourcePool = "srp" )
The following constants are for internal use of the pmax library.
const ( XRDFGroup = "/rdf_group" XFREERDFG = "/rdf_group_numbers_free" XRDFDIR = "/rdf_director/" XRDFONLINEDIR = "/rdf_director?online=true" XRDFPORT = "/port/" XRDFPORTONLINE = "/port?online=true" XREMOTEPORT = "/remote_port" ASYNC = "ASYNC" METRO = "METRO" SYNC = "SYNC" XMigration = "migration/" XRemoteSymID = "?remote_symmetrix_id=" )
The following constants are for internal use within the pmax library.
const ( ReplicationX = "replication/" PrivateX = "private/" // PrivURLPrefix = RESTPrefix + PrivateX + APIVersion + "/" XSnapshot = "/snapshot" XGenereation = "/generation" )
The following constants are for internal use within the pmax library.
Variables ¶
var ( // MAXJobRetryCount is the maximum number of retries to wait on a job. // It is a variable so that unit testing can set it lower. MAXJobRetryCount = 30 // JobRetrySleepDuration is the amount of time between retries. JobRetrySleepDuration = 3 * time.Second )
var Debug = false
Debug is a boolean, when enabled, that enables logging of send payloads, and other debug information. Default to false. It is set true by unit testing.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is the callers handle to the pmax client library. Obtain a client by calling NewClient.
func (*Client) AddVolumesToProtectedStorageGroup ¶
func (c *Client) AddVolumesToProtectedStorageGroup(ctx context.Context, symID, storageGroupID, remoteSymID, remoteStorageGroupID string, force bool, volumeIDs ...string) error
AddVolumesToProtectedStorageGroup adds one or more volumes (given by their volumeIDs) to a Protected StorageGroup.
func (*Client) AddVolumesToStorageGroup ¶
func (c *Client) AddVolumesToStorageGroup(ctx context.Context, symID, storageGroupID string, force bool, volumeIDs ...string) error
AddVolumesToStorageGroup adds one or more volumes (given by their volumeIDs) to a StorageGroup.
func (*Client) AddVolumesToStorageGroupS ¶
func (c *Client) AddVolumesToStorageGroupS(ctx context.Context, symID, storageGroupID string, force bool, volumeIDs ...string) error
AddVolumesToStorageGroupS adds one or more volumes (given by their volumeIDs) to a StorageGroup.
func (*Client) Authenticate ¶
func (c *Client) Authenticate(ctx context.Context, configConnect *ConfigConnect) error
Authenticate and get API version
func (*Client) CreateFileSystem ¶ added in v2.4.0
func (c *Client) CreateFileSystem(ctx context.Context, symID, name, nasServer, serviceLevel string, sizeInMiB int64) (*types.FileSystem, error)
CreateFileSystem creates a file system
func (*Client) CreateHost ¶
func (c *Client) CreateHost(ctx context.Context, symID string, hostID string, initiatorIDs []string, hostFlags *types.HostFlags) (*types.Host, error)
CreateHost creates a host from a list of InitiatorIDs (and optional HostFlags) return returns a types.Host. Initiator IDs do not contain the storage port designations, just the IQN string or FC WWN. Initiator IDs cannot be a member of more than one host.
func (*Client) CreateHostGroup ¶ added in v2.2.0
func (c *Client) CreateHostGroup(ctx context.Context, symID string, hostGroupID string, hostIDs []string, hostFlags *types.HostFlags) (*types.HostGroup, error)
CreateHostGroup creates a hostGroup from a list of hostIDs (and optional HostFlags) return returns a types.HostGroup.
func (*Client) CreateMaskingView ¶
func (c *Client) CreateMaskingView(ctx context.Context, symID string, maskingViewID string, storageGroupID string, hostOrhostGroupID string, isHost bool, portGroupID string) (*types.MaskingView, error)
CreateMaskingView creates a masking view and returns the masking view object
func (*Client) CreateMigrationEnvironment ¶ added in v2.2.0
func (c *Client) CreateMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) (*types.MigrationEnv, error)
CreateMigrationEnvironment validates existence of or creates migration environment between local and remote arrays
func (*Client) CreateNFSExport ¶ added in v2.4.0
func (c *Client) CreateNFSExport(ctx context.Context, symID string, createNFSExportPayload types.CreateNFSExport) (*types.NFSExport, error)
CreateNFSExport creates a NFSExport
func (*Client) CreatePortGroup ¶
func (c *Client) CreatePortGroup(ctx context.Context, symID string, portGroupID string, dirPorts []types.PortKey, protocol string) (*types.PortGroup, error)
CreatePortGroup - Creates a Port Group
func (*Client) CreateRDFPair ¶
func (c *Client) CreateRDFPair(ctx context.Context, symID, rdfGroupNo, deviceID, rdfMode, rdfType string, establish, exemptConsistency bool) (*types.RDFDevicePairList, error)
CreateRDFPair creates an RDF device pair in the given RDF group
func (*Client) CreateSGMigration ¶ added in v2.2.0
func (c *Client) CreateSGMigration(ctx context.Context, localSymID, remoteSymID, storageGroup string) (*types.MigrationSession, error)
CreateSGMigration create migration session on a storage group
func (*Client) CreateSGReplica ¶
func (c *Client) CreateSGReplica(ctx context.Context, symID, remoteSymID, rdfMode, rdfGroupNo, sourceSG, remoteSGName, remoteServiceLevel string, bias bool) (*types.SGRDFInfo, error)
CreateSGReplica creates a storage group on remote array and protect them with given RDF Mode and a given source storage group
func (*Client) CreateSnapshot ¶
func (c *Client) CreateSnapshot(ctx context.Context, symID string, snapID string, sourceVolumeList []types.VolumeList, ttl int64) error
CreateSnapshot creates a snapVx snapshot of a volume or on the list of volumes passed as sourceVolumeList BothSides flag is used in SRDF usecases to create snapshots on both R1 and R2 side Star flag is used if the source device is participating in SRDF star mode Use the Force flag to automate some scenarios to succeed TimeToLive value ins hour is set on the snapshot to automatically delete the snapshot after target is unlinked
func (*Client) CreateSnapshotPolicy ¶ added in v2.3.0
func (c *Client) CreateSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string, interval string, offsetMins int32, complianceCountWarn int64, complianceCountCritical int64, optionalPayload map[string]interface{}, ) (*types.SnapshotPolicy, error)
CreateSnapshotPolicy creates a Snapshot policy and returns a types.SnapshotPolicy.
func (*Client) CreateStorageGroup ¶
func (c *Client) CreateStorageGroup(ctx context.Context, symID, storageGroupID, srpID, serviceLevel string, thickVolumes bool, optionalPayload map[string]interface{}) (*types.StorageGroup, error)
CreateStorageGroup creates a Storage Group given the storageGroupID (name), srpID (storage resource pool), service level, and boolean for thick volumes. If srpID is "None" then serviceLevel and thickVolumes settings are ignored
func (*Client) CreateStorageGroupSnapshot ¶ added in v2.3.0
func (c *Client) CreateStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, payload *types.CreateStorageGroupSnapshot) (*types.StorageGroupSnap, error)
CreateStorageGroupSnapshot Create a Storage Group Snapshot
func (*Client) CreateVolumeInProtectedStorageGroupS ¶
func (c *Client) CreateVolumeInProtectedStorageGroupS(ctx context.Context, symID, remoteSymID, storageGroupID string, remoteStorageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}, opts ...http.Header) (*types.Volume, error)
CreateVolumeInProtectedStorageGroupS takes simplified input arguments to create a volume of a give name and size in a protected storage group. This will add volume in both Local and Remote Storage group This method is run synchronously
func (*Client) CreateVolumeInStorageGroup ¶
func (c *Client) CreateVolumeInStorageGroup(ctx context.Context, symID string, storageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}) (*types.Volume, error)
CreateVolumeInStorageGroup creates a volume in the specified Storage Group with a given volumeName and the size of the volume in cylinders.
func (*Client) CreateVolumeInStorageGroupS ¶
func (c *Client) CreateVolumeInStorageGroupS(ctx context.Context, symID, storageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}, opts ...http.Header) (*types.Volume, error)
CreateVolumeInStorageGroupS creates a volume in the specified Storage Group with a given volumeName and the size of the volume in cylinders. This method is run synchronously
func (*Client) DeleteFileSystem ¶ added in v2.4.0
DeleteFileSystem deletes a file system
func (*Client) DeleteHost ¶
DeleteHost deletes a host entry.
func (*Client) DeleteHostGroup ¶ added in v2.2.0
DeleteHostGroup deletes a host entry.
func (*Client) DeleteMaskingView ¶
DeleteMaskingView deletes a storage group
func (*Client) DeleteMigrationEnvironment ¶ added in v2.2.0
func (c *Client) DeleteMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) error
DeleteMigrationEnvironment deletes a migration environment
func (*Client) DeleteNASServer ¶ added in v2.4.0
DeleteNASServer deletes a nas server
func (*Client) DeleteNFSExport ¶ added in v2.4.0
DeleteNFSExport deletes a nfs export
func (*Client) DeletePortGroup ¶
DeletePortGroup - Deletes a PG
func (*Client) DeleteSnapshot ¶
func (c *Client) DeleteSnapshot(ctx context.Context, symID, snapID string, sourceVolumes []types.VolumeList, generation int64) error
DeleteSnapshot deletes a snapshot from a volume DeviceNameListSource is a list which contains the names of source volumes Symforce flag is used to automate some internal establish scenarios Star mode is used for devices in SRDF relations Use the Force flag in acceptable error conditions Restore, when set to true will terminate the Restore and the Snapshot as well Generation is used to tell which generation of snapshot needs to be deleted and is passed as int64 ExecutionOption tells the Unisphere to perform the operation either in Synchronous mode or Asynchronous mode
func (*Client) DeleteSnapshotPolicy ¶ added in v2.3.0
func (c *Client) DeleteSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) error
DeleteSnapshotPolicy deletes a SnapshotPolicy entry.
func (*Client) DeleteSnapshotS ¶
func (c *Client) DeleteSnapshotS(ctx context.Context, symID, snapID string, sourceVolumes []types.VolumeList, generation int64) error
DeleteSnapshotS - Deletes a snapshot synchronously
func (*Client) DeleteStorageGroup ¶
DeleteStorageGroup deletes a storage group
func (*Client) DeleteStorageGroupSnapshot ¶ added in v2.3.0
func (c *Client) DeleteStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, snapID string) error
DeleteStorageGroupSnapshot Delete a Storage Group Snapshot snap
func (*Client) DeleteVolume ¶
DeleteVolume deletes a volume given the symmetrix ID and volume ID. Any storage tracks for the volume must have been previously deallocated using InitiateDeallocationOfTracksFromVolume, and the volume must not be a member of any Storage Group.
func (*Client) DeleteVolumeIDsIterator ¶
DeleteVolumeIDsIterator deletes a volume iterator.
func (*Client) ExecuteCreateRDFGroup ¶
func (c *Client) ExecuteCreateRDFGroup(ctx context.Context, symID string, CreateRDFPayload *types.RDFGroupCreate) error
ExecuteCreateRDFGroup creates the RDF Group
func (*Client) ExecuteReplicationActionOnSG ¶
func (c *Client) ExecuteReplicationActionOnSG(ctx context.Context, symID, action, storageGroup, rdfGroup string, force, exemptConsistency, bias bool) error
ExecuteReplicationActionOnSG executes supported replication based actions on the protected SG
func (*Client) ExpandVolume ¶
func (c *Client) ExpandVolume(ctx context.Context, symID string, volumeID string, rdfGNo int, volumeSize interface{}, capUnits ...string) (*types.Volume, error)
ExpandVolume expands an existing volume to a new (larger) size in CYL
func (*Client) GetAddVolumeToSGPayload ¶
func (c *Client) GetAddVolumeToSGPayload(isSync, force bool, remoteSymID, remoteStorageGroupID string, volumeIDs ...string) (payload interface{})
GetAddVolumeToSGPayload returns payload for adding specific volume/s to SG.
func (*Client) GetAllowedArrays ¶
GetAllowedArrays returns a slice of arrays that can be manipulated
func (*Client) GetArrayPerfKeys ¶ added in v2.2.0
GetArrayPerfKeys returns the available timestamp for the array performance
func (*Client) GetCreateRDFPairPayload ¶
func (c *Client) GetCreateRDFPairPayload(devList types.LocalDeviceListCriteria, rdfMode, rdfType string, establish, exemptConsistency bool) *types.CreateRDFPair
GetCreateRDFPairPayload returns payload for adding a replication pair based on replication mode
func (*Client) GetCreateSGReplicaPayload ¶
func (c *Client) GetCreateSGReplicaPayload(remoteSymID string, rdfMode string, rdfgNo int, remoteSGName string, remoteServiceLevel string, establish, bias bool) *types.CreateSGSRDF
GetCreateSGReplicaPayload returns a payload to create a storage group on remote array from local array and protect it with rdfgNo
func (*Client) GetCreateStorageGroupPayload ¶
func (c *Client) GetCreateStorageGroupPayload(storageGroupID, srpID, serviceLevel string, thickVolumes bool, optionalPayload map[string]interface{}) (payload interface{})
GetCreateStorageGroupPayload returns U4P payload for creating storage group
func (*Client) GetCreateVolInSGPayload ¶
func (c *Client) GetCreateVolInSGPayload(volumeSize interface{}, capUnit string, volumeName string, isSync, enableMobility bool, remoteSymID, remoteStorageGroupID string, opts ...http.Header) (payload interface{})
GetCreateVolInSGPayload returns payload for adding volume/s to SG. if remoteSymID is passed then the payload includes RemoteSymmSGInfoParam.
func (*Client) GetDirectorIDList ¶
func (c *Client) GetDirectorIDList(ctx context.Context, symID string) (*types.DirectorIDList, error)
GetDirectorIDList returns a list of all the directors on a given array.
func (*Client) GetFileInterfaceByID ¶ added in v2.4.0
func (c *Client) GetFileInterfaceByID(ctx context.Context, symID, interfaceID string) (*types.FileInterface, error)
GetFileInterfaceByID get file system on a symID
func (*Client) GetFileSystemByID ¶ added in v2.4.0
func (c *Client) GetFileSystemByID(ctx context.Context, symID, fsID string) (*types.FileSystem, error)
GetFileSystemByID get file system on a symID
func (*Client) GetFileSystemList ¶ added in v2.4.0
func (c *Client) GetFileSystemList(ctx context.Context, symID string, query types.QueryParams) (*types.FileSystemIterator, error)
GetFileSystemList get file system list on a symID
func (*Client) GetFileSystemMetricsByID ¶ added in v2.7.0
func (c *Client) GetFileSystemMetricsByID(ctx context.Context, symID string, fsID string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.FileSystemMetricsIterator, error)
GetFileSystemMetricsByID returns a given FileSystem performance metrics
func (*Client) GetFreeLocalAndRemoteRDFg ¶
func (c *Client) GetFreeLocalAndRemoteRDFg(ctx context.Context, localSymID string, remoteSymID string) (*types.NextFreeRDFGroup, error)
GetFreeLocalAndRemoteRDFg gets the next free RDFg available This API is only available in 10.x
func (*Client) GetHTTPClient ¶
GetHTTPClient will return an underlying http client
func (*Client) GetHostByID ¶
GetHostByID returns a Host given the Symmetrix ID and Host ID.
func (*Client) GetHostGroupByID ¶ added in v2.2.0
func (c *Client) GetHostGroupByID(ctx context.Context, symID string, hostGroupID string) (*types.HostGroup, error)
GetHostGroupByID returns a HostGroup given the Symmetrix ID and HostGroup ID.
func (*Client) GetHostGroupList ¶ added in v2.2.0
GetHostGroupList returns an HostGroupList object, which contains a list of all the HostGroups.
func (*Client) GetHostList ¶
GetHostList returns an HostList object, which contains a list of all the Hosts.
func (*Client) GetISCSITargets ¶
GetISCSITargets returns list of target addresses
func (*Client) GetInitiatorByID ¶
func (c *Client) GetInitiatorByID(ctx context.Context, symID string, initID string) (*types.Initiator, error)
GetInitiatorByID returns an Initiator given the Symmetrix ID and Initiator ID.
func (*Client) GetInitiatorList ¶
func (c *Client) GetInitiatorList(ctx context.Context, symID string, initiatorHBA string, isISCSI bool, inHost bool) (*types.InitiatorList, error)
GetInitiatorList returns an InitiatorList object, which contains a list of all the Initiators. initiatorHBA, isISCSI, inHost are optional arguments which act as filters for the initiator list
func (*Client) GetJobByID ¶
GetJobByID returns a job given the job ID.
func (*Client) GetJobIDList ¶
func (c *Client) GetJobIDList(ctx context.Context, symID string, statusQuery string) ([]string, error)
GetJobIDList returns a list of all the jobs in the symmetrix system. If optional statusQuery is something like JobStatusRunning it will search for running jobs.
func (*Client) GetListOfTargetAddresses ¶
GetListOfTargetAddresses returns list of target addresses
func (*Client) GetLocalOnlineRDFDirs ¶
func (c *Client) GetLocalOnlineRDFDirs(ctx context.Context, localSymID string) (*types.RDFDirList, error)
GetLocalOnlineRDFDirs gets all Online Directors for the given SYMM
func (*Client) GetLocalOnlineRDFPorts ¶
func (c *Client) GetLocalOnlineRDFPorts(ctx context.Context, rdfDir string, localSymID string) (*types.RDFPortList, error)
GetLocalOnlineRDFPorts gets all Online Ports for the given ONLINE RDF Director
func (*Client) GetLocalRDFPortDetails ¶
func (c *Client) GetLocalRDFPortDetails(ctx context.Context, localSymID string, rdfDir string, rdfPort int) (*types.RDFPortDetails, error)
GetLocalRDFPortDetails gets Local RDF Port Details which are Live on SAN.
func (*Client) GetMaskingViewByID ¶
func (c *Client) GetMaskingViewByID(ctx context.Context, symID string, maskingViewID string) (*types.MaskingView, error)
GetMaskingViewByID returns a masking view given it's identifier (which is the name)
func (*Client) GetMaskingViewConnections ¶
func (c *Client) GetMaskingViewConnections(ctx context.Context, symID string, maskingViewID string, volumeID string) ([]*types.MaskingViewConnection, error)
GetMaskingViewConnections returns the connections of a masking view (optionally for a specific volume id.) Here volume id is the 5 digit volume ID.
func (*Client) GetMaskingViewList ¶
func (c *Client) GetMaskingViewList(ctx context.Context, symID string) (*types.MaskingViewList, error)
GetMaskingViewList returns a list of the MaskingView names.
func (*Client) GetMigrationEnvironment ¶ added in v2.2.0
func (c *Client) GetMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) (*types.MigrationEnv, error)
GetMigrationEnvironment validates existence of or creates migration environment between local and remote arrays
func (*Client) GetNASServerByID ¶ added in v2.4.0
func (c *Client) GetNASServerByID(ctx context.Context, symID, nasID string) (*types.NASServer, error)
GetNASServerByID fetch specific NAS server on a symID
func (*Client) GetNASServerList ¶ added in v2.4.0
func (c *Client) GetNASServerList(ctx context.Context, symID string, query types.QueryParams) (*types.NASServerIterator, error)
GetNASServerList get NAS Server list on a symID
func (*Client) GetNFSExportByID ¶ added in v2.4.0
func (c *Client) GetNFSExportByID(ctx context.Context, symID, nfsExportID string) (*types.NFSExport, error)
GetNFSExportByID get file system on a symID
func (*Client) GetNFSExportList ¶ added in v2.4.0
func (c *Client) GetNFSExportList(ctx context.Context, symID string, query types.QueryParams) (*types.NFSExportIterator, error)
GetNFSExportList get NFS export list on a symID
func (*Client) GetNVMeTCPTargets ¶ added in v2.7.0
GetNVMeTCPTargets returns list of target addresses
func (*Client) GetPort ¶
func (c *Client) GetPort(ctx context.Context, symID string, directorID string, portID string) (*types.Port, error)
GetPort returns port details.
func (*Client) GetPortGroupByID ¶
func (c *Client) GetPortGroupByID(ctx context.Context, symID string, portGroupID string) (*types.PortGroup, error)
GetPortGroupByID returns a PortGroup given the Symmetrix ID and Port Group ID.
func (*Client) GetPortGroupList ¶
func (c *Client) GetPortGroupList(ctx context.Context, symID string, portGroupType string) (*types.PortGroupList, error)
GetPortGroupList returns a PortGroupList object, which contains a list of the Port Groups which can be optionally filtered based on type
func (*Client) GetPortList ¶
func (c *Client) GetPortList(ctx context.Context, symID string, directorID string, query string) (*types.PortList, error)
GetPortList returns a list of all the ports on a specified director/array.
func (*Client) GetPrivVolumeByID ¶
func (c *Client) GetPrivVolumeByID(ctx context.Context, symID string, volumeID string) (*types.VolumeResultPrivate, error)
GetPrivVolumeByID returns a Volume structure given the symmetrix and volume ID
func (*Client) GetProtectedStorageGroup ¶
func (c *Client) GetProtectedStorageGroup(ctx context.Context, symID, storageGroup string) (*types.RDFStorageGroup, error)
GetProtectedStorageGroup returns protected storage group given the storage group ID
func (*Client) GetRDFDevicePairInfo ¶
func (c *Client) GetRDFDevicePairInfo(ctx context.Context, symID, rdfGroup, volumeID string) (*types.RDFDevicePair, error)
GetRDFDevicePairInfo returns RDF volume information
func (*Client) GetRDFGroupByID ¶
func (c *Client) GetRDFGroupByID(ctx context.Context, symID, rdfGroupNo string) (*types.RDFGroup, error)
GetRDFGroupByID returns RDF group information given the RDF group number
func (*Client) GetRDFGroupList ¶
func (c *Client) GetRDFGroupList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.RDFGroupList, error)
GetRDFGroupList fetches all RDF group
func (*Client) GetRemoteRDFPortOnSAN ¶
func (c *Client) GetRemoteRDFPortOnSAN(ctx context.Context, localSymID string, rdfDir string, rdfPort string) (*types.RemoteRDFPortDetails, error)
GetRemoteRDFPortOnSAN gets Remote RDF Port on the SAN connected to this Local Array.
func (*Client) GetRemoveVolumeFromSGPayload ¶
func (c *Client) GetRemoveVolumeFromSGPayload(force bool, remoteSymID, remoteStorageGroupID string, volumeIDs ...string) (payload interface{})
GetRemoveVolumeFromSGPayload returns payload for removing volume/s from SG.
func (*Client) GetReplicationCapabilities ¶
func (c *Client) GetReplicationCapabilities(ctx context.Context) (*types.SymReplicationCapabilities, error)
GetReplicationCapabilities returns details about SnapVX and SRDF execution capabilities on the Symmetrix array
func (*Client) GetSnapVolumeList ¶
func (c *Client) GetSnapVolumeList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.SymVolumeList, error)
GetSnapVolumeList returns a list of all snapshot volumes on the array.
func (*Client) GetSnapshotGenerationInfo ¶
func (c *Client) GetSnapshotGenerationInfo(ctx context.Context, symID, volumeID, snapID string, generation int64) (*types.VolumeSnapshotGeneration, error)
GetSnapshotGenerationInfo returns the specific generation info related to a snapshot
func (*Client) GetSnapshotGenerations ¶
func (c *Client) GetSnapshotGenerations(ctx context.Context, symID, volumeID, snapID string) (*types.VolumeSnapshotGenerations, error)
GetSnapshotGenerations returns a list of all the snapshot generation on a specific snapshot
func (*Client) GetSnapshotInfo ¶
func (c *Client) GetSnapshotInfo(ctx context.Context, symID, volumeID, snapID string) (*types.VolumeSnapshot, error)
GetSnapshotInfo returns snapVx information of the specified snapshot
func (*Client) GetSnapshotPolicy ¶ added in v2.3.0
func (c *Client) GetSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) (*types.SnapshotPolicy, error)
GetSnapshotPolicy returns a SnapshotPolicy given the Symmetrix ID and SnapshotPolicy ID (which is really a name).
func (*Client) GetSnapshotPolicyList ¶ added in v2.3.0
func (c *Client) GetSnapshotPolicyList(ctx context.Context, symID string) (*types.SnapshotPolicyList, error)
GetSnapshotPolicyList returns all the SnapshotPolicy names given the Symmetrix ID
func (*Client) GetStorageGroup ¶
func (c *Client) GetStorageGroup(ctx context.Context, symID string, storageGroupID string) (*types.StorageGroup, error)
GetStorageGroup returns a StorageGroup given the Symmetrix ID and Storage Group ID (which is really a name).
func (*Client) GetStorageGroupIDList ¶
func (c *Client) GetStorageGroupIDList(ctx context.Context, symID, storageGroupIDMatch string, like bool) (*types.StorageGroupIDList, error)
GetStorageGroupIDList returns a list of StorageGroupIds in a StorageGroupIDList type.
func (*Client) GetStorageGroupMetrics ¶ added in v2.2.0
func (c *Client) GetStorageGroupMetrics(ctx context.Context, symID string, storageGroupID string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.StorageGroupMetricsIterator, error)
GetStorageGroupMetrics returns a list of Storage Group performance metrics
func (*Client) GetStorageGroupMigration ¶ added in v2.2.0
func (c *Client) GetStorageGroupMigration(ctx context.Context, localSymID string) (*types.MigrationStorageGroups, error)
GetStorageGroupMigration returns migration sessions on the array
func (*Client) GetStorageGroupMigrationByID ¶ added in v2.2.0
func (c *Client) GetStorageGroupMigrationByID(ctx context.Context, localSymID, storageGroupID string) (*types.MigrationSession, error)
GetStorageGroupMigrationByID returns migration details for a storage group
func (*Client) GetStorageGroupPerfKeys ¶ added in v2.2.0
func (c *Client) GetStorageGroupPerfKeys(ctx context.Context, symID string) (*types.StorageGroupKeysResult, error)
GetStorageGroupPerfKeys returns the available timestamp for the storage group performance
func (*Client) GetStorageGroupRDFInfo ¶
func (c *Client) GetStorageGroupRDFInfo(ctx context.Context, symID, sgName, rdfGroupNo string) (*types.StorageGroupRDFG, error)
GetStorageGroupRDFInfo returns the of RDF info of protected storage group
func (*Client) GetStorageGroupSnapshotPolicy ¶ added in v2.1.0
func (c *Client) GetStorageGroupSnapshotPolicy(ctx context.Context, symID, snapshotPolicyID, storageGroupID string) (*types.StorageGroupSnapshotPolicy, error)
GetStorageGroupSnapshotPolicy returns a StorageGroup snapshotPolicy given the Symmetrix ID, Storage Group ID (which is really a name) and Snapshot Policy ID (which is really a name).
func (*Client) GetStorageGroupSnapshotSnap ¶ added in v2.3.0
func (c *Client) GetStorageGroupSnapshotSnap(ctx context.Context, symID string, storageGroupID string, snapshotID, snapID string) (*types.StorageGroupSnap, error)
GetStorageGroupSnapshotSnap Get the details of a storage group snapshot snap
func (*Client) GetStorageGroupSnapshotSnapIDs ¶ added in v2.7.0
func (c *Client) GetStorageGroupSnapshotSnapIDs(ctx context.Context, symID string, storageGroupID string, snapshotID string) (*types.SnapID, error)
GetStorageGroupSnapshotSnapIDs Get a list of SnapIDs for a particular snapshot
func (*Client) GetStorageGroupSnapshots ¶ added in v2.3.0
func (c *Client) GetStorageGroupSnapshots(ctx context.Context, symID string, storageGroupID string, excludeManualSnaps bool, excludeSlSnaps bool) (*types.StorageGroupSnapshot, error)
GetStorageGroupSnapshots Get All Storage Group Snapshots
func (*Client) GetStoragePool ¶
func (c *Client) GetStoragePool(ctx context.Context, symID string, storagePoolID string) (*types.StoragePool, error)
GetStoragePool returns a StoragePool given the Symmetrix ID and Storage Pool ID
func (*Client) GetStoragePoolList ¶
func (c *Client) GetStoragePoolList(ctx context.Context, symid string) (*types.StoragePoolList, error)
GetStoragePoolList returns a StoragePoolList object, which contains a list of all the Storage Pool names.
func (*Client) GetSymmetrixByID ¶
GetSymmetrixByID returns the Symmetrix summary structure given a symmetrix id.
func (*Client) GetSymmetrixIDList ¶
GetSymmetrixIDList returns a list of all the symmetrix systems known to the connected Unisphere instance.
func (*Client) GetTimeoutContext ¶
GetTimeoutContext sets up a timeout of time PmaxTimeout for the returned context. The user caller should call the cancel function that is returned.
func (*Client) GetVolumeByID ¶
func (c *Client) GetVolumeByID(ctx context.Context, symID string, volumeID string) (*types.Volume, error)
GetVolumeByID returns a Volume structure given the symmetrix and volume ID (volume ID is 5-digit hex field)
func (*Client) GetVolumeByIdentifier ¶
func (c *Client) GetVolumeByIdentifier(ctx context.Context, symID, storageGroupID string, volumeName string, volumeSize interface{}, capUnit string) (*types.Volume, error)
GetVolumeByIdentifier on the given symmetrix in specific storage group with a volume name and having size in cylinders
func (*Client) GetVolumeIDList ¶
func (c *Client) GetVolumeIDList(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) ([]string, error)
GetVolumeIDList gets a list of matching volume ids. If volumeIdentifierMatch is the empty string, all volumes are returned. Otherwise the volumes are filtered to volumes whose VolumeIdentifier exactly matches the volumeIdentfierMatch argument (when like is false), or whose VolumeIdentifier contains the volumeIdentifierMatch argument (when like is true).
func (*Client) GetVolumeIDListInStorageGroup ¶
func (c *Client) GetVolumeIDListInStorageGroup(ctx context.Context, symID string, storageGroupID string) ([]string, error)
GetVolumeIDListInStorageGroup - Gets a list of volume in a SG
func (*Client) GetVolumeIDListWithParams ¶ added in v2.3.0
func (c *Client) GetVolumeIDListWithParams(ctx context.Context, symID string, queryParams map[string]string) ([]string, error)
GetVolumeIDListWithParams - Gets a list of volume ids with parameters
func (*Client) GetVolumeIDsIterator ¶
func (c *Client) GetVolumeIDsIterator(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) (*types.VolumeIterator, error)
GetVolumeIDsIterator returns a VolumeIDs Iterator. It generally fetches the first page in the result as part of the operation.
func (*Client) GetVolumeIDsIteratorPage ¶
func (c *Client) GetVolumeIDsIteratorPage(ctx context.Context, iter *types.VolumeIterator, from, to int) ([]string, error)
GetVolumeIDsIteratorPage fetches the next page of the iterator's result. From is the starting point. To can be left as 0, or can be set to the last element desired.
func (*Client) GetVolumeIDsIteratorWithParams ¶ added in v2.3.0
func (c *Client) GetVolumeIDsIteratorWithParams(ctx context.Context, symID string, queryParams map[string]string) (*types.VolumeIterator, error)
GetVolumeIDsIteratorWithParams returns an iterator of a list of volumes with query parameters For multiple parameters in single field, use ',' to separate the values
func (*Client) GetVolumeSnapInfo ¶
func (c *Client) GetVolumeSnapInfo(ctx context.Context, symID string, volumeID string) (*types.SnapshotVolumeGeneration, error)
GetVolumeSnapInfo returns snapVx information associated with a volume.
func (*Client) GetVolumesInStorageGroupIterator ¶
func (c *Client) GetVolumesInStorageGroupIterator(ctx context.Context, symID string, storageGroupID string) (*types.VolumeIterator, error)
GetVolumesInStorageGroupIterator returns a iterator of a list of volumes associated with a StorageGroup.
func (*Client) GetVolumesMetrics ¶ added in v2.2.0
func (c *Client) GetVolumesMetrics(ctx context.Context, symID string, storageGroups string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.VolumeMetricsIterator, error)
GetVolumesMetrics returns a list of Volume performance metrics
func (*Client) GetVolumesMetricsByID ¶ added in v2.7.0
func (c *Client) GetVolumesMetricsByID(ctx context.Context, symID string, volID string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.VolumeMetricsIterator, error)
GetVolumesMetricsByID returns a given Volume performance metrics
func (*Client) InitiateDeallocationOfTracksFromVolume ¶
func (c *Client) InitiateDeallocationOfTracksFromVolume(ctx context.Context, symID string, volumeID string) (*types.Job, error)
InitiateDeallocationOfTracksFromVolume is an asynchrnous operation (that returns a job) to remove tracks from a volume.
func (*Client) IsAllowedArray ¶
IsAllowedArray checks to see if we can manipulate the specified array
func (*Client) JobToString ¶
JobToString takes a Job and returns a string giving the job id, status, time completed, and result for easy display.
func (*Client) MigrateStorageGroup ¶ added in v2.2.0
func (c *Client) MigrateStorageGroup(ctx context.Context, symID, storageGroupID, srpID, serviceLevel string, thickVolumes bool) (*v100.StorageGroup, error)
MigrateStorageGroup creates a Storage Group given the storageGroupID (name), srpID (storage resource pool), service level, and boolean for thick volumes. If srpID is "None" then serviceLevel and thickVolumes settings are ignored
func (*Client) ModifyFileSystem ¶ added in v2.4.0
func (c *Client) ModifyFileSystem(ctx context.Context, symID, fsID string, payload types.ModifyFileSystem) (*types.FileSystem, error)
ModifyFileSystem modifies the given file system
func (*Client) ModifyMigrationSession ¶ added in v2.2.0
func (c *Client) ModifyMigrationSession(ctx context.Context, localSymID, action, storageGroup string) error
ModifyMigrationSession does modification to storage group migration session this is used to do commit, sync, cut over on a migration session
func (*Client) ModifyMobilityForVolume ¶ added in v2.1.0
func (c *Client) ModifyMobilityForVolume(ctx context.Context, symID string, volumeID string, mobility bool) (*types.Volume, error)
ModifyMobilityForVolume enables/disables mobility for the volume. The volume should not be associated with any maskingview if mobility has to be enabled.
func (*Client) ModifyNASServer ¶ added in v2.4.0
func (c *Client) ModifyNASServer(ctx context.Context, symID, nasID string, payload types.ModifyNASServer) (*types.NASServer, error)
ModifyNASServer updates a NAS Server
func (*Client) ModifyNFSExport ¶ added in v2.4.0
func (c *Client) ModifyNFSExport(ctx context.Context, symID, nfsExportID string, payload types.ModifyNFSExport) (*types.NFSExport, error)
ModifyNFSExport updates a NFS export
func (*Client) ModifySnapshot ¶
func (c *Client) ModifySnapshot(ctx context.Context, symID string, sourceVol []types.VolumeList, targetVol []types.VolumeList, snapID string, action string, newSnapID string, generation int64, isCopy bool, ) error
ModifySnapshot executes actions on a snapshot VolumeNameListSource is a list which contains the names of source volumes VolumeNameListTarget is a list which contains the names of target volumes to which the snapshot is linked or going to be linked Symforce flag is used to automate some internal establish scenarios Star mode is used for devices in SRDF relations Use the Force flag in acceptable error conditions Restore, when set to true will terminate the Restore and the Snapshot as well Exact when specified, pairs source and link devices in their ordinal positions within the selection. When not set uses the source and link device selections as a pool that pairs by best match Copy when specified creates an exact copy of the source device, otherwise copies the references Remote when specified propagates the data to the remote mirror of the RDF device Generation is used to tell which generation of snapshot needs to be updated, it is passed as int64 NewSnapshotName specifies the new snapshot name to which the old snapshot will be renamed ExecutionOption tells the Unisphere to perform the operation either in Synchronous mode or Asynchronous mode Action defined the operation which will be performed on the given snapshot
func (*Client) ModifySnapshotS ¶
func (c *Client) ModifySnapshotS(ctx context.Context, symID string, sourceVol []types.VolumeList, targetVol []types.VolumeList, snapID string, action string, newSnapID string, generation int64, isCopy bool, ) error
ModifySnapshotS executes actions on snapshots synchronously
func (*Client) ModifyStorageGroupSnapshot ¶ added in v2.3.0
func (c *Client) ModifyStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, snapID string, payload *types.ModifyStorageGroupSnapshot) (*types.StorageGroupSnap, error)
ModifyStorageGroupSnapshot Modify a Storage Group Snapshot snap
func (*Client) RefreshSymmetrix ¶ added in v2.5.1
RefreshSymmetrix refreshes symmetrix cache
func (*Client) RemoveVolumesFromProtectedStorageGroup ¶
func (c *Client) RemoveVolumesFromProtectedStorageGroup(ctx context.Context, symID string, storageGroupID, remoteSymID, remoteStorageGroupID string, force bool, volumeIDs ...string) (*types.StorageGroup, error)
RemoveVolumesFromProtectedStorageGroup removes one or more volumes (given by their volumeIDs) from a Protected StorageGroup.
func (*Client) RemoveVolumesFromStorageGroup ¶
func (c *Client) RemoveVolumesFromStorageGroup(ctx context.Context, symID string, storageGroupID string, force bool, volumeIDs ...string) (*types.StorageGroup, error)
RemoveVolumesFromStorageGroup removes one or more volumes (given by their volumeIDs) from a StorageGroup.
func (*Client) RenameMaskingView ¶ added in v2.1.0
func (c *Client) RenameMaskingView(ctx context.Context, symID string, maskingViewID string, newName string) (*types.MaskingView, error)
RenameMaskingView - Renames a masking view
func (*Client) RenamePortGroup ¶ added in v2.1.0
func (c *Client) RenamePortGroup(ctx context.Context, symID string, portGroupID string, newName string) (*types.PortGroup, error)
RenamePortGroup - Renames a port group
func (*Client) RenameVolume ¶
func (c *Client) RenameVolume(ctx context.Context, symID string, volumeID string, newName string) (*types.Volume, error)
RenameVolume renames a volume.
func (*Client) SetAllowedArrays ¶
SetAllowedArrays sets the list of arrays which can be manipulated an empty list will allow all arrays to be accessed
func (*Client) SetContextTimeout ¶
SetContextTimeout sets the context timeout value for the API requests
func (*Client) UpdateHostFlags ¶ added in v2.1.0
func (c *Client) UpdateHostFlags(ctx context.Context, symID string, hostID string, hostFlags *types.HostFlags) (*types.Host, error)
UpdateHostFlags updates the host flags
func (*Client) UpdateHostGroupFlags ¶ added in v2.2.0
func (c *Client) UpdateHostGroupFlags(ctx context.Context, symID string, hostGroupID string, hostFlags *types.HostFlags) (*types.HostGroup, error)
UpdateHostGroupFlags updates the host flags
func (*Client) UpdateHostGroupHosts ¶ added in v2.2.0
func (c *Client) UpdateHostGroupHosts(ctx context.Context, symID string, hostGroupID string, hostIDs []string) (*types.HostGroup, error)
UpdateHostGroupHosts will add/remove the hosts for a host group
func (*Client) UpdateHostGroupName ¶ added in v2.2.0
func (c *Client) UpdateHostGroupName(ctx context.Context, symID, oldHostGroupID, newHostGroupID string) (*types.HostGroup, error)
UpdateHostGroupName updates a hostGroup with new hostGroup ID and returns a types.HostGroup.
func (*Client) UpdateHostInitiators ¶
func (c *Client) UpdateHostInitiators(ctx context.Context, symID string, host *types.Host, initiatorIDs []string) (*types.Host, error)
UpdateHostInitiators updates a host from a list of InitiatorIDs and returns a types.Host.
func (*Client) UpdateHostName ¶
func (c *Client) UpdateHostName(ctx context.Context, symID, oldHostID, newHostID string) (*types.Host, error)
UpdateHostName updates a host with new hostID and returns a types.Host.
func (*Client) UpdatePortGroup ¶
func (c *Client) UpdatePortGroup(ctx context.Context, symID string, portGroupID string, ports []types.PortKey) (*types.PortGroup, error)
UpdatePortGroup - Update the PortGroup based on the 'ports' slice. The slice represents the intended configuration of the PortGroup after _successful_ completion of the request. NB: based on the passed in 'ports' the implementation will determine how to update the PortGroup and make appropriate REST calls sequentially. Take this into consideration when making parallel calls.
func (*Client) UpdateSnapshotPolicy ¶ added in v2.3.0
func (c *Client) UpdateSnapshotPolicy(ctx context.Context, symID string, action string, snapshotPolicyID string, optionalPayload map[string]interface{}) error
UpdateSnapshotPolicy is a general method to update a SnapshotPolicy (PUT operation) based on the action using a UpdateSnapshotPolicyPayload.
func (*Client) UpdateStorageGroup ¶
func (c *Client) UpdateStorageGroup(ctx context.Context, symID string, storageGroupID string, payload interface{}) (*types.Job, error)
UpdateStorageGroup is a general method to update a StorageGroup (PUT operation) using a UpdateStorageGroupPayload.
func (*Client) UpdateStorageGroupS ¶
func (c *Client) UpdateStorageGroupS(ctx context.Context, symID string, storageGroupID string, payload interface{}) error
UpdateStorageGroupS is a general method to update a StorageGroup (PUT operation) using a UpdateStorageGroupPayload.
func (*Client) WaitOnJobCompletion ¶
func (c *Client) WaitOnJobCompletion(ctx context.Context, symID string, jobID string) (*types.Job, error)
WaitOnJobCompletion waits until a Job reaches a terminal state. The state may be JobStatusSucceeded or JobStatusFailed (it is the caller's responsibility to check.)
func (*Client) WithSymmetrixID ¶
WithSymmetrixID sets the default array for the client
type ConfigConnect ¶
ConfigConnect is an argument structure that can be passed to Authenticate. It contains the Endpoint, API Version (which should not be used), Username, and Password.
type ISCSITarget ¶
ISCSITarget is a structure representing a target IQN and associated IP addresses
type NVMeTCPTarget ¶ added in v2.7.0
NVMeTCPTarget is a structure representing a target NQN and associated IP addresses
type Pmax ¶
type Pmax interface { GetHTTPClient() *http.Client // Authenticate causes authentication and tests the connection Authenticate(ctx context.Context, configConnect *ConfigConnect) error // WithSymmetrixID set a default symmetrix ID for the admin client, // for it to be added to the request header. WithSymmetrixID(symmetrixID string) Pmax // GetVolumeIDsIterator generates a VolumeIterator containing the ids of either all or a selected set volumes. // The volumeIdentifierMatch string can be used to find a specific volume, or if the like bool is set, all the // volumes containing match as part of their VolumeIdentifier. GetVolumeIDsIterator(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) (*types.VolumeIterator, error) // GetVolumesInStorageGroupIterator returns a list of volumes for a given StorageGroup GetVolumesInStorageGroupIterator(ctx context.Context, symID string, storageGroupID string) (*types.VolumeIterator, error) // GetVolumeIDsIteratorWithParams returns an iterator of a list of volumes with query parameters GetVolumeIDsIteratorWithParams(ctx context.Context, symID string, queryParams map[string]string) (*types.VolumeIterator, error) // GetVolumeIDsIteratorPage gets a page of volume ids from a Volume iterator. GetVolumeIDsIteratorPage(ctx context.Context, iter *types.VolumeIterator, from, to int) ([]string, error) // DeleteVolumeIDsIterator deletes a Volume iterator. DeleteVolumeIDsIterator(ctx context.Context, iter *types.VolumeIterator) error // GetVolumeIDList provides a simpler interface that returns a []string of volume ids // of volumes matching the volumeIdentifierMatch (and like) criteria. It is // implemented in terms of GetVolumeIDsIterator, GetVolumeIDsIteratorPage, and DeleteVolumeIDsIterator // and handles all the details of the iteration for you. GetVolumeIDList(ctx context.Context, symID string, volumeIdentifierMatch string, like bool) ([]string, error) // GetVolumeIDListInStorageGroup returns a list of volume IDs that are associated with the StorageGroup GetVolumeIDListInStorageGroup(ctx context.Context, symID string, storageGroupID string) ([]string, error) // GetVolumeIDListWithParams - Gets a list of volume ids with parameters GetVolumeIDListWithParams(ctx context.Context, symID string, queryParams map[string]string) ([]string, error) // GetVolumeByID returns a Volume given the volumeID. GetVolumeByID(ctx context.Context, symID string, volumeID string) (*types.Volume, error) // GetStorageGroupIDList returns a list of all the StorageGroup ids. GetStorageGroupIDList(ctx context.Context, symID, storageGroupIDMatch string, like bool) (*types.StorageGroupIDList, error) // GetStorageGroup returns a storage group given the StorageGroup id. GetStorageGroup(ctx context.Context, symID string, storageGroupID string) (*types.StorageGroup, error) // GetStorageGroupSnapshotPolicy returns a storage group snapshot policy details. GetStorageGroupSnapshotPolicy(ctx context.Context, symID, snapshotPolicyID, storageGroupID string) (*types.StorageGroupSnapshotPolicy, error) // GetStoragePool returns a storage pool given the GetStoragePoolID and SymID. GetStoragePool(ctx context.Context, symID string, storagePoolID string) (*types.StoragePool, error) // CreateStorageGroup creates a storage group given the Storage group id // and returns the storage group object. The storage group can be configured for thick volumes as an option. // This is a blocking call and will only return after the storage group has been created CreateStorageGroup(ctx context.Context, symID string, storageGroupID string, srpID string, serviceLevel string, thickVolumes bool, optionalPayload map[string]interface{}) (*types.StorageGroup, error) // UpdateStorageGroup updates a storage group (i.e. a PUT operation) and should support all the defined // operations (but many have not been tested). // This is done asynchronously and returns back a job UpdateStorageGroup(ctx context.Context, symID string, storageGroupID string, payload interface{}) (*types.Job, error) // UpdateStorageGroupS updates a storage group (i.e. a PUT operation) and should support all the defined // operations (but many have not been tested). // This is done synchronously and doesn't create any jobs UpdateStorageGroupS(ctx context.Context, symID string, storageGroupID string, payload interface{}) error // CreateVolumeInStorageGroup takes simplified input arguments to create a volume of a give name and size in a particular storage group. // This method creates a job and waits on the job to complete. CreateVolumeInStorageGroup(ctx context.Context, symID string, storageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}) (*types.Volume, error) // CreateVolumeInStorageGroupS takes simplified input arguments to create a volume of a give name and size in a particular storage group. // This is done synchronously and no jobs are created. HTTP header argument is optional CreateVolumeInStorageGroupS(ctx context.Context, symID, storageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}, opts ...http.Header) (*types.Volume, error) // CreateVolumeInProtectedStorageGroupS takes simplified input arguments to create a volume of a give name and size in a protected storage group. // This will add volume in both Local and Remote Storage group // This is done synchronously and no jobs are created. HTTP header argument is optional CreateVolumeInProtectedStorageGroupS(ctx context.Context, symID, remoteSymID, storageGroupID string, remoteStorageGroupID string, volumeName string, volumeSize interface{}, volOpts map[string]interface{}, opts ...http.Header) (*types.Volume, error) // GetStorageGroupSnapshots Gets All Storage Group Snapshots GetStorageGroupSnapshots(ctx context.Context, symID string, storageGroupID string, excludeManualSnaps bool, excludeSlSnaps bool) (*types.StorageGroupSnapshot, error) // GetStorageGroupSnapshotSnapIDs Gets a list of SnapIDs for a particular snapshot GetStorageGroupSnapshotSnapIDs(ctx context.Context, symID string, storageGroupID string, snapshotID string) (*types.SnapID, error) // GetStorageGroupSnapshotSnap Gets the details of a storage group snapshot snap GetStorageGroupSnapshotSnap(ctx context.Context, symID string, storageGroupID string, snapshotID, snapID string) (*types.StorageGroupSnap, error) // CreateStorageGroupSnapshot Creates a Storage Group Snapshot CreateStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, payload *types.CreateStorageGroupSnapshot) (*types.StorageGroupSnap, error) // ModifyStorageGroupSnapshot Modify a Storage Group Snapshot snap ModifyStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, snapID string, payload *types.ModifyStorageGroupSnapshot) (*types.StorageGroupSnap, error) // DeleteStorageGroupSnapshot Deletes a Storage Group Snapshot snap DeleteStorageGroupSnapshot(ctx context.Context, symID string, storageGroupID string, snapshotID string, snapID string) error // DeleteStorageGroup deletes a storage group given a storage group id DeleteStorageGroup(ctx context.Context, symID string, storageGroupID string) error // DeleteMaskingView deletes a masking view given a masking view id DeleteMaskingView(ctx context.Context, symID string, maskingViewID string) error // RenameMaskingView renames masking view given its identifier (which is the name) RenameMaskingView(ctx context.Context, symID string, maskingViewID string, newName string) (*types.MaskingView, error) // GetStoragePoolList Gets the list of Storage Pools GetStoragePoolList(ctx context.Context, symID string) (*types.StoragePoolList, error) // RenameVolume Rename a Volume given the volumeID RenameVolume(ctx context.Context, symID string, volumeID string, newName string) (*types.Volume, error) // AddVolumesToStorageGroup Add volume(s) asynchronously to a StorageGroup AddVolumesToStorageGroup(ctx context.Context, symID, storageGroupID string, force bool, volumeIDs ...string) error // AddVolumesToStorageGroupS Add volume(s) synchronously to a StorageGroup // This is a blocking call and will only return once the volumes have been added to storage group AddVolumesToStorageGroupS(ctx context.Context, symID, storageGroupID string, force bool, volumeIDs ...string) error // AddVolumesToProtectedStorageGroup Adds one or more volumes (given by their volumeIDs) to a Protected StorageGroup AddVolumesToProtectedStorageGroup(ctx context.Context, symID, storageGroupID, remoteSymID, remoteStorageGroupID string, force bool, volumeIDs ...string) error // RemoveVolumesFromStorageGroup Removes volume(s) synchronously from a StorageGroup RemoveVolumesFromStorageGroup(ctx context.Context, symID string, storageGroupID string, force bool, volumeIDs ...string) (*types.StorageGroup, error) // RemoveVolumesFromProtectedStorageGroup removes one or more volumes (given by their volumeIDs) from a Protected StorageGroup. RemoveVolumesFromProtectedStorageGroup(ctx context.Context, symID string, storageGroupID, remoteSymID, remoteStorageGroupID string, force bool, volumeIDs ...string) (*types.StorageGroup, error) // InitiateDeallocationOfTracksFromVolume Initiate a job to remove storage space from the volume. InitiateDeallocationOfTracksFromVolume(ctx context.Context, symID string, volumeID string) (*types.Job, error) // DeleteVolume Deletes a volume DeleteVolume(ctx context.Context, symID string, volumeID string) error // GetMaskingViewList returns a list of the MaskingView names. GetMaskingViewList(ctx context.Context, symID string) (*types.MaskingViewList, error) // GetMaskingViewByID returns a masking view given its identifier (which is the name) GetMaskingViewByID(ctx context.Context, symID string, maskingViewID string) (*types.MaskingView, error) // GetMaskingViewConnections returns the connections of a masking view (optionally for a specific volume id.) // Here volume id is the 5 digit volume ID. GetMaskingViewConnections(ctx context.Context, symID string, maskingViewID string, volumeID string) ([]*types.MaskingViewConnection, error) // CreateMaskingView creates a masking view given the Masking view id, Storage group id, // host id and the port id and returns the masking view object CreateMaskingView(ctx context.Context, symID string, maskingViewID string, storageGroupID string, hostOrhostGroupID string, isHost bool, portGroupID string) (*types.MaskingView, error) // CreatePortGroup creates a port group given the Port Group id and a list of dir/port ids CreatePortGroup(ctx context.Context, symID string, portGroupID string, dirPorts []types.PortKey, protocol string) (*types.PortGroup, error) // RenamePortGroup renames port group given it is identifier (which is the name) RenamePortGroup(ctx context.Context, symID string, portGroupID string, newName string) (*types.PortGroup, error) // GetSymmetrixIDList gets symmetrix list GetSymmetrixIDList(ctx context.Context) (*types.SymmetrixIDList, error) // GetSymmetrixByID gets symmetrix by given ID GetSymmetrixByID(ctx context.Context, id string) (*types.Symmetrix, error) // GetJobIDList retrieves the list of jobs on a given Symmetrix. // If optional parameter statusQuery is a types.JobStatusRunning or similar string, will search for jobs // with a particular status. GetJobIDList(ctx context.Context, symID string, statusQuery string) ([]string, error) GetJobByID(ctx context.Context, symID string, jobID string) (*types.Job, error) WaitOnJobCompletion(ctx context.Context, symID string, jobID string) (*types.Job, error) JobToString(job *types.Job) string // GetPortGroupList returns a list of all the Port Group ids. GetPortGroupList(ctx context.Context, symID string, portGroupType string) (*types.PortGroupList, error) // GetPortGroupByID returns a port group given the PortGroup id. GetPortGroupByID(ctx context.Context, symID string, portGroupID string) (*types.PortGroup, error) // GetInitiatorList returns a list of all the Initiator ids based on filters supplied GetInitiatorList(ctx context.Context, symID string, initiatorHBA string, isISCSI bool, inHost bool) (*types.InitiatorList, error) // GetInitiatorByID returns an Initiator given the Initiator id. GetInitiatorByID(ctx context.Context, symID string, initID string) (*types.Initiator, error) // GetHostList returns a list of all the Host ids. GetHostList(ctx context.Context, symID string) (*types.HostList, error) // GetHostByID returns a Host given the Host id. GetHostByID(ctx context.Context, symID string, hostID string) (*types.Host, error) // CreateHost creates a host from a list of InitiatorIDs (and optional HostFlags) return returns a types.Host. // Initiator IDs do not contain the storage port designations, just the IQN string or FC WWN. // Initiator IDs cannot be a member of more than one host. CreateHost(ctx context.Context, symID string, hostID string, initiatorIDs []string, hostFlags *types.HostFlags) (*types.Host, error) // DeleteHost deletes a host given the hostID. DeleteHost(ctx context.Context, symID string, hostID string) error // UpdateHostInitiators will update the inititators UpdateHostInitiators(ctx context.Context, symID string, host *types.Host, initiatorIDs []string) (*types.Host, error) UpdateHostName(ctx context.Context, symID, oldHostID, newHostID string) (*types.Host, error) UpdateHostFlags(ctx context.Context, symID string, hostID string, hostFlags *types.HostFlags) (*types.Host, error) // GetDirectorIDList returns a list of directors GetDirectorIDList(ctx context.Context, symID string) (*types.DirectorIDList, error) // GetPortList returns a list of all the ports on a specified director/array. GetPortList(ctx context.Context, symID string, directorID string, query string) (*types.PortList, error) // GetPort returns port details. GetPort(ctx context.Context, symID string, directorID string, portID string) (*types.Port, error) // GetListOfTargetAddresses returns an array of all IP addresses which expose iscsi targets. GetListOfTargetAddresses(ctx context.Context, symID string) ([]string, error) // GetNVMeTCPTargets returns a list of NVMeTCP targets for given sym id GetNVMeTCPTargets(ctx context.Context, symID string) ([]NVMeTCPTarget, error) // GetISCSITargets returns a list of ISCSI Targets for a given sym id GetISCSITargets(ctx context.Context, symID string) ([]ISCSITarget, error) // CreateHostGroup creates a hostGroup from a list of hostIDs (and optional HostFlags) and returns a types.HostGroup. CreateHostGroup(ctx context.Context, symID string, hostGroupID string, hostIDs []string, hostFlags *types.HostFlags) (*types.HostGroup, error) // GetHostGroupList returns a list of all the HostGroup ids. GetHostGroupList(ctx context.Context, symID string) (*types.HostGroupList, error) // GetHostGroupByID returns a HostGroup given the HostGroup id. GetHostGroupByID(ctx context.Context, symID string, hostGroupID string) (*types.HostGroup, error) // DeleteHostGroup deletes a hostGroup given the hostGroupID. DeleteHostGroup(ctx context.Context, symID string, hostGroupID string) error // UpdateHostGroupName updates a hostGroup with new hostGroup ID and returns a types.HostGroup. UpdateHostGroupName(ctx context.Context, symID, oldHostGroupID, newHostGroupID string) (*types.HostGroup, error) // UpdateHostGroupFlags updates the hostflags of the hostGroup UpdateHostGroupFlags(ctx context.Context, symID string, hostGroupID string, hostFlags *types.HostFlags) (*types.HostGroup, error) // UpdateHostGroupHosts will add/remove the hosts for a host group UpdateHostGroupHosts(ctx context.Context, symID string, hostGroupID string, hostIDs []string) (*types.HostGroup, error) // SetAllowedArrays sets the list of arrays which can be manipulated // an empty list will allow all arrays to be accessed SetAllowedArrays(arrays []string) error // GetAllowedArrays returns a slice of arrays that can be manipulated GetAllowedArrays() []string // IsAllowedArray checks to see if we can manipulate the specified array IsAllowedArray(array string) (bool, error) // GetSnapVolumeList returns a list of all snapshot volumes on the array. GetSnapVolumeList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.SymVolumeList, error) // GetVolumeSnapInfo returns snapVx information associated with a volume. GetVolumeSnapInfo(ctx context.Context, symID string, volume string) (*types.SnapshotVolumeGeneration, error) // GetSnapshotInfo returns snapVx information of the specified volume GetSnapshotInfo(ctx context.Context, symID, volume, SnapID string) (*types.VolumeSnapshot, error) // CreateSnapshot creates a snapVx snapshot of a volume using the input parameters CreateSnapshot(ctx context.Context, symID string, SnapID string, sourceVolumeList []types.VolumeList, ttl int64) error // ModifySnapshot executes actions on a snapshot asynchronously // This creates a job and waits on its completion ModifySnapshot(ctx context.Context, symID string, sourceVol []types.VolumeList, targetVol []types.VolumeList, SnapID string, action string, newSnapID string, generation int64, isCopy bool) error // ModifySnapshotS executes actions on a snapshot synchronously ModifySnapshotS(ctx context.Context, symID string, sourceVol []types.VolumeList, targetVol []types.VolumeList, SnapID string, action string, newSnapID string, generation int64, isCopy bool) error // DeleteSnapshot deletes a snapshot from a volume // This is an asynchronous call and waits for the job to complete DeleteSnapshot(ctx context.Context, symID, SnapID string, sourceVolumes []types.VolumeList, generation int64) error // DeleteSnapshotS deletes a snapshot from a volume // This is a synchronous call and doesn't create a job DeleteSnapshotS(ctx context.Context, symID, SnapID string, sourceVolumes []types.VolumeList, generation int64) error // GetSnapshotGenerations returns a list of all the snapshot generation on a specific snapshot GetSnapshotGenerations(ctx context.Context, symID, volume, SnapID string) (*types.VolumeSnapshotGenerations, error) // GetSnapshotGenerationInfo returns the specific generation info related to a snapshot GetSnapshotGenerationInfo(ctx context.Context, symID, volume, SnapID string, generation int64) (*types.VolumeSnapshotGeneration, error) // GetReplicationCapabilities returns details about SnapVX and SRDF execution capabilities on the Symmetrix array GetReplicationCapabilities(ctx context.Context) (*types.SymReplicationCapabilities, error) // GetPrivVolumeByID returns a Volume structure given the symmetrix and volume ID (volume ID is in WWN format) GetPrivVolumeByID(ctx context.Context, symID string, volumeID string) (*types.VolumeResultPrivate, error) // DeletePortGroup deletes a port group DeletePortGroup(ctx context.Context, symID string, portGroupID string) error // UpdatePortGroup updates a port group UpdatePortGroup(ctx context.Context, symID string, portGroupID string, ports []types.PortKey) (*types.PortGroup, error) // ModifyMobilityForVolume allows enabling/disabling mobility id for the volume ModifyMobilityForVolume(ctx context.Context, symID string, volumeID string, mobility bool) (*types.Volume, error) // ExpandVolume expands the size of an existing volume ExpandVolume(ctx context.Context, symID string, volumeID string, rdfGNo int, volumeSize interface{}, capUnits ...string) (*types.Volume, error) // GetCreateVolInSGPayload returns a payload to create a volume in a storage group GetCreateVolInSGPayload(volumeSize interface{}, capUnit string, volumeName string, isSync, enableMobility bool, remoteSymID, storageGroupID string, opts ...http.Header) (payload interface{}) // GetRDFGroupList GetRDFGroupList fetches all RDF group GetRDFGroupList(ctx context.Context, symID string, queryParams types.QueryParams) (*types.RDFGroupList, error) // GetRDFGroupByID fetches RDF group information GetRDFGroupByID(ctx context.Context, symID, rdfGroup string) (*types.RDFGroup, error) // GetProtectedStorageGroup returns protected storage group given the storage group ID GetProtectedStorageGroup(ctx context.Context, symID, storageGroup string) (*types.RDFStorageGroup, error) // CreateSGReplica creates a storage group on remote array and protect them with given RDF Mode and a given source storage group CreateSGReplica(ctx context.Context, symID, remoteSymID, rdfMode, rdfGroupNo, sourceSG, remoteSGName, remoteServiceLevel string, bias bool) (*types.SGRDFInfo, error) // ExecuteReplicationActionOnSG executes supported replication based actions on the protected SG ExecuteReplicationActionOnSG(ctx context.Context, symID, action, storageGroup, rdfGroup string, force, exemptConsistency, bias bool) error // CreateRDFPair creates a volume replication pair CreateRDFPair(ctx context.Context, symID, rdfGroupNo, deviceID, rdfMode, rdfType string, establish, exemptConsistency bool) (*types.RDFDevicePairList, error) // GetRDFDevicePairInfo returns RDF volume information GetRDFDevicePairInfo(ctx context.Context, symID, rdfGroup, volumeID string) (*types.RDFDevicePair, error) // GetStorageGroupRDFInfo returns the of RDF info of protected storage group GetStorageGroupRDFInfo(ctx context.Context, symID, sgName, rdfGroupNo string) (*types.StorageGroupRDFG, error) // GetFreeLocalAndRemoteRDFg returns list of Local and Remote Free RDFg in the array GetFreeLocalAndRemoteRDFg(ctx context.Context, localSymmID string, remoteSymmID string) (*types.NextFreeRDFGroup, error) // ExecuteCreateRDFGroup creates a new RDF group based on payload ExecuteCreateRDFGroup(ctx context.Context, symID string, CreateRDFPayload *types.RDFGroupCreate) error // GetLocalOnlineRDFDirs returns a List of ONLINE RDF Directors for a given array GetLocalOnlineRDFDirs(ctx context.Context, localSymID string) (*types.RDFDirList, error) // GetLocalOnlineRDFPorts returs List of ONLINE RDF Ports associated for a given ONLINE RDF Director GetLocalOnlineRDFPorts(ctx context.Context, rdfDir string, localSymID string) (*types.RDFPortList, error) // GetRemoteRDFPortOnSAN returns an array of Remote RDF Ports on the SAN that are connected to given local RDF Dir:Port GetRemoteRDFPortOnSAN(ctx context.Context, localSymID string, rdfDir string, rdfPort string) (*types.RemoteRDFPortDetails, error) // GetLocalRDFPortDetails returns details about the local RDFDir:port GetLocalRDFPortDetails(ctx context.Context, localSymID string, rdfDir string, rdfPort int) (*types.RDFPortDetails, error) // GetStorageGroupMetrics returns the list of required metrics GetStorageGroupMetrics(ctx context.Context, symID string, storageGroupID string, metricsQuery []string, firstAvailableDate int64, lastAvailableTime int64) (*types.StorageGroupMetricsIterator, error) // GetVolumesMetrics returns the list of volume metrics for specific storage groups GetVolumesMetrics(ctx context.Context, symID string, storageGroups string, metricsQuery []string, firstAvailableDate int64, lastAvailableTime int64) (*types.VolumeMetricsIterator, error) // GetStorageGroupPerfKeys returns the performance keys of storage group GetStorageGroupPerfKeys(ctx context.Context, symID string) (*types.StorageGroupKeysResult, error) // GetArrayPerfKeys returns the performance keys of array GetArrayPerfKeys(ctx context.Context) (*types.ArrayKeysResult, error) // GetVolumesMetricsByID returns a given Volume performance metrics GetVolumesMetricsByID(ctx context.Context, symID string, volID string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.VolumeMetricsIterator, error) // GetFileSystemMetricsByID returns a given FileSystem performance metrics GetFileSystemMetricsByID(ctx context.Context, symID string, fsID string, metricsQuery []string, firstAvailableTime, lastAvailableTime int64) (*types.FileSystemMetricsIterator, error) // CreateMigrationEnvironment creates a migration environment CreateMigrationEnvironment(ctx context.Context, sourceSymID, remoteSymID string) (*types.MigrationEnv, error) // CreateSGMigration create migration session on a storage group CreateSGMigration(ctx context.Context, localSymID, remoteSymID, storageGroup string) (*types.MigrationSession, error) // ModifyMigrationSession updates a migration session on a storage group ModifyMigrationSession(ctx context.Context, localSymID, action, storageGroup string) error // DeleteMigrationEnvironment deletes a migration environment DeleteMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) error // GetMigrationEnvironment returns a migration environment GetMigrationEnvironment(ctx context.Context, localSymID, remoteSymID string) (*types.MigrationEnv, error) // GetStorageGroupMigration returns migration sessions on the array GetStorageGroupMigration(ctx context.Context, localSymID string) (*types.MigrationStorageGroups, error) // GetStorageGroupMigrationByID returns migration details for a storage group GetStorageGroupMigrationByID(ctx context.Context, localSymID, storageGroupID string) (*types.MigrationSession, error) // GetSnapshotPolicy returns a SnapshotPolicy given the Symmetrix ID and SnapshotPolicy ID (which is really a name). GetSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) (*types.SnapshotPolicy, error) // GetSnapshotPolicyList returns all the SnapshotPolicy names given the Symmetrix ID GetSnapshotPolicyList(ctx context.Context, symID string) (*types.SnapshotPolicyList, error) // DeleteSnapshotPolicy deletes a SnapshotPolicy entry. DeleteSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string) error // CreateSnapshotPolicy creates a Snapshot policy and returns a types.SnapshotPolicy. CreateSnapshotPolicy(ctx context.Context, symID string, snapshotPolicyID string, interval string, offsetMins int32, complianceCountWarn int64, complianceCountCritical int64, optionalPayload map[string]interface{}) (*types.SnapshotPolicy, error) // UpdateSnapshotPolicy is a general method to update a SnapshotPolicy (PUT operation) based on the action using a UpdateSnapshotPolicyPayload. UpdateSnapshotPolicy(ctx context.Context, symID string, action string, snapshotPolicyID string, optionalPayload map[string]interface{}) error // GetFileSystemList get file system list on a symID GetFileSystemList(ctx context.Context, symID string, query types.QueryParams) (*types.FileSystemIterator, error) // GetFileSystemByID get file system on a symID GetFileSystemByID(ctx context.Context, symID, fsID string) (*types.FileSystem, error) // CreateFileSystem creates a file system CreateFileSystem(ctx context.Context, symID, name, nasServer, serviceLevel string, sizeInMiB int64) (*types.FileSystem, error) // ModifyFileSystem updates a File system ModifyFileSystem(ctx context.Context, symID, fsID string, payload types.ModifyFileSystem) (*types.FileSystem, error) // DeleteFileSystem deletes a file system DeleteFileSystem(ctx context.Context, symID, fsID string) error // GetNFSExportList get NFS export list on a symID GetNFSExportList(ctx context.Context, symID string, query types.QueryParams) (*types.NFSExportIterator, error) // GetNFSExportByID get file system on a symID GetNFSExportByID(ctx context.Context, symID, nfsExportID string) (*types.NFSExport, error) // CreateNFSExport creates a NFSExport CreateNFSExport(ctx context.Context, symID string, createNFSExportPayload types.CreateNFSExport) (*types.NFSExport, error) // ModifyNFSExport updates a NFS export ModifyNFSExport(ctx context.Context, symID, nfsExportID string, payload types.ModifyNFSExport) (*types.NFSExport, error) // DeleteNFSExport deletes a nfs export DeleteNFSExport(ctx context.Context, symID, nfsExportID string) error // GetNASServerList get NAS Server list on a symID GetNASServerList(ctx context.Context, symID string, query types.QueryParams) (*types.NASServerIterator, error) // GetNASServerByID fetch specific NAS server on a symID GetNASServerByID(ctx context.Context, symID, nasID string) (*types.NASServer, error) // ModifyNASServer updates a NAS Server ModifyNASServer(ctx context.Context, symID, nasID string, payload types.ModifyNASServer) (*types.NASServer, error) // DeleteNASServer deletes a NAS Server DeleteNASServer(ctx context.Context, symID, nasID string) error // GetFileInterfaceByID gets a FileInterface GetFileInterfaceByID(ctx context.Context, symID, interfaceID string) (*types.FileInterface, error) // RefreshSymmetrix refreshes cache on the symID RefreshSymmetrix(ctx context.Context, symID string) error }
Pmax interface has all the externally available functions provided by the pmax client library for the Powermax accessed through Unisphere.
func NewClient ¶
NewClient returns a new Client, which is of interface type Pmax. The Client holds state for the connection. Thhe following environment variables define the connection:
CSI_POWERMAX_ENDPOINT - A URL of the form https://1.2.3.4:8443 CSI_POWERMAX_VERSION - should not be used. Defines a particular form of versioning. CSI_APPLICATION_NAME - Application name which will be used for registering the application with Unisphere REST APIs CSI_POWERMAX_INSECURE - A boolean indicating whether unvalidated certificates can be accepted. Defaults to true. CSI_POWERMAX_USECERTS - Indicates whether to use certificates at all. Defaults to true.
func NewClientWithArgs ¶
func NewClientWithArgs( endpoint string, applicationName string, insecure, useCerts bool, ) (client Pmax, err error)
NewClientWithArgs allows the user to specify the endpoint, version, application name, insecure boolean, and useCerts boolean as direct arguments rather than receiving them from the enviornment. See NewClient().
type SnapshotAction ¶ added in v2.3.0
type SnapshotAction string
SnapshotAction A list of possible Snapshot actions.
const ( Restore SnapshotAction = "Restore" // Restores a snapshot generation SetTimeToLive SnapshotAction = "SetTimeToLive" // Set the number of days or hours for a snapshot generation before it auto-terminates SetSecure SnapshotAction = "SetSecure" // Set the number of days or hours for a snapshot generation to be secure before it auto-terminates Link SnapshotAction = "Link" // Link a snapshot generation Relink SnapshotAction = "Relink" // Relink a snapshot generation Unlink SnapshotAction = "Unlink" // Unlink a snapshot generation SetMode SnapshotAction = "SetMode" // Set the mode of a linked snapshot generation Rename SnapshotAction = "Rename" // Rename a snapshot Persist SnapshotAction = "Persist" // Persist a snapshot policy snapshot )
Snapshot Actions