Documentation
¶
Index ¶
- Constants
- type AddExistingStorageGroupParam
- type AddHostInitiators
- type AddNewStorageGroupParam
- type AddPortParam
- type AddSpecificVolumeParam
- type AddVolumeParam
- type AllVolumeParam
- type ChangeInitiatorParam
- type CloneSession
- type CreateHostGroupParam
- type CreateHostParam
- type CreatePortGroupParam
- type CreatePortGroupParams
- type CreateStorageGroupParam
- type CreateVolumesSnapshot
- type DeleteVolumeSnapshot
- type DirectorIDList
- type EditCompressionParam
- type EditHostParams
- type EditPortGroup
- type EditPortGroupActionParam
- type EditStorageGroupActionParam
- type EditStorageGroupSLOParam
- type EditStorageGroupSRPParam
- type EditStorageGroupWorkloadParam
- type EditVolumeActionParam
- type EditVolumeParam
- type Error
- type ExpandStorageGroupParam
- type ExpandVolumeParam
- type ExpandVolumesParam
- type FreeVolumeParam
- type Host
- type HostFlag
- type HostFlags
- type HostList
- type HostOrHostGroupSelection
- type Initiator
- type InitiatorList
- type Job
- type JobIDList
- type Link
- type LinkSnapshotGenInfo
- type LinkedVolumes
- type MaskingView
- type MaskingViewConnection
- type MaskingViewConnectionsResult
- type MaskingViewCreateParam
- type MaskingViewList
- type MergeStorageGroupParam
- type MirrorSession
- type ModifyVolumeIdentifierParam
- type ModifyVolumeSnapshot
- type MoveVolumeToStorageGroupParam
- type Port
- type PortGroup
- type PortGroupList
- type PortGroupSelection
- type PortKey
- type PortList
- type PrivVolumeIterator
- type PrivVolumeResultList
- type QueryParams
- type RemoveHostInitiators
- type RemovePortParam
- type RemoveStorageGroupParam
- type RemoveVolumeParam
- type RenameHostParam
- type RenameStorageGroupParam
- type SLOBasedStorageGroupParam
- type SetHostFlags
- type SetHostIOLimitsParam
- type SnapTarget
- type SnapVXSession
- type Snapshot
- type SnapshotHeader
- type SnapshotVolumeGeneration
- type SourceSnapshotGenInfo
- type SpecificVolumeParam
- type SplitChildStorageGroupParam
- type SplitStorageGroupVolumesParam
- type SrpCap
- type SrpEfficiency
- type StorageGroup
- type StorageGroupIDList
- type StorageGroupResult
- type StorageGroupSelection
- type StoragePool
- type StoragePoolList
- type SymDevice
- type SymReplicationCapabilities
- type SymVolumeList
- type Symmetrix
- type SymmetrixCapability
- type SymmetrixIDList
- type SymmetrixPortKeyType
- type SymmetrixPortType
- type TargetSourceSnapshotGenInfo
- type Task
- type TimeFinderInfo
- type UpdateHostAddInitiatorsParam
- type UpdateHostParam
- type UpdateHostRemoveInititorsParam
- type UpdateStorageGroupPayload
- type UseExistingHostGroupParam
- type UseExistingHostParam
- type UseExistingPortGroupParam
- type UseExistingStorageGroupParam
- type Version
- type Volume
- type VolumeAttributeType
- type VolumeHeader
- type VolumeIDList
- type VolumeIdentifierType
- type VolumeIterator
- type VolumeList
- type VolumeResultList
- type VolumeResultPrivate
- type VolumeSnapshot
- type VolumeSnapshotGeneration
- type VolumeSnapshotGenerations
- type VolumeSnapshotLink
- type VolumeSnapshotSource
Constants ¶
const ( CapacityUnitTb = "TB" CapacityUnitGb = "GB" CapacityUnitMb = "MB" CapacityUnitCyl = "CYL" )
constants of storage units
const ( JobStatusUnscheduled = "UNSCHEDULED" JobStatusScheduled = "SCHEDULED" JobStatusSucceeded = "SUCCEEDED" JobStatusFailed = "FAILED" JobStatusRunning = "RUNNING" )
constants
const ExecutionOptionAsynchronous = "ASYNCHRONOUS"
ExecutionOptionAsynchronous : execute tasks asynchronously
const ExecutionOptionSynchronous = "SYNCHRONOUS"
ExecutionOptionSynchronous : execute tasks synchronously
const InSG = "inSG"
InSG can be passed as a query param to the volume listing endpoing for filtering the results based on their association to a storage group
const IncludeDetails = "includeDetails"
IncludeDetails is boolean flag that can be passed as a query param to the volume listing endpoing for getting the extensive details about the snapshots.
const IsRdf = "isRdf"
IsRdf can be passed as a query param to the volume listing endpoing for filtering the resluts based on their RDF relationship
const SnapshotName = "snapshotName"
SnapshotName can be passed as a query param to the volume listing endpoing for filtering the results based on snapshot name
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddExistingStorageGroupParam ¶
type AddExistingStorageGroupParam struct { StorageGroupIDs []string `json:"storageGroupId,omitempty"` EnableComplianceAlerts bool `json:"enableComplianceAlerts,omitempty"` }
AddExistingStorageGroupParam contains SG ids and compliance alert flag
type AddHostInitiators ¶
type AddHostInitiators struct {
AddInitiator *ChangeInitiatorParam `json:"addInitiatorParam,omitempty"`
}
AddHostInitiators holds initiator parameter to add
type AddNewStorageGroupParam ¶
type AddNewStorageGroupParam struct { SRPID string `json:"srpId,omitempty"` SLOBasedStorageGroupParam []SLOBasedStorageGroupParam `json:"sloBasedStorageGroupParam,omitempty"` Emulation string `json:"emulation,omitempty"` EnableComplianceAlerts bool `json:"enableComplianceAlerts,omitempty"` }
AddNewStorageGroupParam contains parameters required to add a new storage group
type AddPortParam ¶
type AddPortParam struct {
Ports []SymmetrixPortKeyType `json:"port"`
}
type AddSpecificVolumeParam ¶
type AddSpecificVolumeParam struct {
VolumeIDs []string `json:"volumeId,omitempty"`
}
AddSpecificVolumeParam holds volume ids
type AddVolumeParam ¶
type AddVolumeParam struct { NumberOfVols int `json:"num_of_vols,omitempty"` VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"` Emulation string `json:"emulation,omitempty"` VolumeIdentifier VolumeIdentifierType `json:"volumeIdentifier,omitempty"` }
AddVolumeParam holds number volumes to add and related param
type AllVolumeParam ¶
type AllVolumeParam struct { VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"` RDFGroupNumber int `json:"rdfGroupNumber,omitempty"` }
AllVolumeParam contains volume attributes and RDF group number
type ChangeInitiatorParam ¶
type ChangeInitiatorParam struct {
Initiators []string `json:"initiator,omitempty"`
}
ChangeInitiatorParam contains initiators
type CloneSession ¶
type CloneSession struct { SourceVolume string `json:"sourceVolume"` TargetVolume string `json:"targetVolume"` Timestamp int64 `json:"timestamp"` State string `json:"state"` RemoteVolumes string `json:"remoteVolumes"` }
CloneSession contains information on a clone session
type CreateHostGroupParam ¶
type CreateHostGroupParam struct { HostGroupID string `json:"hostGroupId"` HostIDs []string `json:"hostId"` HostFlags *HostFlags `json:"hostFlags,omitempty"` ExecutionOption string `json:"executionOption"` }
CreateHostGroupParam contains parameters required to create host group
type CreateHostParam ¶
type CreateHostParam struct { HostID string `json:"hostId"` InitiatorIDs []string `json:"initiatorId"` HostFlags *HostFlags `json:"hostFlags,omitempty"` ExecutionOption string `json:"executionOption"` }
CreateHostParam contains input fields to create a host
type CreatePortGroupParam ¶
type CreatePortGroupParam struct { PortGroupID string `json:"portGroupId,omitempty"` SymmetrixPortKey []SymmetrixPortKeyType `json:"symmetrixPortKey,omitempty"` }
CreatePortGroupParam contains the port group id and port type
type CreatePortGroupParams ¶
type CreatePortGroupParams struct { PortGroupID string `json:"portGroupId"` SymmetrixPortKey []PortKey `json:"symmetrixPortKey"` ExecutionOption string `json:"executionOption"` }
CreatePortGroupParams - Input params for creating port groups
type CreateStorageGroupParam ¶
type CreateStorageGroupParam struct { StorageGroupID string `json:"storageGroupId,omitempty"` CreateEmptyStorageGroup bool `json:"create_empty_storage_group,omitempty"` SRPID string `json:"srpId,omitempty"` SLOBasedStorageGroupParam []SLOBasedStorageGroupParam `json:"sloBasedStorageGroupParam,omitempty"` Emulation string `json:"emulation,omitempty"` ExecutionOption string `json:"executionOption,omitempty"` }
CreateStorageGroupParam : Payload for creating Storage Group
type CreateVolumesSnapshot ¶
type CreateVolumesSnapshot struct { SourceVolumeList []VolumeList `json:"deviceNameListSource"` BothSides bool `json:"bothSides"` Star bool `json:"star"` Force bool `json:"force"` TimeInHours bool `json:"timeInHours"` TimeToLive int64 `json:"timeToLive"` TTL int64 `json:"ttl,omitempty"` Securettl int64 `json:"securettl,omitempty"` ExecutionOption string `json:"executionOption"` }
CreateVolumesSnapshot contains parameters to create a volume snapshot
type DeleteVolumeSnapshot ¶
type DeleteVolumeSnapshot struct { DeviceNameListSource []VolumeList `json:"deviceNameListSource"` Symforce bool `json:"symforce,omitempty"` Star bool `json:"star,omitempty"` Force bool `json:"force,omitempty"` Restore bool `json:"restore,omitempty"` Generation int64 `json:"generation"` ExecutionOption string `json:"executionOption,omitempty"` }
DeleteVolumeSnapshot contains input parameters to delete the snapshot
type DirectorIDList ¶
type DirectorIDList struct {
DirectorIDs []string `json:"directorId"`
}
DirectorIDList : list of directors
type EditCompressionParam ¶
type EditCompressionParam struct {
Compression bool `json:"compression,omitempty"`
}
EditCompressionParam hold param to edit compression attribute with an SG
type EditHostParams ¶
type EditHostParams struct {
SetHostFlags *SetHostFlags `json:"setHostFlagsParam,omitempty"`
}
EditHostParams holds the host flags to modify
type EditPortGroup ¶
type EditPortGroup struct {
EditPortGroupActionParam *EditPortGroupActionParam `json:"editPortGroupActionParam"`
}
type EditPortGroupActionParam ¶
type EditPortGroupActionParam struct { AddPortParam *AddPortParam `json:"addPortParam,omitempty"` RemovePortParam *RemovePortParam `json:"removePortParam,omitempty"` }
type EditStorageGroupActionParam ¶
type EditStorageGroupActionParam struct { MergeStorageGroupParam *MergeStorageGroupParam `json:"mergeStorageGroupParam,omitempty"` SplitStorageGroupVolumesParam *SplitStorageGroupVolumesParam `json:"splitStorageGroupVolumesParam,omitempty"` SplitChildStorageGroupParam *SplitChildStorageGroupParam `json:"splitChildStorageGroupParam,omitempty"` MoveVolumeToStorageGroupParam *MoveVolumeToStorageGroupParam `json:"moveVolumeToStorageGroupParam,omitempty"` EditCompressionParam *EditCompressionParam `json:"editCompressionParam,omitempty"` SetHostIOLimitsParam *SetHostIOLimitsParam `json:"setHostIOLimitsParam,omitempty"` RemoveVolumeParam *RemoveVolumeParam `json:"removeVolumeParam,omitempty"` ExpandStorageGroupParam *ExpandStorageGroupParam `json:"expandStorageGroupParam,omitempty"` EditStorageGroupWorkloadParam *EditStorageGroupWorkloadParam `json:"editStorageGroupWorkloadParam,omitempty"` EditStorageGroupSLOParam *EditStorageGroupSLOParam `json:"editStorageGroupSLOParam,omitempty"` EditStorageGroupSRPParam *EditStorageGroupSRPParam `json:"editStorageGroupSRPParam,omitempty"` RemoveStorageGroupParam *RemoveStorageGroupParam `json:"removeStorageGroupParam,omitempty"` RenameStorageGroupParam *RenameStorageGroupParam `json:"renameStorageGroupParam,omitempty"` }
EditStorageGroupActionParam holds parameters to modify an SG
type EditStorageGroupSLOParam ¶
type EditStorageGroupSLOParam struct {
SLOID string `json:"sloId,omitempty"`
}
EditStorageGroupSLOParam hold param to change SLOs
type EditStorageGroupSRPParam ¶
type EditStorageGroupSRPParam struct {
SRPID string `json:"srpId,omitempty"`
}
EditStorageGroupSRPParam holds param to change SRPs
type EditStorageGroupWorkloadParam ¶
type EditStorageGroupWorkloadParam struct {
WorkloadSelection string `json:"workloadSelection,omitempty,omitempty"`
}
EditStorageGroupWorkloadParam holds selected work load
type EditVolumeActionParam ¶
type EditVolumeActionParam struct { FreeVolumeParam *FreeVolumeParam `json:"freeVolumeParam,omitempty"` ExpandVolumeParam *ExpandVolumeParam `json:"expandVolumeParam,omitempty"` ModifyVolumeIdentifierParam *ModifyVolumeIdentifierParam `json:"modifyVolumeIdentifierParam,omitempty"` }
EditVolumeActionParam : action information to edit volume
type EditVolumeParam ¶
type EditVolumeParam struct { EditVolumeActionParam EditVolumeActionParam `json:"editVolumeActionParam"` ExecutionOption string `json:"executionOption"` }
EditVolumeParam : parameters required to edit volume information
type Error ¶
type Error struct { Message string `json:"message"` HTTPStatusCode int `json:"httpStatusCode"` ErrorCode int `json:"errorCode"` }
Error : contains fields to report rest interface errors
type ExpandStorageGroupParam ¶
type ExpandStorageGroupParam struct { AddExistingStorageGroupParam *AddExistingStorageGroupParam `json:"addExistingStorageGroupParam,omitempty"` AddNewStorageGroupParam *AddNewStorageGroupParam `json:"addNewStorageGroupParam,omitempty"` ExpandVolumesPar1Gam *ExpandVolumesParam `json:"expandVolumesParam,omitempty"` AddSpecificVolumeParam *AddSpecificVolumeParam `json:"addSpecificVolumeParam,omitempty"` AddVolumeParam *AddVolumeParam `json:"addVolumeParam,omitempty"` }
ExpandStorageGroupParam holds params related to expanding size of an SG
type ExpandVolumeParam ¶
type ExpandVolumeParam struct { VolumeAttribute VolumeAttributeType `json:"volumeAttribute"` RDFGroupNumber int `json:"rdfGroupNumber,omitempty"` }
ExpandVolumeParam : attributes to expand a volume
type ExpandVolumesParam ¶
type ExpandVolumesParam struct { SpecificVolumeParam SpecificVolumeParam `json:"specificVolumeParam,omitempty"` AllVolumeParam AllVolumeParam `json:"allVolumeParam,omitempty"` }
ExpandVolumesParam holds parameters to expand volumes
type FreeVolumeParam ¶
type FreeVolumeParam struct {
FreeVolume bool `json:"free_volume"`
}
FreeVolumeParam : boolean value representing data to be freed
type Host ¶
type Host struct { HostID string `json:"hostId"` NumberMaskingViews int64 `json:"num_of_masking_views"` NumberInitiators int64 `json:"num_of_initiators"` NumberHostGroups int64 `json:"num_of_host_groups"` PortFlagsOverride bool `json:"port_flags_override"` ConsistentLun bool `json:"consistent_lun"` EnabledFlags string `json:"enabled_flags"` DisabledFlags string `json:"disabled_flags"` HostType string `json:"type"` Initiators []string `json:"initiator"` MaskingviewIDs []string `json:"maskingview"` NumPowerPathHosts int64 `json:"num_of_powerpath_hosts"` }
Host : Information about a host
type HostFlags ¶
type HostFlags struct { VolumeSetAddressing *HostFlag `json:"volume_set_addressing,omitempty"` DisableQResetOnUA *HostFlag `json:"disable_q_reset_on_ua,omitempty"` EnvironSet *HostFlag `json:"environ_set,omitempty"` AvoidResetBroadcast *HostFlag `json:"avoid_reset_broadcast,omitempty"` OpenVMS *HostFlag `json:"openvms,omitempty"` SCSI3 *HostFlag `json:"scsi_3,omitempty"` Spc2ProtocolVersion *HostFlag `json:"spc2_protocol_version,omitempty"` SCSISupport1 *HostFlag `json:"scsi_support1,omitempty"` ConsistentLUN bool `json:"consistent_lun"` }
HostFlags holds additional host flags
type HostOrHostGroupSelection ¶
type HostOrHostGroupSelection struct { CreateHostGroupParam *CreateHostGroupParam `json:"createHostGroupParam,omitempty"` UseExistingHostGroupParam *UseExistingHostGroupParam `json:"useExistingHostGroupParam,omitempty"` CreateHostParam *CreateHostGroupParam `json:"createHostParam,omitempty"` UseExistingHostParam *UseExistingHostParam `json:"useExistingHostParam,omitempty"` }
HostOrHostGroupSelection contains parameters to select a host or host group
type Initiator ¶
type Initiator struct { InitiatorID string `json:"initiatorId"` SymmetrixPortKey []PortKey `json:"symmetrixPortKey"` InitiatorType string `json:"type"` FCID string `json:"fcid,omitempty"` IPAddress string `json:"ip_address,omitempty"` HostID string `json:"host,omitempty"` HostGroupIDs []string `json:"hostGroup,omitempty"` LoggedIn bool `json:"logged_in"` OnFabric bool `json:"on_fabric"` FlagsInEffect string `json:"flags_in_effect"` NumberVols int64 `json:"num_of_vols"` NumberHostGroups int64 `json:"num_of_host_groups"` NumberMaskingViews int64 `json:"number_of_masking_views"` NumberPowerPathHosts int64 `json:"num_of_powerpath_hosts"` }
Initiator : Information about an initiator
type InitiatorList ¶
type InitiatorList struct {
InitiatorIDs []string `json:"initiatorId"`
}
InitiatorList : list of initiators
type Job ¶
type Job struct { JobID string `json:"jobId"` Name string `json:"name"` Status string `json:"status"` Username string `json:"username"` LastModifiedDate string `json:"last_modified_date"` LastModifiedMilliseconds int64 `json:"last_modified_milliseconds"` ScheduledDate string `json:"scheduled_date"` ScheduledMilliseconds int64 `json:"scheduled_milliseconds"` CompletedDate string `json:"completed_date"` CompletedMilliseconds int64 `json:"completed_milliseconds"` Tasks []Task `json:"task"` ResourceLink string `json:"resourceLink"` Result string `json:"result"` Links []Link `json:"links"` }
Job : information about a job
type JobIDList ¶
type JobIDList struct {
JobIDs []string `json:"jobId"`
}
JobIDList : list of Job ids
type LinkSnapshotGenInfo ¶
type LinkSnapshotGenInfo struct { TargetDevice string `json:"targetDevice"` State string `json:"state"` Restored bool `json:"restored"` Defined bool `json:"defined"` Destaged bool `json:"destaged"` BackgroundDef bool `json:"backgroundDef"` }
LinkSnapshotGenInfo contains information on snapshot generation for links
type LinkedVolumes ¶
type LinkedVolumes struct { TargetDevice string `json:"targetDevice"` Timestamp string `json:"timestamp"` State string `json:"state"` TrackSize int64 `json:"trackSize"` Tracks int64 `json:"tracks"` PercentageCopied int64 `json:"percentageCopied"` Linked bool `json:"linked"` Restored bool `json:"restored"` Defined bool `json:"defined"` Copy bool `json:"copy"` Destage bool `json:"destage"` Modified bool `json:"modified"` }
LinkedVolumes contains information about linked volumes of the snapshot
type MaskingView ¶
type MaskingView struct { MaskingViewID string `json:"maskingViewId"` HostID string `json:"hostId"` HostGroupID string `json:"hostGroupId"` PortGroupID string `json:"portGroupId"` StorageGroupID string `json:"storageGroupId"` }
MaskingView holds masking view fields
type MaskingViewConnection ¶
type MaskingViewConnection struct { VolumeID string `json:"volumeID"` HostLUNAddress string `json:"host_lun_address"` CapacityGB string `json:"cap_gb"` InitiatorID string `json:"initiatorId"` Alias string `json:"alias"` DirectorPort string `json:"dir_port"` LoggedIn bool `json:"logged_in"` OnFabric bool `json:"on_fabric"` }
MaskingViewConnection is a connection entry for the massking view associating a volume with the HostLUNAddress, the InitiatID and DirectorPort used for the path, and other attributes.
type MaskingViewConnectionsResult ¶
type MaskingViewConnectionsResult struct {
MaskingViewConnections []*MaskingViewConnection `json:"maskingViewConnection"`
}
MaskingViewConnectionsResult is the result structure for .../maskingview/{id}/connections
type MaskingViewCreateParam ¶
type MaskingViewCreateParam struct { MaskingViewID string `json:"maskingViewId"` HostOrHostGroupSelection *HostOrHostGroupSelection `json:"hostOrHostGroupSelection,omitempty"` PortGroupSelection *PortGroupSelection `json:"portGroupSelection,omitempty"` StorageGroupSelection *StorageGroupSelection `json:"storageGroupSelection,omitempty"` EnableComplianceAlerts bool `json:"enableComplianceAlerts,omitempty"` ExecutionOption string `json:"executionOption,omitempty"` }
MaskingViewCreateParam holds the parameters to create masking views
type MaskingViewList ¶
type MaskingViewList struct {
MaskingViewIDs []string `json:"maskingViewId"`
}
MaskingViewList contains list of masking views
type MergeStorageGroupParam ¶
type MergeStorageGroupParam struct {
StorageGroupID string `json:"storageGroupId,omitempty"`
}
MergeStorageGroupParam : Payloads for updating Storage Group
type MirrorSession ¶
type MirrorSession struct { Timestamp int64 `json:"timestamp"` State string `json:"state"` SourceVolume string `json:"sourceVolume"` TargetVolume string `json:"targetVolume"` }
MirrorSession contains info about mirrored session
type ModifyVolumeIdentifierParam ¶
type ModifyVolumeIdentifierParam struct {
VolumeIdentifier VolumeIdentifierType `json:"volumeIdentifier"`
}
ModifyVolumeIdentifierParam : volume identifier to modify the volume information
type ModifyVolumeSnapshot ¶
type ModifyVolumeSnapshot struct { VolumeNameListSource []VolumeList `json:"deviceNameListSource"` VolumeNameListTarget []VolumeList `json:"deviceNameListTarget"` Force bool `json:"force,omitempty"` Star bool `json:"star,omitempty"` Exact bool `json:"exact,omitempty"` Copy bool `json:"copy,omitempty"` Remote bool `json:"remote,omitempty"` Symforce bool `json:"symforce,omitempty"` NoCopy bool `json:"nocopy,omitempty"` TTL int64 `json:"ttl,omitempty"` SecureTTL int64 `json:"securettl,omitempty"` NewSnapshotName string `json:"newsnapshotname,omitempty"` TimeInHours bool `json:"timeInHours"` Action string `json:"action"` Generation int64 `json:"generation"` ExecutionOption string `json:"executionOption,omitempty"` }
ModifyVolumeSnapshot contains input parameters to modify the snapshot
type MoveVolumeToStorageGroupParam ¶
type MoveVolumeToStorageGroupParam struct { VolumeIDs []string `json:"volumeId,omitempty"` StorageGroupID string `json:"storageGroupId,omitempty"` Force bool `json:"force,omitempty"` }
MoveVolumeToStorageGroupParam stores parameters to move volumes to SG
type Port ¶
type Port struct {
SymmetrixPort SymmetrixPortType `json:"symmetrixPort"`
}
Port is a minimal represation of a Symmetrix Port for iSCSI target purpose
type PortGroup ¶
type PortGroup struct { PortGroupID string `json:"portGroupId"` SymmetrixPortKey []PortKey `json:"symmetrixPortKey"` NumberPorts int64 `json:"num_of_ports"` NumberMaskingViews int64 `json:"number_of_masking_views"` PortGroupType string `json:"type"` MaskingView []string `json:"maskingview"` }
PortGroup : Information about a port group
type PortGroupList ¶
type PortGroupList struct {
PortGroupIDs []string `json:"portGroupId"`
}
PortGroupList : list of port groups
type PortGroupSelection ¶
type PortGroupSelection struct { CreatePortGroupParam *CreatePortGroupParam `json:"createPortGroupParam,omitempty"` UseExistingPortGroupParam *UseExistingPortGroupParam `json:"useExistingPortGroupParam,omitempty"` }
PortGroupSelection contains parameters to select the port group
type PortList ¶
type PortList struct {
SymmetrixPortKey []PortKey `json:"symmetrixPortKey"`
}
PortList : list of ports
type PrivVolumeIterator ¶
type PrivVolumeIterator struct { ResultList PrivVolumeResultList `json:"resultList"` ID string `json:"id"` Count int `json:"count"` // What units is ExpirationTime in? ExpirationTime int64 `json:"expirationTime"` MaxPageSize int `json:"maxPageSize"` }
PrivVolumeIterator : holds the iterator of resultant volume list
type PrivVolumeResultList ¶
type PrivVolumeResultList struct { PrivVolumeList []VolumeResultPrivate `json:"result"` From int `json:"from"` To int `json:"to"` }
PrivVolumeResultList : volume list resulted
type QueryParams ¶
type QueryParams map[string]interface{}
QueryParams is a map of key value pairs that can be appended to any url as query parameters.
type RemoveHostInitiators ¶
type RemoveHostInitiators struct {
RemoveInitiator *ChangeInitiatorParam `json:"removeInitiatorParam,omitempty"`
}
RemoveHostInitiators holds the initiator parameter to remove
type RemovePortParam ¶
type RemovePortParam struct {
Ports []SymmetrixPortKeyType `json:"port"`
}
type RemoveStorageGroupParam ¶
type RemoveStorageGroupParam struct { StorageGroupIDs []string `json:"storageGroupId,omitempty"` Force bool `json:"force,omitempty"` }
RemoveStorageGroupParam holds parameters to remove an SG
type RemoveVolumeParam ¶
type RemoveVolumeParam struct {
VolumeIDs []string `json:"volumeId,omitempty"`
}
RemoveVolumeParam holds volume ids to remove from SG
type RenameHostParam ¶
type RenameHostParam struct {
NewName string `json:"new_host_name,omitempty"`
}
RenameHostParam holds the new name
type RenameStorageGroupParam ¶
type RenameStorageGroupParam struct {
NewStorageGroupName string `json:"new_storage_Group_name,omitempty"`
}
RenameStorageGroupParam holds new name of a storage group
type SLOBasedStorageGroupParam ¶
type SLOBasedStorageGroupParam struct { SLOID string `json:"sloId,omitempty"` WorkloadSelection string `json:"workloadSelection,omitempty"` NumberOfVolumes int `json:"num_of_vols"` VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"` AllocateCapacityForEachVol bool `json:"allocate_capacity_for_each_vol,omitempty"` PersistPrealloctedCapacityThroughReclaimOrCopy bool `json:"persist_preallocated_capacity_through_reclaim_or_copy,omitempty"` NoCompression bool `json:"noCompression,omitempty"` VolumeIdentifier *VolumeIdentifierType `json:"volumeIdentifier,omitempty"` SetHostIOLimitsParam *SetHostIOLimitsParam `json:"setHostIOLimitsParam,omitempty"` }
SLOBasedStorageGroupParam holds parameters related to an SG and SLO
type SetHostFlags ¶
type SetHostFlags struct {
HostFlags *HostFlags `json:"hostFlags,omitempty"`
}
SetHostFlags contains the host flags
type SetHostIOLimitsParam ¶
type SetHostIOLimitsParam struct { HostIOLimitMBSec string `json:"host_io_limit_mb_sec,omitempty"` HostIOLimitIOSec string `json:"host_io_limit_io_sec,omitempty"` DynamicDistribution string `json:"dynamicDistribution,omitempty"` }
SetHostIOLimitsParam holds param to set host IO limit
type SnapTarget ¶
SnapTarget contains target information
type SnapVXSession ¶
type SnapVXSession struct { SourceSnapshotGenInfo []SourceSnapshotGenInfo `json:"srcSnapshotGenInfo"` LinkSnapshotGenInfo []LinkSnapshotGenInfo `json:"lnkSnapshotGenInfo"` TargetSourceSnapshotGenInfo *TargetSourceSnapshotGenInfo `json:"tgtSrcSnapshotGenInfo"` }
SnapVXSession holds snapshot session information
type Snapshot ¶
type Snapshot struct { Name string `json:"name"` Generation int64 `json:"generation"` Linked bool `json:"linked"` Restored bool `json:"restored"` Timestamp string `json:"timestamp"` State string `json:"state"` }
Snapshot contains information for a snapshot
type SnapshotHeader ¶
type SnapshotHeader struct { Device string `json:"device"` SnapshotName string `json:"snapshotName"` Generation int64 `json:"generation"` Secured bool `json:"secured"` Expired bool `json:"expired"` TimeToLive int64 `json:"timeToLive"` Timestamp int64 `json:"timestamp"` }
SnapshotHeader contians information for snapshot header
type SnapshotVolumeGeneration ¶
type SnapshotVolumeGeneration struct { DeviceName string `json:"deviceName"` VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrcs"` VolumeSnapshotLink []VolumeSnapshotLink `json:"snapshotLnks,omitempty"` }
SnapshotVolumeGeneration contains information on all snapshots related to a volume
type SourceSnapshotGenInfo ¶
type SourceSnapshotGenInfo struct { SnapshotHeader SnapshotHeader `json:"snapshotHeader"` LinkSnapshotGenInfo []LinkSnapshotGenInfo `json:"lnkSnapshotGenInfo"` }
SourceSnapshotGenInfo contains source snapshot generation info
type SpecificVolumeParam ¶
type SpecificVolumeParam struct { VolumeIDs []string `json:"volumeId,omitempty"` VolumeAttribute VolumeAttributeType `json:"volumeAttribute,omitempty"` RDFGroupNumber int `json:"rdfGroupNumber,omitempty"` }
SpecificVolumeParam holds volume ids, volume attributes and RDF group num
type SplitChildStorageGroupParam ¶
type SplitChildStorageGroupParam struct { StorageGroupID string `json:"storageGroupId,omitempty"` MaskingViewID string `json:"maskingViewId,omitempty"` }
SplitChildStorageGroupParam holds param to split child SG
type SplitStorageGroupVolumesParam ¶
type SplitStorageGroupVolumesParam struct { VolumeIDs []string `json:"volumeId,omitempty"` StorageGroupID string `json:"storageGroupId,omitempty"` MaskingViewID string `json:"maskingViewId,omitempty"` }
SplitStorageGroupVolumesParam holds parameters to split
type SrpCap ¶
type SrpCap struct { SubAllocCapInTB float64 `json:"subscribed_allocated_tb"` SubTotInTB float64 `json:"subscribed_total_tb"` SnapModInTB float64 `json:"snapshot_modified_tb"` SnapTotInTB float64 `json:"snapshot_total_tb"` UsableUsedInTB float64 `json:"usable_used_tb"` UsableTotInTB float64 `json:"usable_total_tb"` }
SrpCap : capacity of an SRP
type SrpEfficiency ¶
type SrpEfficiency struct { EfficiencyRatioToOne float32 `json:"overall_efficiency_ratio_to_one"` DataReductionRatioToOne float32 `json:"data_reduction_ratio_to_one"` DataReductionEnabledPerc float32 `json:"data_reduction_enabled_percent"` VirtProvSavingRatioToOne float32 `json:"virtual_provisioning_savings_ratio_to_one"` SanpSavingRatioToOne float32 `json:"snapshot_savings_ratio_to_one"` }
SrpEfficiency : efficiency attributes of an SRP
type StorageGroup ¶
type StorageGroup struct { StorageGroupID string `json:"storageGroupId"` SLO string `json:"slo"` SRP string `json:"srp"` Workload string `json:"workload"` SLOCompliance string `json:"slo_compliance"` NumOfVolumes int `json:"num_of_vols"` NumOfChildSGs int `json:"num_of_child_sgs"` NumOfParentSGs int `json:"num_of_parent_sgs"` NumOfMaskingViews int `json:"num_of_masking_views"` NumOfSnapshots int `json:"num_of_snapshots"` CapacityGB float64 `json:"cap_gb"` DeviceEmulation string `json:"device_emulation"` Type string `type:"type"` Unprotected bool `type:"unprotected"` ChildStorageGroup []string `json:"child_storage_group"` ParentStorageGroup []string `json:"parent_storage_group"` MaskingView []string `json:"maskingview"` }
StorageGroup holds all the fields of an SG
type StorageGroupIDList ¶
type StorageGroupIDList struct {
StorageGroupIDs []string `json:"storageGroupId"`
}
StorageGroupIDList : list of sg's
type StorageGroupResult ¶
type StorageGroupResult struct { StorageGroup []StorageGroup `json:"storageGroup"` Success bool `json:"success"` Message string `json:"message"` }
StorageGroupResult holds result of an operation
type StorageGroupSelection ¶
type StorageGroupSelection struct { CreateStorageGroupParam *CreateStorageGroupParam `json:"createStorageGroupParam,omitempty"` UseExistingStorageGroupParam *UseExistingStorageGroupParam `json:"useExistingStorageGroupParam,omitempty"` }
StorageGroupSelection contains parameters to select storage group
type StoragePool ¶
type StoragePool struct { StoragePoolID string `json:"srpID"` DiskGrouCount int `json:"num_of_disk_groups"` Description string `json:"description"` Emulation string `json:"emulation"` CompressionState string `json:"compression_state"` EffectiveUsedCapPerc int `json:"effective_used_capacity_percent"` ReservedCapPerc int `json:"reserved_cap_percent"` SrdfDseAllocCap float64 `json:"total_srdf_dse_allocated_cap_gb"` RdfaDse bool `json:"rdfa_dse"` DiskGroupIDs []string `json:"diskGroupId"` ExternalCap float64 `json:"external_capacity_gb"` SrpCap *SrpCap `json:"srp_capacity"` SrpEfficiency *SrpEfficiency `json:"srp_efficiency"` }
StoragePool : information about a storage pool
type StoragePoolList ¶
type StoragePoolList struct {
StoragePoolIDs []string `json:"srpID"`
}
StoragePoolList : list of storage pools in the system
type SymDevice ¶
type SymDevice struct { SymmetrixID string `json:"symmetrixId"` Name string `json:"name"` Snapshot []Snapshot `json:"snapshot"` RdfgNumbers []int64 `json:"rdfgNumbers"` }
SymDevice list of devices on a particular symmetrix system
type SymReplicationCapabilities ¶
type SymReplicationCapabilities struct { SymmetrixCapability []SymmetrixCapability `json:"symmetrixCapability"` Successful bool `json:"successful,omitempty"` FailMessage string `json:"failMessage,omitempty"` }
SymReplicationCapabilities holds whether or not snapshot is licensed
type SymVolumeList ¶
SymVolumeList contains information on private volume get
type Symmetrix ¶
type Symmetrix struct { SymmetrixID string `json:"symmetrixID"` DeviceCount int `json:"device_count"` Ucode string `json:"ucode"` Model string `json:"model"` Local bool `json:"local"` AllFlash bool `json:"all_flash"` DisplayName string `json:"display_name"` DiskCount int `json:"disk_count"` CacheSizeMB int `json:"cache_size_mb"` DataEncryption string `json:"data_encryption"` }
Symmetrix : information about a Symmetrix system
type SymmetrixCapability ¶
type SymmetrixCapability struct { SymmetrixID string `json:"symmetrixId"` SnapVxCapable bool `json:"snapVxCapable"` RdfCapable bool `json:"rdfCapable"` }
SymmetrixCapability holds replication capabilities
type SymmetrixIDList ¶
type SymmetrixIDList struct {
SymmetrixIDs []string `json:"symmetrixID"`
}
SymmetrixIDList : contains list of symIDs
type SymmetrixPortKeyType ¶
type SymmetrixPortKeyType struct { DirectorID string `json:"directorId,omitempty"` PortID string `json:"portId,omitempty"` }
SymmetrixPortKeyType contains the director id and port number
type SymmetrixPortType ¶
type SymmetrixPortType struct { ISCSITarget bool `json:"iscsi_target,omitempty"` IPAddresses []string `json:"ip_addresses,omitempty"` Identifier string `json:"identifier,omitempty"` Type string `json:"type,omitempty"` }
SymmetrixPortType : type of symmetrix port
type TargetSourceSnapshotGenInfo ¶
type TargetSourceSnapshotGenInfo struct { TargetDevice string `json:"targetDevice"` SourceDevice string `json:"sourceDevice"` SnapshotName string `json:"snapshotName"` Generation int64 `json:"generation"` Secured bool `json:"secured"` Expired bool `json:"expired"` TimeToLive int64 `json:"timeToLive"` Timestamp int64 `json:"timestamp"` Defined string `json:"state"` }
TargetSourceSnapshotGenInfo contains information on target snapshot generation
type Task ¶
type Task struct { ExecutionOrder int `json:"execution_order"` Description string `json:"description"` }
Task : holds execution order with a description
type TimeFinderInfo ¶
type TimeFinderInfo struct { SnapSource bool `json:"snapSource"` SnapTarget bool `json:"snapTarget"` SnapVXSrc bool `json:"snapVXSrc"` SnapVXTgt bool `json:"snapVXTgt"` Mirror bool `json:"mirror"` CloneSrc bool `json:"cloneSrc"` CloneTarget bool `json:"cloneTarget"` SnapVXSession []SnapVXSession `json:"snapVXSession"` CloneSession []CloneSession `json:"cloneSession"` MirrorSession []MirrorSession `json:"MirrorSession"` }
TimeFinderInfo contains snap information for a volume
type UpdateHostAddInitiatorsParam ¶
type UpdateHostAddInitiatorsParam struct { EditHostAction *AddHostInitiators `json:"editHostActionParam"` ExecutionOption string `json:"executionOption"` }
UpdateHostAddInitiatorsParam contains action and option to update the host initiators
type UpdateHostParam ¶
type UpdateHostParam struct { EditHostAction *EditHostParams `json:"editHostActionParam"` ExecutionOption string `json:"executionOption"` }
UpdateHostParam contains action and option to update the host
type UpdateHostRemoveInititorsParam ¶
type UpdateHostRemoveInititorsParam struct { EditHostAction *RemoveHostInitiators `json:"editHostActionParam"` ExecutionOption string `json:"executionOption"` }
UpdateHostRemoveInititorsParam contains action and option to remove the host initiators
type UpdateStorageGroupPayload ¶
type UpdateStorageGroupPayload struct { EditStorageGroupActionParam EditStorageGroupActionParam `json:"editStorageGroupActionParam"` // ExecutionOption "SYNCHRONOUS" or "ASYNCHRONOUS" ExecutionOption string `json:"executionOption"` }
UpdateStorageGroupPayload : updates SG rest paylod
type UseExistingHostGroupParam ¶
type UseExistingHostGroupParam struct {
HostGroupID string `json:"hostGroupId"`
}
UseExistingHostGroupParam contains ID of the host group
type UseExistingHostParam ¶
type UseExistingHostParam struct {
HostID string `json:"hostId"`
}
UseExistingHostParam contains host id to use
type UseExistingPortGroupParam ¶
type UseExistingPortGroupParam struct {
PortGroupID string `json:"portGroupId,omitempty"`
}
UseExistingPortGroupParam contains the port group id
type UseExistingStorageGroupParam ¶
type UseExistingStorageGroupParam struct {
StorageGroupID string `json:"storageGroupId,omitempty"`
}
UseExistingStorageGroupParam : use this sg ID
type Version ¶
type Version struct {
Version string `json:"version"`
}
Version : /unixmax/restapi/system/version
type Volume ¶
type Volume struct { VolumeID string `json:"volumeID"` Type string `json:"type"` Emulation string `json:"emulation"` SSID string `json:"ssid"` AllocatedPercent int `json:"allocated_percent"` CapacityGB float64 `json:"cap_gb"` FloatCapacityMB float64 `json:"cap_mb"` CapacityCYL int `json:"cap_cyl"` Status string `json:"status"` Reserved bool `json:"reserved"` Pinned bool `json:"pinned"` PhysicalName string `json:"pysical_name"` VolumeIdentifier string `json:"volume_identifier"` WWN string `json:"wwn"` Encapsulated bool `json:"encapsulated"` NumberOfStorageGroups int `json:"num_of_storage_groups"` NumberOfFrontEndPaths int `json:"num_of_front_end_paths"` StorageGroupIDList []string `json:"storageGroupId"` // Don't know how to handle symmetrixPortKey for sure SymmetrixPortKey []SymmetrixPortKeyType `json:"symmetrixPortKey"` Success bool `json:"success"` Message string `json:"message"` SnapSource bool `json:"snapvx_source"` SnapTarget bool `json:"snapvx_target"` }
Volume : information about a volume
type VolumeAttributeType ¶
type VolumeAttributeType struct { CapacityUnit string `json:"capacityUnit"` // CAPACITY_UNIT_{TB,GB,MB,CYL} VolumeSize string `json:"volume_size"` }
VolumeAttributeType : volume attributes
type VolumeHeader ¶
type VolumeHeader struct { VolumeID string `json:"volumeId"` NameModifier string `json:"nameModifier"` FormattedName string `json:"formattedName"` PhysicalDeviceName string `json:"physicalDeviceName"` Configuration string `json:"configuration"` SRP string `json:"SRP"` ServiceLevel string `json:"serviceLevel"` ServiceLevelBaseName string `json:"serviceLevelBaseName"` Workload string `json:"workload"` StorageGroup []string `json:"storageGroup"` FastStorageGroup string `json:"fastStorageGroup"` ServiceState string `json:"serviceState"` Status string `json:"status"` CapTB float64 `json:"capTB"` CapGB float64 `json:"capGB"` CapMB float64 `json:"capMB"` BlockSize int64 `json:"blockSize"` AllocatedPercent int64 `json:"allocatedPercent"` EmulationType string `json:"emulationType"` SystemResource bool `json:"system_resource"` Encapsulated bool `json:"encapsulated"` BCV bool `json:"BCV"` SplitName string `json:"splitName"` SplitSerialNumber string `json:"splitSerialNumber"` FBA bool `json:"FBA"` CKD bool `json:"CKD"` Mapped bool `json:"mapped"` Private bool `json:"private"` DataDev bool `json:"dataDev"` VVol bool `json:"VVol"` MobilityID bool `json:"mobilityID"` Meta bool `json:"meta"` MetaHead bool `json:"metaHead"` NumSymDevMaskingViews int64 `json:"numSymDevMaskingViews"` NumStorageGroups int64 `json:"numStorageGroups"` NumDGs int64 `json:"numDGs"` NumCGs int64 `json:"numCGs"` Lun string `json:"lun"` MetaConfigNumber int64 `json:"metaConfigNumber"` WWN string `json:"wwn"` HasEffectiveWWN bool `json:"hasEffectiveWWN"` EffectiveWWN string `json:"effectiveWWN"` PersistentAllocation string `json:"persistentAllocation"` CUImageNum string `json:"CUImageNum"` CUImageStatus string `json:"CUImageStatus"` SSID string `json:"SSID"` CUImageBaseAddress string `json:"CUImageBaseAddress"` PAVMode string `json:"PAVMode"` FEDirPorts []string `json:"FEDirPorts"` CompressionEnabled bool `json:"compressionEnabled"` CompressionRatio string `json:"compressionRatio"` }
VolumeHeader holds private volume header information
type VolumeIDList ¶
type VolumeIDList struct {
VolumeIDs string `json:"volumeId"`
}
VolumeIDList : list of volume ids
type VolumeIdentifierType ¶
type VolumeIdentifierType struct { VolumeIdentifierChoice string `json:"volumeIdentifierChoice,omitempty"` IdentifierName string `json:"identifier_name,omitempty"` AppendNumber string `json:"append_number,omitempty"` }
VolumeIdentifierType : volume identifier
type VolumeIterator ¶
type VolumeIterator struct { ResultList VolumeResultList `json:"resultList"` ID string `json:"id"` Count int `json:"count"` // What units is ExpirationTime in? ExpirationTime int64 `json:"expirationTime"` MaxPageSize int `json:"maxPageSize"` }
VolumeIterator : holds the iterator of resultant volume list
type VolumeList ¶
type VolumeList struct {
Name string `json:"name"`
}
VolumeList contains list of device names
type VolumeResultList ¶
type VolumeResultList struct { VolumeList []VolumeIDList `json:"result"` From int `json:"from"` To int `json:"to"` }
VolumeResultList : volume list resulted
type VolumeResultPrivate ¶
type VolumeResultPrivate struct { VolumeHeader VolumeHeader `json:"volumeHeader"` TimeFinderInfo TimeFinderInfo `json:"timeFinderInfo"` }
VolumeResultPrivate holds private volume information
type VolumeSnapshot ¶
type VolumeSnapshot struct { DeviceName string `json:"deviceName"` SnapshotName string `json:"snapshotName"` VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrc"` VolumeSnapshotLink []VolumeSnapshotLink `json:"snapshotLnk,omitempty"` }
VolumeSnapshot contains list of volume snapshots
type VolumeSnapshotGeneration ¶
type VolumeSnapshotGeneration struct { DeviceName string `json:"deviceName"` SnapshotName string `json:"snapshotName"` Generation int64 `json:"generation"` VolumeSnapshotSource VolumeSnapshotSource `json:"snapshotSrc"` VolumeSnapshotLink []VolumeSnapshotLink `json:"snapshotLnk,omitempty"` }
VolumeSnapshotGeneration contains information on generation of a snapshot
type VolumeSnapshotGenerations ¶
type VolumeSnapshotGenerations struct { DeviceName string `json:"deviceName"` Generation []int64 `json:"generation"` SnapshotName string `json:"snapshotName"` VolumeSnapshotSource []VolumeSnapshotSource `json:"snapshotSrc"` VolumeSnapshotLink []VolumeSnapshotLink `json:"snapshotLnk,omitempty"` }
VolumeSnapshotGenerations contains list of volume snapshot generations
type VolumeSnapshotLink ¶
type VolumeSnapshotLink struct { TargetDevice string `json:"targetDevice"` Timestamp string `json:"timestamp"` State string `json:"state"` TrackSize int64 `json:"trackSize"` Tracks int64 `json:"tracks"` PercentageCopied int64 `json:"percentageCopied"` Linked bool `json:"linked"` Restored bool `json:"restored"` Defined bool `json:"defined"` Copy bool `json:"copy"` Destage bool `json:"destage"` Modified bool `json:"modified"` }
VolumeSnapshotLink contains information about linked snapshots
type VolumeSnapshotSource ¶
type VolumeSnapshotSource struct { SnapshotName string `json:"snapshotName"` Generation int64 `json:"generation"` TimeStamp string `json:"timestamp"` State string `json:"state"` ProtectionExpireTime int64 `json:"protectionExpireTime"` GCM bool `json:"gcm"` ICDP bool `json:"icdp"` Secured bool `json:"secured"` IsRestored bool `json:"isRestored"` TTL int64 `json:"ttl"` Expired bool `json:"expired"` LinkedVolumes []LinkedVolumes `json:"linkedDevices"` }
VolumeSnapshotSource holds information on volume snapshot source