Documentation
¶
Overview ¶
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Copyright © 2020 Dell Inc. or its subsidiaries. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
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