DataCore REST API Reference Guide

Table of Operations
Abort Move Logical Disk Abort Snapshot Group Operation Abort Snapshot Operation Abort Task
Abort Virtual Disk Reclamation Activate Licenses Add Capacity Optimization Disks Add Capacity Optimization Mirrored Special Device Disks
Add DvaRaidPool Disks Add Host Add Host to Group Add Log Message
Add Mirror Disk To Pool Member Add Physical Disks to Pool Add Replication Partner Group Add Server
Add Target Portal Add User Add User Ownership Add vCenter
Add Virtual Disk Mirror Add Virtual Disks To Group Assign Port To Host Assign Role
Back Up Configuration Cancel Deactivate Replication Cancel Delete Replication Cancel Support Bundle Collection
Close Session Collect Support Bundle Convert To Full Snapshot Convert To Full Snapshot Group
Convert Virtual Disk To Dual Create "Checkpoint" Trigger Create "Log Message" Action Create "Monitor" Trigger
Create "Reclaim Space" Action Create "Revert From Snapshot Group" Action Create "Revert From Snapshot" Action Create "Run Command" Action
Create "Run PowerShell Script" Action Create "Send Checkpoint Marker" Action Create "Send Notification" Action Create "Update Snapshot Group" Action
Create "Update Snapshot" Action Create Dual Virtual Disks Create Host Group Create Mirrored Virtual Disks
Create Passthrough Snapshot Create Pool Create Replication Create Role
Create Rollback Create Rollback Group Create Single Virtual Disks Create Snapshot
Create Snapshot Group Create Storage Profile Create Task Create Virtual Disk Group
Create Virtual Disks From Template Create Virtual Disks From Virtual Disk Create Virtual Logical Unit Delete Action
Delete Alerts Delete Host Delete Host Group Delete Logical Disk
Delete Ownership Delete Pool Delete Port Delete Replication
Delete Replication Delete Replication Partnerships Delete Role Delete Rollback
Delete Rollback From Group Delete Rollback Group Delete Server Delete Snapshot
Delete Snapshot From Group Delete Snapshot Group Delete Storage Profile Delete Task
Delete Trigger Delete User Delete vCenter Delete Virtual Disk
Delete Virtual Disk From Group Delete Virtual Disk Group Delete Virtual Disk Template Delete Virtual Logical Unit
Disable Capacity Optimization Disable Continuous Data Protection Disable Continuous Data Protection on Group Disable Replication Test Mode
Disable Sequential Storage Disable Sequential Storage on Group Disable Task Edit Capacity Optimization
Enable Capacity Optimization Enable Continous Data Protection Enable Continuous Data Protection on Group Enable Replication Test Mode
Enable Sequential Storage Enable Sequential Storage on Group Enable Task Extend datastore
Force Logical Disk Online Get Actions Get Alerts Get Chunk Allocation Map
Get Chunk Reclamation Map Get Configuration Get Current Time Get DcsDvaPool
Get DcsDvaPoolDisks Get Disk Paths Get FC Ports Get Host Groups
Get Hosts Get iSCSI Ports Get Logical Disks Get Mirror Relations
Get Monitor Templates Get Monitors Get Object Get Ownerships
Get Performance Get Performance By Type Get Performance By Type Get PhysicalDisks
Get Pool Logical Disks Get Pool Member Purge Prerequisites Get Pool Members Get Pools
Get Port Connections Get Ports Get Preferred Servers Get Recording Endpoints
Get Recording Instances Get Recording Performance Get Replication Groups Get Replications
Get Roles Get Rollback Groups Get Rollbacks Get Server Groups
Get Server Groups Ex Get Server Hosts Get Servers Get Shared Physical Disks
Get Shared Pools Get Snapshot Group Creation Properties Get Snapshot Groups Get Snapshots
Get Storage Profiles Get Target Devices Get Target Domains Get Tasks
Get Triggers Get User-Role Relationships Get Users Get vCenters
Get Virtual Disk Groups Get Virtual Disk Templates Get Virtual Disks Get Virtual Logical Units
Get VVol Bindings Import DvaPool Import Pool Login iSCSI Target
Logout iSCSI Target Mark Replication Check Point Move Logical Disk Open Session
Pause Replication Pause Virtual Disk Mirror Recovery Purge Pool Member Quick Create Virtual Disk and Serve
Register Port To Host Release Physical Disk Remove Capacity Optimization Disks Remove Capacity Optimization Mirrored Special Device
Remove Host From Group Remove Physical Disks from Pool Repair Capacity Optimization Replace DvaRaidPool Disk
Replace Logical Disk Replace Virtual Logical Unit Rescan Port Rescan Server Ports
Reset Syslog Settings Resume Replication Resume Virtual Disk Mirror Recovery Reverse Replication
Revert Rollback Revert Rollback Group Revert Snapshot Revert Snapshot Group
Run Task Serve Virtual Disk Serve Virtual Disk Group Set Default Kmip Endpoint
Set Host Group Properties Set Host Properties Set Logical Disk Access Set Physical Disk Properties
Set Pool Member Properties Set Pool Properties Set Port Properties Set Replication Group Properties
Set Replication Initialization Type Set Replication Partner Transfer Address Set Replication Snapshot Set Role Properties
Set Rollback Group Properties Set Rollback Properties Set Server Default Snapshot Pool Set Server Group Properties
Set Server Mapstore Set Server Properties Set SMTP Properties Set Snapshot Group Properties
Set Snapshot Pool Set Snapshot Properties Set Storage Profile Properties Set Syslog Settings
Set Task Properties Set User Properties Set Virtual Disk Group Properties Set Virtual Disk Properties
Set Virtual Logical Unit Properties Set VirtualDiskTemplate Properties Split and Unserve Virtual Disk Split Rollback
Split Rollback Group Split Snapshot Split Snapshot Group Split Virtual Disk
Start Server Start Virtual Disk Reclamation Stop Server Test SMTP Settings
Test Supportbundle Relay Address Unassign Port From Host Unassign Role Unserve All Virtual Disks from Host
Unserve Virtual Disk Unserve Virtual Disk Group Update Snapshot Update Snapshot Group
Table of Types
AccessToken AgentSet APIUsage AsyncOperation
AsyncReplicationData AsyncReplicationNotification BaseRecordingPointData BitArrayEx
CategoryRecordingPointData ChapLoginOptions CheckpointTriggerData CheckpointTriggerState
ClientDiskData ClientHostData ClientHostDataEx ClientReplicationData
ClientRollbackData ClientServerRelationData ClientSnapshotData CollectionPointData
ConfigurationData ConfigurationInfoData ConnectionBinding ConnectionCredentials
ConnectionDescriptor ConnectionParams ContactData ContactSettings
ContractVersionAttribute ContractVersionData DailyTriggerData DataCoreDiskData
DataSize DiscoveryConfig DiskPathData DiskPoolData
DiskPoolDataEx DiskPoolPerformance DistributionResult DistributionResultSet
DvaPerformance DvaPoolData DvaPoolDeviceData DvaPoolDiskData
DvaPoolVolData EmailActionData ExceptionType ExecutiveError
FcConnectionData FcPortCapabilityInfo FcPortConfigInfo FcPortData
FcPortExtraCapability FcPortIdInfo FcPortStateInfo FeatureFlagData
GroupConsistencyPoint GroupConsistencyPointData HeatmapCompressedValue HostData
HostGroupData HostGroupPerformance HostVersionData HostVirtualDiskData
Identifiable IdentifiablePerformanceData IldcConfigurationData InquiryData
InstanceCollectionPointData InstanceRecordingPointData iScsiPortalConfigInfo iScsiPortCapabilityInfo
iScsiPortIdInfo iScsiPortStateInfo iScsiSessionData iScsiTargetData
iScsiTargetPortalData iSNSConfig KeyTypeEnum KmipEndpointContactRequest
KmipEndpointData KmipResponseData LicenseActivationBinding LicenseActivationEndpointAddress
LicenseFeatures LicenseKeyActivationInfo LicenseResult LicenseSettings
LinkErrors LocalRecordingEndpointSettings LogFilterExpression LogicalDiskData
LogicalDiskDistributionSet LogicalDiskPerformance LogMachineInfo LogMachinePrefilters
LogMessage LogMessageId LogPrefilters LogSearchResult
LogSortCriteria LogSource LUN MachinePerformance
MachinePerformanceEx MemberAllocationInfoData MessageActionData MessageTriggerData
MessageTriggerState MethodActionData MirrorData MirrorDiskData
MirroringPerformance MirrorRelationData MonitorData MonitorTemplateData
MonitorTriggerData MonitorTriggerState MonthlyTriggerData NetAddress
Node NodeList OperationContextData OperationData
OwnershipData PartnerServerHostData PartnershipData PassThroughLogicalDiskData
PCIInfo PerfMonitorTemplateData PerformanceData PerformanceInstanceData
PerformanceInstanceKeyData PerformanceRecordingSessionData PerformanceRequestData PerfRecordingStatisticsData
PhysicalDiskData PhysicalDiskDataEx PhysicalDiskLayout PhysicalDiskPerformance
Plugin PoolHeatmapData PoolLogicalDiskData PoolLogicalDiskPerformance
PoolMemberData PoolMemberDataEx PoolMemberHeatmapData PoolMemberPerformance
PoolPhysicalDiskChunkStatistics PortalCapabilityInfo PortalIdInfo PortalStateInfo
PortConfigInfo PortConnectionData PortDescriptor PrivilegeSet
ProcessorInformation ProductKeyData ProductKeyDataEx ProductVersionData
RecordingEndpointData RecordingEndpointProperties RecordingSessionPropertiesData RegionNodeData
RemoteRecordingEndpointSettings ReplicationData ReplicationEndpoint ReplicationGroupData
ReplicationPerformance ReplicationStateInfo RestDataBase RestOperation
RoleData RollbackData RollbackGroupData RollbackStateData
RollbackVirtualDiskData SauSizeExtensions ScheduledTriggerData ScriptActionData
ScsiPath ScsiPortData ScsiPortDataEx ScsiPortNexusData
ScsiPortPerformance ServerFcPortData ServerFcPortPropertiesData ServerGroupPerformance
ServerHostData ServerHostDataEx ServerHostGroupData ServerHostGroupDataEx
ServeriScsiPortData ServeriScsiPortPropertiesData ServerMachinePerformance ServerMSiScsiInitiatorData
ServerPoolData ServerPortPropertiesData ServerScsiPortData ServerScsiPortDataEx
ServerScsiPortPerformance ServerTime SessionData SessionDescriptor
SessionParams SharedDiskPoolData SharedDiskPoolPerformance SharedPhysicalDiskData
SharedPhysicalDiskPerformance SLPConfig SmtpServerSettings Snapshot
SnapshotBitmapData SnapshotData SnapshotGroupCreationData SnapshotGroupData
SnapshotGroupPerformance SnapshotRelationPerformance SnapshotVirtualDisk StatusLevel
StorageDomainSettings StorageProfileData StorageUsage StreamLogicalDiskData
StreamLogicalDiskPerformance SupportBundleRelayTest SyslogServerSettings TaskActionData
TaskData TaskTriggerData TelemetryData ThresholdMonitorData
ThresholdMonitorTemplateData TimeInterval TimeIntervalTriggerData TokenAuthorizationInfo
TokenData TriggerState UserData UserRoleRelationData
VcenterPluginData VersionData VimClientHostData VimClientHostDataEx
VimClusterData VimClusterDataEx VimConnectorData VimDatacenterData
VimDatacenterDataEx VimDatastoreData VimHostData VimHostDataEx
VimVirtualCenterData VimVirtualCenterDataEx VimVirtualMachineData VimVirtualMachineDataEx
VirtualDiskChunkStatistics VirtualDiskData VirtualDiskGroupBasePerformance VirtualDiskGroupData
VirtualDiskGroupPerformance VirtualDiskPerformance VirtualDiskTemplateData VirtualLogicalUnitData
VirtualLogicalUnitPerformance VirtualTargetDeviceData VirtualTargetDevicePerformance VirtualTargetDomainData
VirtualTargetDomainPerformance VVOLBindingData WeeklyTriggerData WitnessContactRequest
WitnessData WitnessResponseData WWN XYPoint
YearlyTriggerData
Table of Enums
AccessRights ActionBehavior AliasType AsyncReplicationNotificationType
AsyncReplicationPriority AuthenticationMode AuthenticationType AuthorizationContext
BitMapType CacheState ClassOfService ClientMachinePrivileges
ClientMachineType ClientState ComparisonOperator ConfigurationState
ConnectionMode DataRateMode DataStatus DataStoreServiceState
DiagnosticMode DiskDataProtectionRole DiskPoolPrivileges DiskPoolStatus
DiskSmartStatus DiskType DistributionWarning DvaPoolDiskResilveringStatus
EndpointType ErrorRecoveryLevel ExecutivePrivileges FileSystemType
FilterConnective GeneralPrivileges HostGroupPrivileges KmipPrivileges
LicensedSqlServerEdition LicensePrivileges LicenseSettingState LicenseType
LogExpressionOperators LogicalDiskFailure LogicalDiskStatus LogicalUnitAccess
LogicalUnitType LogLevel LogParameterNames LogPrefilterCategory
LogPrivileges LogSourceType LogStatus LogVisibility
MethodActionType MirrorPathConversionState MirrorRecoveryPriority Mode
MonitorPrivileges MonitorState NativeVolumeType NetAddressType
OperationState PartnerControllerPrivileges PartnerState PathPolicy
PerfCounterType PerfMonitorTemplateType PerformanceClass PerformanceRecordingPriviledges
PerformanceType PerfValueType PhysicalDiskPrivileges PhysicalDiskStatus
PoolDiskHeatmapInfoType PoolMemberState PoolMode PoolType
PoolVolumeType PortalState PortConnectionType PortDataRate
PortLocation PortPrivileges PortRole PortState
PortType PowerState PreferredPathOption PresenceStatus
ProcessorArchitecture PublicServicesState ReclamationState RecoveryStatus
RecurrenceType ReplicationBackendStatus ReplicationFailure ReplicationInitializationFailure
ReplicationInitType ReplicationOfflineInitStatus ReplicationOperation ReplicationPrivileges
ReplicationState ReplicationTestModeStatus ReplicationTransferStatus RolePrivileges
RollbackPrivileges RollbackRelationState ScriptActionType ScsiMode
ScsiPortType ServerMachineGroupPrivileges ServerMachinePrivileges ServerProductType
ServerState SessionState SnapshotFailure SnapshotOperation
SnapshotPrivileges SnapshotRelationState SnapshotType StorageBusType
StorageHandleType StorageProfilePrivileges StreamState SubscriberContext
SupportBundleType SupportServiceState TaskActionState TaskActionType
TaskPrivileges TaskState TaskTriggerType TriggerConnective
UserPrivileges VimDataCoreDiskSettingsChanged VimHostState VimMultipathPolicy
VimServiceClientState VimVirtualMachineState VirtualDiskGroupPrivileges VirtualDiskGroupType
VirtualDiskPrivileges VirtualDiskPurgeActions VirtualDiskStatus VirtualDiskSubType
VirtualDiskTemplatePrivileges VirtualDiskType VmIdMode VolumeStatus
WeekdayFlags WitnessPrivileges
DataCore Operations

To Table of Operations Abort Move Logical Disk

Aborts an active Move Logical Disk operation for the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "AbortMoveLogicalDisk"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "AbortMoveLogicalDisk"
}

Response body

{
 "StreamDiskId": null,
 "RetentionTime": 0,
 "StreamSize": {
   "Value": 0
   },
 "StreamState": 0,
 "StreamDiskDataProtectionRole": 0,
 "SequentialStorage": false,
 "PoolId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701:{88de4741-7b5a-11e6-8123-002590570de7}",
 "VolumeIndex": 47,
 "MinQuota": {
   "Value": 0
   },
 "MaxQuota": {
   "Value": 0
 },
 "TierAffinity": [
   1,
   2,
   3
 ],
 "StorageName": "Virtual disk 4",
 "ReclamationState": 0,
 "InReclamation": false,
 "DataStatus": 0,
 "PresenceStatus": 1,
 "Size": {
   "Value": 107374182400
   },
 "SectorSize": {
   "Value": 512
 },
 "MappingName": "V.{88de4741-7b5a-11e6-8123-002590570de7}-0000002F",
 "DiskStatus": 0,
 "Virtualized": true,
 "ClientAccessRights": 3,
 "MirrorAccessDisabled": false,
 "Failure": 1,
 "VirtualDiskId": "3b4d346384ec45d78076d9a4f02d4041",
 "DiskRole": 1,
 "ServerHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "IsMapped": true,
 "Protected": true,
 "Replacing": false,
 "TrunkVirtualDiskId": null,
 "SequenceNumber": 36335,
 "Id": "82aff62b-902c-479a-849c-8a1d6129a6ea",
 "Caption": "Virtual disk 4 on Metal",
 "ExtendedCaption": "Virtual disk 4 on Metal",
 "Internal": false,
 "DeletePending": false
}

To Table of Operations Abort Snapshot Group Operation

Aborts the current operation that is being performed on the specified snapshot group.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Operation" : "AbortOperation"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{0fedcfaa-d02c-45d5-9fce-a077decd4606}

Request body

{
    "Operation" : "AbortOperation"
}

Response body

{
  "ParentGroupId": "{e0e0be38-55d9-49ee-b44f-40d34c904129}",
  "Type": 1,
  "ActiveOperation": 1,
  "TimeStamp": "/Date(1489400196069)/",
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 4119,
  "Id": "{0fedcfaa-d02c-45d5-9fce-a077decd4606}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}

To Table of Operations Abort Snapshot Operation

Aborts the current operation that is being performed on the specified snapshot.

Version

1.0

Method

POST

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to act upon or modify.
Request Body
{
    "Operation" : "AbortOperation"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007

Request body

{
    "Operation" : "AbortOperation"
}

Response body

{
    "Type": 1,
    "TimeStamp": "/Date(1488911709785)/",
    "SourceLogicalDiskId": "f1703429-5d06-407a-b1f4-a3c28209ce44",
    "DestinationLogicalDiskId": "1d36b474-d3a4-4d09-bfa2-14f97446fe1a",
    "ActiveOperation": 4,
    "State": 2,
    "Failure": 0,
    "SequenceNumber": 3122040,
    "Id": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007",
    "Caption": "Snapshot 1",
    "ExtendedCaption": "Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Abort Task

Aborts the specified running task.

Version

1.0

Method

POST

URI template

/1.0/tasks/{taskid}

URI parameters
taskid ID of the task to act upon or modify.
Request Body
{
    "Operation": "AbortTask"
}    
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/tasks/4e3cf951-e411-4553-8db3-d2cfe927d0bd

Request body

None

Response body

{
    "Caption": "Task 1",
    "ExtendedCaption": "Task 1",
    "Id": "4e3cf951-e411-4553-8db3-d2cfe927d0bd",
    "Internal": false,
    "SequenceNumber": 1168848,
    "AbortOnActionFailure": false,
    "ActionBehavior": 1,
    "ActionDelay": 0,
    "Connective": 1,
    "Description": null,
    "Enabled": true,
    "LastStartTime": "/Date(1493986500026)/",
    "LastStopTime": "/Date(1493986500027)/",
    "MaxRunTime": 6048000000000,
    "State": 0
}

To Table of Operations Abort Virtual Disk Reclamation

Aborts reclamation on the specified virtual disk. If aborted, the process can be restarted at a later time without damage to the virtual disk integrity, see Start Virtual Disk Reclamation.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "AbortReclamation"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "AbortReclamation"
}

Response body

None

To Table of Operations Activate Licenses

Activates software license keys.

Version

1.0

Method

POST

URI template

/1.0/licenses

URI parameters
None
Request Body
{
    "Server" : "ID of the server for which a license is being activated",
    "ServerKey" : "Server key to activate",
    "CompanyName" : "Name of the company that is activating a licensed",
    "ContactName" : "Name of the contact person in the company",
    "EmailAddress" : "Email address of the contact in the format contactname@yourcompany.com",
    "PhoneNumber" : "Phone number of the contact in the format 555-555-5555",
    "GroupKey" : "Group key to activate",
    "Capacity" : "Amount of licensed storage capacity in terabytes to activate for the group"
    "LicenseServer" : The license activation server name or IP
    "LicensePort" : The license activation port
    "LicenseKeys":[
       {
       "Key": "WWN of the key
       "Server":"The server to activate the key on (for server keys)"
       "Capacity": "Amount of storage to activate in TBs (for capacity keys)"
       }
    ]
}
Notes
Terms of the license agreement must be accepted in order to activate a license.
Pass one of the following parameter combinations:
Server, ServerKey, CompanyName, ContactName, EmailAddress, PhoneNumber or
GroupKey, Capacity, CompanyName, ContactName, EmailAddress, PhoneNumber.
ServerKey and GroupKey parameters must be passed in separate operations.
LicenseKeys is an array of LicenseKeyActivationInfo
Partial activation of licensed storage capacity is allowed. 
For example, to activate half of a total licensed capacity of "100TB", pass "50TB" for the Capacity parameter.
Response Code
200
Returns
None
Example 1

Description

Activates a server key.

URL

https://SSVVM05/RestService/rest.svc/1.0/licenses

Request body

{
    "Server" : "FCBACFDB-35CB-40A0-A711-0BC59903BF1A",
    "ServerKey" : "J7GQZ-3FW9N-2BYL0-9V1PH-5N8NP",
    "CompanyName" : "Company XYZ",
    "ContactName" : "John Doe",
    "EmailAddress" : "JDoe@CompanyXYZ.com",
    "PhoneNumber" : "555-555-5555"
}

Response body

{
   "Status": "Success",
   "ErrorMessage": "blank if no error, otherwise error string from LM"
}
Example 2

Description

Activates a group capacity key.

URL

https://SSVVM05/RestService/rest.svc/1.0/licenses

Request body

{
    "GroupKey" : "HVSW6-Y8A3J-9L96F-5QRXS-RRR8G",
    "Capacity" : "50TB",
    "CompanyName" : "Company XYZ",
    "ContactName" : "John Doe",
    "EmailAddress" : "JDoe@CompanyXYZ.com",
    "PhoneNumber" : "555-555-5555"
}

Response body

None
Example 3

Description

Activates multiple keys.

URL

https://SSVVM05/RestService/rest.svc/1.0/licenses

Request body

{
    "GroupKey" : "HVSW6-Y8A3J-9L96F-5QRXS-RRR8G",
    "Capacity" : "50TB",
    "CompanyName" : "Company XYZ",
    "ContactName" : "John Doe",
    "EmailAddress" : "JDoe@CompanyXYZ.com",
    "PhoneNumber" : "555-555-5555"
    "LicenseKeys" : [
        { 
            "Key" : " NBK8Q-525TK-RQZN5-89ANG-992M8",
            "Capacity" : "10TB" 
        },
        {
            "Key" : "HZK1H-215RM-1DATD-6ADKG-3HG59",
            "Server" : "C6BAC0F3-B45E-4E79-A8DB-43D65F91FA09"
        }
    ]
}

Response body

None

To Table of Operations Add Capacity Optimization Disks

Adds physical disks to the capacity optimization pool, which supports deduplication and compression.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "AddCapacityOptimizationDisks",
    "Disks" : "Array of disk IDs to add to the capacity optimization pool",
    "DiskType" : "The Disk type. Valid values are 1 and 3. Default is 1 (Optional). For L2ARC, Disk type is 3"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "AddCapacityOptimizationDisks",
    "Disks" : ["{5f20df47-3e04-4816-901b-56332e592479}","{864f3e79-e988-40cc-b920-f1f062982b93}"]
}

Response body

[
{
"PoolMemberId":null,
"HostId":"977CC8B6-3F1F-4139-99CB-5820074A7656",
"SharedPhysicalDiskId":null,
"PresenceStatus":1,
"Alias":null,
"Size":{
"Value":2147483648
},
"SectorSize":{
"Value":512
},
"FreeSpace":{
"Value":2128609792
},
"InquiryData":{
"Vendor":"DataCoreVirtual",
"Product":"Disk",
"Revision":"DCS",
"Serial":"b2b468b1329b4ec1b225ffb32434c761"
},
"ScsiPath":{
"Port":8,
"Bus":0,
"Target":0,
"LUN":17
},
"DiskIndex":3,
"SystemName":"\\\\?\\PhysicalDrive3",
"BusType":9,
"Type":0,
"DiskStatus":1,
"Partitioned":false,
"InUse":true,
"IsBootDisk":false,
"Protected":false,
"IsSolidState":false,
"UniqueIdentifier":"naa.60030d9076402e042e1c5a2a12135206",
"IsDataCoreDisk":true,
"DvaPoolDiskId":"5e9425ca-25a7-4243-8263-db20924665b5",
"SmartStatus":2,
"DeduplicationSupported":false,
"CompressionSupported":false,
"HardwareEncryptionSupported":false,
"SequenceNumber":440,
"Id":"{5f20df47-3e04-4816-901b-56332e592479}",
"Caption":"DataCoreVirtual Disk",
"ExtendedCaption":"DataCoreVirtual Disk on Dev2SSV7",
"Internal":false
},
{
"PoolMemberId":null,
"HostId":"977CC8B6-3F1F-4139-99CB-5820074A7656",
"SharedPhysicalDiskId":null,
"PresenceStatus":1,
"Alias":null,
"Size":{
"Value":3221225472
},
"SectorSize":{
"Value":512
},
"FreeSpace":{
"Value":3202351616
},
"InquiryData":{
"Vendor":"DataCoreVirtual",
"Product":"Disk",
"Revision":"DCS",
"Serial":"cfd30956848b43cc9d6d4f7e05cd8f04"
},
"ScsiPath":{
"Port":8,
"Bus":0,
"Target":0,
"LUN":18
},
"DiskIndex":4,
"SystemName":"\\\\?\\PhysicalDrive4",
"BusType":9,
"Type":0,
"DiskStatus":1,
"Partitioned":false,
"InUse":true,
"IsBootDisk":false,
"Protected":false,
"IsSolidState":false,
"UniqueIdentifier":"naa.60030d90ab592e0477ebfb08372ed7a8",
"IsDataCoreDisk":true,
"DvaPoolDiskId":"cdd86533-198b-4842-8883-e3dffd1cce7c",
"SmartStatus":2,
"DeduplicationSupported":false,
"CompressionSupported":false,
"HardwareEncryptionSupported":false,
"SequenceNumber":450,
"Id":"{864f3e79-e988-40cc-b920-f1f062982b93}",
"Caption":"DataCoreVirtual Disk",
"ExtendedCaption":"DataCoreVirtual Disk on Dev2SSV7",
"Internal":false
}
]

To Table of Operations Add Capacity Optimization Mirrored Special Device Disks

Adds physical disks to the capacity optimization pool and creates a new Mirrored Special Device group.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "AddCapacityOptimizationSpecialMirror",
    "Disks" : "Array of disk IDs to add to the capacity optimization pool. The number of disks should be minimun of 2 disks."
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "AddCapacityOptimizationSpecialMirror",
    "Disks" : ["{47f43dd7-d58d-4337-a073-40062e535720}","{52a8d3e4-f15e-42b6-9890-1e2786391817}"]
}

Response body

[
{
   "DvaPoolId": "c5256211-4d70-46aa-9c13-9b7287d406d1",
   "ServerId": "6837AB62-FC2A-4D10-87E2-48BD2991ED34",
   "IsSLOGDisk": false,
   "DvaPoolDeviceId": "089bc760-1d9d-4b74-847c-a3fc784169df",
   "IsL2ARCDisk": false,
   "IsSpecialMirrorDisk": true,
   "DvaDiskResilveringStatus": 0,
   "SequenceNumber": 1241,
   "Id": "f16bd415-82d1-4660-b2c4-d3f4f0caeb3a",
   "Caption": "",
   "ExtendedCaption": "",
   "Internal": false
},
{
   "DvaPoolId": "c5256211-4d70-46aa-9c13-9b7287d406d1",
   "ServerId": "6837AB62-FC2A-4D10-87E2-48BD2991ED34",
   "IsSLOGDisk": false,
   "DvaPoolDeviceId": "089bc760-1d9d-4b74-847c-a3fc784169df",
   "IsL2ARCDisk": false,
   "IsSpecialMirrorDisk": true,
   "DvaDiskResilveringStatus": 0,
   "SequenceNumber": 1242,
   "Id": "f0e4a6d1-fd71-4fbe-8bd9-05857a54479b",
   "Caption": "",
   "ExtendedCaption": "",
   "Internal": false
}
]

To Table of Operations Add DvaRaidPool Disks

Adds physical disks to the capacity optimization pool and creates a new RAID 5 group, which supports deduplication and compression.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "AddDvaRaidPoolDisks",
    "Disks" : "Array of disk IDs to add to the capacity optimization pool. The number of disks being used in the new RAID 5 group should be same as the number used while creating the first RAID 5 group (while enabling CO)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "AddDvaRaidPoolDisks",
    "Disks" : ["{47f43dd7-d58d-4337-a073-40062e535720}","{52a8d3e4-f15e-42b6-9890-1e2786391817}","{81a997d6-02a9-4458-ab7f-77f6ad8ef2e1}"]
}

Response body

[
{
   "DvaPoolId": "c5256211-4d70-46aa-9c13-9b7287d406d1",
   "IsSLOGDisk": false,
   "SequenceNumber": 1241,
   "Id": "f16bd415-82d1-4660-b2c4-d3f4f0caeb3a",
   "Caption": "",
   "ExtendedCaption": "",
   "Internal": false
},
{
   "DvaPoolId": "c5256211-4d70-46aa-9c13-9b7287d406d1",
   "IsSLOGDisk": false,
   "SequenceNumber": 1242,
   "Id": "f0e4a6d1-fd71-4fbe-8bd9-05857a54479b",
   "Caption": "",
   "ExtendedCaption": "",
   "Internal": false
},
{
   "DvaPoolId": "c5256211-4d70-46aa-9c13-9b7287d406d1",
   "IsSLOGDisk": false,
   "SequenceNumber": 1243,
   "Id": "be4e23c5-442c-4204-ba76-70e702ddfebf",
   "Caption": "",
   "ExtendedCaption": "",
   "Internal": false
}
]

To Table of Operations Add Host

Adds a host to the server group. After adding the host, ports can be added (see "Assign Port to Host" or "Register Port to Host").

Version

1.0

Method

POST

URI template

/1.0/hosts

URI parameters
None
Request Body
{
   "Name": "Computer name of host",
   "Description": "String describing host",
   "OperatingSystem": "Number indicating the host operating system, see enum ClientMachineType",
   "PreferredServer": "Array of preferred server IDs, the default is auto-select" (optional),
   "MPIO": "Boolean; true enables multipathing support",
   "Alua": "Boolean; true enables ALUA support" 
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/hosts

Request body

{
   "Name" : "HostVM3",
   "Description" : "Database server in Ft. Lauderdale",
   "OperatingSystem" : 20,
   "PreferredServers" : ["A9B04C58-91A4-4497-B301-0D100CAA994D", "FCBACFDB-35CB-40A0-A711-0BC59903BF1A"],
   "MPIO": true,
   "Alua": true 
}

Response body

{
  "Caption": "HostVM3",
  "ExtendedCaption": "HostVM3",
  "Id": "b584e031514c456090f39cbb487e9ef1",
  "Internal": false,
  "SequenceNumber": 331361,
  "Description": "Database server in Ft. Lauderdale",
  "HostName": "HostVM3",
  "MpioCapable": true,
  "AluaSupport": true,
  "HostGroupId": null,
  "PathPolicy": 0,
  "State": 0,
  "Type": 20
}

To Table of Operations Add Host to Group

Adds a host to an existing host group.

Version

1.0

Method

POST

URI template

/1.0/hostgroups/{hostgroupid}/hosts

URI parameters
hostgroupid ID of the host group to modify.
Request Body
{
    "Host": "ID of the host to add to the group" 
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/hostgroups/{223761e3-6ae9-4625-8720-08b4db64a841}/hosts

Request body

{
    "Host": "5f34d8b74c5445ec9abf9c127ffcd3c7" 
}

Response body

{
    "Caption": "HostVM1",
    "ExtendedCaption": "HostVM1",
    "Id": "5f34d8b74c5445ec9abf9c127ffcd3c7",
    "Internal": false,
    "SequenceNumber": 4184314,
    "Description": null,
    "HostName": "HostVM1",
    "MpioCapable": true,
    "AluaSupport": true,
    "HostGroupId": "{223761e3-6ae9-4625-8720-08b4db64a841}",
    "PathPolicy": 0,
    "State": 2,
    "Type": 20
}

To Table of Operations Add Log Message

Adds a custom log message to the event log.

Version

1.0

Method

POST

URI template

/1.0/logmessages

URI parameters
None
Request Body
{
    "LogLevel": "Number indicating the importance of the message, see enum LogLevel (optional)",
    "LogVisibility": "Number indicating who can see the log message, see enum LogVisibility",
    "Message": "String containing the message that will be logged",
    "Arguments": "Array of ordered string arguments for the message",
    "MustRead": "Boolean; true posts an alert in addition to the message"
}
Response Code
200
Returns
None
Example 1

URL

http://localhost/RestService/rest.svc/1.0/logmessages

Request body

{
    "LogLevel": 1,
    "LogVisibility": 64,
    "Message": "This message is powered by {0} and the {1}.",
    "Arguments": ["DATACORE", "REST service"],
    "MustRead": true
}

Response body

None

Notes

Adds an informational (1) log message with customer level (64) visibility, and posts an alert. The message reads: "This message is powered by DATACORE and the REST service."

To Table of Operations Add Mirror Disk To Pool Member

Adds a mirror disk to the specified pool member.

Version

1.0

Method

POST

URI template

/1.0/poolmembers/{poolmemberid}

URI parameters
poolmemberid ID of the the pool member to be modified.
Request Body
{
    "PhysicalDisk" : "{469d5b94-0ce1-4ea1-9b1d-139f52383343}"
}
Notes
The physical disk that will be added as a mirror to the selected pool member must have size that is bigger or equal to the pool member.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/poolmembers/00b0af57-98ab-4275-ac70-60d772c95199

Request body

{
    "PhysicalDisk" : "{469d5b94-0ce1-4ea1-9b1d-139f52383343}"
}

Response body

{
  "Caption": "Samsung SSD 840 PRO Seri|WDC WD15EARX-22PASB0",
  "ExtendedCaption": "Pool mirror Samsung SSD 840 PRO Seri|WDC WD15EARX-22PASB0 on sofiasds8",
  "Id": "00b0af57-98ab-4275-ac70-60d772c95199",
  "Internal": false,
  "SequenceNumber": 2753,
  "DiskInRecoveryId": "{bec11db9-3990-426e-8f16-74cc5b2037d2}",
  "DiskPoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{02360835-99ee-11e6-810b-0010187ed59a}",
  "DiskTier": 2,
  "IsMirrored": true,
  "MemberState": 1,
  "SectorSize": {
    "Value": 512
  },
  "Size": {
    "Value": 256060514304
  }
}

To Table of Operations Add Physical Disks to Pool

Adds physical disks to the specified disk pool.

Version

1.0

Method

POST

URI template

/1.0/pools/{poolid}

URI parameters
poolid ID of the pool to import
Request Body
{
    "Operation" : "AddDisks",
    "Disks" : "Array of the IDs of the physical disks to add"
}
Notes
To add disks to a shared pool, pass the pool ID, not the shared pool ID (SharedPoolID).  
To add a disk as a pool mirror, see Add Mirror Disk to Pool Member. 
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/pools/4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}

Request body

{
    "Operation": "AddDisks",
    "Disks": [
	    "{4bf0fbdb-4b05-4d95-9908-f1e61c05d0ca}",
	    "{33be2b38-800b-4898-8442-d2da02850218}"
	    ]
}

Response body

[
 {
   "DiskInRecoveryId": "",
   "DiskPoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}",
   "DiskTier": 2,
   "MemberState": 0,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "IsMirrored": false,
   "SequenceNumber": 55515,
   "Id": "afdf370b-a0da-4e66-b96b-fade7b86c464",
   "Caption": "WDC WD10EZEX-00UD2A0",
   "ExtendedCaption": "Pool disk WDC WD10EZEX-00UD2A0 on Heavy",
   "Internal": false
 },
 {
   "DiskInRecoveryId": "",
   "DiskPoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}",
   "DiskTier": 2,
   "MemberState": 0,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "IsMirrored": false,
   "SequenceNumber": 55688,
   "Id": "e4fd9008-1898-40b7-beaf-630935415f1b",
   "Caption": "SAMSUNG HD103SJ",
   "ExtendedCaption": "Pool disk SAMSUNG HD103SJ on Heavy",
   "Internal": false
 }
]

To Table of Operations Add Replication Partner Group

Partners one server group to another server group in order to replicate virtual disks.

Version

1.0

Method

POST

URI template

/1.0/replicationpartners

URI parameters
None
Request Body
{
    "RemoteServer" : "Name or IP address of replication destination server",
    "LocalUsername" : "Local user name",
    "LocalPassword" : "Password for local user name",
    "RemoteUsername" : "Remote user name",
    "RemotePassword" : "Password for remote user name"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replicationpartners

Request body

{
    "RemoteServer" : "StorageSvr001",
    "LocalUsername" : "Administrator",
    "LocalPassword" : "MyPassword",
    "RemoteUsername" : "Administrator",
    "RemotePassword" : "MyPassword"
}

Response body

{
    "Caption": "ControllerProxy",
    "ExtendedCaption": "ControllerProxy",
    "Id": "609a5ebe-69b8-4a7a-963c-3c6344c6287e",
    "Internal": false,
    "SequenceNumber": 337841,
    "Connected": true,
    "EnableCompression": true,
    "GroupId": "1063f426-5fd0-4152-b6a6-d93b6f07ded1",
    "HostAddresses": [
        "StorageSvr001"
    ],
    "IncomingCredentials": {
        "Password": "",
        "Username": ""
    },
    "OutgoingCredentials": {
        "Password": "bw0MiBlOk+I3QZJgtmIhNVhypYLnlyBJ4HHsdS1grZI=",
        "Username": "Administrator"
    }
}

To Table of Operations Add Server

Adds a server to the server group.

Version

1.0

Method

POST

URI template

/1.0/servers

URI parameters
None
Request Body
{
    "Name" : "Name of server to add to the server group",
    "DisableLogin" : "Boolean; true disables automatic login of ports to the other servers in the group, the default is false (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers

Request body

{
    "Name" : "SSVVM03",
    "DisableLogin" : false
}

Response body

{
    "Caption": "SSVVM03",
    "ExtendedCaption": "SSVVM03 in Server Group 1",
    "Id": "FCBACFDB-35CB-40A0-A711-0BC59903BF1A",
    "Internal": false,
    "SequenceNumber": 2889727,
    "Description": "",
    "HostName": "SSVVM03.datacoresoftware.com",
    "MpioCapable": true,
    "AluaGroupId": 3,
    "AvailableSystemMemory": {
        "Value": 0
    },
    "BackupStorageFolder": null,
    "BuildType": null,
    "BulkStorageUsed": {
        "Value": 0
    },
    "CacheSize": {
        "Value": 0
    },
    "CacheState": 0,
    "DataCoreBulkStorageUsed": {
        "Value": 0
    },
    "DataCoreStorageUsed": {
        "Value": 0
    },
    "DiagnosticMode": 0,
    "GroupId": "01b849ad-54b9-413b-9654-dc4eface5c40",
    "HypervisorHostId": null,
    "InstallPath": null,
    "IpAddresses": [],
    "IsLicensed": false,
    "IsVirtualMachine": false,
    "LicenseExceeded": false,
    "LicenseNumber": 2520327151278229576,
    "LicenseRemaining": -9223372036854775808,
    "LicenseSettings": {
        "AutoTiering": 1,
        "BidirectionalReplication": 1,
        "BulkEnabled": 0,
        "FiberChannel": 1,
        "HeatMaps": 1,
        "LicensedBulkStorage": {
            "Value": 0
        },
        "MaxBypassThreads": 12,
        "MaxMappedHosts": 2147483647,
        "MaxPartnerGroups": 1,
        "MaxPollerThreads": 12,
        "MaxServers": 2147483647,
        "Mirroring": 1,
        "PerformanceAnalysis": 0,
        "ResourceAuthorization": 0,
        "RetentionTime": 36000000000,
        "SequentialStorage": 1,
        "SharedStorage": 2,
        "Snapshot": 1,
        "StorageCapacity": {
            "Value": 18446744073709551615
        },
        "ThinProvisioning": 1,
        "iSCSI": 1
        },
        "LogStatus": 0,
        "LogStorePoolId": null,
        "OsVersion": null,
        "PowerState": 0,
        "ProcessorInfo": null,
        "ProductBuild": null,
        "ProductName": null,
        "ProductType": null,
        "ProductVersion": null,
        "RegionNodeId": "ExecutiveNode:FCBACFDB-35CB-40A0-A711-0BC59903BF1A",
        "ReplicationBufferFolder": "",
        "SnapshotMapStoreId": null,
        "SnapshotMapStorePoolId": null,
        "State": 0,
        "StorageUsed": {
            "Value": 0
        },
        "SupportState": 0,
        "TotalSystemMemory": {
            "Value": 0
        }
    }

To Table of Operations Add Target Portal

Creates an iSCSI session connection.

Version

1.0

Method

POST

URI template

/1.0/ports/iscsi/{portid}/targets

URI parameters
portid Must specify the ID of the port to execute operation on.
Request Body
{
    "Address": "Address of an iSCSI target port. The address can be a valid server name or IP address.",
    "Port": "The TCP port number used for the connection. If not specified, 3260 will be used."
}
Notes
When UseChap is set to true the Username and Password are mandatory.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/ports/iscsi/b82a99fe-459a-4eba-a696-b6ecc3dbed74/targets

Request body

{
    "Address": "13.0.0.36",
    "Port": 3260
}

Response body

{
  "PortADescriptor":
  "PortBDescriptor": "DataCore.Executive.iSCSI.SessionDescriptor"
  "Target":
  "Connected": "False"
  "PortAId": "FD622C7A-1065-4F2B-97E5-11813DA5AAF5:MAC:00-15-5D-11-E9-22"
  "PortBId": "74EDD1B3-6682-46A7-943C-2F0168CEC699:MSFT-05-1991"
  "Id": "03351a78d471484c8c6815506822255c"
  "Caption": "Server iSCSI Port 2 on SSV2 to Microsoft iSCSI Initiator on SSV1"
  "ExtendedCaption": "Server iSCSI Port 2 on SSV2 to Microsoft iSCSI Initiator on SSV1"
  "Internal": "False"
}

To Table of Operations Add User

Registers a user to gain access to the software.

Version

1.0

Method

POST

URI template

/1.0/users

URI parameters
None
Request Body
{
 "Name" : "Name of user",
 "Description" : "Description of user",
 "EmailAddress" : "String with email address of user",
 "Roles" : "Array with IDs of the roles to assign to the user, see Get Roles"
}
Notes
Operating system credentials are used to authenticate users. 
User names must match Windows user accounts and must reside on all servers in the local server group.
To use an email address, mail server and logon account must be set in the SMTP Settings for the server group, see Set SMTP Settings.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/users

Request body

{
 "Name" : "User 1",
 "Description" : "This is a user created using the REST API",
 "EmailAddress" : "admin@datacore.com",
 "Roles" : ["{DAD4B92D-BFC8-4628-A313-51D8B2F57083}"]
}

Response body

{
  Caption           : User 1
  ExtendedCaption   : User 1
  Id                : 5bf9bea7-00dd-4650-8294-a07f1c05b668
  Internal          : False
  SequenceNumber    : 94418
  BlendedPrivileges : @{ClientMachines=0; Controller=0; DiskPools=0; General=1; HostGroups=0; License=0; Logs=0;
                      Monitors=0; PartnerController=0; PerformanceRecording=0; PhysicalDisks=0; Ports=0; Replications=0;
                      Roles=0; Rollbacks=0; ServerMachineGroups=0; ServerMachines=0; Snapshots=0; StorageProfiles=0;
                      Tasks=0; Users=0; VirtualDiskGroups=0; VirtualDiskTemplate=0; VirtualDisks=0}
  Description       : This is a user created using the REST services and has view only privileges
  EmailAddress      :
  IsAdministrator   : False
  Name              : User 1
  RoleIds           : {{DAD4B92D-BFC8-4628-A313-51D8B2F57083}}
}

To Table of Operations Add User Ownership

Adds user ownership to the specified virtual disk resource.

Version

1.0

Method

POST

URI template

/1.0/ownerships

URI parameters
None
Request Body
{
    "User": "ID of user to add as an owner of the resource, see Get Users",
    "Object": "ID of the resource, see Get Virtual Disks" 
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/Rest.svc/1.0/ownerships

Request body

{
    "User": "{daf8b273-e930-4d70-8c52-975f5d1c348a}",
    "Object": "9d59ba009b4a4c8fa23db3350cb63f61" 
}

Response body

{
    "Caption": "Joe Schmoe | Virtual disk 1 from Server Group 1",
    "ExtendedCaption": "Joe Schmoe | Virtual disk 1 from Server Group 1",
    "Id": "f5d5fa5c-196a-421b-b5e2-a99730f9fbdc",
    "Internal": false,
    "SequenceNumber": 4501755,
    "IdentifiableId": "9d59ba009b4a4c8fa23db3350cb63f61",
    "UserId": "{daf8b273-e930-4d70-8c52-975f5d1c348a}"
}

To Table of Operations Add vCenter

Adds vCenter in the list of the clients.

Version

1.0

Method

POST

URI template

/1.0/vcenters

URI parameters
None
Request Body
{
    "Address" : "Computer name or IP address of the vCenter to be added."
    "Username" : "User name of the account used to connect to the vCenter."
    "Password" : "Login password of the account used to connect to the vCenter."
    "DisableAutoLogin" : "If true, VMware clients discovered will not have their ports automatically connected and registered."
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/vcenters

Request body

{
	"Address": "virtualcenter.datacoresoftware.com",
	"Username": "administrator@vsphere.local",
	"Password": "password"
	"DisableAutoLogin" : "true"
    }

Response body

[
    {
        "Caption": "virtualcenter.datacoresoftware.com",
        "ExtendedCaption": "virtualcenter.datacoresoftware.com",
        "Id": "095f3491-b5d0-4151-b6d2-cd18b09cfca5",
        "Internal": false,
        "SequenceNumber": 19469838,
        "Description": null,
        "FullName": "VMware vCenter Server 6.0.0 build-3634793",
        "Password": "1I10NECGTI0hGY8sS4F5bZxZQZ9wb54feet5o/qsZ0A=",
        "ProductBuild": "3634793",
        "ServerAddress": "virtualcenter.datacoresoftware.com",
        "State": 4,
        "Username": "administrator@vsphere.local",
        "Version": "6.0",
        "DisableAutoLogin": "true"
    }
]

To Table of Operations Add Virtual Disk Mirror

Adds one more level of redundancy to a virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "AddMirror",
    "LogicalDisk": "ID of the logical disk to be used for the mirror",
    "PhysicalDisk": "ID of the physical (pass-through) disk to be used for the mirror",
    "Pool": "ID of the pool to be used for the mirror",
    "Redundancy": "Boolean; true creates redundant mirror paths, false is the default (optional)"
}
Notes
When using a physical disk (pass-through) as the new storage source, data on the virtual disk will be copied to the pass-through disk.
The physical disk must be at least as large as the virtual disk.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/ac9a408a823942f0b130904740e773ad

Request body

{
    "Operation": "AddMirror",
    "Pool": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701:{53f1a767-0444-11e7-812f-002590570de7}"
}

Response body

{
 "VirtualDiskGroupId": null,
 "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
 "SecondHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "BackupHostId": null,
 "SnapshotPoolId": null,
 "Alias": "Virtual Disk 5",
 "Description": null,
 "Size": {
   "Value": 107374182400
 },
 "SectorSize": {
   "Value": 512
 },
 "Type": 2,
 "DiskStatus": 2,
 "InquiryData": {
   "Vendor": "DataCore",
   "Product": "Virtual Disk",
   "Revision": "DCS",
   "Serial": "ac9a408a823942f0b130904740e773ad"
 },
 "ScsiDeviceId": [
   96,
   3,
   13,
   144,
   128,
   156,
   127,
   2,
   100,
   220,
   136,
   49,
   255,
   13,
   103,
   64
 ],
 "ScsiDeviceIdString": "60030D90809C7F0264DC8831FF0D6740",
 "RemovableMedia": false,
 "WriteThrough": false,
 "Offline": false,
 "Disabled": false,
 "ManualRecovery": false,
 "DiskLayout": {
   "Cylinders": 0,
   "Heads": 0,
   "SectorsPerTrack": 0
 },
 "PersistentReserveEnabled": true,
 "RecoveryPriority": 1,
 "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
 "TPThresholdsEnabled": false,
 "IsServed": false,
 "SubType": 0,
 "MirrorTrunkMappingEnabled": false,
 "SequenceNumber": 37532,
 "Id": "ac9a408a823942f0b130904740e773ad",
 "Caption": "Virtual Disk 5",
 "ExtendedCaption": "Virtual Disk 5 from Server Group",
 "Internal": false
}

To Table of Operations Add Virtual Disks To Group

Adds virtual disks to the specified virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}/virtualdisks

URI parameters
virtualdiskgroupid ID of the virtual disk group to be modified.
Request Body
{
    "VirtualDisks" : "Array of the IDs of the virtual disks to add"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdiskgroups/{fa632711-84d4-48c7-83b1-f22da1c27896}/virtualdisks

Request body

{
    "VirtualDisks" : [
	    "b2deb1f6d6da4e4ba476c8130813007d",
	    "66e342e2647e4a25bc61dcbf9889032c"
	    ]
}

Response body

[
 {
   "Caption": "Virtual disk 1",
   "ExtendedCaption": "Virtual disk 1 from Server Group",
   "Id": "b2deb1f6d6da4e4ba476c8130813007d",
   "Internal": false,
   "SequenceNumber": 60828,
   "Alias": "Virtual disk 1",
   "BackupHostId": null,
   "Description": null,
   "Disabled": false,
   "DiskLayout": {
     "Cylinders": 0,
     "Heads": 0,
     "SectorsPerTrack": 0
   },
   "DiskStatus": 0,
   "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "InquiryData": {
     "Product": "Virtual Disk",
     "Revision": "DCS",
     "Serial": "b2deb1f6d6da4e4ba476c8130813007d",
     "Vendor": "DataCore"
   },
   "IsServed": false,
   "ManualRecovery": false,
   "MirrorTrunkMappingEnabled": false,
   "Offline": false,
   "PersistentReserveEnabled": true,
   "RecoveryPriority": 1,
   "RemovableMedia": false,
   "ScsiDeviceId": [
     96,
     3,
     13,
     144,
     55,
     1,
     220,
     0,
     170,
     39,
     241,
     115,
     48,
     156,
     95,
     18
   ],
   "ScsiDeviceIdString": "60030D903701DC00AA27F173309C5F12",
   "SecondHostId": null,
   "SectorSize": {
     "Value": 512
   },
   "Size": {
     "Value": 3221225472
   },
   "SnapshotPoolId": null,
   "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
   "SubType": 0,
   "TPThresholdsEnabled": false,
   "Type": 0,
   "VirtualDiskGroupId": "{fa632711-84d4-48c7-83b1-f22da1c27896}",
   "WriteThrough": false
   },
 {
   "Caption": "Virtual disk 2",
   "ExtendedCaption": "Virtual disk 2 from Server Group",
   "Id": "66e342e2647e4a25bc61dcbf9889032c",
   "Internal": false,
   "SequenceNumber": 60829,
   "Alias": "Virtual disk 2",
   "BackupHostId": null,
   "Description": null,
   "Disabled": false,
   "DiskLayout": {
     "Cylinders": 0,
     "Heads": 0,
     "SectorsPerTrack": 0
   },
   "DiskStatus": 0,
   "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "InquiryData": {
     "Product": "Virtual Disk",
     "Revision": "DCS",
     "Serial": "66e342e2647e4a25bc61dcbf9889032c",
     "Vendor": "DataCore"
   },
   "IsServed": false,
   "ManualRecovery": false,
   "MirrorTrunkMappingEnabled": false,
   "Offline": false,
   "PersistentReserveEnabled": true,
   "RecoveryPriority": 1,
   "RemovableMedia": false,
   "ScsiDeviceId": [
     96,
     3,
     13,
     144,
     211,
     1,
     220,
     0,
     104,
     7,
     38,
     247,
     188,
     188,
     121,
     99
   ],
   "ScsiDeviceIdString": "60030D90D301DC00680726F7BCBC7963",
   "SecondHostId": null,
   "SectorSize": {
     "Value": 512
   },
   "Size": {
     "Value": 3221225472
   },
   "SnapshotPoolId": null,
   "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
   "SubType": 0,
   "TPThresholdsEnabled": false,
   "Type": 0,
   "VirtualDiskGroupId": "{fa632711-84d4-48c7-83b1-f22da1c27896}",
   "WriteThrough": false
 }
]

To Table of Operations Assign Port To Host

Assigns a discovered or known port to the specified host.

Version

1.0

Method

POST

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
    "Operation": "AssignPort",
    "Port": "ID of the port to assign to the host"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hosts/2f347d3bfe2c43ef917bc625434ecba7

Request body

{
    "Operation": "AssignPort",
    "Port": "iqn.1991-05.com.microsoft:clienthost01"
}

Response body

{
   "HostId": "2f347d3bfe2c43ef917bc625434ecba7",
   "PortName": "iqn.1991-05.com.microsoft:clienthost01",
   "Alias": "iSCSI Port 2",
   "Description": null,
   "PortType": 3,
   "PortMode": 1,
   "Connected": true,
   "SequenceNumber": 8418,
   "Id": "iqn.1991-05.com.microsoft:clienthost01",
   "Caption": "iSCSI Port 2",
   "ExtendedCaption": "iSCSI Port 2 on Badboy",
   "Internal": false
}

To Table of Operations Assign Role

Assigns the specified role to a user.

Version

1.0

Method

POST

URI template

/1.0/users/{userid}

URI parameters
userid ID of the user to modify.
Request Body
{
    "Operation": "AssignRole",
    "Role": "ID of the role to assign to the specified user."
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/users/{77e80489-e9b6-4db8-917b-f80f547346a0}

Request body

{
    "Operation": "AssignRole",
    "Role": "{44a6486c-8c21-42fc-8f78-5014e5d4797b}"
}

Response body

{
    "Caption": "Joe Schmoe",
    "ExtendedCaption": "Joe Schmoe",
    "Id": "{77e80489-e9b6-4db8-917b-f80f547346a0}",
    "Internal": false,
    "SequenceNumber": 1397118,
    "BlendedPrivileges": {
        "ClientMachines": 7,
        "Controller": 0,
        "DiskPools": 0,
        "General": 3,
        "HostGroups": 31,
        "License": 0,
        "Logs": 0,
        "Monitors": 0,
        "PartnerController": 0,
        "PerformanceRecording": 0,
        "PhysicalDisks": 0,
        "Ports": 0,
        "Replications": 0,
        "Roles": 0,
        "Rollbacks": 0,
        "ServerMachineGroups": 15,
        "ServerMachines": 127,
        "Snapshots": 0,
        "StorageProfiles": 0,
        "Tasks": 0,
        "Users": 0,
        "VirtualDiskGroups": 0,
        "VirtualDiskTemplate": 0,
        "VirtualDisks": 0
    },
    "Description": null,
    "EmailAddress": "jschmoe@companyB.com",
    "IsAdministrator": false,
    "Name": "Joe Schmoe",
    "RoleIds": [
        "{B1210FAD-5DAC-4a7b-B3D6-EEB8DFFE1F7A}",
        "{44a6486c-8c21-42fc-8f78-5014e5d4797b}"
    ]
}

To Table of Operations Back Up Configuration

Backs up the current server group configuration and stores it in the configuration backup folder.

Version

1.0

Method

POST

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group on which to execute the operation.
Request Body
{
    "Operation":"BackUpConfiguration"
}
Notes
The Configuration Backup Folder must be set for all servers in the server group using Set Server Properties before running this operation. 
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/servergroups/b40cad4c-2332-4caa-9fb6-03ccc3e55a90

Request body

{
    "Operation":"BackUpConfiguration"
}

Response body

[
  {
    "GroupId": "b40cad4c-2332-4caa-9fb6-03ccc3e55a90",
    "RegionNodeId": "ExecutiveNode:7FA664BB-559F-4304-AA17-7807B884BCF3",
    "CacheSize": {
      "Value": 0
    },
    "State": 2,
    "SupportState": 5,
    "SnapshotMapStoreId": null,
    "SnapshotMapStorePoolId": null,
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "11.0 PSP 7",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "ProcessorInfo": {
      "CpuArchitecture": 9,
      "ProcessorName": "Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz",
      "NumberCores": 3
    },
    "ProductBuild": "15.0.700.10517",
    "BuildType": "Debug",
    "DiagnosticMode": 1,
    "LicenseRemaining": 9223372036854775807,
    "ReplicationBufferFolder": "",
    "TotalSystemMemory": {
      "Value": 2620968960
    },
    "AvailableSystemMemory": {
      "Value": 353697792
    },
    "LogStatus": 0,
    "LicenseSettings": {
      "MaxServers": 2147483647,
      "MaxPartnerGroups": 2147483647,
      "MaxMappedHosts": 500,
      "BidirectionalReplication": 0,
      "FiberChannel": 1,
      "ThinProvisioning": 1,
      "Snapshot": 1,
      "iSCSI": 1,
      "StorageCapacity": {
        "Value": 18446744073709551615
    },
      "LicensedBulkStorage": {
        "Value": 0
    },
      "BulkEnabled": 0,
      "RetentionTime": 1728000000000,
      "AutoTiering": 1,
      "HeatMaps": 1,
      "SharedStorage": 1,
      "PerformanceAnalysis": 0,
      "ResourceAuthorization": 0,
      "SequentialStorage": 1,
      "MaxBypassThreads": 0,
      "MaxPollerThreads": 0,
      "Mirroring": 1
    },
    "IsLicensed": true,
    "LicenseExceeded": false,
    "StorageUsed": {
      "Value": 11811160064
    },
    "BulkStorageUsed": {
      "Value": 0
    },
    "DataCoreStorageUsed": {
      "Value": 0
    },
    "DataCoreBulkStorageUsed": {
      "Value": 0
    },
    "PowerState": 2,
    "CacheState": 2,
    "BackupStorageFolder": "C:\\resttest",
    "IpAddresses": [
      "192.168.2.104",
      "fe80::d53a:cefb:45b3:744",
      "192.168.2.105",
      "fe80::d5cb:acb5:2d4:b793"
    ],
    "LicenseNumber": 2488520478914728342,
    "AluaGroupId": 1,
    "IsVirtualMachine": true,
    "HypervisorHostId": null,
    "LogStorePoolId": "7FA664BB-559F-4304-AA17-7807B884BCF3:{a4d8cabc-0987-11e7-80e9-00155d029633}",
    "Description": "",
    "HostName": "VM1103",
    "MpioCapable": true,
    "SequenceNumber": 2362901,
    "Id": "7FA664BB-559F-4304-AA17-7807B884BCF3",
    "Caption": "VM1103",
    "ExtendedCaption": "VM1103 in Server Group",
    "Internal": false
    },
  {
    "GroupId": "b40cad4c-2332-4caa-9fb6-03ccc3e55a90",
    "RegionNodeId": "ExecutiveNode:6BBBDAD4-CA0B-4821-8A6C-66BF80132BD1",
    "CacheSize": {
      "Value": 0
    },
    "State": 2,
    "SupportState": 5,
    "SnapshotMapStoreId": null,
    "SnapshotMapStorePoolId": null,
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "10.0 PSP 7",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "ProcessorInfo": {
      "CpuArchitecture": 9,
      "ProcessorName": "Intel(R) Xeon(R) CPU E3-1240 v3 @ 3.40GHz",
      "NumberCores": 3
    },
    "ProductBuild": "15.0.700.11040",
    "BuildType": "Debug",
    "DiagnosticMode": 1,
    "LicenseRemaining": 9223372036854775807,
    "ReplicationBufferFolder": "",
    "TotalSystemMemory": {
      "Value": 2620968960
    },
    "AvailableSystemMemory": {
      "Value": 292421632
    },
    "LogStatus": 0,
    "LicenseSettings": {
      "MaxServers": 2147483647,
      "MaxPartnerGroups": 2147483647,
      "MaxMappedHosts": 500,
      "BidirectionalReplication": 0,
      "FiberChannel": 1,
      "ThinProvisioning": 1,
      "Snapshot": 1,
      "iSCSI": 1,
      "StorageCapacity": {
        "Value": 18446744073709551615
    },
      "LicensedBulkStorage": {
        "Value": 0
    },
      "BulkEnabled": 0,
      "RetentionTime": 1728000000000,
      "AutoTiering": 1,
      "HeatMaps": 1,
      "SharedStorage": 1,
      "PerformanceAnalysis": 0,
      "ResourceAuthorization": 0,
      "SequentialStorage": 1,
      "MaxBypassThreads": 0,
      "MaxPollerThreads": 0,
      "Mirroring": 1
    },
    "IsLicensed": true,
    "LicenseExceeded": false,
    "StorageUsed": {
      "Value": 11811160064
    },
    "BulkStorageUsed": {
      "Value": 0
    },
    "DataCoreStorageUsed": {
      "Value": 0
    },
    "DataCoreBulkStorageUsed": {
      "Value": 0
    },
    "PowerState": 2,
    "CacheState": 2,
    "BackupStorageFolder": "C:\\resttest",
    "IpAddresses": [
      "192.168.2.39",
      "fe80::e457:250:91f8:69ca",
      "192.168.2.43",
      "fe80::68d5:ee08:f495:9309"
    ],
    "LicenseNumber": 2478668854725870161,
    "AluaGroupId": 2,
    "IsVirtualMachine": true,
    "HypervisorHostId": null,
    "LogStorePoolId": "6BBBDAD4-CA0B-4821-8A6C-66BF80132BD1:{46bb8472-085a-11e7-80e7-00155d029601}",
    "Description": "",
    "HostName": "VM1101",
    "MpioCapable": true,
    "SequenceNumber": 2362902,
    "Id": "6BBBDAD4-CA0B-4821-8A6C-66BF80132BD1",
    "Caption": "VM1101",
    "ExtendedCaption": "VM1101 in Server Group",
    "Internal": false
    }
]

To Table of Operations Cancel Deactivate Replication

Aborts the pending deactivation of a virtual disk in a replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "CancelDeactivate"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "CancelDeactivate"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3481,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 2,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "IsActiveSide": true,
  "OfflineInitializationSupported": true,
  "ReplicationState": 5,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TransferStatus": 1
}

To Table of Operations Cancel Delete Replication

Aborts the pending process to remove the relationship between the source and destination virtual disks in a replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "CancelDelete"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "CancelDelete"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3481,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 2,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "IsActiveSide": true,
  "OfflineInitializationSupported": true,
  "ReplicationState": 5,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TransferStatus": 1
}

To Table of Operations Cancel Support Bundle Collection

Aborts the current support bundle process on servers in a server group.

Version

1.0

Method

POST

URI template

/1.0/supportbundles

URI parameters
None
Request Body
{
    "Operation": "Cancel"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/supportbundles

Request body

{
    "Operation": "Cancel"
}

Response body

[
  {
    "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
    "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
    "CacheSize": {
      "Value": 0
    },
    "State": 2,
    "SupportState": 4,
    "SnapshotMapStoreId": "",
    "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "11.0 PSP 7",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "ProcessorInfo": {
      "CpuArchitecture": 9,
      "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz",
      "NumberCores": 8
    },
    "ProductBuild": "15.0.700.10671",
    "BuildType": "Debug",
    "DiagnosticMode": 1,
    "LicenseRemaining": 9223372036854775807,
    "ReplicationBufferFolder": "c:\\buff",
    "TotalSystemMemory": {
      "Value": 12875640832
    },
    "AvailableSystemMemory": {
      "Value": 2276298752
    },
    "LogStatus": 1,
    "LicenseSettings": {
      "MaxServers": 2147483647,
      "MaxPartnerGroups": 2147483647,
      "MaxMappedHosts": 500,
      "BidirectionalReplication": 0,
      "FiberChannel": 1,
      "ThinProvisioning": 1,
      "Snapshot": 1,
      "iSCSI": 1,
      "StorageCapacity": {
        "Value": 18446744073709551615
      },
      "LicensedBulkStorage": {
        "Value": 18446744073709551615
      },
      "BulkEnabled": 0,
      "RetentionTime": 1728000000000,
      "AutoTiering": 1,
      "HeatMaps": 1,
      "SharedStorage": 1,
      "PerformanceAnalysis": 0,
      "ResourceAuthorization": 0,
      "SequentialStorage": 1,
      "MaxBypassThreads": 0,
      "MaxPollerThreads": 0,
      "Mirroring": 1
    },
    "IsLicensed": true,
    "LicenseExceeded": false,
    "StorageUsed": {
      "Value": 1756362424320
    },
    "BulkStorageUsed": {
      "Value": 0
    },
    "DataCoreStorageUsed": {
      "Value": 0
    },
    "DataCoreBulkStorageUsed": {
      "Value": 0
    },
    "PowerState": 2,
    "CacheState": 2,
    "BackupStorageFolder": null,
    "IpAddresses": [
      "192.168.2.123",
      "fe80::282d:6931:cbd0:44a3",
      "192.168.2.122",
      "fe80::1088:8e8c:a08e:458e",
      "169.254.64.175",
      "fe80::bc45:e765:b71e:40af",
      "169.254.76.135",
      "fe80::c8c1:c29f:9d5a:4c87"
    ],
    "LicenseNumber": 2516105026628428932,
    "AluaGroupId": 1,
    "IsVirtualMachine": false,
    "HypervisorHostId": null,
    "LogStorePoolId": "",
    "Description": "",
    "HostName": "sofiasds8",
    "MpioCapable": true,
    "SequenceNumber": 3107,
    "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
    "Caption": "sofiasds8",
    "ExtendedCaption": "sofiasds8 in Server Group",
    "Internal": false
  }
]

To Table of Operations Close Session

Closes the session identified by the specified token.

Version

1.0

Method

POST

URI template

/1.0/sessions

URI parameters
None
Request Body
{
    "Operation": "CloseSession",
    "Token": "token for the session that have to be closed"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/sessions

Request body

{
    "Operation": "OpenSession",
    "Token": "acc34fdea90a4729a7051986d2399756"
}

Response body

None

To Table of Operations Collect Support Bundle

Creates a support bundle and optionally transmits the support bundle to DataCore Technical Support.

Version

1.0

Method

POST

URI template

/1.0/supportbundles

URI parameters
None
Request Body
{
    "Operation": "Collect",
    "Type" : "The number that reflects the type of support bundle to collect, see enum SupportBundleType for values",
    "SkipUpload": "Boolean; true does not automatically upload the support bundle, default is false (optional)",
    "CompanyName": "Name of the company",
    "IncidentNumber": "String with the 12-digit decimal incident number assigned by technical support in this format dddddd-dddddd."
    "AnonUserBundle": "Boolean; true indicates the the user data within the support bundle will be anonymized, default is false (optional)"
}
Notes
Uploading the support bundle requires internet access from the server and port 3793 must be open in firewalls.
If SkipUpload is set to true, the support bundle can be sent to technical support manually, no need to pass CompanyName and IncidentNumber.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/supportbundles

Request body

{
    "Operation": "Collect",
    "Type" : 1,
    "SkipUpload": false,
    "CompanyName": "Your company name",
    "IncidentNumber": "123456-123456"
}

Response body

[
  {
    "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
    "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
    "CacheSize": {
      "Value": 0
    },
    "State": 2,
    "SupportState": 2,
    "SnapshotMapStoreId": "",
    "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "11.0 PSP 7",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "ProcessorInfo": {
      "CpuArchitecture": 9,
      "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz",
      "NumberCores": 8
    },
    "ProductBuild": "15.0.700.10671",
    "BuildType": "Debug",
    "DiagnosticMode": 1,
    "LicenseRemaining": 9223372036854775807,
    "ReplicationBufferFolder": "c:\\buff",
    "TotalSystemMemory": {
      "Value": 12875640832
    },
    "AvailableSystemMemory": {
      "Value": 2276298752
    },
    "LogStatus": 0,
    "LicenseSettings": {
      "MaxServers": 2147483647,
      "MaxPartnerGroups": 2147483647,
      "MaxMappedHosts": 500,
      "BidirectionalReplication": 0,
      "FiberChannel": 1,
      "ThinProvisioning": 1,
      "Snapshot": 1,
      "iSCSI": 1,
      "StorageCapacity": {
        "Value": 18446744073709551615
      },
      "LicensedBulkStorage": {
        "Value": 18446744073709551615
      },
      "BulkEnabled": 0,
      "RetentionTime": 1728000000000,
      "AutoTiering": 1,
      "HeatMaps": 1,
      "SharedStorage": 1,
      "PerformanceAnalysis": 0,
      "ResourceAuthorization": 0,
      "SequentialStorage": 1,
      "MaxBypassThreads": 0,
      "MaxPollerThreads": 0,
      "Mirroring": 1
    },
    "IsLicensed": true,
    "LicenseExceeded": false,
    "StorageUsed": {
      "Value": 1756362424320
    },
    "BulkStorageUsed": {
      "Value": 0
    },
    "DataCoreStorageUsed": {
      "Value": 0
    },
    "DataCoreBulkStorageUsed": {
      "Value": 0
    },
    "PowerState": 2,
    "CacheState": 2,
    "BackupStorageFolder": null,
    "IpAddresses": [
      "192.168.2.123",
      "fe80::282d:6931:cbd0:44a3",
      "192.168.2.122",
      "fe80::1088:8e8c:a08e:458e",
      "169.254.64.175",
      "fe80::bc45:e765:b71e:40af",
      "169.254.76.135",
      "fe80::c8c1:c29f:9d5a:4c87"
    ],
    "LicenseNumber": 2516105026628428932,
    "AluaGroupId": 1,
    "IsVirtualMachine": false,
    "HypervisorHostId": null,
    "LogStorePoolId": "",
    "Description": "",
    "HostName": "sofiasds8",
    "MpioCapable": true,
    "SequenceNumber": 3086,
    "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
    "Caption": "sofiasds8",
    "ExtendedCaption": "sofiasds8 in Server Group",
    "Internal": false
  }
]

To Table of Operations Convert To Full Snapshot

Converts (promotes) a differential snapshot to a full snapshot.

Version

1.0

Method

POST

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to act upon or modify.
Request Body
{
    "Operation" : "ConvertToFull"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007

Request body

{
    "Operation" : "ConvertToFull"
}

Response body

{
    "Type": 1,
    "TimeStamp": "/Date(1488911709785)/",
    "SourceLogicalDiskId": "f1703429-5d06-407a-b1f4-a3c28209ce44",
    "DestinationLogicalDiskId": "1d36b474-d3a4-4d09-bfa2-14f97446fe1a",
    "ActiveOperation": 3,
    "State": 2,
    "Failure": 0,
    "SequenceNumber": 3122040,
    "Id": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007",
    "Caption": "Snapshot 1",
    "ExtendedCaption": "Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Convert To Full Snapshot Group

Converts (promotes) a differential snapshot to a full snapshot group.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Operation" : "ConvertToFull"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{0fedcfaa-d02c-45d5-9fce-a077decd4606}

Request body

{
    "Operation" : "ConvertToFull"
}

Response body

{
  "ParentGroupId": "{e0e0be38-55d9-49ee-b44f-40d34c904129}",
  "Type": 1,
  "ActiveOperation": 1,
  "TimeStamp": "/Date(1489400196069)/",
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 4119,
  "Id": "{0fedcfaa-d02c-45d5-9fce-a077decd4606}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}

To Table of Operations Convert Virtual Disk To Dual

Convert a single virtual disk to dual.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "ConvertToDual",
    "Server": "ID the server where the second side of the dual disk will reside",
    "Redundancy": "Boolean; true creates redundant paths, false is the default (optional)"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/ac9a408a823942f0b130904740e773ad

Request body

{
    "Operation": "ConvertToDual",
    "Server": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
    "Redundancy": true
}

Response body

{
 "VirtualDiskGroupId": null,
 "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
 "SecondHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "BackupHostId": null,
 "SnapshotPoolId": null,
 "Alias": "Virtual disk 6",
 "Description": null,
 "Size": {
   "Value": 107374182400
 },
 "SectorSize": {
   "Value": 512
 },
 "Type": 3,
 "DiskStatus": 2,
 "InquiryData": {
   "Vendor": "DataCore",
   "Product": "Virtual Disk",
   "Revision": "DCS",
   "Serial": "34f79216837d408399114a18e76cd4dd"
 },
 "ScsiDeviceId": [
   96,
   3,
   13,
   144,
   225,
   46,
   154,
   2,
   114,
   52,
   148,
   192,
   91,
   72,
   163,
   75
 ],
 "ScsiDeviceIdString": "60030D90E12E9A02723494C05B48A34B",
 "RemovableMedia": false,
 "WriteThrough": true,
 "Offline": false,
 "Disabled": false,
 "ManualRecovery": false,
 "DiskLayout": {
   "Cylinders": 0,
   "Heads": 0,
   "SectorsPerTrack": 0
 },
 "PersistentReserveEnabled": true,
 "RecoveryPriority": 1,
 "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
 "TPThresholdsEnabled": false,
 "IsServed": false,
 "SubType": 0,
 "MirrorTrunkMappingEnabled": false,
 "SequenceNumber": 37837,
 "Id": "34f79216837d408399114a18e76cd4dd",
 "Caption": "Virtual disk 6",
 "ExtendedCaption": "Virtual disk 6 from Server Group",
 "Internal": false
}

To Table of Operations Create "Checkpoint" Trigger

Creates a checkpoint trigger for a task.

Version

1.0

Method

POST

URI template

/1.0/triggers

URI parameters
None
Request Body
{
     "Task": "ID of the task",
     "VirtualDisk": "ID of the virtual disk that receives the replication checkpoint marker",
     "Type": "The number representing the type of trigger, see enum TaskTriggerType for values"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/triggers

Request body

{
     "Task": "aae39c46-619b-4bc5-9ee7-805f9257099f",
     "VirtualDisk": "b7c469da19f24fad8efdbcc811b3c139",
     "Type": 3
}

Response body

{
    "Caption": "Checkpoint marker received for Virtual disk 3",
    "ExtendedCaption": null,
    "Id": "97687166d21b4aefb1464aa4e3268abb",
    "Internal": false,
    "SequenceNumber": 6238718,
    "Active": false,
    "Description": null,
    "TaskId": "aae39c46-619b-4bc5-9ee7-805f9257099f",
    "Type": 3,
    "VirtualDiskDataId": "b7c469da19f24fad8efdbcc811b3c139"
}

To Table of Operations Create "Log Message" Action

Creates a task action to post a log message.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
  "Task": "ID of the task",
  "LogLevel": "Number indicating the priority level of the message, see enum LogLevel",
  "Message": "String containing the log message",
  "HighPriority": "Boolean; true will post an alert",
  "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"LogLevel": 0,
	"Message": "This is a trace message.",
	"HighPriority": true,
	"Type": 2
}

Response body

{
  "Caption": "Post a Trace message in the event log: This is a trace message.",
  "ExtendedCaption": null,
  "Id": "2515ae28-e233-4dd9-8ee4-b761d341c4c5",
  "Internal": false,
  "SequenceNumber": 89726,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 2,
  "HighPriority": false,
  "LogLevel": 0,
  "Message": "This is a trace message."
}

To Table of Operations Create "Monitor" Trigger

Creates a monitor trigger for a task.

Version

1.0

Method

POST

URI template

/1.0/triggers

URI parameters
None
Request Body
{
     "Task": "ID of the task",
     "Monitor": "ID of the monitored object, see the Id from Get Monitors",
     "TemplateType": "ID of the template to use, see the TemplateId from Get Monitors",
     "MonitorState": "Number indicating the level of the alert, see the enum MonitorState",
     "Comparison": "Number indicating the comparison operator to use, see the enum ComparisonOperator for valid values",
     "Type": "The number representing the type of trigger, see the enum TaskTriggerType for valid values"
}
Response Code
200
Returns
Example 1

Description

The operation is run to create a trigger that monitors the state of the server named SSVVM01, and triggers an alert when the monitor achieves a level of Attention or greater. The parameter values for MonitoredObject and MonitoredTemplateType were obtained from the operation Get Monitors, Id and TemplateId fields respectively. The Type of 1 creates a monitor trigger.

URL

https://SSVVM03/RestService/rest.svc/1.0/triggers

Request body

{
    "Task": "4bbfeda2-117a-4024-a813-2bf07b89b9db",
    "Monitor": "ServerMachineStateMonitor<9A622809-4DE6-4B9F-9965-EF29852A1D9E>",
    "TemplateType": "T(DataCore.Executive.Controller.ServerMachineStateMonitor<DataCore.Executive.Controller.ServerMachine>)",
    "MonitorState": 4,
    "Comparison": 2,
    "Type": 1
}

Response body

{
    "MonitoredObjectId": "ServerMachineStateMonitor<9A622809-4DE6-4B9F-9965-EF29852A1D9E>",
    "MonitorTemplateTypeId": " T(DataCore.Executive.Controller.ServerMachineStateMonitor<DataCore.Executive.Controller.ServerMachine>)",
    "MonitorThreshold": 4,
    "TriggerStateOperator": 2,
    "TaskId": "4bbfeda2-117a-4024-a813-2bf07b89b9db",
    "Type": 1,
    "Description": null,
    "Active": false,
    "SequenceNumber": 15391639,
    "Id": "3608c73a-15ab-42bd-aa2b-fee6239586a3",
    "Caption": "State of SSVVM01 in Server Group FTL >= Attention",
    "ExtendedCaption": null,
    "Internal": false
}

To Table of Operations Create "Reclaim Space" Action

Creates a task action to reclaim space on a virtual disk.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the virtual disk",
   "MethodType": "Number indicating the method type, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Target": "9d59ba009b4a4c8fa23db3350cb63f61",
	"MethodType": 4,
	"Type": 1
}

Response body

{
  "Caption": "Initiate space reclamation on Virtual disk 1",
  "ExtendedCaption": null,
  "Id": "75e9ac7c-aad6-4ae3-a68d-f61a60c14163",
  "Internal": false,
  "SequenceNumber": 81165,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 4,
  "TargetId": "9d59ba009b4a4c8fa23db3350cb63f61"
}

To Table of Operations Create "Revert From Snapshot Group" Action

Creates a task action to revert all snapshots in the group. The source virtual disks become an image of the current state of the snapshots in the group.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the snapshot group",
   "MethodType": "Number indicating the method type, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Target": "{501660a1-6729-42a5-8da0-4c4055e71ef7}",
	"MethodType": 3,
	"Type": 1
}

Response body

{
  "Caption": "Revert from snapshot group VD Group 1 @ 3/2/2017 9:05:51 PM UTC",
  "ExtendedCaption": null,
  "Id": "529ecdef-1e29-41d5-bc2f-d35e5c301e0b",
  "Internal": false,
  "SequenceNumber": 83781,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 3,
  "TargetId": "{501660a1-6729-42a5-8da0-4c4055e71ef7}"
}

To Table of Operations Create "Revert From Snapshot" Action

Creates a task action to revert from a snapshot. The source virtual disk becomes an image of the current state of the snapshot.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the snapshot",
   "MethodType": "Number indicating the method type, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Target": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000001--V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000002",
	"MethodType": 1,
	"Type": 1
}

Response body

{
  "Caption": "Revert from snapshot Virtual disk 1 @ 3/2/2017 2:28:15 PM UTC",
  "ExtendedCaption": null,
  "Id": "2d2f44c0-783e-4d14-94ca-884385f61f4e",
  "Internal": false,
  "SequenceNumber": 66605,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 1,
  "TargetId": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000001--V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000002"
}

To Table of Operations Create "Run Command" Action

Creates a task action to run a command.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
  "Task": "ID of the task",
  "Server": "ID of the server where the command should run",
  "FileName": "Complete path to the command",
  "ActionType": "Number indicating the type of script action, see enum ScriptActionType",
  "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Server": "A9B04C58-91A4-4497-B301-0D100CAA994D",
	"FileName": "C:\\Users\\Administrator\\Desktop\\DiskTest.exe",
	"ActionType": 0,
	"Type": 0
}

Response body

{
    "Caption": "Run C:\\Users\\Administrator\\Desktop\\DiskTest.exe on SSVVM05",
    "ExtendedCaption": null,
    "Id": "eb4465d3-0a37-45d1-a5fe-466836ca677e",
    "Internal": false,
    "SequenceNumber": 3235177,
    "State": 0,
    "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
    "Type": 0,
    "AppendTriggerStates": false,
    "FileName": "C:\\Users\\Administrator\\Desktop\\DiskTest.exe",
    "ScriptParams": null,
    "ServerId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "SubType": 0
}

To Table of Operations Create "Run PowerShell Script" Action

Creates a task action to run a PowerShell script.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
  "Task": "ID of the task",
  "Server": "ID of the server where the script should run",
  "FileName": "Complete path to the script",
  "ActionType": "Number indicating the type of script action, see enum ScriptActionType",
  "ScriptParameters": "Values for parameters: "param1, param2, param3" (optional)",
  "AppendTriggerStates": "Boolean; true appends trigger state data for an active trigger when running a script action",
  "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/actions

Request body

{
  "Task": "15cfc113-be47-4d28-8571-d5b79b6ea2d6",
  "Server": "201F-19JS942-34921UD83-SJDH483",
  "FileName": "C:\\Users\\Administrator\\Desktop\\TestActionRunScript.ps1",
  "ActionType": 1,
  "ScriptParameters": "",
  "AppendTriggerStates": false,
  "Type": 0
}

Response body

{
  Caption             : Run C:\Users\Administrator\Desktop\TestActionRunScript.ps1 on Server1
  ExtendedCaption     :
  Id                  : 820b6035-dc65-4a25-b94f-50525a524c34
  Internal            : False
  SequenceNumber      : 17023
  State               : 0
  TaskId              : 15cfc113-be47-4d28-8571-d5b79b6ea2d6
  Type                : 0
  AppendTriggerStates : False
  FileName            : C:\Users\Administrator\Desktop\TestActionRunScript.ps1
  ScriptParams        :
  ServerId            : 201F03BC-3693-45F8-A127-4FDBEB15D8A9
  SubType             : 1
}

To Table of Operations Create "Send Checkpoint Marker" Action

Creates a task action to send a checkpoint marker to a replication destination virtual disk.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the replication destination virtual disk",
   "MethodType": "Number indicating the method type, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Target": "9d59ba009b4a4c8fa23db3350cb63f61",
	"MethodType": 5,
	"Type": 1
}

Response body

{
  "Caption": "Send a replication checkpoint for Virtual disk 1",
  "ExtendedCaption": null,
  "Id": "6bcbbc11-c376-4bd5-939c-d57fbf1c91e8",
  "Internal": false,
  "SequenceNumber": 87687,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 5,
  "TargetId": "9d59ba009b4a4c8fa23db3350cb63f61"
}

To Table of Operations Create "Send Notification" Action

Creates a task action to send an email notification.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Recipient": "ID of the user to receive the email", 
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Notes
The user must have an email address specified in the user properties and SMTP mail server information must be set for the server group.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Recipient": "{8efa2cf3-d041-4ead-95aa-7eaf4d6a9ca1}",
	"Type": 3
}

Response body

{
    "RecipientId": "{0fcb18af-46c8-4d29-a249-b96dfc052e32}",
    "CustomMessage": "Hello, world!",
    "TaskId": "86a22914-ffba-45a2-b1a3-d0565e261627",
    "Type": 3,
    "State": 0,
    "SequenceNumber": 340,
    "Id": "c61fddea-1ad3-4c43-a3c0-16f26fadb42a",
    "Caption": "Send an email to Administrator with custom message \"Hello, world!\"",
    "ExtendedCaption": null,
    "Internal": false
}

To Table of Operations Create "Update Snapshot Group" Action

Creates a task action to update all snapshots in the group with the latest changes that occurred on the source virtual disks.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the snapshot group",
   "MethodType": "The number 2, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
	"Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
	"Target": "{501660a1-6729-42a5-8da0-4c4055e71ef7}",
	"MethodType": 2,
	"Type": 1
}

Response body

{
  "Caption": "Update snapshot group VD Group 1 @ 3/2/2017 9:05:51 PM UTC",
  "ExtendedCaption": null,
  "Id": "27bcec0e-8e4c-46b0-a85e-e942b0b6ad38",
  "Internal": false,
  "SequenceNumber": 83427,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 2,
  "TargetId": "{501660a1-6729-42a5-8da0-4c4055e71ef7}"
}

To Table of Operations Create "Update Snapshot" Action

Creates a task action to update a snapshot with the latest changes that occurred on the source virtual disk.

Version

1.0

Method

POST

URI template

/1.0/actions

URI parameters
None
Request Body
{
   "Task": "ID of the task",
   "Target": "ID of the snapshot to update",
   "MethodType": "Number indicating the method type, see enum MethodActionType",
   "Type": "Number indicating the type of action, see enum TaskActionType"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/actions

Request body

{
    "Task":  "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
    "Target": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000001--V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000002",
    "MethodType": 0,
    "Type": 1
}

Response body

{
  "Caption": "Update snapshot Virtual disk 1 @ 3/2/2017 2:28:15 PM UTC",
  "ExtendedCaption": null,
  "Id": "dbfb3f0f-592a-45a5-95db-647cb6c4dc39",
  "Internal": false,
  "SequenceNumber": 65311,
  "State": 0,
  "TaskId": "8b5fe2bf-3365-4e4e-a13d-a98b4401fe98",
  "Type": 1,
  "MethodType": 0,
  "TargetId": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000001--V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000002"
}

To Table of Operations Create Dual Virtual Disks

Creates dual virtual disks.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks

URI parameters
None
Request Body
{
    "Name" : "Name of virtual disk",
    "Description" : "Description of virtual disk",
    "Size" : "Size of virtual disk",
    "SectorSize" : "512B" or "4KB",
    "Redundancy" : "Boolean; true creates redundant mirror paths",
    "PoolVolumeType" : "Number associated with pool type, see enum PoolVolumeType",
    "FirstServer" : "ID of the server to use as the first storage source of the virtual disk",
    "SecondServer" : "ID of the server to use as the second storage source of the virtual disk",
    "FirstPool" : "ID of the pool and identifies the server to use as the first storage source of the virtual disk, see Get Pools",
    "SecondPool" : "ID of the pool and identifies the server to use as the second storage source of the virtual disk, see Get Pools",
    "SharedPool": "ID of the shared pool to use as the storage source of the virtual disk, see Get Shared Pools",
    "FirstPhysicalDisk" : "ID of the physical disk to use as the first storage source of the virtual disk",
    "SecondPhysicalDisk" : "ID of the physical disk to use as the second storage source of the virtual disk", 
    "SharedPhysicalDisk" : "ID of the shared physical disk to use as the storage source of the virtual disk",
    "AssignToUsers": "Array of user IDs for the owners of the virtual disk, see Get Users",
    "Type": "Number the corresponds to the virtual disk type, see enum VirtualDiskType",
    "Count": "Number of virtual disks to create",
    "SMPAApproved": "Boolean; true acknowledges that the shared pool consists of all qualified shared multi-port disks"
}
Notes
Creating a dual virtual disk requires the user to acknowledge that a shared pool meets all of the requirements of a shared multi-port array; 
the parameter SMPAApproved is required to be true.
To create a dual virtual disk, pass one of the following combinations: 
"FirstPool" and "SecondPool", which are the same shared pool (in this case the pool ID also identifies the server),
"FirstPhysicalDisk" and "SecondPhysicalDisk", which are the same shared physical disk,
"SharedPool" and both servers ("FirstServer" and "SecondServer"), or
"SharedPhysicalDisk" and both servers ("FirstServer" and "SecondServer").
"Size" parameter value consists of the number followed by the unit of measurement (MB, GB, TB). 
Decimals may be used. For example, "100GB", "1.5TB", and "500000MB" are valid sizes. Size can range from a miniumum of 1GB to a maximum of 1024TB.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks

Request body

{
   "Name" : "Dual Vdisk",
   "Description" : "This is a dual virtual disk created using the REST API",
   "Size" : "50GB",
   "SectorSize" : "512B",
   "Redundancy" : "true",
   "PoolVolumeType" : 1,
   "FirstPool" : "9A622809-4DE6-4B9F-9965-EF29852A1D9E:{81091216-5050-11e7-80f1-00155d138904}",
   "SecondPool" : "52A88DC4-59E1-4143-97B2-E214C1B546B0:{81091216-5050-11e7-80f1-00155d138904}",
   "AssignToUsers" : ["{c3f7c743-7ea1-4a2b-b3c1-92302619fc5f}"],
   "Type" : 3,
   "Count": 2,
   "SMPAApproved" : true

Response body

[
  {
    "Caption": "Dual Vdisk",
    "ExtendedCaption": "Dual Vdisk from Server Group 1",
    "Id": "77a63cd69a704006a39b9fb7ec85bde0",
    "Internal": false,
    "SequenceNumber": 887289,
    "Alias": "Dual Vdisk",
    "BackupHostId": null,
    "Description": "This is a dual virtual disk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 1,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "77a63cd69a704006a39b9fb7ec85bde0",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        202,
        61,
        114,
        7,
        45,
        0,
        161,
        89,
        102,
        201,
        231,
        154
    ],
    "ScsiDeviceIdString": "60030D90CA3D72072D00A15966C9E79A",
    "SecondHostId": "52A88DC4-59E1-4143-97B2-E214C1B546B0",
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 53687091200
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 3,
    "VirtualDiskGroupId": null,
    "WriteThrough": true,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
  },
  {
    "Caption": "Dual Vdisk 1",
    "ExtendedCaption": "Dual Vdisk 1 from Server Group 1",
    "Id": "e305eb0bafe9428f959b1e01327122fc",
    "Internal": false,
    "SequenceNumber": 887465,
    "Alias": "Dual Vdisk 1",
    "BackupHostId": null,
    "Description": "This is a dual virtual disk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 1,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "e305eb0bafe9428f959b1e01327122fc",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        20,
        83,
        114,
        7,
        144,
        20,
        182,
        90,
        255,
        224,
        199,
        103
    ],
    "ScsiDeviceIdString": "60030D90145372079014B65AFFE0C767",
    "SecondHostId": "52A88DC4-59E1-4143-97B2-E214C1B546B0",
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 53687091200
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 3,
    "VirtualDiskGroupId": null,
    "WriteThrough": true,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
  }
]

To Table of Operations Create Host Group

Creates a host group.

Version

1.0

Method

POST

URI template

/1.0/hostgroups

URI parameters
None
Request Body
{
    "Name": "Name of the host group",
    "Description": "Description of the host group"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/Rest.svc/1.0/hostgroups

Request body

{
    "Name": "Host Group 1",
    "Description": "Host group created through the REST API"
}

Response body

{
   "Caption": "Host Group 1",
   "ExtendedCaption": "Host Group 1",
   "Id": "{223761e3-6ae9-4625-8720-08b4db64a841}",
   "Internal": false,
   "SequenceNumber": 4059223,
   "Alias": "Host Group 1",
   "Description": "Host group created through the REST API",
   "StorageDomainSettings": {
       "ChargeBackEnabled": false,
       "MaxDataTransferredPerSec": 0,
       "MaxIoOperationsPerSec": 0
   }

To Table of Operations Create Mirrored Virtual Disks

Creates mirrored virtual disks.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks

URI parameters
None
Request Body
{
    "Name" : "Name of virtual disk",
    "Description" : "Description of virtual disk",
    "Size" : "Size of virtual disk",
    "SectorSize" : "512B" or "4KB",
    "Redundancy" : "Boolean; true creates redundant mirror paths",
    "PoolVolumeType" : "Number associated with pool volume type, see enum PoolVolumeType",
    "FirstPool" : "ID of the pool to use as the first storage source in the virtual disk",
    "SecondPool" : "ID of the pool to use as the second storage source in the virtual disk",
    "FirstPhysicalDisk" : "ID of the physical disk to use as the first storage source in the virtual disk",
    "SecondPhysicalDisk" : "ID of the physical disk to use as the second storage source in the virtual disk",
    "AssignToUsers": "Array of user IDs for the owners of the virtual disk, see Get Users",
    "Type": "Number that corresponds to the virtual disk type, see enum VirtualDiskType",
    "Count": "Number of virtual disks to create",
    "CompressionEnabled": "Boolean; true enables Inline Compression on the virtual disk, default is false (optional)",
    "DeduplicationEnabled": "Boolean; true enables Inline Deduplication on the virtual disk, default is false (optional)",
    "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk, default is false (optional)",
    "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk, default is 64 (optional)"
}
Notes
To create a mirror virtual disk, pass one of the following parameter combinations:
"FirstPool" and "SecondPool",
"FirstPhysicalDisk" and "SecondPhysicalDisk",
"FirstPool" and "SecondPhysicalDisk", or 
"FirstPhysicalDisk" and "SecondPool".
"Size" parameter value consists of the number followed by the unit of measurement (MB, GB, TB). 
Decimals may be used. For example, "100GB", "1.5TB", and "500000MB" are valid sizes. Size can range from a miniumum of 1GB to a maximum of 1024TB.
OptimizeStaleOnly option can be enabled only when Inline Compression or Inline Deduplication, or both, are enabled.
StaleDataWeight's Valid values are "32", "64", and "96". The input is rounded to these valid values.
The default value is "64" which specifies the Normal Optimization Policy.
Similarly "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks

Request body

{
    "Name" : "Mirrored Vdisk",
    "Description" : "This is a mirrored virtual disk created using the REST API",
    "Size" : "100GB",
    "SectorSize" : "4KB",
    "Redundancy" : "true",
    "PoolVolumeType" : 1,
    "FirstPool" : "9A622809-4DE6-4B9F-9965-EF29852A1D9E:{810911c9-5050-11e7-80f1-00155d138904}",
    "SecondPool" : "52A88DC4-59E1-4143-97B2-E214C1B546B0:{31c9b74d-507c-11e7-80eb-00155d138908}",
    "AssignToUsers" : ["{c3f7c743-7ea1-4a2b-b3c1-92302619fc5f}"],
    "Type" : 2,
    "Count" : 2
}

Response body

[
  {
    "Caption": "Mirrored Vdisk",
    "ExtendedCaption": "Mirrored Vdisk from Server Group 1",
    "Id": "781667d9c0b34060a220019ac3524c1f",
    "Internal": false,
    "SequenceNumber": 837083,
    "Alias": "Mirrored Vdisk",
    "BackupHostId": null,
    "Description": "This is a mirrored virtual disk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 1,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "781667d9c0b34060a220019ac3524c1f",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        112,
        83,
        201,
        6,
        6,
        209,
        32,
        252,
        132,
        189,
        213,
        164
    ],
    "ScsiDeviceIdString": "60030D907053C90606D120FC84BDD5A4",
    "SecondHostId": "52A88DC4-59E1-4143-97B2-E214C1B546B0",
    "SectorSize": {
        "Value": 4096
    },
    "Size": {
        "Value": 107374182400
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 2,
    "VirtualDiskGroupId": null,
    "WriteThrough": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
  },
  {
    "Caption": "Mirrored Vdisk 1",
    "ExtendedCaption": "Mirrored Vdisk 1 from Server Group 1",
    "Id": "1f4c86c248d646af8b6b535f8cfc3cdd",
    "Internal": false,
    "SequenceNumber": 837252,
    "Alias": "Mirrored Vdisk 1",
    "BackupHostId": null,
    "Description": "This is a mirrored virtual disk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 1,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "1f4c86c248d646af8b6b535f8cfc3cdd",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        12,
        92,
        201,
        6,
        175,
        59,
        80,
        122,
        13,
        32,
        218,
        180
    ],
    "ScsiDeviceIdString": "60030D900C5CC906AF3B507A0D20DAB4",
    "SecondHostId": "52A88DC4-59E1-4143-97B2-E214C1B546B0",
    "SectorSize": {
        "Value": 4096
    },
    "Size": {
        "Value": 107374182400
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 2,
    "VirtualDiskGroupId": null,
    "WriteThrough": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
  }
]

To Table of Operations Create Passthrough Snapshot

Creates a full snapshot of a virtual disk on a passthrough disk. The passthrough disk should be intialized, but not partitioned.

Version

1.0

Method

POST

URI template

/1.0/snapshots

URI parameters
None
Request Body
{
    "Name" : "Name of snapshot",
    "Description" : "Description of snapshot",
    "VirtualDisk" : "ID of the source virtual disk",
    "DestinationPhysicalDisk" : "ID of the physical disk where the snapshot is created"
    "StorageProfile" : "ID of the storage profile of the snapshot, default is Normal (optional)",
    "DuplicateDiskId" : "Boolean; true creates the snapshot with a duplicate disk ID, default is false (optional)",
    "AssignToCurrentUser" : "Boolean; true creates the snapshot with the current user as the owner; the default assigns no owner (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots

Request body

{
    "Name" : "Passthrough Snapshot 1",
    "Description" : "This is a snapshot created using the REST API",
    "VirtualDisk" : "c16dfc12378b47239c43c70feffa819b",
    "DestinationPhysicalDisk" : "{3ed68dd1-436e-4e4e-99d8-fe4119c43a96}",
    "AssignToCurrentUser" : true
}

Response body

{
    "SourceLogicalDiskId": "88e5ca89-64f3-4125-8557-3366c64ac702",
    "DestinationLogicalDiskId": "1d339aeb-83b3-4dca-8be0-acb60603c4d2",
    "Type": 1,
    "TimeStamp": "/Date(1692274310052-0700)/",
    "ActiveOperation": 1,
    "State": 1,
    "Failure": 0,
    "CompressionEnabled": false,
    "SequenceNumber": 7711,
    "Id": "V.{8FC90EE9-386C-11EE-93A4-00155D026513}-00000017--V.MSFT____-NAA.60022480FF77DE2918B523B560E77887",
    "Caption": "Passthrough Snapshot 1",
    "ExtendedCaption": "Passthrough Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Create Pool

Creates a disk pool on the specified server in the server group.

Version

1.0

Method

POST

URI template

/1.0/pools

URI parameters
None
Request Body
{
    "Name" : "Name of the pool",
    "Server" : "ID of the server where the pool will reside",
    "ChunkSize" : "The storage allocation unit size. Valid values include "4MB", "8MB", "16MB", "32MB", "64MB", "128MB", "256MB", "512MB", or "1024MB"",
    "BlockSize" : "The sector size. Valid values include "512B" or "4k",
    "Description" : "String describing the pool",
    "MaxTierNumber" : "The number of tiers in the pool. Valid values are 1-15",
    "TierReservePct" : "Number representing the percentage of space to reserve in all tiers (except the lowest tier) for future virtual disk allocations", 
    "Disks" : "Array of disk IDs to add to the pool",
    "Deduplication" : "Deduplication enabled or not"
}
Notes
Description, ChunkSize, BlockSize, MaxTierNumber, TierReservePct, Disks, and Deduplication are optional parameters.
Default values are: ChunkSize - "128MB", BlockSize - "512B", MaxTierNumber - 3, TierReservePct - 0, Deduplication - false
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/pools

Request body

{
    "Name" : "RESTPool1",
    "Server" : "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "ChunkSize" : "128MB",
    "BlockSize" : "512B",
    "Description" : "This is a pool created using rest API POST",
    "MaxTierNumber" : 3,
    "TierReservePct" : 10,
    "Disks" : ["{2c6f2d07-8814-4067-a618-d5fdc2287a83}", "{f744e9dd-ad2f-4037-9136-b2f45b3c9c03}"],
    "Deduplication" : false
}

Response body

{
    "Caption": "RESTPool1",
    "ExtendedCaption": "RESTPool1 on SSVVM05",
    "Id": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "Internal": false,
    "SequenceNumber": 50191,
    "Alias": "RESTPool1",
    "AutoTieringEnabled": true,
    "ChunkSize": {
        "Value": 134217728
    },
    "Description": "This is a pool created using rest API POST",
    "InSharedMode": false,
    "IsAuthorized": true,
    "MaxTierNumber": 3,
    "PoolMode": 1,
    "PoolStatus": 0,
    "PresenceStatus": 1,
    "SMPAApproved": false,
    "DeduplicationState": 0,
    "SectorSize": {
        "Value": 512
    },
    "ServerId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "SharedPoolId": null,
    "TierReservedPct": 10,
    "Type": 0
}

To Table of Operations Create Replication

Creates a replication relationship between a source and a destination virtual disk in order to asynchronously mirror data. The contents of the destination virtual disk will be overwritten.

Version

1.0

Method

POST

URI template

/1.0/replications

URI parameters
None
Request Body
{
    "SourceServer" : "ID of the source replication server",
    "SourceVirtualDisk" : "ID of the source virtual disk in the replication",
    "DestinationServer" : "ID of the destination replication server",
    "DestinationVirtualDisk" : "ID of the destination virtual disk in the replication"
    "DuplicateDiskId" : "Boolean; true creates the replication with duplicate disk ID, default is false (optional)",
    "OfflineInitialization" : "Boolean; true requires manual offline initialization and false performs online initialization, default is false (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications

Request body

{
    "SourceServer" : "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "SourceVirtualDisk" : "d26e3e11a2d244c78cd00e195c4d75c2",
    "DestinationServer" : "6a63421b-5448-47a7-8c78-2cb35a12519b:9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "DestinationVirtualDisk" : "dd28f8d832284de982ac1122a7ee3c1a",
    "DuplicateDiskId" : true,
    "OfflineInitialization" : false
}

Response body

{
 "Caption": "Virtual disk 3",
 "ExtendedCaption": "Virtual disk 3 from Server Group Local",
 "Id": "554f0240-5e26-4021-961e-250cb8ee89e4",
 "Internal": false,
 "SequenceNumber": 125836,
 "AutoAsyncReplicationLicense": 1,
 "BackendStatus": 2,
 "CheckpointSnapshotId": null,
 "DuplicatedDiskId": true,
 "FirstServerId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
 "FirstVirtualDiskId": "d26e3e11a2d244c78cd00e195c4d75c2",
 "InitializationType": 2,
 "IsActiveSide": true,
 "OfflineInitializationSupported": true,
 "ReplicationState": 6,
 "SecondServerId": "059df0b7-1928-46ee-8951-890f7502c82b:70D6B0D7-C1A7-4D3E-B684-DA2A86B89707",
 "SecondVirtualDiskId": "dd28f8d832284de982ac1122a7ee3c1a",
 "TransferStatus": 2
}

To Table of Operations Create Role

Creates a custom user role and assigns privileges to the role. All, none, or individual privileges in each privilege group can be assigned.

Version

1.0

Method

POST

URI template

/1.0/roles

URI parameters
None
Request Body
{
    "Name" : "Name of the role",
    "Description" : "Description of the role",
    "Privileges" :
    {
        "DataCoreServer": "Array of numbers for the DataCore Server Privileges Group, see enum ServerMachinePrivileges",
        "DataCoreServerGroup": "Array of numbers for the DataCore Server Privileges Group, see enum ServerMachineGroupPrivileges",
        "DiskPool": "Array of numbers for the Disk Pool Privileges Group, see enum DiskPoolPrivileges",
        "General": "Array of numbers for the General Privileges Group, see enum GeneralPrivilege",
        "Host": "Array of numbers for the Host Privileges Group, see enum ClientMachinePrivileges",
        "HostGroup": "Array of numbers for the Host Group Privileges Group, see enum HostGroupPrivileges",
        "License": "Array of numbers for the Licenses Privileges Group, see enum LicensePrivileges",
        "Log": "Array of numbers for the Log Privileges Group, see enum LogPrivileges",
        "PerformanceRecording": "Array of numbers for the Performance Recording Privileges Group, see enum PerformanceRecordingPriviledges",
        "PhysicalDisk": "Array of numbers for the Physical Disk Privileges Group, see enum PhysicalDiskPrivileges",
        "Port": "Array of numbers for the Port Privileges Group, see enum PortPrivileges",
        "Replication": "Array of numbers for the Replication Privileges Group, see enum ReplicationPrivileges",
        "ReplicationPartner": "Array of numbers for the Replication Partner Privileges Group, see enum PartnerControllerPrivileges",
        "Role": "Array of numbers for the Role Privileges Group, see enum RolePrivileges",
        "Rollback": "Array of numbers for the Rollback Privileges Group, see enum RollbackPrivileges",
        "ServiceLevel": "Array of numbers for the Service Level Privileges Group, see enum ExecutivePrivileges",
        "Snapshot": "Array of numbers for the Snapshot Privileges Group, see enum SnapshotPrivileges",
        "StorageProfile": "Array of numbers for the Storage Profile Privileges Group, see enum StorageProfilePrivileges",
        "SystemHealthMonitor": "Array of numbers for the System Health Monitor Privileges Group, see enum MonitorPrivileges",
        "Task": "Array of numbers for the Task Privileges Group, see enum TaskPrivileges",
        "UserAccount": "Array of numbers for the User Account Privileges Group, see enum UserPrivileges",
        "VirtualDisk": "Array of numbers for the Virtual Disk Privileges Group, see enum VirtualDiskPrivileges",
        "VirtualDiskGroup": "Array of numbers for the Virtual Disk Group Privileges Group, see enum VirtualDiskGroupPrivileges",
        "VirtualDiskTemplate": "Array of numbers for the Virtual Disk Template Privileges Group, see enum VirtualDiskTemplatePrivileges"
    }
}
Notes
Use the referenced enums to find the decimal values for the individual privileges in the privilege group. 
Privilege groups with no privileges do not need to be included in the request body; the default of 0 (no privileges) is assigned. 
All roles should include the ViewInformation privilege ("1") in the General privilege group so that users can view information in the console. 
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/roles

Request body

{
    "Name" : "Basic VD",
    "Description" : "This is a role created using the REST API",
    "Privileges" : 
    {
        "General": [ 1 ],
        "PerformanceRecording": [ 31 ],
        "ReplicationPartner": [ 7 ],
        "Replication": [ 511 ],
        "Rollback": [ 1, 2, 4, 16 ],
        "ServiceLevel": [ 2, 4 ],
        "Snapshot": [ 1, 2, 8 ],
        "StorageProfile": [ 1 ],      
        "Task": [ 2047 ],
        "VirtualDisk": [ 1, 2, 16, 32, 64, 128 ],
        "VirtualDiskGroup": [ 31 ],
        "VirtualDiskTemplate": [ 15 ]
    }
}

Response body

{
    "Caption": "Basic VD",
    "ExtendedCaption": "Basic VD",
    "Id": "{52f5ca2d-1a09-4edf-8f65-127372400e2e}",
    "Internal": false,
    "SequenceNumber": 1932328,
    "Alias": "Basic VD",
    "Description": "This is a role created using the REST API",
    "IsPredefined": false,
    "Privileges": {
        "ClientMachines": 0,
        "Controller": 6,
        "DiskPools": 0,
        "General": 1,
        "HostGroups": 0,
        "License": 0,
        "Logs": 0,
        "Monitors": 0,
        "PartnerController": 7,
        "PerformanceRecording": 31,
        "PhysicalDisks": 0,
        "Ports": 0,
        "Replications": 511,
        "Roles": 0,
        "Rollbacks": 23,
        "ServerMachineGroups": 0,
        "ServerMachines": 0,
        "Snapshots": 11,
        "StorageProfiles": 1,
        "Tasks": 2047,
        "Users": 0,
        "VirtualDiskGroups": 31,
        "VirtualDiskTemplate": 15,
        "VirtualDisks": 243
     }
 }

Notes

In the example above, the role named "Basic VD" is being created with a description. The number returned for each privileges group in the response is the total of all values assigned from the request body. For instance in the Rollback privileges group, CreateRollback (1), DeleteRollback (2), SplitRollback (4), and ConfigureRollback (16) are assigned for a total value of 23 in the enum RollbackPrivileges.

To Table of Operations Create Rollback

Creates a rollback of a virtual disk.

Version

1.0

Method

POST

URI template

/1.0/rollbacks

URI parameters
None
Request Body
{
 "Name" : "Name of rollback",
 "Description" : "Description of rollback",
 "VirtualDisk" : "ID of the source virtual disk",
 "DestinationPool" : "ID of the pool to use as the storage source of the rollback; the pool must be on the server with data protection enabled.",
 "RestorePoint" : "Timestamp (date and time) of the restore point to use for the rollback",
 "DuplicateDiskId" : "Boolean; true creates the rollback with a duplicate disk ID",
 "AssignToCurrentUser" : "Boolean; true creates the rollback with the current user as the owner; the default assigns no owner (optional)",
 "AutoExpire" : "Boolean; true creates an automatically expiring rollback and false creates a persistent rollback",
 "Compression" : "Boolean; true creates the rollback with compression; default is false (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbacks

Request body

{
    "Name" : "New Rollback",
    "Description" : "Created through REST API",
    "VirtualDisk" : "c16dfc12378b47239c43c70feffa819b",
    "DestinationPool" : "3831A3DF-1852-434C-9482-D9ACF9F287BE:{d3d8f9d5-3714-11e7-80e7-00155d13890c}",
    "RestorePoint" : "March 6, 2017 3:00:00 PM",
    "DuplicateDiskId" : false,
    "AssignToCurrentUser" : true,
    "AutoExpire" : false,
    "Compression": true
}

Response body

{
    "SourceLogicalDiskId": "f1703429-5d06-407a-b1f4-a3c28209ce44",
    "DestinationLogicalDiskId": "60bdba49-1728-4389-a9e6-0297ad5e5415",
    "RestorePoint": "/Date(1488830400000)/",
    "AutoExpire": false,
    "State": 0,
    "CompressionEnabled": true,
    "SequenceNumber": 2002507,
    "Id": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C540-FEAB-11E6-80EB-00155D138914}-0000000A",
    "Caption": "New Rollback",
    "ExtendedCaption": "New Rollback on SSVVM05",
    "Internal": false
}

To Table of Operations Create Rollback Group

Creates a rollback group.

Version

1.0

Method

POST

URI template

/1.0/rollbackgroups

URI parameters
None
Request Body
{
    "Name" : "Name of rollback group",
    "Description" : "Description of rollback group",
    "DestinationPool" : "ID of the pool from which to create the rollback group",
    "VirtualDiskGroup" : "ID of the source virtual disk group",
    "RestorePoint" : "Timestamp of the restore point to use for the rollback group",
    "DuplicateDiskId" : "Boolean; true creates the rollbacks with duplicate disk IDs",
    "StorageProfile" : "ID of the storage profile to assign to the rollbacks in the group",
    "AutoExpire" : "Boolean; true creates automatically expiring rollbacks and false creates persistent rollbacks",
    "Compression" : "Boolean; true creates the rollback group with compression; default is false (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbackgroups

Request body

{
    "Name" : "RollbackGroup 1",
    "Description" : "Created through REST API",
    "DestinationPool" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "VirtualDiskGroup" : "{d383bbc3-15d9-40d4-9707-370aeb27b146}",
    "RestorePoint" : "March 6, 2017 3:00:00 PM",
    "DuplicateDiskId" : false,
    "StorageProfile" : "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
    "Auto Expire" : false,
    "Compression" : true
}

Response body

{
    "Caption": "RollbackGroup 1",
    "ExtendedCaption": "RollbackGroup 1",
    "Id": "{7c5d3e2d-db4b-4b87-aa26-5b28c2f52134}",
    "Internal": false,
    "SequenceNumber": 2052771,
    "Alias": "RollbackGroup 1",
    "Description": "Created through REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 0,
        "MaxIoOperationsPerSec": 0
    },
    "TotalCapacity": {
        "Value": 10737418240
    },
    "ParentGroupId": "{d383bbc3-15d9-40d4-9707-370aeb27b146}"
 }

To Table of Operations Create Single Virtual Disks

Creates single virtual disks.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks

URI parameters
None
Request Body
{
    "Name" : "Name of virtual disk",
    "Description" : "Description of virtual disk",
    "Size" : "Size of virtual disk",
    "SectorSize" : "512B" or "4KB",
    "PoolVolumeType" : "Number associated with pool volume, see PoolVolumeType for values",
    "Pool": "ID of pool to use as the storage source of the virtual disk",
    "PhysicalDisk" : "ID of the physical disk to use as the storage source of the virtual disk",
    "AssignToUsers": "Array of IDs for the owners of the virtual disk, see Get Users",
    "Type": "Number the corresponds to the virtual disk type, see VirtualDiskType",
    "Count": "Number of virtual disks to create",
    "CompressionEnabled": "Boolean; true enables Inline Compression on the virtual disk, default is false (optional)",
    "DeduplicationEnabled": "Boolean; true enables Inline Deduplication on the virtual disk, default is false (optional)",
    "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk, default is false (optional)",
    "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk, default is 64 (optional)"
}
Notes
To create a single virtual disk, pass either "Pool" or "PhysicalDisk" parameter, not both.
"Size" parameter value consists of the number followed by the unit of measurement (MB, GB, TB). 
Decimals may be used. For example, "100GB", "1.5TB", and "500000MB" are valid sizes. Size can range from a miniumum of 1GB to a maximum of 1024TB.
OptimizeStaleOnly option can be enabled only when Inline Compression or Inline Deduplication, or both, are enabled.
StaleDataWeight's Valid values are "32", "64", and "96". The input is rounded to these valid values.
The default value is "64" which specifies the Normal Optimization Policy.
Similarly "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks

Request body

{
    "Name" : "Single Vdisk",
    "Description" : "This is a single virtual diisk created using the REST API",
    "Size" : "50GB",
    "SectorSize" : "512B",
    "PoolVolumeType" : 0,
    "Pool": "9A622809-4DE6-4B9F-9965-EF29852A1D9E:{810911c9-5050-11e7-80f1-00155d138904}",
    "AssignToUsers": ["{c3f7c743-7ea1-4a2b-b3c1-92302619fc5f}"],
    "Type": 0,
    "Count": 2
}

Response body

[
  {
    "Caption": "Single Vdisk",
    "ExtendedCaption": "Single Vdisk from Server Group 1",
    "Id": "487b6bc3d1074b72a6b978a7a89eed03",
    "Internal": false,
    "SequenceNumber": 760893,
    "Alias": "Single Vdisk",
    "BackupHostId": null,
    "Description": "This is a single virtual diisk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 3,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "487b6bc3d1074b72a6b978a7a89eed03",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        40,
        227,
        108,
        5,
        18,
        99,
        246,
        195,
        94,
        195,
        220,
        0
    ],
    "ScsiDeviceIdString": "60030D9028E36C051263F6C35EC3DC00",
    "SecondHostId": null,
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 53687091200
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 0,
    "VirtualDiskGroupId": null,
    "WriteThrough": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
  },
  {
    "Caption": "Single Vdisk 1",
    "ExtendedCaption": "Single Vdisk 1 from Server Group 1",
    "Id": "8aef3b84e80d4957ae41c564161c489f",
    "Internal": false,
    "SequenceNumber": 760935,
    "Alias": "Single Vdisk 1",
    "BackupHostId": null,
    "Description": "This is a single virtual diisk created using the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 3,
    "FirstHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "8aef3b84e80d4957ae41c564161c489f",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": false,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        122,
        229,
        108,
        5,
        3,
        83,
        35,
        12,
        54,
        17,
        46,
        121
    ],
    "ScsiDeviceIdString": "60030D907AE56C050353230C36112E79",
    "SecondHostId": null,
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 53687091200
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 0,
    "VirtualDiskGroupId": null,
    "WriteThrough": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled": false,
    "StaleDataWeight": 64
   }
]

To Table of Operations Create Snapshot

Creates a snapshot of a virtual disk.

Version

1.0

Method

POST

URI template

/1.0/snapshots

URI parameters
None
Request Body
{
    "Name" : "Name of snapshot",
    "Description" : "Description of snapshot (optional)",
    "VirtualDisk" : "ID of the source virtual disk",
    "DestinationPool" : "ID of the pool from which the snapshot is created",
    "StorageProfile" : "ID of the storage profile of the snapshot, default is Normal (optional)",
    "DuplicateDiskId" : "Boolean; true creates the snapshot with a duplicate disk ID, default is false (optional)",
    "AssignToCurrentUser" : "Boolean; true creates the snapshot with the current user as the owner; the default assigns no owner (optional)",
    "Type" : "Number indicating the type of snapshot, see enum SnapshotType",
    "Compression" : "Boolean; true creates the snapshot with compression; default is false (optional)"
}
Notes
Also see Create Passthrough Snapshot to create a snapshot on a passthrough disk.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots

Request body

{
    "Name" : "Snapshot 1",
    "Description" : "This is a snapshot created using the REST API",
    "VirtualDisk" : "c16dfc12378b47239c43c70feffa819b",
    "DestinationPool" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "StorageProfile" : "3ACE5F17-41DB-445D-B1EF-C8F04953B5AD",
    "DuplicateDiskId" : true,
    "AssignToCurrentUser" : true,
    "Type": 1,
    "Compression": true
}

Response body

{
    "SourceLogicalDiskId": "4d8ac7c1-3212-4931-affe-aeae68ccd575",
    "DestinationLogicalDiskId": "72fc9c1d-41ff-4658-9a6b-defd8538ae58",
    "Type": 1,
    "TimeStamp": "/Date(-62135596800000)/",
    "ActiveOperation": 0,
    "State": 0,
    "Failure": 0,
    "CompressionEnabled": true,
    "SequenceNumber": 11338,
    "Id": "V.{457E3624-383F-11EE-93A0-00155D026513}-0000003E--V.{457E3624-383F-11EE-93A0-00155D026513}-00000079",
    "Caption": "Snapshot 1",
    "ExtendedCaption": "Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Create Snapshot Group

Creates a snapshot group.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups

URI parameters
None
Request Body
{
    "Name" : "Name of the snapshot group",
    "Description" : "Description of the snapshot group",
    "VirtualDiskGroup" : "ID of the source virtual disk group",
    "DestinationPool" : "ID of the pool from which the snapshot group is created (optional)",
    "SnapshotGroupCreationProperties" : "An array of SnapshotGroupCreationData, which is created from the Get Snapshot Group Creation Properties REST API (optional)",
    "StorageProfile" : "ID of the storage profile of the snapshot group, default is Normal (optional)",
    "DuplicateDiskId" : "Boolean; true creates the snapshots in the group with duplicate disk IDs, default is false (optional)",
    "Type" : "Number indicating the type of snapshots to create in the group, see enum SnapshotType"
}
Response Code
200
Returns
Example 1

Description

Create Snapshot Group using DestinationPool parameter.

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups

Request body

{
    "Name" : "Snapshot Group 1",
    "Description" : "This is a snapshot group created using the REST API",
    "VirtualDiskGroup" : "{d383bbc3-15d9-40d4-9707-370aeb27b146}",
    "DestinationPool" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "StorageProfile" : "A122B0E3-7D32-4783-BDE4-619049C936C9",
    "DuplicateDiskId" : "false",
    "Type" : 0
}

Response body

{
    "Caption": "Snapshot Group 1",
    "ExtendedCaption": "Snapshot Group 1",
    "Id": "{9d8e1010-378d-4cc5-9570-5f66cfca57f2}",
    "Internal": false,
    "SequenceNumber": 3203760,
    "Alias": "Snapshot Group 1",
    "Description": "This is a snapshot group created using the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 0,
        "MaxIoOperationsPerSec": 0
    },
    "TotalCapacity": {
        "Value": 10737418240
    },
    "ActiveOperation": 0,
    "ParentGroupId": "{d383bbc3-15d9-40d4-9707-370aeb27b146}",
    "TimeStamp": "/Date(1488919865339-0500)/",
    "Type": 0
}
Example 2

Description

Create Snapshot Group using SnapshotGroupCreationProperties parameter.

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups

Request body

{
    "Name" : "Snapshot Group 2",
    "Description" : "This is a snapshot group created using the REST API",
    "VirtualDiskGroup" : "{d383bbc3-15d9-40d4-9707-370aeb27b146}",
    "SnapshotGroupCreationProperties" : [
        {
            "VirtualDiskGroupId": "{00ad8e06-a110-407e-bb24-fe88e0ee6804}",
            "VirtualDiskId": "905dd33b67ca4aabac6f27ffb6a311b1",
            "DestinationPoolId": "4B9F70E1-6D58-4AAD-987F-CF17F2DD6C94:{6508f8ef-41af-11ee-9f8c-00155d026515}",
            "StorageProfileId": "A122B0E3-7D32-4783-BDE4-619049C936C9",
            "Compression": false
        },
        {
            "VirtualDiskGroupId": "{00ad8e06-a110-407e-bb24-fe88e0ee6804}",
            "VirtualDiskId": "39a7ca52898642cd843c4845b283cf99",
            "DestinationPoolId": "4B9F70E1-6D58-4AAD-987F-CF17F2DD6C94:{6508f8c8-41af-11ee-9f8c-00155d026515}",
            "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
            "Compression": true
        }
    ]
    "Type" : 0
}

Response body

{
    "Caption": "Snapshot Group 2",
    "ExtendedCaption": "Snapshot Group 2",
    "Id": "{bfd216b2-46a7-4037-bb68-800aeb6c92fd}",
    "Internal": false,
    "SequenceNumber": 3203760,
    "Alias": "Snapshot Group 2",
    "Description": "This is a snapshot group created using the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 0,
        "MaxIoOperationsPerSec": 0
    },
    "TotalCapacity": {
        "Value": 10737418240
    },
    "ActiveOperation": 0,
    "ParentGroupId": "{00ad8e06-a110-407e-bb24-fe88e0ee6804}",
    "TimeStamp": "/Date(1488919865339-0500)/",
    "Type": 0
}

To Table of Operations Create Storage Profile

Creates a custom storage profile.

Version

1.0

Method

POST

URI template

/1.0/storageprofiles

URI parameters
None
Request Body
{
    "Name" : "Name of storage profile",
    "Description" : "Description of storage profile",
    "PerformanceClass" : "Number indicating priority of virtual disk data, see enum PerformanceClass",
    "ReplicationPriority" : "Number indicating priority of replication, see enum AsyncReplicationPriority",
    "MirrorRecoveryPriority" : "Number indicating priority of mirror recovery, see enum MirrorRecoveryPriority",
    "WriteTracking" : "Boolean; true enables write tracking for Auto-tiering" 
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/storageprofiles

Request body

{
 "Name" : "Custom Profile 1",
 "Description" : "This is a storage profile created using the REST API",
 "PerformanceClass" : 2,
 "ReplicationPriority" : 1,
 "MirrorRecoveryPriority" : 1,
 "WriteTracking" : "false"
}

Response body

{
    "Caption": "Custom Profile 1",
    "ExtendedCaption": "Custom Profile 1 Profile",
    "Id": "34e490a9-abb2-42fe-8484-d8be3011129f",
    "Internal": false,
    "SequenceNumber": 3227598,
    "Alias": "Custom Profile 1",
    "DefaultProfile": false,
    "Description": "This is a storage profile created using the REST API",
    "PerformanceClass": 2,
    "RecoveryPriority": 1,
    "ReplicationPriority": 1,
    "WriteTracking": false
}

To Table of Operations Create Task

Creates a task used to automatically perform actions when triggered by events.

Version

1.0

Method

POST

URI template

/1.0/tasks

URI parameters
None
Request Body
{
    "Name" : "Name of the task",
    "Description" : "Description of the task",
    "MaxRunTime" : "Number of seconds (30 to 604800 (7 days)) to allow all actions to be performed for each task instance; default is 604800",
    "ActionDelay" : "Number of seconds to wait before performing actions when triggers are signaled; default is 0",
    "RequireAllTriggers" : "Boolean; false (default) performs actions when a single trigger is signaled and true requires all triggers to be signaled",
    "Disabled" : "Boolean; false (default) enables the task to run and true disables the task from running"
}
Notes
MaxRunTime is shared by all actions in the task. When the time has been reached, all actions will be terminated. 
If triggered again, the same time will be allotted to perform the actions again. 
To configure triggers, see Create "Checkpoint" Trigger, Create "Log Message" Trigger, Create "Scheduled Time" Trigger, Create "Monitor" Trigger.
To configure actions, see Create "Log Message" Action, Create "Reclaim Space" Action, Create "Snapshot Group" Action, 
Create "Revert From Snapshot" Action, Create "Run Command" Action, Create "Run PowerShell Script" Action, Create "Send Checkpoint Marker" Action, 
Create "Send Notification" Action, Create "Update Snapshot Group" Action, and Create "Update Snapshot" Action.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/tasks

Request body

{
    "Name" : "New Task",
    "Description" : "This is a task created using the REST API",
    "MaxRunTime" : 3600,
    "ActionDelay" : 3600,
    "RequireAllTriggers" : true,
    "Disabled" : true
}

Response body

{
    "Caption": "New Task",
    "ExtendedCaption": "New Task",
    "Id": "4bbfeda2-117a-4024-a813-2bf07b89b9db",
    "Internal": false,
    "SequenceNumber": 7370495,
    "AbortOnActionFailure": false,
    "ActionBehavior": 1,
    "ActionDelay": 36000000000,
    "Connective": 0,
    "Description": "This is a task created using the REST API",
    "Enabled": false,
    "LastStartTime": "/Date(-62135578800000)/",
    "LastStopTime": "/Date(-62135578800000)/",
    "MaxRunTime": 36000000000,
    "State": 0
}

To Table of Operations Create Virtual Disk Group

Creates a virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups

URI parameters
None
Request Body
{
    "Name" : "Name of virtual disk group",
    "Description" : "Description of virtual disk group",
    "VirtualDisks" : "Array of virtual disk IDs to add to the group"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups

Request body

{
    "Name" : "Virtual Disk Group 1",
    "Description" : "Virtual disk group created through the REST API",
    "VirtualDisks" : ["ea06e7ce7ace46d89f877876f502ff0d", "a8fee03c481940d7a853356e93d8507d", "2f56f43ba4d246c99da4dcdf3248b544"]
}

Response body

{
    "Caption": "Virtual Disk Group 1",
    "ExtendedCaption": "Virtual Disk Group 1",
    "Id": "{da9888cc-f281-42ce-90b6-577c182b18d2}",
    "Internal": false,
    "SequenceNumber": 321073,
    "Alias": "Virtual Disk Group 1",
    "Description": "Virtual disk group created through the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 0,
        "MaxIoOperationsPerSec": 0
    },
    "TotalCapacity": {
        "Value": 0
    }
}

To Table of Operations Create Virtual Disk Template

Creates a virtual disk template.

Version

1.0

Method

POST

URI template

/1.0/virtualdisktemplates

URI parameters
None
Request Body
{
   "Name" : "Name of template",
   "FirstPool" : "ID of pool to use as first storage source for virtual disk",
   "SecondPool" : "ID of pool to use as second storage source for mirrored virtual disk",
   "Size" : "Size of the virtual disk",
   "SectorSize" : "Sector size of the virtual disk, either "512B" or "4K"",
   "UseRedundantMirrorMappings" : "Boolean; true creates redundant mirror paths",
   "SequentialStorageEnabled" : "Boolean; true enables Sequential Storage",
   "StorageProfile" : "ID of the storage profile of the virtual disk, see Get Storage Profiles",
   "DefaultSnapshotPoolId" : "ID of the preferred snapshot pool",
   "ContinuousDataProtectionPoolId" : "ID of the pool used as the source of the CDP history log",
   "ContinuousDataProtectionLogSize" : "Maximum size of the CDP history log",
   "LatencyThresholdAttention" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "LatencyThresholdCritical" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "LatencyThresholdWarning" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdAttention" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdWarning" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdCritical" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "VirtualDiskSubType" : "Number that designates the virtual disk subtype, see enum VirtualDiskSubType for values",
   "VirtualDiskAlias" : "Base name of the virtual disk, names begin with the base and have a number appended to make them unique",
   "Tag": "Label used to identify standard VirtualDiskTemplates for vVol datastore",
   "ReservedSpacePercentage" : "Number specifying the percentage of space to reserve in each pool for the virtual disk",
   "ReadOnly" : "Boolean; true configures the virtual disk as ReadOnly so that it cannot be changed or deleted",
   "WriteThroughEnabled" : "Boolean; true enables cache write-through for the virtual disk",
   "MirrorTrunkMappingEnabled" : "Boolean; true configures the virtual disk to use a trunk for mirror paths"
   "CompressionEnabled": "Boolean; true enables Inline Compression on the virtual disk, default is false (optional)",
   "DeduplicationEnabled": "Boolean; true enables Inline Deduplication on the virtual disk, default is false (optional)",
   "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk, default is false (optional)",
   "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk, default is 64 (optional)"
}
Notes
When creating a dual virtual disk template, use the PoolId for the servers (not SharedPoolId) for the parameters FirstPool and SecondPool.
Size parameter value consists of the number followed by the unit of measurement(MB, GB, TB). 
Decimals may be used. For example, "100GB", "1.5TB", and "500000MB" are valid sizes. 
Size can range from a miniumum of 1GB to a maximum of 1024TB.
ContinuousDataProtectionLogSize parameter value consists of the number followed by the unit of measurement (MB, GB, TB). 
Decimals may be used. For example, "10GB", "20.5GB", and "5000MB" are valid sizes. 
The history log size can range from a minimum of 8GB up to 1024TB. 
OptimizeStaleOnly option can be enabled only when Inline Compression or Inline Deduplication, or both, are enabled.
StaleDataWeight's Valid values are "32", "64", and "96". The input is rounded to these valid values.
The default value is "64" which specifies the Normal Optimization Policy.
Similarly "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/Rest.svc/1.0/virtualdisktemplates

Request body

{
   "Name" : "VD Template 1",
   "FirstPool" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c540-feab-11e6-80eb-00155d138914}",
   "SecondPool" : "FCBACFDB-35CB-40A0-A711-0BC59903BF1A:{e4a85933-f1c8-11e6-80e6-00155d13890c}",
   "Size" : "100GB",
   "SectorSize" : "512B",
   "UseRedundantMirrorMappings" : true,
   "SequentialStorageEnabled" : false,
   "StorageProfile" : "E84B65FF-B69A-4EF1-B79E-71D3DC29E867"
   "DefaultSnapshotPoolId" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
   "ContinuousDataProtectionPoolId" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
   "ContinuousDataProtectionLogSize" : "20GB",
   "LatencyThresholdAttention" : 3000,
   "LatencyThresholdCritical" : 10000,
   "LatencyThresholdWarning" : 8000,
   "StorageLatencyThresholdAttention" : 3000,
   "StorageLatencyThresholdWarning" : 8000,
   "StorageLatencyThresholdCritical" : 10000,
   "VirtualDiskSubType" : 0,
   "VirtualDiskAlias" : "REST VD"
   "Tag": "vVol",
   "ReservedSpacePercentage" : 0,
   "ReadOnly" : false,
   "WriteThroughEnabled" : false,
   "MirrorTrunkMappingEnabled" : false,
   "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "OptimizeStaleOnly" : false,
    "StaleDataWeight" : 64
}

Response body

{
    "Caption": "VD Template 1",
    "ExtendedCaption": null,
    "Id": "75452f6d11b241d69c75899b3133c18a",
    "Internal": false,
    "SequenceNumber": 4387411,
    "Alias": "VD Template 1",
    "ContinuousDataProtectionLogSize": {
        "Value": 21474836480
    },
    "ContinuousDataProtectionPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "DefaultSnapshotPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "FirstDiskPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c540-feab-11e6-80eb-00155d138914}",
    "LatencyThresholdAttention": 3000,
    "LatencyThresholdCritical": 10000,
    "LatencyThresholdWarning": 8000,
    "MirrorTrunkMappingEnabled": false,
    "ReadOnly": false,
    "ReservedSpacePercentage": 0,
    "SecondDiskPoolId": "FCBACFDB-35CB-40A0-A711-0BC59903BF1A:{e4a85933-f1c8-11e6-80e6-00155d13890c}",
    "SectorSize": {
        "Value": 512
    },
    "SequentialStorageEnabled": false,
    "Size": {
        "Value": 107374182400
    },
    "StorageLatencyThresholdAttention": 5,
    "StorageLatencyThresholdCritical": 30,
    "StorageLatencyThresholdWarning": 10,
    "StorageProfileId": "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
    "UseRedundantMirrorMappings": true,
    "VirtualDiskAlias": "REST VD",
    "Tag": "vVol",
    "VirtualDiskDescription": null,
    "VirtualDiskSubType": 0,
    "VirtualDiskType": 2,
    "WriteThroughEnabled": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled" : false,
    "StaleDataWeight" : 64
}

To Table of Operations Create Virtual Disks From Template

Creates virtual disks from template.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks

URI parameters
None
Request Body
{
    "VirtualDiskTemplate" : "ID of the virtual disk template",
    "Name" : "Name of virtual disk",
    "Description" : "Description of virtual disk",
    "Size" : "Size of virtual disk",
    "SectorSize" : "512B" or "4KB",
    "AssignToUsers": "Array of user IDs for the owners of the virtual disk, see Get Users",
    "Count": "Number of virtual disks to create",
    "CompressionEnabled": "Boolean; true enables Inline Compression on the virtual disk, default is false (optional)",
    "DeduplicationEnabled": "Boolean; true enables Inline Deduplication on the virtual disk, default is false (optional)",
    "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk, default is false (optional)",
    "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk, default is 64 (optional)"
}
Notes
All parameters except the VirtualDiskTemplate are optional. Use them to overwrite the values in the template.
"Size" parameter value consists of the number followed by the unit of measurement (MB, GB, TB). Decimals may be used.
For example, "100GB","1.5TB", and "500000MB" are valid sizes. Size can range from 1GB to 1024TB.
OptimizeStaleOnly option can be enabled only when Inline Compression or Inline Deduplication, or both, are enabled.
StaleDataWeight's Valid values are "32", "64", and "96". The input is rounded to these valid values.
The default value is "64" which specifies the Normal Optimization Policy.
Similarly "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks

Request body

{
    "VirtualDiskTemplate": "a8c3294d7543495aa9aeb1c34c745191"
}

Response body

[
   {
       "Caption": "baseName_3",
       "ExtendedCaption": "baseName_3 from Server Group",
       "Id": "25c79e42efaf40afbf97561cf490010d",
       "Internal": false,
       "SequenceNumber": 7254,
       "Alias": "baseName_3",
       "BackupHostId": null,
       "Description": "",
       "Disabled": false,
       "DiskLayout": {
            "Cylinders": 0,
            "Heads": 0,
            "SectorsPerTrack": 0
        }, 
        "DiskStatus": 1,
        "FirstHostId": "A12C4AF3-BDB1-4C72-B458-8882C335AD98",
        "InquiryData": {
            "Product": "Virtual Disk",
            "Revision": "DCS",
            "Serial": "25c79e42efaf40afbf97561cf490010d",
            "Vendor": "DataCore"
        },
        "IsServed": false,
        "ManualRecovery": false,
        "MirrorTrunkMappingEnabled": true,
        "Offline": false,
        "PersistentReserveEnabled": true,
        "RecoveryPriority": 1,
        "RemovableMedia": false,
        "ScsiDeviceId": [
            96,
            3,
            13,
            144,
            89,
            230,
            173,
            2,
            189,
            207,
            14,
            115,
            241,
            66,
            2,
            230
        ],
        "ScsiDeviceIdString": "60030D9059E6AD02BDCF0E73F14202E6",
        "SecondHostId": "1471C873-E5A7-4569-929A-C2AD08FD3115",
        "SectorSize": {
            "Value": 512
        },
        "Size": {
            "Value": 10737418240
        },
        "SnapshotPoolId": null,
        "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
        "SubType": 0,
        "TPThresholdsEnabled": false,
        "Type": 2,
        "VirtualDiskGroupId": null,
        "WriteThrough": false,
        "CompressionEnabled": false,
        "DeduplicationEnabled": false,
        "StaleDataEnabled": false,
        "StaleDataWeight": 64
    }
]

To Table of Operations Create Virtual Disks From Virtual Disk

Creates virtual disks from virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks

URI parameters
None
Request Body
{
    "VirtualDisk": "1f7b4e2db0d445a4988a7c53dc240508",
    "Name" : "Name of virtual disk",
    "Description" : "Description of virtual disk",
    "CopyMappings": true,
    "Count": "Number of virtual disks to create"
}
Notes
All parameters except the VirtualDisk are optional. Use them to overwrite the values from the virtual disk.
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks

Request body

{
    "VirtualDisk": "1f7b4e2db0d445a4988a7c53dc240508",
    "Name": "Created From VD",
    "CopyMappings": true,
    "Count": 2
 }

Response body

[
   {
       "Caption": "Created From VD",
       "ExtendedCaption": "Created From VD from Server Group",
       "Id": "1f420477c8bd4188a226e18f5b7aa146",
       "Internal": false,
       "SequenceNumber": 17214,
       "Alias": "Created From VD",
       "BackupHostId": null,
       "Description": null,
       "Disabled": false,
       "DiskLayout": {
           "Cylinders": 0,
           "Heads": 0,
           "SectorsPerTrack": 0
       },
       "DiskStatus": 1,
       "FirstHostId": "A12C4AF3-BDB1-4C72-B458-8882C335AD98",
       "InquiryData": {
           "Product": "Virtual Disk",
           "Revision": "DCS",
           "Serial": "1f420477c8bd4188a226e18f5b7aa146",
           "Vendor": "DataCore"
       },
       "IsServed": false,
       "ManualRecovery": false,
       "MirrorTrunkMappingEnabled": true,
       "Offline": false,
       "PersistentReserveEnabled": true,
       "RecoveryPriority": 1,
       "RemovableMedia": false,
       "ScsiDeviceId": [
           96,
           3,
           13,
           144,
           175,
           254,
           233,
           0,
           123,
           136,
           72,
           153,
           71,
           198,
           38,
           15
       ],
       "ScsiDeviceIdString": "60030D90AFFEE9007B88489947C6260F",
       "SecondHostId": "1471C873-E5A7-4569-929A-C2AD08FD3115",
       "SectorSize": {
           "Value": 512
       },
       "Size": {
           "Value": 23622320128
       },
       "SnapshotPoolId": null,
       "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
       "SubType": 0,
       "TPThresholdsEnabled": false,
       "Type": 2,
       "VirtualDiskGroupId": null,
       "WriteThrough": false,
       "CompressionEnabled": false,
       "DeduplicationEnabled": false,
       "StaleDataEnabled": false,
       "StaleDataWeight": 64
   },
   {
       "Caption": "Created From VD 1",
       "ExtendedCaption": "Created From VD 1 from Server Group",
       "Id": "618aa64d87e04f62a53c2984dca287b7",
       "Internal": false,
       "SequenceNumber": 17299,
       "Alias": "Created From VD 1",
       "BackupHostId": null,
       "Description": null,
       "Disabled": false,
       "DiskLayout": {
           "Cylinders": 0,
           "Heads": 0,
           "SectorsPerTrack": 0
       },
       "DiskStatus": 1,
       "FirstHostId": "A12C4AF3-BDB1-4C72-B458-8882C335AD98",
       "InquiryData": {
           "Product": "Virtual Disk",
           "Revision": "DCS",
           "Serial": "618aa64d87e04f62a53c2984dca287b7",
           "Vendor": "DataCore"
       },
       "IsServed": false,
       "ManualRecovery": false,
       "MirrorTrunkMappingEnabled": true,
       "Offline": false,
       "PersistentReserveEnabled": true,
       "RecoveryPriority": 1,
       "RemovableMedia": false,
       "ScsiDeviceId": [
           96,
           3,
           13,
           144,
           141,
           14,
           234,
           0,
           12,
           231,
           121,
           171,
           152,
           175,
           52,
           120
       ],
       "ScsiDeviceIdString": "60030D908D0EEA000CE779AB98AF3478",
       "SecondHostId": "1471C873-E5A7-4569-929A-C2AD08FD3115",
       "SectorSize": {
           "Value": 512
       },
       "Size": {
           "Value": 23622320128
   },
       "SnapshotPoolId": null,
       "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
       "SubType": 0,
       "TPThresholdsEnabled": false,
       "Type": 2,
       "VirtualDiskGroupId": null,
       "WriteThrough": false,
       "CompressionEnabled": false,
       "DeduplicationEnabled": false,
       "StaleDataEnabled": false,
       "StaleDataWeight": 64
   }
]

To Table of Operations Create Virtual Logical Unit

Creates a virtual logical unit (a front-end or mirror path for the specified logical disk).

Version

1.0

Method

POST

URI template

/1.0/virtuallogicalunits

URI parameters
None
Request Body
{
    "InitiatorPort" : "ID of the specific initiator port to use",
    "InitiatorHost" : "ID of the initiator machine",
    "TargetPort" : "ID of the specific target port to use (optional)",
    "LogicalDisk" : "ID of the logical disk",
    "MappingType" : "Number that corresponds to the path type, see enum LogicalUnitType for values",
    "Access" : "Number that corresponds to the access type, see enum AccessRights for values (optional)",
    "LUN" : "Number to assign to the logical unit (LUN), default automatically selects the LUN (optional)"
}
Notes
Either InitiatorPort or InitiatorHost must be passed. InitiatorPort is passed to select a specific port to use. 
When InitiatorHost is passed (without InitiatorPort), an initiator port from the InitiatorHost will be automatically selected.
TargetPort is optional; when not passed a suitable target port is automatically selected based on the server of the logical disk.
Ports must have the required role for the mapping type (mirror or front-end).
Response Code
200
Returns
Example 1

Description

Creates a front-end path.

URL

https://SSVVM05/RestService/rest.svc/1.0/virtuallogicalunits

Request body

{
    "LogicalDisk" : "a2e30c2d-97bd-4800-b6c6-8bc4fac094a6",    
    "InitiatorHost" : "0d86af4c09dd4683880ac8b6412916d7",
    "TargetPort" : "b6ed5cc1-29a8-44ee-ac09-163549b1a7cc",
    "MappingType" : 1,
    "Access" : 3,
    "LUN" : 10 
}

Response body

{
    "Caption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 2 on SSVVM03 | LUN 0",
    "ExtendedCaption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 2 on SSVVM03 | LUN 0",
    "Id": "6c0c77e7-7a63-457e-8094-b4b3a47272ef",
    "Internal": false,
    "SequenceNumber": 3602445,
    "Access": 3,
    "Enabled": true,
    "LogicalDiskId": "a2e30c2d-97bd-4800-b6c6-8bc4fac094a6",
    "Lun": {
        "Quad": 0
    },
    "PhysicalDiskId": "0d86af4c09dd4683880ac8b6412916d7-86f054d88c5f4b65897f5382f0f5e6d3",
    "Preferred": 0,
    "Type": 1,
    "VirtualTargetDeviceId": "c58050fc-f9b6-4ff1-9fa3-d2a972831f03"
}
Example 2

Description

Creates a mirror path.

URL

https://SSVVM05/RestService/rest.svc/1.0/virtuallogicalunits

Request body

{
    "LogicalDisk" : "a2e30c2d-97bd-4800-b6c6-8bc4fac094a6",
    "InitiatorPort" : "6cf53d21-e06c-4c71-a711-3dd305b486da",
    "TargetPort" : "3a1fa6de-9614-4ac8-9430-02ffe15a6637",
    "MappingType" : 0
}

Response body

{
    "Caption": "Microsoft iSCSI Initiator on SSVVM05 | Server iSCSI Port 1 on SSVVM03 | LUN 2",
    "ExtendedCaption": "Microsoft iSCSI Initiator on SSVVM05 | Server iSCSI Port 1 on SSVVM03 | LUN 2",
    "Id": "c25b1358-2b3e-418d-92bb-6487bc4d58a4",
    "Internal": false,
    "SequenceNumber": 3636943,
    "Access": 3,
    "Enabled": true,
    "LogicalDiskId": "a2e30c2d-97bd-4800-b6c6-8bc4fac094a6",
    "Lun": {
        "Quad": 2
    },
    "PhysicalDiskId": "V.{e94fe7b6-0f23-11e7-80e9-00155d13890c}-00000009_N.22FA0030D9B60848",
    "Preferred": 0,
    "Type": 0,
    "VirtualTargetDeviceId": "e0a634c7-2b9e-44e0-afff-d011db8b71a0"
}

To Table of Operations Delete Action

Removes the specified action in a task.

Version

1.0

Method

DELETE

URI template

/1.0/actions/{actionid}

URI parameters
actionid The ID of the action to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/actions/ed0f75df-88b5-4ce2-a27a-97a5a2c29b3a

Request body

None

Response body

None

To Table of Operations Delete Alerts

Deletes all alerts for all servers in the server group.

Version

1.0

Method

DELETE

URI template

/1.0/alerts

URI parameters
None
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/alerts

Request body

None

Response body

None

To Table of Operations Delete Host

Removes the specified host from the server group.

Version

1.0

Method

DELETE

URI template

/1.0/hosts/{hostid}

URI parameters
hostid The ID of the host to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/hosts/d871ab7a938147ab945a223fcc50b20e

Request body

None

Response body

None

To Table of Operations Delete Host Group

Removes the specified host group from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/hostgroups/{hostgroupid}

URI parameters
hostgroupid The ID of the host group to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/hostgroups/{83660699-d862-4f3c-b96c-318622a06d1d}

Request body

None

Response body

None

To Table of Operations Delete Logical Disk

Removes the specified logical disk from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/logicaldisks/{logicaldiskid}

URI parameters
logicaldiskid The ID of the logical disk to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/logicaldisks/b107e979-d883-465f-a518-f768e29cc6ee

Request body

None

Response body

None

To Table of Operations Delete Ownership

Removes the specified ownership from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/ownerships/{ownershipid}

URI parameters
ownershipid The ID of the ownership to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/ownerships/f08e81a8-c36a-4e7b-823e-14c9d910b196

Request body

None

Response body

None

To Table of Operations Delete Pool

Removes the specified disk pool from the server group. Pool cannot be removed if virtual disks are created from the pool.

Version

1.0

Method

DELETE

URI template

/1.0/pools/{poolid}

URI parameters
poolid The ID of the pool to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr005/RestService/rest.svc/1.0/pools/23861AF4-D9C7-41E8-B520-B5876B9D85CB:{52ea8f74-e1b2-11e6-80dd-00155d651612}

Request body

None

Response body

None

To Table of Operations Delete Port

Deletes a no longer present port from the server group.

Version

1.0

Method

DELETE

URI template

/1.0/ports/{portid}

URI parameters
portid The ID of the port to be deleted.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/ports/3f9b94d7-c948-4b10-85ff-1dff63522ff5

Request body

None

Response body

None

To Table of Operations Delete Replication

Removes (splits) a replication relationship between two virtual disks on different servers. The virtual disks will exist, but data changes will no longer be asynchronously mirrored between them.

Version

1.0

Method

DELETE

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid The ID of the local virtual disk in the specified replication to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

http://StorageSvr001/RestService/rest.svc/1.0/replications/7bf66e68-543c-469a-9c5b-709634196ee7

Request body

None

Response body

None

To Table of Operations Delete Replication

Removes (splits) a replication relationship between two virtual disks on different servers. The virtual disks will exist, but data changes will no longer be asynchronously mirrored between them.

Version

2.0

Method

URI template

URI parameters
None
Request Body
{
    "Operation" : "Delete",
    "Force" : true
}
Response Code
200
Returns
None
Example 1

URL

http://StorageSvr001/RestService/rest.svc/2.0/replications/7bf66e68-543c-469a-9c5b-709634196ee7

Request body

{
    "Operation" : "Delete",
    "Force" : true
}

Response body

None

To Table of Operations Delete Replication Partnerships

Removes a replication partner group from the server group.

Version

1.0

Method

DELETE

URI template

/1.0/replicationgroups/{replicationgroupid}

URI parameters
replicationgroupid The ID of the replication partner group to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/replicationgroups/2d0c009c-0064-43b6-a6d0-92fdc4d97cd2

Request body

None

Response body

None

To Table of Operations Delete Role

Removes a specified role from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/roles/{roleid}

URI parameters
roleid The ID of the role to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/roles/{1a15461f-fea0-43e1-92eb-4bc810411525}

Request body

None

Response body

None

To Table of Operations Delete Rollback

Removes the specified rollback from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/rollbacks/{rollbackid}

URI parameters
rollbackid The ID of the rollback to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/rollbacks/V.{2F652562-E7E3-11E6-80D7-00155D651611}-00000013--V.{2F652562-E7E3-11E6-80D7-00155D651611}-00000015

Request body

None

Response body

None

To Table of Operations Delete Rollback From Group

Removes the specified rollback from a rollback group.

Version

1.0

Method

DELETE

URI template

/1.0/rollbackgroups/{rollbackgroupid}/rollbacks/{rollbackid}

URI parameters
rollbackgroupid The ID of the rollback group to modify.
rollbackid The ID of the rollback to remove from the group.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbackgroups/{6dd713fa-f643-480e-a1b7-7c83dc86e050}/rollbacks/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000005--V.{5774C540-FEAB-11E6-80EB-00155D138914}-0000001F

Request body

None

Response body

None

To Table of Operations Delete Rollback Group

Removes the specified rollback group from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/rollbackgroups/{rollbackgroupid}

URI parameters
rollbackgroupid The ID of the rollback group to delete.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/rollbackgroups/{b11980bb-da6e-47d8-8ceb-5fc309649bc0}

Request body

None

Response body

None

To Table of Operations Delete Server

Removes the specified server from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/servers/{serverid}

URI parameters
serverid The ID of the server to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/servers/23861AF4-D9C7-41E8-B520-B5876B9D85CB

Request body

None

Response body

None

To Table of Operations Delete Snapshot

Removes the specified snapshot from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid The ID of the snapshot to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/snapshots/V.{2F652562-E7E3-11E6-80D7-00155D651611}-00000013--V.{2F652562-E7E3-11E6-80D7-00155D651611}-00000018

Request body

None

Response body

None

To Table of Operations Delete Snapshot From Group

Removes the specified snapshot from a snapshot group.

Version

1.0

Method

DELETE

URI template

/1.0/snapshotgroups/{snapshotgroupid}/snapshots/{snapshotid}

URI parameters
snapshotgroupid The ID of the snapshot group to modify.
snapshotid The ID of the snapshot to remove from the group.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{35e40f4f-5473-4ab4-b84e-044b3dbbf6ab}/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000001--V.{5774C540-FEAB-11E6-80EB-00155D138914}-0000001B

Request body

None

Response body

None

To Table of Operations Delete Snapshot Group

Removes the specified snapshot group from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid The ID of the snapshot group to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/snapshotgroups/{fbf783eb-1975-4526-bbd6-7d305a565d3c}

Request body

None

Response body

None

To Table of Operations Delete Storage Profile

Removes the specified storage profile from the server group configuration. Default profiles cannot be removed.

Version

1.0

Method

DELETE

URI template

/1.0/storageprofiles/{storageprofileid}

URI parameters
storageprofileid The ID of the storage profile to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/storageprofiles/e43f15ea-c15e-4335-902d-a8bf27c05bed

Request body

None

Response body

None

To Table of Operations Delete Task

Removes the specified task from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/tasks/{taskid}

URI parameters
taskid The ID of the task to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/tasks/8e4adf14-2896-4728-a81a-d1d4dce27ecf

Request body

None

Response body

None

To Table of Operations Delete Trigger

Removes the specified task trigger from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/triggers/{triggerid}

URI parameters
triggerid The ID of the trigger to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/triggers/1820fc6b-66c5-40f9-82cb-873d2cbd4dfa

Request body

None

Response body

None

To Table of Operations Delete User

Removes the specified user from the configuration. Default users cannot be removed.

Version

1.0

Method

DELETE

URI template

/1.0/users/{userid}

URI parameters
userid The ID of the user to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/users/{d0e4891d-3683-4a83-9794-bc87baafd74e}

Request body

None

Response body

None

To Table of Operations Delete vCenter

Removes the specified vCenter from the server group.

Version

1.0

Method

DELETE

URI template

/1.0/vcenters/{vcenterid}

URI parameters
vcenterid The ID of the vCenter to remove.
Request Body
None
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/Rest.svc/1.0/vcenters/095f3491-b5d0-4151-b6d2-cd18b09cfca5

Request body

None

Response body

None

To Table of Operations Delete Virtual Disk

Removes the specified virtual disk from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid The ID of the virtual disk to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdisks/9c4294cf79924e40b2bb93d578a8b6b7

Request body

None

Response body

None

To Table of Operations Delete Virtual Disk From Group

Removes virtual disks from a virtual disk group.

Version

1.0

Method

DELETE

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskgroupid The ID of the virtual disk group to modify.
virtualdiskid The ID of the virtual disk to remove from the group.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{d383bbc3-15d9-40d4-9707-370aeb27b146}/virtualdisks/b7c469da19f24fad8efdbcc811b3c139

Request body

None

Response body

None

To Table of Operations Delete Virtual Disk Group

Removes the specified virtual disk group from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid The ID of the virtual disk group to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdiskgroups/{83660699-d862-4f3c-b96c-318622a06d1d}

Request body

None

Response body

None

To Table of Operations Delete Virtual Disk Template

Removes the specified virtual disk template from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/virtualdisktemplates/{virtualdisktemplateid}

URI parameters
virtualdisktemplateid The ID of the virtual disk template to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdisktemplates/b88ce3245d1d4ad19a0335deb6eb9481

Request body

None

Response body

None

To Table of Operations Delete Virtual Logical Unit

Removes the specified virtual logical unit from the server group configuration.

Version

1.0

Method

DELETE

URI template

/1.0/virtuallogicalunits/{virtuallogicalunitid}

URI parameters
virtuallogicalunitid The ID of the virtual logical unit to remove.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtuallogicalunits/e1eb33e4-87d2-4d32-9240-86540c79f4b9

Request body

None

Response body

None

To Table of Operations Disable Capacity Optimization

Deletes capacity optimization pool in the server and disables capacity optimization on the server.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "DisableCapacityOptimization"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "DisableCapacityOptimization"
}

Response body

{
GroupId": "ba85a27b-2057-42bd-8471-8d3f22292b45",
RegionNodeId": "ExecutiveNode:4B6CA867-FCD7-4D55-9155-1C1E5C602F0F",
KmipEndpointId": null,
CacheSize": {
  "Value": 0
,
State": 2,
SupportState": 1,
SnapshotMapStoreId": null,
SnapshotMapStorePoolId": null,
InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
ProductName": "DataCore SANsymphony",
ProductType": "Standard",
ProductVersion": "10.0 PSP 14",
OsVersion": "Microsoft Windows Server 2019 Standard, Build 17763",
ProcessorInfo": {
   "CpuArchitecture": 9,
   "ProcessorName": "Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz",
   "NumberCores": 8,
   "NumberPhysicalCores": 4
,
ProductBuild": "15.0.1400.32533",
HotfixBuild": null,
BuildType": "Release",
DiagnosticMode": 1,
LicenseRemaining": 12995648361641,
ReplicationBufferFolder": "",
TotalSystemMemory": {
   "Value": 8588877824
,
AvailableSystemMemory": {
   "Value": 1829998592
,
LogStatus": 0,
LicenseSettings": {
   "MaxServers": 2147483647,
   "MaxPartnerGroups": 1,
   "MaxMappedHosts": 2147483647,
   "BidirectionalReplication": 1,
   "FiberChannel": 1,
   "ThinProvisioning": 1,
   "Snapshot": 1,
   "iSCSI": 1,
   "StorageCapacity": {
       "Value": 18446744073709551615
   },
   "LicensedBulkStorage": {
       "Value": 0
   },
   "BulkEnabled": 0,
   "RetentionTime": 36000000000,
   "AutoTiering": 1,
   "HeatMaps": 1,
   "SharedStorage": 2,
   "PerformanceAnalysis": 0,
   "ResourceAuthorization": 0,
   "SequentialStorage": 1,
   "MaxBypassThreads": 0,
   "MaxPollerThreads": 12,
   "Mirroring": 1,
   "Witness": 0,
   "DataAtRestEncryption": 1,
   "ILDC": 1
,
IsLicensed": false,
LicenseExceeded": false,
StorageUsed": {
   "Value": 644245094400
,
BulkStorageUsed": {
   "Value": 0
,
DataCoreStorageUsed": {
   "Value": 0
,
DataCoreBulkStorageUsed": {
   "Value": 0
,
PowerState": 2,
CacheState": 2,
BackupStorageFolder": null,
IpAddresses": [
   "10.200.0.204",
   "fe80::6188:9af0:62fd:7f19"
,
LicenseNumber": 2515823551647727525,
MaxPollerThreadsConfig": 12,
AluaGroupId": 1,
IsVirtualMachine": true,
IsAzureVirtualMachine": false,
IsPayGo": false,
HypervisorHostId": null,
LogStorePoolId": null,
ConfigurationInfo": {
   "SequenceNumber": 544,
   "TimeStamp": "/Date(1637221310418-0800)/"
,
OutOfCompliance": false,
NextExpirationDate": "/Date(-62135596800000)/",
DeduplicationPoolId": null,
CdpMaxHistoryLogSizeGb": 10240,
SeqMaxHistoryLogSizeGb": 10240,
IsTcLoaded": false,
VStorportEnabled": false,
IldcConfigurationData": {
   "IldcVolBlockSize": "128k",
   "IldcCachePercent": 30,
   "IldcEncryptionMode": "None",
   "IldcDefaultVolSize": {
       "Value": 5959267123200
   },
   "IldcSyncMode": "always",
   "IldcPrimaryCacheMode": "metadata",
   "IldcMetaLimitPercent": 25,
   "IldcMetaSlabDelay": 2048,
   "Avx2Supported": true
,
Description": "",
HostName": "Test19",
MpioCapable": true,
SequenceNumber": 871,
Id": "4B6CA867-FCD7-4D55-9155-1C1E5C602F0F",
Caption": "Test19",
ExtendedCaption": "Test19 in Server Group",
Internal": false

To Table of Operations Disable Continuous Data Protection

Disables Continuous Data Protection (CDP) on the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "DisableDataProtection"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "DisableDataProtection"
}

Response body

None

To Table of Operations Disable Continuous Data Protection on Group

Disables Continuous Data Protection (CDP) on the specified virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "DisableDataProtection"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "DisableDataProtection"
}

Response body

None

To Table of Operations Disable Replication Test Mode

Disables replication test mode for a local standby virtual disk. Data changes on the standby virtual disk made during test mode are temporary and will be deleted when test mode is disabled.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "DisableTestMode"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "DisableTestMode"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3093,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 1,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "OfflineInitializationSupported": true,
  "ReplicationState": 2,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TestModeStatus": 0,
  "TransferStatus": 2
}

To Table of Operations Disable Sequential Storage

Disables Sequential Storage on the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "DisableSequentialStorage"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "DisableSequentialStorage"
}

Response body

None

To Table of Operations Disable Sequential Storage on Group

Disables the sequential storage setting on the specified virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "DisableSequentialStorage"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "DisableSequentialStorage"
}

Response body

None

To Table of Operations Disable Task

Disables the specified task.

Version

1.0

Method

POST

URI template

/1.0/tasks/{taskid}

URI parameters
taskid ID of the task to act upon or modify.
Request Body
{
    "Operation": "DisableTask"
}    
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/tasks/4e3cf951-e411-4553-8db3-d2cfe927d0bd

Request body

{
    "Operation": "DisableTask"
}    

Response body

{
    "Caption": "Task 1",
    "ExtendedCaption": "Task 1",
    "Id": "4e3cf951-e411-4553-8db3-d2cfe927d0bd",
    "Internal": false,
    "SequenceNumber": 1241564,
    "AbortOnActionFailure": false,
    "ActionBehavior": 1,
    "ActionDelay": 0,
    "Connective": 1,
    "Description": null,
    "Enabled": false,
    "LastStartTime": "/Date(1493990100017)/",
    "LastStopTime": "/Date(1493990100019)/",
    "MaxRunTime": 6048000000000,
    "State": 0
}

To Table of Operations Edit Capacity Optimization

Changes the capacity optimization setting to the one specified.

Version

1.0

Method

POST

URI template

/1.0/pools/{poolid}

URI parameters
poolid ID of the pool to import
Request Body
{
    "Operation": "EditCapacityOptimization",
    "CapacityOptimization": "True to enable capacity optimization, false to disable"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/pools/4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}

Request body

{
    "Operation": "EditCapacityOptimization",
    "CapacityOptimization": false
}

Response body

[
 {
   "PresenceStatus": 1,
   "Alias": null,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "FreeSpace": {
     "Value": 1759744
   },
   "InquiryData": {
     "Vendor": "WDC",
     "Product": "WD10EZEX-00UD2A0",
     "Revision": "01.0",
     "Serial": "     WD-WMC3F0326227"
   },
   "ScsiPath": {
     "Port": 4,
     "Bus": 1,
     "Target": 1,
     "LUN": 0,
     "ShortString": "4.1.1.0"
   },
   "DiskIndex": 3,
   "SystemName": "\\\\?\\PhysicalDrive3",
   "BusType": 3,
   "Type": 4,
   "DeduplicationState": 0,
   "DiskStatus": 1,
   "PoolMemberId": "de3d46c6-97a9-482c-8ed4-76c468e01d53",
   "Partitioned": true,
   "InUse": true,
   "IsBootDisk": false,
   "Protected": false,
   "IsSolidState": false,
   "HostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "UniqueIdentifier": null,
   "SharedPhysicalDiskId": null,
   "IsDataCoreDisk": false,
   "SequenceNumber": 59393,
   "Id": "{4bf0fbdb-4b05-4d95-9908-f1e61c05d0ca}",
   "Caption": "WDC WD10EZEX-00UD2A0",
   "ExtendedCaption": "WDC WD10EZEX-00UD2A0 on Heavy",
   "Internal": false
   },
 {
   "PresenceStatus": 1,
   "Alias": null,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "FreeSpace": {
     "Value": 0
   },
   "InquiryData": {
     "Vendor": "SAMSUNG",
     "Product": "HD103SJ",
     "Revision": "1AJ1",
     "Serial": "S246J9BB211589"
   },
   "ScsiPath": {
     "Port": 5,
     "Bus": 0,
     "Target": 0,
     "LUN": 0,
     "ShortString": "5.0.0.0"
   },
   "DiskIndex": 4,
   "SystemName": "\\\\?\\PhysicalDrive4",
   "BusType": 3,
   "Type": 3,
   "DiskStatus": 2,
   "PoolMemberId": null,
   "Partitioned": false,
   "InUse": false,
   "IsBootDisk": false,
   "Protected": false,
   "IsSolidState": false,
   "HostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "UniqueIdentifier": null,
   "SharedPhysicalDiskId": null,
   "IsDataCoreDisk": false,
   "SequenceNumber": 59562,
   "Id": "{33be2b38-800b-4898-8442-d2da02850218}",
   "Caption": "SAMSUNG HD103SJ",
   "ExtendedCaption": "SAMSUNG HD103SJ on Heavy",
   "Internal": false
 }
]

To Table of Operations Enable Capacity Optimization

Creates a capacity optimization pool with RAID 0 or RAID 5 for the server with the specified physical disks and enables capacity optimization on the server.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "EnableCapacityOptimization",
    "Disks" : "Array of disk IDs to add to the capacity optimization pool. For RAID 5 supports [3 - 9] physical disks",
    "RaidLevel" : "The RAID level. Valid values are 0 or 5. Default is 0 (optional)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "EnableCapacityOptimization",
    "Disks" : ["{2c6f2d07-8814-4067-a618-d5fdc2287a83}", "{f744e9dd-ad2f-4037-9136-b2f45b3c9c03}"]
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 26837,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 10579140608
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 0,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 1,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  },
  "DeduplicationPoolId": "2c560a80-d2e0-4bb2-8472-10371adf3e59"
}

To Table of Operations Enable Continous Data Protection

Enables Continuous Data Protection (CDP) on the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "EnableDataProtection",
    "HistorySize": "The maximum size of the history log file with unit of measurement (MB, GB, TB). Size can range from 8GB (default) to 1024TB.",
    "Pool": "ID of the pool to use as the storage source for the history log"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/virtualdisks/0359ce96e0b7426387f93d62dd7ad85f

Request body

{
    "Operation": "EnableDataProtection",
    "HistorySize": "10GB",
    "Pool": "9A622809-4DE6-4B9F-9965-EF29852A1D9E:{bc82b6d8-5c02-11e7-80f2-00155d138904}"
}

Response body

[
 {
   "StreamDiskId": null,
   "RetentionTime": 0,
   "StreamSize": {
     "Value": 0
   },
   "StreamState": 0,
   "StreamDiskDataProtectionRole": 2,
   "SequentialStorage": false,
   "PoolId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E:{bc82b6d8-5c02-11e7-80f2-00155d138904}",
   "VolumeIndex": 2,
   "MinQuota": {
     "Value": 10737418240
   },
   "MaxQuota": {
     "Value": 0
   },
   "TierAffinity": [
     1,
     2,
     3
   ],
   "StorageName": "Virtual disk 1 [Stream]",
   "ReclamationState": 0,
   "InReclamation": false,
   "DataStatus": 2,
   "PresenceStatus": 1,
   "Size": {
     "Value": 1125899906842624
   },
   "SectorSize": {
     "Value": 512
   },
   "MappingName": "V.{bc82b6d8-5c02-11e7-80f2-00155d138904}-00000002",
   "DiskStatus": 0,
   "Virtualized": false,
   "ClientAccessRights": 6,
   "MirrorAccessDisabled": false,
   "Failure": 0,
   "VirtualDiskId": null,
   "DiskRole": 3,
   "ServerHostId": "9A622809-4DE6-4B9F-9965-EF29852A1D9E",
   "IsMapped": false,
   "Protected": true,
   "Replacing": false,
   "TrunkVirtualDiskId": null,
   "SequenceNumber": 3679755,
   "Id": "00a3121d-50b6-4929-b81d-a373a44d8976",
   "Caption": "Log history of Virtual disk 1 on SSVVM01",
   "ExtendedCaption": "Log history of Virtual disk 1 on SSVVM01",
   "Internal": false,
   "DeletePending": false
   }
]

To Table of Operations Enable Continuous Data Protection on Group

Enables Continuous Data Protection (CDP) on the specified virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "EnableDataProtection",
    "Pool" : "ID of the pool to use as the source of the history log."
}
Notes
When enabled, data changes are saved in a history log. If necessary, rollbacks can be created to recover data, see Create Rollback Group. 
To enable at the group level, all group members must be eligible for CDP and not be enabled; otherwise, members must be enabled individually.
The default history log size will be used for all virtual disks in the group.
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "EnableDataProtection",
    "Pool": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}"
}

Response body

None

To Table of Operations Enable Replication Test Mode

Enables replication test mode for a local standby virtual disk. Test mode temporarily activates the standby (destination) virtual disk which temporarily enables all host paths on the standby side. In test mode, users can ensure that paths are correctly configured and hosts have read/write access to the virtual disk.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "EnableTestMode"
}
Notes
Warning: Test mode can take a considerable amount of time, uses storage allocation overhead, and can affect performance. 
Do not enable test mode during a disaster. Disable test mode when testing is complete, see Disable Replication Test Mode. 
Data changes on the standby virtual disk made during test mode are temporary and will be deleted when test mode is disabled.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "EnableTestMode"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3093,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 1,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "OfflineInitializationSupported": true,
  "ReplicationState": 2,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TestModeStatus": 1,
  "TransferStatus": 2
}

To Table of Operations Enable Sequential Storage

Enables Sequential Storage on the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "EnableSequentialStorage"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "EnableSequentialStorage"
}

Response body

[
 {
   "StreamDiskId": null,
   "RetentionTime": 0,
   "StreamSize": {
     "Value": 0
   },
   "StreamState": 0,
   "StreamDiskDataProtectionRole": 0,
   "SequentialStorage": false,
   "PoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}",
   "VolumeIndex": 79,
   "MinQuota": {
     "Value": 8589934592
   },
   "MaxQuota": {
     "Value": 0
   },
   "TierAffinity": [
     1,
     2,
     3
   ],
   "StorageName": "Virtual disk 4 [Stream]",
   "ReclamationState": 0,
   "InReclamation": false,
   "DataStatus": 2,
   "PresenceStatus": 1,
   "Size": {
     "Value": 1125899906842624
   },
   "SectorSize": {
     "Value": 512
   },
   "MappingName": "V.{a8db368f-7b8d-11e6-8146-002590570c2f}-0000004F",
   "DiskStatus": 0,
   "Virtualized": false,
   "ClientAccessRights": 6,
   "MirrorAccessDisabled": false,
   "Failure": 0,
   "VirtualDiskId": null,
   "DiskRole": 3,
   "ServerHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "IsMapped": false,
   "Protected": true,
   "Replacing": false,
   "TrunkVirtualDiskId": null,
   "SequenceNumber": 33345,
   "Id": "e2588f1d-5aee-4570-8bd0-ed3781fc2986",
   "Caption": "Sequential storage for Virtual disk 4 on Heavy",
   "ExtendedCaption": "Sequential storage for Virtual disk 4 on Heavy",
   "Internal": false,
   "DeletePending": false
 },
 {
   "StreamDiskId": null,
   "RetentionTime": 0,
   "StreamSize": {
     "Value": 0
   },
   "StreamState": 0,
   "StreamDiskDataProtectionRole": 0,
   "SequentialStorage": false,
   "PoolId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701:{88de4741-7b5a-11e6-8123-002590570de7}",
   "VolumeIndex": 48,
   "MinQuota": {
     "Value": 8589934592
   },
   "MaxQuota": {
     "Value": 0
   },
   "TierAffinity": [
     1,
     2,
     3
   ],
   "StorageName": "Virtual disk 4 [Stream]",
   "ReclamationState": 0,
   "InReclamation": false,
   "DataStatus": 2,
   "PresenceStatus": 1,
   "Size": {
     "Value": 1125899906842624
   },
   "SectorSize": {
     "Value": 512
   },
   "MappingName": "V.{88de4741-7b5a-11e6-8123-002590570de7}-00000030",
   "DiskStatus": 0,
   "Virtualized": false,
   "ClientAccessRights": 6,
   "MirrorAccessDisabled": false,
   "Failure": 0,
   "VirtualDiskId": null,
   "DiskRole": 3,
   "ServerHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
   "IsMapped": false,
   "Protected": true,
   "Replacing": false,
   "TrunkVirtualDiskId": null,
   "SequenceNumber": 33377,
   "Id": "304cdf20-6f6c-456c-a19c-3bef50e4d91a",
   "Caption": "Sequential storage for Virtual disk 4 on Metal",
   "ExtendedCaption": "Sequential storage for Virtual disk 4 on Metal",
   "Internal": false,
   "DeletePending": false
   }
]

To Table of Operations Enable Sequential Storage on Group

Enables the sequential storage setting on the specified virtual disk group.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "EnableSequentialStorage"
}
Notes
To enable at the group level, all group members must be eligible for sequential storage and not be enabled; 
otherwise, members must be enabled individually.
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "EnableSequentialStorage"
}

Response body

None

To Table of Operations Enable Task

Enables the specified task.

Version

1.0

Method

POST

URI template

/1.0/tasks/{taskid}

URI parameters
taskid ID of the task to act upon or modify.
Request Body
{
    "Operation": "EnableTask"
}    
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/tasks/4e3cf951-e411-4553-8db3-d2cfe927d0bd

Request body

{
    "Operation": "EnableTask"
}    

Response body

{
    "Caption": "Task 1",
    "ExtendedCaption": "Task 1",
    "Id": "4e3cf951-e411-4553-8db3-d2cfe927d0bd",
    "Internal": false,
    "SequenceNumber": 1235341,
    "AbortOnActionFailure": false,
    "ActionBehavior": 1,
    "ActionDelay": 0,
    "Connective": 1,
    "Description": null,
    "Enabled": true,
    "LastStartTime": "/Date(1493990100017)/",
    "LastStopTime": "/Date(1493990100019)/",
    "MaxRunTime": 6048000000000,
    "State": 0
}

To Table of Operations Extend datastore

Extends the size of a datastore by increasing the size of the datastore's virtual disk and doing a VIM extend.

Version

2.0

Method

URI template

URI parameters
None
Request Body
{
    "Operation": "ExpandDatastore",
    "SizeGB": "Size in GB to extend the datastore by"
}
Notes
The datastore must be based on an SSY Virtual Disk from the connected server group.
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/datastores/2027a8ac-1c71-4d1e-a437-383d61a92968

Request body

None

Response body

None

To Table of Operations Force Logical Disk Online

Forces a logical disk of a mirrored virtual disk online in order to start mirror recovery. This operation is only valid when the data status of both logical disks of a virtual disk are not defined, unknown, or double failure. WARNING: This operation involves risks, use extreme caution. Recovering from the incorrect storage source can result in data loss.

Version

1.0

Method

POST

URI template

/1.0/logicaldisks/{logicaldiskid}

URI parameters
logicaldiskid ID of the logical disk to force online.
Request Body
{
    "Operation": "ForceOnline"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/logicaldisks/82aff62b-902c-479a-849c-8a1d6129a6ea

Request body

{
    "Operation": "ForceOnline"
}

Response body

{
 "__type": "StreamLogicalDiskData:#DataCore.Executive",
 "Caption": "Virtual disk 4 on Metal",
 "ExtendedCaption": "Virtual disk 4 on Metal",
 "Id": "82aff62b-902c-479a-849c-8a1d6129a6ea",
 "Internal": false,
 "SequenceNumber": 42067,
 "ClientAccessRights": 3,
 "DataStatus": 0,
 "DiskRole": 1,
 "DiskStatus": 0,
 "Failure": 1,
 "IsMapped": true,
 "MappingName": "V.{88de4741-7b5a-11e6-8123-002590570de7}-0000002F",
 "MirrorAccessDisabled": false,
 "PresenceStatus": 1,
 "Protected": true,
 "Replacing": false,
 "SectorSize": {
   "Value": 512
 },
 "ServerHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "Size": {
   "Value": 107374182400
 },
 "TrunkVirtualDiskId": null,
 "VirtualDiskId": "3b4d346384ec45d78076d9a4f02d4041",
 "Virtualized": true,
 "DeletePending": false,
 "InReclamation": false,
 "MaxQuota": {
   "Value": 0
 },
 "MinQuota": {
   "Value": 0
 },
 "PoolId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701:{88de4741-7b5a-11e6-8123-002590570de7}",
 "ReclamationState": 0,
 "StorageName": "Virtual disk 4",
 "TierAffinity": [
   1,
   2,
   3
 ],
 "VolumeIndex": 47,
 "RetentionTime": 0,
 "SequentialStorage": false,
 "StreamDiskDataProtectionRole": 0,
 "StreamDiskId": null,
 "StreamSize": {
   "Value": 0
 },
 "StreamState": 0
}

To Table of Operations Get Actions

Returns data for all task actions for all servers in the server group.

Version

1.0

Method

GET

URI template

/1.0/actions

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/actions

Request body

None

Response body

[{
  Caption         : Post a Trace message in the event log: Test Action
  ExtendedCaption :
  Id              : b6997f6e-6fa9-4b90-947e-f8f0686d7cf2
  Internal        : False
  SequenceNumber  : 178734
  State           : 0
  TaskId          : 15cfc113-be47-4d28-8571-d5b79b6ea2d6
  Type            : 2
  HighPriority    : False
  LogLevel        : 0
  Message         : Test Action
}]

To Table of Operations Get Alerts

Returns data for all alerts for all servers in the server group.

Version

1.0

Method

GET

URI template

/1.0/alerts

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/alerts

Request body

None

Response body

[ {
 "Caller" : "ServerMachineGroup.UpdateServers",
 "HighPriority" : true,
 "Id" : {
   "MachineId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
   "SequenceNumber" : 34937
 },
 "Level" : 2,
 "MachineName" : "STORAGESVR001",
 "MessageData" : [ "StorageSvr002" ],
 "MessageText" : "Connection to server {0} has been lost.",
 "NeedsAcknowledge" : false,
 "Sources" : [ {
   "SourceCaption" : "Group1",
   "SourceId" : "4b428832-fd51-45df-9c21-ce267e1ceb7a",
   "SourceType" : 12
 } ],
 "TimeStamp" : "/Date(1437398005546)/",
 "UserId" : null,
 "UserName" : null,
 "Visibility" : 64
}, {
 "Caller" : "BasePerfMonitor`1.SetState",
 "HighPriority" : true,
 "Id" : {
   "MachineId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
   "SequenceNumber" : 33985
 },
 "Level" : 3,
 "MachineName" : "STORAGESVR001",
 "MessageData" : null,
 "MessageText" : "The Replication buffer free space of StorageSvr001 in Group1 is <= 10%",
 "NeedsAcknowledge" : false,
 "Sources" : [ {
   "SourceCaption" : "Replication buffer free space of StorageSvr001 in Group1",
   "SourceId" : "FallingThresholdPerfMonitor`1<A3E78CFA-DBEC-44E1-A23C-E9E262EC4551>ReplicationBufferPercentFreeSpace",
   "SourceType" : 3
 }, {
   "SourceCaption" : "StorageSvr001 in Group1",
   "SourceId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
   "SourceType" : 12
 }, {
   "SourceCaption" : "Group1",
   "SourceId" : "4b428832-fd51-45df-9c21-ce267e1ceb7a",
   "SourceType" : 12
 } ],
 "TimeStamp" : "/Date(1437397587894)/",
 "UserId" : null,
 "UserName" : null,
 "Visibility" : 64
}]

Notes

For Level values in the response, see enum LogLevel. For Visibility values in the response, see enum LogVisibility.

To Table of Operations Get Chunk Allocation Map

Returns storage allocation unit (SAU) data for each physical disk in the specified pool. Data can be used to determine the allocation distribution for disks in a pool.

Version

1.0

Method

GET

URI template

/1.0/pools/{poolId}/chunkallocationmap

URI parameters
poolId ID of a specific pool
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/pools/6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}/chunkallocationmap

Request body

None

Response body

[
  {
      "ChunkMap" : {
       "BitMap" : [
        254,
        255,
        255,
        255,
        255,
        255,
        255,
        255,
        63,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
        0,
      ],
      "Count" : 397
    },
    "PoolMemberId" : "794ef166-b2d2-435e-b8a8-32516480cedd"
  }
]

Notes

In the example, there is one physical disk in the pool. The bitmap is displayed an a series of bytes in decimal representing a bitmap of the SAU allocation for a disk. Count is the number of bits in the bitmap. The disk size divided by the SAU size is equal to the number of SAUs or bits.

To Table of Operations Get Chunk Reclamation Map

Returns storage allocation unit (SAU) data for SAUs in reclamation for the specified pool. Data returned can be used to determine the distribution for SAUs in reclamation in the pool.

Version

1.0

Method

GET

URI template

/1.0/pools/{poolId}/chunkreclamationmap

URI parameters
poolId ID of a specific pool
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/pools/6DBB54B7-A6B6-49D2-B64C-BA1317F66033%3A%7B2f652562-e7e3-11e6-80d7-00155d651611%7D/chunkreclamationmap

Request body

None

Response body

[
 {
   "ChunkMap" : {
     "BitMap" : [
       0,
       0,
       0,
       0,
       0,
       192,
       19,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0
     ],
     "Count" : 397
    },
    "PoolMemberId" : "794ef166-b2d2-435e-b8a8-32516480cedd"
  }
]

Notes

The total number of bits and the actual bitmap for each disk that has SAUs that are being reclaimed. When reclamation is complete, the BitMap will have no bits set. The bitmap is displayed in a series of bytes in decimal that represent a bitmap of the SAUs in reclamation on a disk. The disk size divided by the SAU size is equal to the number of SAUs or bits.

To Table of Operations Get Configuration

Returns the configuration state data for the server group.

Version

1.0

Method

GET

URI template

/1.0/configuration

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/configuration

Request body

None

Response body

{
  "Caption" : null,
  "ExtendedCaption" : null,
  "Id" : "6c0fa0e1-2b1e-41f1-b18b-3300714c4de5",
  "Internal" : false,
  "SequenceNumber" : 141687,
  "Source" : {
   "Caption" : null,
   "ExtendedCaption" : null,
   "Id" : "ExecutiveNode:6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
   "Internal" : false,
   "SequenceNumber" : 141688,
   "Connected" : true,
   "HostAddress" : "StorageSvr004.datacoresoftware.com:3793",
   "IsController" : true
   },
   "State" : 0
 }

Notes

See the enum ConfigurationState for State values.

To Table of Operations Get Current Time

Returns the current time for the specified server.

Version

1.0

Method

GET

URI template

/1.0/servers/{serverid}/currenttime

URI parameters
serverId ID of a specific server
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/servers/4FD6198A-E907-4264-90D1-88BE2E880FD4/currenttime

Request body

None

Response body

{
    "ServerId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
    "TimeString": "2017-03-13T20:24:16.225Z"
}

Notes

The TimeString returned consists of the date (year-month-day) and 24-hour time (hour, minutes, seconds, milliseconds). In the example, the time is March 13, 2017 at 8:24:16:115 PM.

To Table of Operations Get DcsDvaPool

Returns data for all DvaPools in the server group.

Version

1.0

Method

GET

URI template

/1.0/dcsdvapool?server={server}&dvapool={dvapool}

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

Description

Returns data for all DvaPools in the server group.

URL

https://StorageSvr001/RestService/rest.svc/1.0/dcsdvapool

Request body

None

Response body

[
   {
       "ServerId": "A12FCC7A-6200-487A-97CC-581A78DDEC8B",
       "PresenceStatus": 1,
       "DeduplicationEnabled": false,
       "CompressionEnabled": false,
       "RaidLevel": 5,
       "ZpoolHealth": 2,
       "SequenceNumber": 220800,
       "Id": "30a1034d-aee3-4ea8-b69d-e36dca5309f0",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   },
   {
       "ServerId": "575B6A67-444A-4D06-B37F-489B8F7C14A4",
       "PresenceStatus": 1,
       "DeduplicationEnabled": false,
       "CompressionEnabled": false,
       "RaidLevel": 0,
       "ZpoolHealth": 2,
       "SequenceNumber": 220794,
       "Id": "3d597fbf-310e-4cdc-a03f-83adc5cc8552",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   }

Example 2

Description

Returns data for a specific DvaPool in the server group.

URL

http://localhost/RestService/rest.svc/1.0/dcsdvapool?server=575B6A67-444A-4D06-B37F-489B8F7C14A4&dvapool=3d597fbf-310e-4cdc-a03f-83adc5cc8552

Request body

None

Response body

[
   {
       "ServerId": "575B6A67-444A-4D06-B37F-489B8F7C14A4",
       "PresenceStatus": 1,
       "DeduplicationEnabled": false,
       "CompressionEnabled": false,
       "RaidLevel": 0,
       "ZpoolHealth": 2,
       "SequenceNumber": 220794,
       "Id": "3d597fbf-310e-4cdc-a03f-83adc5cc8552",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   }

To Table of Operations Get DcsDvaPoolDisks

Returns data for DcsDvaPool disks in the server group.

Version

1.0

Method

GET

URI template

/1.0/dcsdvapooldisks

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/dcsdvapooldisks

Request body

None

Response body

[
   {
       "DvaPoolId": "eec5f177-d8a4-4884-812b-1523399b042d",
       "IsSLOGDisk": false,
       "DvaPoolDeviceId": "",
       "SequenceNumber": 894,
       "Id": "6e1c4516-5b5b-4ce8-a006-8b4b6c1c63ed",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   },
   {
       "DvaPoolId": "eec5f177-d8a4-4884-812b-1523399b042d",
       "IsSLOGDisk": false,
       "DvaPoolDeviceId": "",
       "SequenceNumber": 864,
       "Id": "6f9af277-1ce9-4853-b71f-ac8fd8a1dabb",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   },
   {
   "DvaPoolId": "eec5f177-d8a4-4884-812b-1523399b042d",
       "IsSLOGDisk": false,
       "DvaPoolDeviceId": "",
       "SequenceNumber": 834,
       "Id": "316c7dae-0bd1-4193-86d8-c2af76e9f978",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
   }

To Table of Operations Get Disk Paths

Returns the mirror and back-end path data for physical disks in the server group.

Version

1.0

Method

GET

URI template

/1.0/diskpaths

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/diskpaths

Request body

None

Response body

[ {
  "Caption" : "LUN 0 on Microsoft iSCSI Initiator on StorageSvr001 from iqn.2000-08.com.datacore:vmhost2-1",
  "ExtendedCaption" : "LUN 0 on Microsoft iSCSI Initiator on StorageSvr001 from iqn.2000-08.com.datacore:vmhost2-1",
  "Id" : "{9ae0c940-78d7-4511-8f69-4d39412af9da}-{3abe4b26-b551-420a-85c6-f6eac729f388}",
  "Internal" : false,
  "SequenceNumber" : 10932,
  "Active" : true,
  "DiskId" : "{9ae0c940-78d7-4511-8f69-4d39412af9da}",
  "InitiatorPortId" : "b0371497-5789-426f-8018-59dc5ced4b26",
  "Lun" : {
    "Quad" : 0
  },
  "Preferred" : false,
  "TargetPortId" : "iqn.2000-08.com.datacore:vmhost2-1"
}
.
.
.
{
  "Caption" : "LUN 0 on Microsoft iSCSI Initiator on StorageSvr002 from Server iSCSI Port 3 on StorageSvr001",
  "ExtendedCaption" : "LUN 0 on Microsoft iSCSI Initiator on StorageSvr002 from Server iSCSI Port 3 on StorageSvr001",
  "Id" : "V.{d68b8a36-0ec4-11e5-80ba-00155d651622}-0000000E_N.22E00030D9ECE8E3-{f24f80e4-5017-43fc-8888-fddef355b57f}",
  "Internal" : false,
  "SequenceNumber" : 10973,
  "Active" : true,
  "DiskId" : "V.{d68b8a36-0ec4-11e5-80ba-00155d651622}-0000000E_N.22E00030D9ECE8E3",
  "InitiatorPortId" : "c2c6095b-c7ef-4208-b85e-d2edea87eecf",
  "Lun" : {
    "Quad" : 0
  },
  "Preferred" : false,
  "TargetPortId" : "4f3cf816-6c03-4f6f-9754-011dea5e4a07"
} ]

To Table of Operations Get FC Ports

Returns data for Fibre Channel ports in the server group.

Version

1.0

Method

GET

URI template

/1.0/ports/fc

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/ports/fc

Request body

None

Response body

[   
    {
        "__type": "ServerFcPortData:#DataCore.Executive",
        "Caption": "HeavyFcPort1",
        "ExtendedCaption": "HeavyFcPort1 on Heavy",
        "Id": "5ff6ec8e-4d4e-4835-85ae-76ad96fdad8d",
        "Internal": false,
        "SequenceNumber": 38950,
        "Alias": "HeavyFcPort1",
        "Connected": true,
        "Description": null,
        "HostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
        "PortMode": 3,
        "PortName": "21-00-00-E0-8B-10-45-ED",
        "PortType": 2,
        "AluaId": 1027,
        "PhysicalName": "210000E08B1045ED",
        "PresenceStatus": 1,
        "RoleCapability": 7,
        "ServerPortProperties": {
            "__type": "ServerFcPortPropertiesData:#DataCore.Executive",
            "PortGroup": null,
            "Role": 7,
            "ConnectionMode": 3,
            "DataRateMode": 7,
            "DisablePortWhileStopped": false,
            "HardAssignedId": 4294967295,
            "HardIdMode": 2,
            "MaxActiveICommands": 512,
            "MaxActiveTCommands": 510,
            "NodeName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "PortDownTimeout": 30,
            "PortName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "PrevAssignedId": 4294967295,
            "ScsiMode": 3,
            "SymbolicNodeName": "FCP Port 1",
            "SymbolicPortName": "",
            "UseSoftWWN": false
        },
        "CapabilityInfo": {
            "MaxActiveICommands": 1024,
            "MaxActiveTCommands": 1022,
            "MaxSGSegments": 257,
            "MaxTransferSize": 1048576,
            "NeedPhysAddresses": true,
            "SoftWWNames": true,
            "SupportedConnections": [
                1,
                2,
                3,
                0
            ],
            "SupportedDataRates": [
                1,
                2,
                7,
                0
            ],
            "SupportedScsiModes": [
                1,
                2,
                3
            ]
        },
        "CurrentConfigInfo": {
            "ConnectionMode": 3,
            "DataRateMode": 7,
            "DisablePortWhileStopped": false,
            "HardAssignedId": 4294967295,
            "HardIdMode": 2,
            "MaxActiveICommands": 512,
            "MaxActiveTCommands": 510,
            "NodeName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "NumaNode": 65535,
            "PortDownTimeout": 30,
            "PortName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "PrevAssignedId": 4294967295,
            "ScsiMode": 3,
            "SymbolicNodeName": "FCP Port 1",
            "SymbolicPortName": "",
         "UseSoftWWN": false
        },
        "IdInfo": {
            "ChipsetVersion": "8.5.4.2",
            "DriverName": "DataCore QLogic 2200/2300",
            "DriverVersion": "15.0.602.10472",
            "FirmwareVersion": "3.3.26.0",
            "HBAProductName": "ISP2312",
            "HBAVendorName": "QLogic",
            "OriginalNodeName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "OriginalPortName": {
                "Name": "21-00-00-E0-8B-10-45-ED"
            },
            "PCIInfo": {
                "Bus": 8,
                "DeviceId": 8978,
                "Function": 0,
                "InterruptLevel": 9,
                "Slot": 0,
                "SubVendorId": 0,
                "VendorId": 4215
            }
        },
        "StateInfo": {
            "Active": true,
            "Connection": 0,
            "DataRate": 0,
            "LinkErrors": {
                "InvalidCrcCount": 0,
                "InvalidTransmissionWordCount": 0,
                "LinkFailureCount": 0,
                "LossOfSignalCount": 0,
                "LossOfSyncCount": 0,
                "PrimitiveSeqProtocolErrCount": 0
            },
            "LoopId": 4294967295,
            "PortId": 4294967295,
            "State": 5
        }
   },
   { 
        "__type": "ServerFcPortData:#DataCore.Executive",
        "Caption": "MetalFcPort1",
        "ExtendedCaption": "MetalFcPort1 on Metal",
        "Id": "22630cd2-86ab-4cb5-aced-df240db50ff8",
        "Internal": false,
        "SequenceNumber": 38953,
        "Alias": "MetalFcPort1",
        "Connected": true,
        "Description": null,
        "HostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
        "PortMode": 3,
        "PortName": "21-00-00-E0-8B-10-97-ED",
        "PortType": 2,
        "AluaId": 2051,
        "PhysicalName": "210000E08B1097ED",
        "PresenceStatus": 1,
        "RoleCapability": 7,
        "ServerPortProperties": {
            "__type": "ServerFcPortPropertiesData:#DataCore.Executive",
            "PortGroup": null,
            "Role": 6,
            "ConnectionMode": 3,
            "DataRateMode": 7,
            "DisablePortWhileStopped": false,
            "HardAssignedId": 4294967295,
            "HardIdMode": 2,
            "MaxActiveICommands": 512,
            "MaxActiveTCommands": 510,
            "NodeName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "PortDownTimeout": 30,
            "PortName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "PrevAssignedId": 4294967295,
            "ScsiMode": 3,
            "SymbolicNodeName": "FCP Port 1",
            "SymbolicPortName": "",
            "UseSoftWWN": false
        },
        "CapabilityInfo": {
            "MaxActiveICommands": 1024,
            "MaxActiveTCommands": 1022,
            "MaxSGSegments": 257,
            "MaxTransferSize": 1048576,
            "NeedPhysAddresses": true,
            "SoftWWNames": true,
            "SupportedConnections": [
                1,
                2,
                3,
                0
            ],
            "SupportedDataRates": [
                1,
                2,
                7,
                0
            ],
            "SupportedScsiModes": [
                1,
                2,
                3
            ]
        },
        "CurrentConfigInfo": {
            "ConnectionMode": 3,
            "DataRateMode": 7,
            "DisablePortWhileStopped": false,
            "HardAssignedId": 4294967295,
            "HardIdMode": 2,
            "MaxActiveICommands": 512,
            "MaxActiveTCommands": 510,
            "NodeName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "NumaNode": 65535,
            "PortDownTimeout": 30,
            "PortName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "PrevAssignedId": 4294967295,
            "ScsiMode": 3,
            "SymbolicNodeName": "FCP Port 1",
            "SymbolicPortName": "",
            "UseSoftWWN": false
        },
        "IdInfo": {
            "ChipsetVersion": "8.5.4.2",
            "DriverName": "DataCore QLogic 2200/2300",
            "DriverVersion": "15.0.602.10472",
            "FirmwareVersion": "3.3.26.0",
            "HBAProductName": "ISP2312",
            "HBAVendorName": "QLogic",
            "OriginalNodeName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "OriginalPortName": {
                "Name": "21-00-00-E0-8B-10-97-ED"
            },
            "PCIInfo": {
                "Bus": 8,
                "DeviceId": 8978,
                "Function": 0,
                "InterruptLevel": 9,
                "Slot": 0,
                "SubVendorId": 0,
                "VendorId": 4215
            }
        },
        "StateInfo": {
            "Active": true,
            "Connection": 0,
            "DataRate": 0,
            "LinkErrors": {
                "InvalidCrcCount": 0,
                "InvalidTransmissionWordCount": 0,
                "LinkFailureCount": 0,
                "LossOfSignalCount": 0,
                "LossOfSyncCount": 0,
                "PrimitiveSeqProtocolErrCount": 0
            },
            "LoopId": 4294967295,
            "PortId": 4294967295,
            "State": 5
        }
    }
]

To Table of Operations Get Host Groups

Returns data for all host groups in the server group.

Version

1.0

Method

GET

URI template

/1.0/hostgroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/hostgroups

Request body

None

Response body

[ {
  "Caption" : "Host Group 1",
  "ExtendedCaption" : "Host Group 1",
  "Id" : "{96ae16c9-c2f9-4d83-8cb9-22ac0871d727}",
  "Internal" : false,
  "SequenceNumber" : 11972,
  "Alias" : "Host Group 1",
  "Description" : null,
  "StorageDomainSettings" : {
    "ChargeBackEnabled" : false,
    "MaxDataTransferredPerSec" : 0,
    "MaxIoOperationsPerSec" : 0
  }
} ]

To Table of Operations Get Hosts

Returns data for all hosts in the server group.

Version

1.0

Method

GET

URI template

/1.0/hosts

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/hosts

Request body

None

Response body

[ {
  "Caption" : "HostVM1",
  "ExtendedCaption" : "HostVM1",
  "Id" : "5909e5ec1dbb460ca2273e6b8c7932ce",
  "Internal" : false,
  "SequenceNumber" : 10930,
  "Description" : null,
  "HostName" : "HostVM1",
  "MpioCapable" : true,
  "AluaSupport" : true,
  "HostGroupId" : null,
  "PathPolicy" : 0,
  "PreferredServerId" : null,
  "State" : 2,
  "Type" : 17
}, {
  "Caption" : "HostVM2",
  "ExtendedCaption" : "HostVM2",
  "Id" : "144dfcf36f8a46299a5ba3eefd31dd19",
  "Internal" : false,
  "SequenceNumber" : 10931,
  "Description" : null,
  "HostName" : "HostVM2",
  "MpioCapable" : true,
  "AluaSupport" : true,
  "HostGroupId" : null,
  "PathPolicy" : 0,
  "PreferredServerId" : null,
  "State" : 2,
  "Type" : 17
} ]

To Table of Operations Get iSCSI Ports

Returns data for server and host iSCSI ports in the server group.

Version

1.0

Method

GET

URI template

/1.0/ports/iscsi

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/ports/iscsi

Request body

None

Response body

[
  {
   "__type" : "ServeriScsiPortData:#DataCore.Executive",
   "Caption" : "Server iSCSI Port 5",
   "ExtendedCaption" : "Server iSCSI Port 5 on StorageSvr004",
   "Id" : "48b31073-fdf7-485f-ad46-e96fae2fd3ab",
   "Internal" : false,
   "SequenceNumber" : 314550,
   "Alias" : "Server iSCSI Port 5",
   "Connected" : true,
   "Description" : null,
   "HostId" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
   "PortMode" : 2,
   "PortName" : "iqn.2000-08.com.datacore:storagesvr004-5",
   "PortType" : 3,
   "AluaId" : 1027,
   "PhysicalName" : "MAC:00-15-5D-65-16-10",
   "PresenceStatus" : 1,
   "RoleCapability" : 5,
   "ServerPortProperties" : {
    "__type" : "ServeriScsiPortPropertiesData:#DataCore.Executive",
    "PortGroup" : null,
    "Role" : 4,
    "Active" : true,
    "Alias" : "",
    "Authentication" : 0,
    "AutoLoginMode" : 0,
    "DisablePortWhileStopped" : true,
    "Discovery" : {
     "SLPConfig" : {
     "ServerAgentMode" : 0,
     "UserAgentMode" : 0
    },
    "TargetAutoDiscovery" : 0,
    "iSNSConfig" : {
     "Mode" : 2,
     "iSNSServerAddress" : {
       "Address" : {
       "Address" : "0.0.0.0"
       },
       "AddressType" : 0,
      "DomainName" : "",
      "TcpPort" : 3205
    }
   }
  },
  "ISID" : 140737488355328,
  "IScsiPortalsConfig" : [
   {
     "Address" : {
       "Address" : "13.0.0.45"
     },
     "ConnParams" : {
       "DataDigestMode" : 0,
       "HeaderDigestMode" : 0,
       "MaxRcvDataSegLen" : 0
     },
     "DefaultGateway" : {
       "Address" : "0.0.0.0"
     },
     "DhcpMode" : 0,
     "Dns" : {
       "Address" : "0.0.0.0"
     },
     "Mtu" : 0,
     "SubnetMask" : {
       "Address" : "0.0.0.0"
     },
     "TcpPort" : 3260
   }
 ],
 "InstanceName" : "MAC:00-15-5D-65-16-10",
 "MaxActiveICommands" : 0,
 "MaxActiveTCommands" : 256,
 "NodeName" : "iqn.2000-08.com.datacore:storagesvr004-5",
 "RecoveryLevel" : 0,
 "ScsiMode" : 0,
 "SessionParams" : {
   "DataPDUInOrder" : 0,
   "DataSequenceInOrder" : 0,
   "DefaultTime2Retain" : 0,
   "DefaultTime2Wait" : 0,
   "FirstBurstLength" : 0,
   "ImmediateData" : 0,
   "InitialR2T" : 0,
   "MaxBurstLength" : 0,
   "MaxConnections" : 0,
   "MaxOutstandingR2T" : 0
 },
 "TPGT" : 1
},
"CapabilityInfo" : {
 "MaxActiveICommands" : 0,
 "MaxActiveTCommands" : 256,
 "PortalCapabilityInfo" : [
   {
     "DataDigestSupported" : true,
     "DhcpSupported" : false,
     "HeaderDigestSupported" : true,
     "MaxLinkSpeed" : 1410,
     "Mtu" : 1500
   }
 ],
 "SoftNodeName" : false,
 "SupportedScsiModes" : [
   2
 ]
},
"IScsiPortStateInfo" : {
  "Active" : true,
  "InstanceName" : "MAC:00-15-5D-65-16-10",
  "PortalsState" : [
    {
      "Address" : {
        "Address" : "13.0.0.45"
      },
      "PortalSpeed" : 1410,
      "State" : 3
    }
  ]
},
"IdInfo" : {
  "AdapterType" : "Ethernet 802.3",
  "ConnectionName" : "13.0.0.45x",
  "DriverName" : "Software iSCSI Driver",
  "DriverVendor" : "DataCore",
  "DriverVersion" : "15.0.700.10682",
  "HbaNicProduct" : "Microsoft Hyper-V Network Adapter #5",
  "HbaNicVendor" : "Microsoft",
  "IsSoftiSCSI" : true,
  "Portals" : [
    {
      "ChipsetVersion" : "1.0.0.0",
      "DriverName" : "Software iSCSI Driver",
      "DriverVendor" : "DataCore",
      "DriverVersion" : "15.0.700.10682",
      "FirmwareVersion" : "1.0.0.0",
      "PCIInfo" : {
        "Bus" : 255,
        "DeviceId" : 255,
        "Function" : 255,
        "InterruptLevel" : 255,
        "Slot" : 255,
        "SubVendorId" : 255,
        "VendorId" : 255
      },
      "PhysicalAddress" : "00-15-5D-65-16-10",
      "ProductName" : "Software iSCSI",
      "VendorName" : "Software iSCSI Driver"
    }
  ]
},
"PortConfigInfo" : {
  "Active" : true,
  "Alias" : "",
  "Authentication" : 1,
  "AutoLoginMode" : 0,
  "DisablePortWhileStopped" : true,
  "Discovery" : {
    "SLPConfig" : {
      "ServerAgentMode" : 0,
      "UserAgentMode" : 0
    },
    "TargetAutoDiscovery" : 0,
    "iSNSConfig" : {
      "Mode" : 2,
      "iSNSServerAddress" : {
        "Address" : {
          "Address" : "0.0.0.0"
        },
        "AddressType" : 0,
        "DomainName" : "",
        "TcpPort" : 3205
    }
  }
},
"ISID" : 140737488355328,
"InstanceName" : "MAC:00-15-5D-65-16-10",
"MaxActiveICommands" : 0,
"MaxActiveTCommands" : 256,
"NodeName" : "iqn.2000-08.com.datacore:storagesvr004-5",
"PortalsConfig" : [
  {
    "Address" : {
      "Address" : "13.0.0.45"
    },
    "ConnParams" : {
      "DataDigestMode" : 2,
      "HeaderDigestMode" : 2,
      "MaxRcvDataSegLen" : 262144
    },
    "DefaultGateway" : {
      "Address" : "0.0.0.0"
    },
    "DhcpMode" : 0,
    "Dns" : {
      "Address" : "0.0.0.0"
    },
    "Mtu" : 0,
    "SubnetMask" : {
      "Address" : "0.0.0.0"
    },
    "TcpPort" : 3260
  }
],
"RecoveryLevel" : 0,
"ScsiMode" : 2,
"SessionParams" : {
  "DataPDUInOrder" : 1,
  "DataSequenceInOrder" : 1,
  "DefaultTime2Retain" : 2,
  "DefaultTime2Wait" : 2,
  "FirstBurstLength" : 65536,
  "ImmediateData" : 2,
  "InitialR2T" : 1,
  "MaxBurstLength" : 1048576,
  "MaxConnections" : 1,
  "MaxOutstandingR2T" : 1
 },
 "TPGT" : 1
},
"iSCSINodes" : [
  {
    "AccessToken" : {
      "InitiatorNodeName" : "iqn.1991-05.com.microsoft:hostvm2.datacoresoftware.com",
      "InitiatorPassword" : "",
      "InitiatorUsername" : "",
      "MutualAuthentication" : false,
      "TargetPassword" : "",
       "TargetUsername" : ""
     },
    "Alias" : null,
    "MachineName" : null,
    "Name" : "iqn.1991-05.com.microsoft:hostvm2.datacoresoftware.com",
    "PGCnt" : 0,
    "Registered" : false,
    "ScsiMode" : 1
   },
  {
    "AccessToken" : {
      "InitiatorNodeName" : "iqn.1991-05.com.microsoft:hostvm1.datacoresoftware.com",
      "InitiatorPassword" : "",
      "InitiatorUsername" : "",
      "MutualAuthentication" : false,
      "TargetPassword" : "",
      "TargetUsername" : ""
    },
    "Alias" : null,
    "MachineName" : null,
    "Name" : "iqn.1991-05.com.microsoft:hostvm1.datacoresoftware.com",
    "PGCnt" : 0,
    "Registered" : false,
    "ScsiMode" : 1
  }
 ]
},

 {
  "Caption" : "iSCSI Port 1",
  "ExtendedCaption" : "iSCSI Port 1 on HostVM2",
  "Id" : "iqn.1991-05.com.microsoft:hostvm2.datacoresoftware.com",
  "Internal" : false,
  "SequenceNumber" : 2322,
  "Alias" : "iSCSI Port 1",
  "Connected" : true,
  "Description" : null,
  "HostId" : "ed89ef91d72142dc958e02c5b7014fac",
  "PortMode" : 1,
  "PortName" : "iqn.1991-05.com.microsoft:hostvm2.datacoresoftware.com",
  "PortType" : 3
 }
]

To Table of Operations Get Logical Disks

Returns logical disk (storage source) data for the server group. Data can be filtered by the parameters server and virtualDisk. If both parameters are specified, the logical disk on the specific server for the specific virtual disk are returned. If only the parameter server is specified, all logical disks on the specific server are returned. If no parameters are specified all logical disks in the server group are returned. (Also see Get Pool Logical Disks.)

Version

1.0

Method

GET

URI template

/1.0/logicaldisks?server={server}&virtualDisk={virtualDisk}

URI parameters
server ID of a specific server
virtualDisk ID of a specific virtual disk
Request Body
None
Response Code
200
Returns
Example 1

Description

Returns data for a specific logical disk.

URL

https://StorageSvr004/RestService/rest.svc/1.0/logicaldisks?server=6DBB54B7-A6B6-49D2-B64C-BA1317F66033&virtualDisk=c24ed69587354141bb033327b3ffbff8

Request body

None

Response body

[
  {
     "__type": "StreamLogicalDiskData:#DataCore.Executive",
     "Caption": "Virtual disk 1 on StorageSvr004",
     "ExtendedCaption": "Virtual disk 1 on StorageSvr004",
     "Id": "f8f2715a-2dc0-440c-8b80-857642a5daa0",
     "Internal": false,
     "SequenceNumber": 10029,
     "ClientAccessRights": 3,
     "DataStatus": 0,
     "DiskRole": 0,
     "DiskStatus": 0,
     "Failure": 1,
     "IsMapped": true,
     "MappingName": "V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000001",
     "MirrorAccessDisabled": false,
     "PresenceStatus": 1,
     "Protected": true,
     "Replacing": false,
     "SectorSize": {
       "Value": 512
     },
     "ServerHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
     "Size": {
       "Value": 12884901888
     },
     "TrunkVirtualDiskId": null,
     "VirtualDiskId": "c24ed69587354141bb033327b3ffbff8",
     "Virtualized": true,
     "DeletePending": false,
     "InReclamation": false,
     "MaxQuota": {
       "Value": 0
     },
     "MinQuota": {
       "Value": 0
     },
     "PoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
     "ReclamationState": 0,
     "StorageName": "Virtual disk 1",
     "TierAffinity": [
       1,
       2,
       3
     ],
     "VolumeIndex": 1,
     "RetentionTime": 0,
     "SequentialStorage": false,
     "StreamDiskDataProtectionRole": 0,
     "StreamDiskId": null,
     "StreamSize": {
       "Value": 0
     },
     "StreamState": 0
   }
 ]

To Table of Operations Get Mirror Relations

Returns mirror relation data between two logical disks (storage sources) which are in such relation.

Version

1.0

Method

GET

URI template

/1.0/mirrorrelations

URI parameters
virtualdisk
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/mirrorrelations

Request body

None

Response body

[
    {
        "Caption": "",
        "ExtendedCaption": "",
        "Id": "c2523e20-ad60-46d4-bdf0-4e543eeab02c",
        "Internal": false,
        "SequenceNumber": 960,
        "DestinationLogicalDiskId": "538a2197-2424-4de9-96f8-5f0e6daea3c4",
        "FirstRecovery": 0,
        "SecondRecovery": 7,
        "ServedDestinationDiskId": "V.{12d3d55e-1080-11e7-80c4-00155d029314}-00000018_N.22FD0030D9631058",
        "SourceDataStatus": 3,
        "SourceLogicalDiskId": "9e782548-6181-4a52-80a5-7ee461a5435f"
    },
    {
        "Caption": "",
        "ExtendedCaption": "",
        "Id": "d4ffc1f3-d61e-44aa-a93b-8aab8bb178ce",
        "Internal": false,
        "SequenceNumber": 962,
        "DestinationLogicalDiskId": "9e782548-6181-4a52-80a5-7ee461a5435f",
        "FirstRecovery": 0,
        "SecondRecovery": 7,
        "ServedDestinationDiskId": "V.{0f915945-1080-11e7-80c4-00155d029312}-0000001A_N.22820030D9C1CB3F",
        "SourceDataStatus": 2,
        "SourceLogicalDiskId": "538a2197-2424-4de9-96f8-5f0e6daea3c4"
    }
]

To Table of Operations Get Monitor Templates

Returns templates for all system monitor types. This function can be used to identify a monitor template type ID for the Get Triggers function.

Version

1.0

Method

GET

URI template

/1.0/monitortemplates

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/monitortemplates

Request body

None

Response body

[
  {
    "Caption": "State",
    "ExtendedCaption": null,
    "Id": "T(DataCore.Executive.Controller.PhysicalDiskStateMonitor<DataCore.Executive.Controller.PhysicalDisk>)",
    "Internal": false,
    "SequenceNumber": 8648,
    "Alias": "State",
    "Description": "Monitors the state of physical disks.",
    "MonitorType": "DataCore.Executive.Controller.PhysicalDiskStateMonitor",
    "MonitoredObjectId": "",
    "MonitoredObjectType": "DataCore.Executive.Controller.PhysicalDisk",
    "TypeId": "T(DataCore.Executive.Controller.PhysicalDiskStateMonitor<DataCore.Executive.Controller.PhysicalDisk>)"
   },
   .
   .
   .
   {
     "__type": "ThresholdMonitorTemplateData:#DataCore.Executive",
     "Caption": "History log size",
     "ExtendedCaption": "History log size of fb4f45c7-88d0-4c09-bd51-648b5e1ea63d",
     "Id": "T(DataCore.Executive.Controller.HistoryAllocationMonitor<fb4f45c7-88d0-4c09-bd51-648b5e1ea63d>StreamAllocationPercent)",
     "Internal": false,
     "SequenceNumber": 9921,
     "Alias": "History log size",
     "Description": "Monitors the percentage of the maximum history log currently allocated.",
     "MonitorType": "DataCore.Executive.Controller.HistoryAllocationMonitor",
     "MonitoredObjectId": "fb4f45c7-88d0-4c09-bd51-648b5e1ea63d",
     "MonitoredObjectType": "DataCore.Executive.Controller.StreamLogicalDisk",
     "TypeId": "T(DataCore.Executive.Controller.HistoryAllocationMonitor<DataCore.Executive.Controller.StreamLogicalDisk>StreamAllocationPercent)",
     "CounterName": "StreamAllocationPercent",
     "AttentionLevel": 100,
     "CriticalLevel": 0,
     "WarningLevel": 100
   }
]

To Table of Operations Get Monitors

Returns all monitors in the system.

Version

1.0

Method

GET

URI template

/1.0/monitors

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/monitors

Request body

None

Response body

[
  {
    "Caption": "State",
    "ExtendedCaption": "State of HostVM2",
    "Id": "ClientMachineStateMonitor<ed89ef91d72142dc958e02c5b7014fac>",
    "Internal": false,
    "SequenceNumber": 9417,
    "Description": "Monitors the state of hosts.",
    "MessageText": "Connected",
    "MonitoredObjectId": "ed89ef91d72142dc958e02c5b7014fac",
    "State": 2,
    "TemplateId": "T(DataCore.Executive.Controller.ClientMachineStateMonitor<DataCore.Executive.Controller.ClientMachine>)",
    "TimeStamp": "/Date(1486136115475-0500)/"
  },
.
.
.
  {
    "Caption": "I/O latency",
    "ExtendedCaption": "I/O latency of Mirror of Virtual disk 1 on StorageSvr005",
    "Id": "RisingThresholdPerfMonitor`1<V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000001_N.22690030D9218568>TotalOperationsTime",
    "Internal": false,
    "SequenceNumber": 10036,
    "Description": "Monitors the physical disks latency.",
    "MessageText": "Disabled",
    "MonitoredObjectId": "V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000001_N.22690030D9218568",
    "State": 1,
    "TemplateId": "T(DataCore.Executive.Controller.RisingThresholdPerfMonitor`1[T]<V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000001_N.22690030D9218568>TotalOperationsTime)",
    "TimeStamp": "/Date(1486148705910-0500)/"
  }
]

To Table of Operations Get Object

Returns the identifiable object specified by the ID. This operation can be used to get an object that is identified by ID in the object returned from another operation.

Version

1.0

Method

GET

URI template

/1.0/objects/{objectid}

URI parameters
objectid ID of a specific object
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/objects/6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}

Request body

None

Response body

{
  "__type": "DiskPoolData:#DataCore.Executive",
  "Caption": "Disk pool 1",
  "ExtendedCaption": "Disk pool 1 on StorageSvr004",
  "Id": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
  "Internal": false,
  "SequenceNumber": 10111,
  "Alias": "Disk pool 1",
  "AutoTieringEnabled": true,
  "ChunkSize": {
    "Value": 134217728
  },
  "Description": null,
  "InSharedMode": false,
  "IsAuthorized": true,
  "MaxTierNumber": 3,
  "PoolMode": 1,
  "PoolStatus": 0,
  "PresenceStatus": 1,
  "SMPAApproved": false,
  "SectorSize": {
    "Value": 512
  },
  "ServerId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
  "SharedPoolId": null,
  "TierReservedPct": 0,
  "Type": 0
}

To Table of Operations Get Ownerships

Returns user ownership data for resources in the server group.

Version

1.0

Method

GET

URI template

/1.0/ownerships

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/ownerships

Request body

None

Response body

[
  {
    "Caption": "Joe Schmoe | Virtual disk 2 from REST Group 1",
    "ExtendedCaption": "Joe Schmoe | Virtual disk 2 from REST Group 1",
    "Id": "3e963a8f-110b-4d15-9f62-380eccd10a70",
    "Internal": false,
    "SequenceNumber": 10297,
    "IdentifiableId": "3843e2cea5554db19eaffdf49a57cc1f",
    "UserId": "{c3dbfa08-3025-4940-a60d-6873b09ae44c}"
  },
  {
    "Caption": "John Doe | Virtual disk 3 from REST Group 1",
    "ExtendedCaption": "John Doe | Virtual disk 3 from REST Group 1",
    "Id": "bb545fc8-2e23-49ae-90fb-8269406b3001",
    "Internal": false,
    "SequenceNumber": 10436,
    "IdentifiableId": "626c0ebf19e6413cbb212df67c345d53",
    "UserId": "{d0e4891d-3683-4a83-9794-bc87baafd74e}"
  },
  {
    "Caption": "Joe Schmoe | Virtual disk 3 from REST Group 1",
    "ExtendedCaption": "Joe Schmoe | Virtual disk 3 from REST Group 1",
    "Id": "5e4f72d3-39c8-4dd6-89ed-32c366321665",
    "Internal": false,
    "SequenceNumber": 10475,
    "IdentifiableId": "626c0ebf19e6413cbb212df67c345d53",
    "UserId": "{c3dbfa08-3025-4940-a60d-6873b09ae44c}"
  }
]

To Table of Operations Get Performance

Returns performance counter data for the specified object (resource).

Version

1.0

Method

GET

URI template

/1.0/performance/{objectid}

URI parameters
objectid Any ID that identifies any object or resource in the server group, such as servers, server SCSI ports, server groups, client hosts, host groups, client host SCSI ports, physical disks, pool members, pools, pool mirrors, virtual disks, snapshots, logical disks, logical disks with Continuous Data Protection, virtual logical units, target devices, and target domains.
Request Body
None
Notes
The returned type depends on the object used when getting performance. For example, if an ID of a virtual disk is passed, 
the VirtualDiskPerformance object is returned. See enum PerformanceType for more information. 
Some counter values accumulate and some counter values are displayed as the value at collection time. 
Accumulated values in returned objects are raw, unprocessed data at collection time, not "per second" as in the Management Console. 
For instance, to receive values per second the cmdlet would have to be invoked at least twice to calculate values per second. 
Descriptions of performance counters are provided as tool tips in the Performance tool in the DataCore Management Console. 
Some counters in the Performance tool are derived from raw data counters found in PerformanceData objects. 
Therefore, some raw data counters may not appear in the tool and some derived counters may not appear in retrieved PerformanceData 
objects. Special notes about these raw data counters are documented. 
For the Pool PerformanceData object: TotalWriteTime is a cumulative counter that measures the total time it took to perform all 
the write I/Os to the back-end pool disk. It is used to compute the Average Time/Write counter in the Performance tool. 
Average Time per Write = &Delta; TotalWriteTime / &Delta; TotalWrites. 
TotalReadTime is a cumulative counter that measures the total time it took to perform all read I/Os to the back-end pool disk. 
It is used to compute the Average Time/Read counter in the Performance tool. Average Time per Read = &Delta; TotalReadTime / &Delta; TotalReads.
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/performance/6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}

Request body

None

Response body

[
  {
    "CollectionTime": "/Date(1486402608775)/",
    "NullCounterMap": 0,
    "BytesAllocated": 6174015488,
    "BytesAllocatedPercentage": 12,
    "BytesAvailable": 47110422528,
    "BytesAvailablePercentage": 88,
    "BytesInReclamation": 0,
    "BytesInReclamationPercentage": 0,
    "BytesOverSubscribed": 0,
    "BytesReserved": 0,
    "BytesReservedPercentage": 0,
    "BytesTotal": 53284438016,
    "EstimatedDepletionTime": 2592000001,
    "MaxPoolBytes": 1108127332171776,
    "MaxReadTime" : 0,
    "MaxReadWriteTime" : 0,
    "MaxWriteTime" : 0,
    "PercentAllocated" : 12,
    "PercentAvailable" : 88,
    "TotalBytesMigrated" : 0,
    "TotalBytesRead" : 307200,
    "TotalBytesTransferred" : 2036756992,
    "TotalBytesWritten" : 2036470272,
    "TotalOperations" : 53002,
    "TotalReadTime" : 0,
    "TotalReads" : 18,
    "TotalWriteTime" : 74994,
    "TotalWrites" : 52998
  }
]

To Table of Operations Get Performance By Type

Returns performance counter data for the specified performance type (resource).

Version

2.0

Method

GET

URI template

/2.0/performancebytype/{objecttypes}

URI parameters
objecttypes One or more of the following types to denote the object type you want performance counters for: ScsiPortPerformance, ServerScsiPortPerformance, PhysicalDiskPerformance, LogicalDiskPerformance, PoolLogicalDiskPerformance, StreamLogicalDiskPerformance, VirtualDiskPerformance, VirtualLogicalUnitPerformance, VirtualTargetDevicePerformance, VirtualTargetDomainPerformance, DiskPoolPerformance, MachinePerformance, ServerMachinePerformance, ServerGroupPerformance, SnapshotRelationPerformance, PoolMemberPerformance, ReplicationPerformance, VirtualDiskGroupPerformance, RollbackGroupPerformance, SnapshotGroupPerformance, SharedPhysicalDiskPerformance, SharedDiskPoolPerformance, HostGroupPerformance, MirroringPerformance
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/2.0/performancebytype/DiskPoolPerformance

Request body

None

Response body

None

To Table of Operations Get Performance By Type

Returns performance counter data for the specified performance type (resource).

Version

1.0

Method

GET

URI template

/1.0/performancebytype/{objecttypes}

URI parameters
objecttypes One or more of the following types to denote the object type you want performance counters for: ScsiPortPerformance, ServerScsiPortPerformance, PhysicalDiskPerformance, LogicalDiskPerformance, PoolLogicalDiskPerformance, StreamLogicalDiskPerformance, VirtualDiskPerformance, VirtualLogicalUnitPerformance, VirtualTargetDevicePerformance, VirtualTargetDomainPerformance, DiskPoolPerformance, MachinePerformance, ServerMachinePerformance, ServerGroupPerformance, SnapshotRelationPerformance, PoolMemberPerformance, ReplicationPerformance, VirtualDiskGroupPerformance, RollbackGroupPerformance, SnapshotGroupPerformance, SharedPhysicalDiskPerformance, SharedDiskPoolPerformance, HostGroupPerformance, MirroringPerformance
Request Body
None
Notes
The returned type depends on the object used when getting performance. For example, if the type VirtualDiskPerformance is passed, 
an array of VirtualDiskPerformance objects is returned. See enum PerformanceType for more information. 
Some counter values accumulate and some counter values are displayed as the value at collection time. 
Accumulated values in returned objects are raw, unprocessed data at collection time, not "per second" as in the Management Console. 
For instance, to receive values per second the cmdlet would have to be invoked at least twice to calculate values per second. 
Descriptions of performance counters are provided as tool tips in the Performance tool in the DataCore Management Console. 
Some counters in the Performance tool are derived from raw data counters found in PerformanceData objects. 
Therefore, some raw data counters may not appear in the tool and some derived counters may not appear in retrieved PerformanceData 
objects. Special notes about these raw data counters are documented. 
For the Pool PerformanceData object: TotalWriteTime is a cumulative counter that measures the total time it took to perform all 
the write I/Os to the back-end pool disk. It is used to compute the Average Time/Write counter in the Performance tool. 
Average Time per Write = &Delta; TotalWriteTime / &Delta; TotalWrites. 
TotalReadTime is a cumulative counter that measures the total time it took to perform all read I/Os to the back-end pool disk. 
It is used to compute the Average Time/Read counter in the Performance tool. Average Time per Read = &Delta; TotalReadTime / &Delta; TotalReads.
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/performancebytype/DiskPoolPerformance

Request body

None

Response body

[
  {
    "CollectionTime": "/Date(1486402608775)/",
    "NullCounterMap": 0,
    "BytesAllocated": 6174015488,
    "BytesAllocatedPercentage": 12,
    "BytesAvailable": 47110422528,
    "BytesAvailablePercentage": 88,
    "BytesInReclamation": 0,
    "BytesInReclamationPercentage": 0,
    "BytesOverSubscribed": 0,
    "BytesReserved": 0,
    "BytesReservedPercentage": 0,
    "BytesTotal": 53284438016,
    "EstimatedDepletionTime": 2592000001,
    "MaxPoolBytes": 1108127332171776,
    "MaxReadTime" : 0,
    "MaxReadWriteTime" : 0,
    "MaxWriteTime" : 0,
    "PercentAllocated" : 12,
    "PercentAvailable" : 88,
    "TotalBytesMigrated" : 0,
    "TotalBytesRead" : 307200,
    "TotalBytesTransferred" : 2036756992,
    "TotalBytesWritten" : 2036470272,
    "TotalOperations" : 53002,
    "TotalReadTime" : 0,
    "TotalReads" : 18,
    "TotalWriteTime" : 74994,
    "TotalWrites" : 52998
  }
]

To Table of Operations Get PhysicalDisks

Returns data for physical disks in the server group.

Version

1.0

Method

GET

URI template

/1.0/physicaldisks

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/physicaldisks

Request body

None

Response body

[
  {
    "Caption": "DataCoreVirtual Disk",
    "ExtendedCaption": "DataCoreVirtual Disk on StorageSvr004",
    "Id": "{9b5a465a-4f7a-4d0d-9b9f-492702ced62e}",
    "Internal": false,
    "SequenceNumber": 12476,
    "Alias": null,
    "BusType": 9,
    "DiskIndex": 1,
    "DiskStatus": 1,
    "FreeSpace": {
      "Value": 0
    },
    "HostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
    "InUse": true,
    "InquiryData": {
      "Product": "Disk",
      "Revision": "DCS",
      "Serial": "5c0d04ce325142a19fe99c46b7c065a0",
      "Vendor": "DataCoreVirtual"
    },
    "IsBootDisk": false,
    "IsDataCoreDisk": true,
    "IsSolidState": false,
    "Partitioned": true,
    "PoolMemberId": "794ef166-b2d2-435e-b8a8-32516480cedd",
    "PresenceStatus": 1,
    "Protected": false,
    "ScsiPath": {
      "Bus": 0,
      "LUN": 0,
      "Port": 7,
      "Target": 4
    },
    "SharedPhysicalDiskId": null,
    "Size": {
      "Value": 53687091200
    },
    "SystemName": "",
    "Type": 4,
    "UniqueIdentifier": "naa.60030d906750a500913c83ff11c5fc9c"
    },
  {
  .
  .
  .
  {
    "Caption": "Virtual HD",
    "ExtendedCaption": "Virtual HD on StorageSvr004",
    "Id": "{c7765f02-a740-4109-b0f7-6a972c68309e}",
    "Internal": true,
    "SequenceNumber": 12506,
    "Alias": null,
    "BusType": 3,
    "DiskIndex": 0,
    "DiskStatus": 1,
    "FreeSpace": {
      "Value": 2064896
    },
    "HostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
    "InUse": false,
    "InquiryData": {
      "Product": "HD",
      "Revision": "1.1.",
      "Serial": "",
      "Vendor": "Virtual"
    },
    "IsBootDisk": true,
    "IsDataCoreDisk": false,
    "IsSolidState": false,
    "Partitioned": true,
    "PoolMemberId": null,
    "PresenceStatus": 1,
    "Protected": false,
    "ScsiPath": {
      "Bus": 0,
      "LUN": 0,
      "Port": 0,
      "Target": 0
     },
    "SectorSize": {
      "Value": 512
    },  
   "SharedPhysicalDiskId": null,
   "Size": {
    "Value" : 42949672960
   },
   "SystemName" : "\\\\?\\PhysicalDrive0",
   "Type" : 0,
   "UniqueIdentifier" : null
  }
]

To Table of Operations Get Pool Logical Disks

Returns all logical disks created from the specified pool. (Also see Get Logical Disks.)

Version

1.0

Method

GET

URI template

/1.0/poollogicaldisks?poolid={poolId}

URI parameters
poolId ID of a specific pool
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/poollogicaldisks?poolid=6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}

Request body

None

Response body

[
  {
     "__type": "StreamLogicalDiskData:#DataCore.Executive",
     "Caption": "Virtual disk 1 on StorageSvr004",
     "ExtendedCaption": "Virtual disk 1 on StorageSvr004",
     "Id": "f8f2715a-2dc0-440c-8b80-857642a5daa0",
     "Internal": false,
     "SequenceNumber": 12507,
     "ClientAccessRights": 3,
     "DataStatus": 0,
     "DiskRole": 0,
     "DiskStatus": 0,
     "Failure": 1,
     "IsMapped": true,
     "MappingName": "V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000001",
     "MirrorAccessDisabled": false,
     "PresenceStatus": 1,
     "Protected": true,
     "Replacing": false,
     "SectorSize": {
       "Value": 512
     },
     "ServerHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
     "Size" : {
       "Value": 10737418240
     },
     "VirtualDiskId": "b6bab903cfb64c11ad30480e1d9b0712",
     "Virtualized": true,
     "DeletePending": false,
     "InReclamation": false,
     "MaxQuota": {
       "Value": 0
     },
     "MinQuota": {
       "Value": 0
     },
     "PoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
     "ReclamationState": 0,
     "StorageName": "Virtual disk 1",
     "TierAffinity": [
       1,
       2,
       3
     ],
     "VolumeIndex": 13,
     "RetentionTime": 0,
     "SequentialStorage": false,
     "StreamDiskDataProtectionRole": 0,
     "StreamDiskId": null,
     "StreamSize": {
       "Value": 0
     },
     "StreamState": 0
  }
.
.
.
  {
     "__type": "StreamLogicalDiskData:#DataCore.Executive",
     "Caption": "Virtual disk 3 on StorageSvr004",
     "ExtendedCaption": "Virtual disk 3 on StorageSvr004",
     "Id": "a194b1ca-5266-4dec-880d-d7595f172971",
     "Internal": false,
     "SequenceNumber": 12517,
     "ClientAccessRights": 3,
     "DataStatus": 0,
     "DiskRole": 0,
     "DiskStatus": 0,
     "Failure": 1,
     "IsMapped": true,
     "MappingName": "V.{2f652562-e7e3-11e6-80d7-00155d651611}-00000005",
     "MirrorAccessDisabled": false,
     "PresenceStatus": 1,
     "Protected": true,
     "Replacing": false,
     "ServerHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
     "Size": {
       "Value": 16106127360
     },
     "VirtualDiskId": "ca301fd737244f2389d9f7237a0fd052",
     "Virtualized": true,
     "DeletePending": false,
     "InReclamation": false,
     "MaxQuota": {
       "Value": 0
     },
     "MinQuota": {
       "Value": 0
     },
     "PoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
     "ReclamationState": 0,
     "StorageName": "Virtual disk 3",
     "TierAffinity": [
       1,
       2,
       3
     ],
     "VolumeIndex": 32,
     "RetentionTime": 0,
     "SequentialStorage": false,
     "StreamDiskDataProtectionRole": 0,
     "StreamDiskId": null,
     "StreamSize": {
       "Value": 0
     },
     "StreamState": 0
   }
 ]

To Table of Operations Get Pool Member Purge Prerequisites

Returns purge prerequisites for the specified pool member.

Version

1.0

Method

GET

URI template

/1.0/poolmembers/{poolmemberid}/purgeprerequisites

URI parameters
poolmemberid ID of the pool member
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/poolmembers/c6214f20-dd3c-45b2-ab06-0a5c2372ab33/purgeprerequisites

Request body

None

Response body

[
   {
       "Actions": 0,
       "AllocatedSizeOnDisk": 402653184,
       "AllocatedSizeTotal": 1073741824,
       "Id": "9a1316c9ef8148ef974fffbe3ebb0f2a"
   }
]

Notes

See the enum VirtualDiskPurgeActions for Actions values in the response.

To Table of Operations Get Pool Members

Returns data for pool members in all disk pools in the server group.

Version

1.0

Method

GET

URI template

/1.0/poolmembers

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/poolmembers

Request body

None

Response body

[
  {
     "Caption" : "DataCoreVirtual Disk",
     "ExtendedCaption" : "Pool disk DataCoreVirtual Disk on StorageSvr004",
     "Id" : "794ef166-b2d2-435e-b8a8-32516480cedd",
     "Internal" : false,
     "SequenceNumber" : 13508,
     "DiskInRecoveryId" : "",
     "DiskPoolId" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
     "DiskTier" : 2,
     "IsMirrored" : false,
     "MemberState" : 0,
     "Size" : {
       "Value" : 53687091200
     }
  }
.
.
.
  {
     "Caption" : "DataCoreVirtual Disk",
     "ExtendedCaption" : "Pool disk DataCoreVirtual Disk on StorageSvr004",
     "Id" : "b95c67cf-d716-4ecf-aad4-17e0ad26d5d2",
     "Internal" : false,
     "SequenceNumber" : 13512,
     "DiskInRecoveryId" : "",
     "DiskPoolId" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{c711a472-e926-11e6-80d7-00155d651611}",
     "DiskTier" : 2,
     "IsMirrored" : false,
     "MemberState" : 0,
     "Size" : {
       "Value" : 10737418240
     }
  }
]

To Table of Operations Get Pools

Returns the data for disk pools in the server group. Data can be filtered with the parameters server or pool. Specifying the server without the pool returns all pools for a specific server.

Version

1.0

Method

GET

URI template

/1.0/pools?server={server}&pool={pool}

URI parameters
server ID of a specific server
pool ID of a specific pool
Request Body
None
Response Code
200
Returns
Example 1

Description

Returns data for all pools in the server group.

URL

https://StorageSvr001/RestService/rest.svc/1.0/pools

Request body

None

Response body

[ {
  "Caption" : "Disk pool 1",
  "ExtendedCaption" : "Disk pool 1 on StorageSvr001",
  "Id" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551:{d68b8a36-0ec4-11e5-80ba-00155d651622}",
  "Internal" : false,
  "SequenceNumber" : 11963,
  "Alias" : "Disk pool 1",
  "AutoTieringEnabled" : true,
  "ChunkSize" : {
    "Value" : 134217728
  },
  "Description" : null,
  "InSharedMode" : false,
  "IsAuthorized" : true,
  "MaxTierNumber" : 3,
  "PoolMode" : 1,
  "PoolStatus" : 0,
  "PresenceStatus" : 1,
  "SMPAApproved" : false,
  "ServerId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
  "SharedPoolId" : null,
  "TierReservedPct" : 0,
  "Type" : 0,
  "IsBulk" : false
}
.
.
.
{
  "Caption" : "Shared pool 1",
  "ExtendedCaption" : "Shared pool 1 on StorageSvr002",
  "Id" : "B5C140F5-6B13-4CAD-AF9D-F7C4172B3A1D:{4dec1b5a-2577-11e5-80c3-00155d651622}",
  "Internal" : false,
  "SequenceNumber" : 11967,
  "Alias" : "Shared pool 1",
  "AutoTieringEnabled" : true,
  "ChunkSize" : {
    "Value" : 134217728
  },
  "Description" : null,
  "InSharedMode" : true,
  "IsAuthorized" : true,
  "MaxTierNumber" : 3,
  "PoolMode" : 1,
  "PoolStatus" : 0,
  "PresenceStatus" : 1,
  "SMPAApproved" : true,
  "ServerId" : "B5C140F5-6B13-4CAD-AF9D-F7C4172B3A1D",
  "SharedPoolId" : "{4dec1b5a-2577-11e5-80c3-00155d651622}",
  "TierReservedPct" : 0,
  "Type" : 0,
  "IsBulk" : false
} ]
Example 2

Description

Returns data for a specific pool in the server group.

URL

https://StorageSvr001/RestService/rest.svc/1.0/pools?server=6DBB54B7-A6B6-49D2-B64C-BA1317F66033&pool=6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}

Request body

None

Response body

[
 {
  "Caption" : "Disk pool 1",
  "ExtendedCaption" : "Disk pool 1 on StorageSvr004",
  "Id" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{2f652562-e7e3-11e6-80d7-00155d651611}",
  "Internal" : false,
  "SequenceNumber" : 314561,
  "Alias" : "Disk pool 1",
  "AutoTieringEnabled" : true,
  "ChunkSize" : {
  "Value" : 134217728
 },
 "Description" : null,
 "InSharedMode" : false,
 "IsAuthorized" : true,
 "MaxTierNumber" : 3,
 "PoolMode" : 1,
 "PoolStatus" : 0,
 "PresenceStatus" : 1,
 "SMPAApproved" : false,
 "SectorSize" : {
 "Value" : 512
 },
 "ServerId" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
 "SharedPoolId" : null,
 "TierReservedPct" : 0,
 "Type" : 0
 }
 ]

To Table of Operations Get Port Connections

Returns data for the port connections in the server group.

Version

1.0

Method

GET

URI template

/1.0/portconnections

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/portconnections

Request body

None

Response body

[
 {
   "Caption": "Loopback Port 1 on Heavy to Loopback Port 1 on Heavy",
   "ExtendedCaption": "Loopback Port 1 on Heavy to Loopback Port 1 on Heavy",
   "Id": "22b3eda350834e468296846ef63cdb07",
   "Internal": false,
   "SequenceNumber": 43673,
   "Connected": true,
   "PortAId": "d7136422-95ff-4447-a5da-d4d5a53b47f4",
   "PortBId": "d7136422-95ff-4447-a5da-d4d5a53b47f4"
 },
 {
   "__type": "FcConnectionData:#DataCore.Executive",
   "Caption": "HeavyFcPort1 on Heavy to 20-05-00-C0-DD-03-D1-A0",
   "ExtendedCaption": "HeavyFcPort1 on Heavy to 20-05-00-C0-DD-03-D1-A0",
   "Id": "24b686fdcbc9463aba167f3b038dd057",
   "Internal": false,
   "SequenceNumber": 43681,
   "Connected": true,
   "PortAId": "5ff6ec8e-4d4e-4835-85ae-76ad96fdad8d",
   "PortBId": "20-05-00-C0-DD-03-D1-A0",
   "PortADescriptor": {
     "ClassOfService": 0,
     "FC4Types": [
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0,
       0
     ],
     "FabricPortName": {
       "Name": "00-00-00-00-00-00-00-00"
     },
     "HardAddress": 4294967295,
     "InSNS": true,
     "Location": 1,
     "LoggedIn": true,
     "LoopId": 126,
     "Lost": false,
     "NodeName": {
       "Name": "10-00-00-C0-DD-03-D1-A0"
     },
     "PortId": 16777214,
     "PortName": {
       "Name": "20-05-00-C0-DD-03-D1-A0"
     },
     "PortType": 0,
     "ScsiId": 4294967295,
     "ScsiMode": 0,
     "SymNodeName": "",
     "SymPortName": ""
   },
   "PortBDescriptor": null,
   "Present": true
 },
 {
   "__type": "iScsiSessionData:#DataCore.Executive",
   "Caption": "HeavyInitiator on Heavy to MetaliSCSIPort1 on Metal",
   "ExtendedCaption": "HeavyInitiator on Heavy to MetaliSCSIPort1 on Metal",
   "Id": "d71a0f4319134a5aa6238c5e6d1086f2",
   "Internal": false,
   "SequenceNumber": 43708,
   "Connected": true,
   "PortAId": "9ebc108f-031c-4861-b7bd-7b17e8ab15ef",
   "PortBId": "90909f93-876f-4d32-a72c-cc8098440db5",
   "PortADescriptor": {
     "Connected": true,
     "Connections": [
       {
         "CID": 1,
         "ConnectionParams": {
           "DataDigestMode": 0,
           "HeaderDigestMode": 0,
           "MaxRcvDataSegLen": 0
         },
         "InitiatorIpAddress": {
           "Address": "0.0.0.0"
         },
         "InitiatorTcpPort": 221,
         "TargetIpAddress": {
           "Address": "172.20.18.78"
         },
         "TargetTcpPort": 3260
       }
     ],
     "DeviceAlias": "iqn.2000-08.com.datacore:metal-1",
     "DeviceName": "iqn.2000-08.com.datacore:metal-1",
     "ISID": 0,
     "PortName": "iqn.1991-05.com.microsoft:heavy",
     "PortTag": 0,
     "Registered": true,
     "ScsiId": 0,
     "ScsiMode": 2,
     "SessionParams": {
       "DataPDUInOrder": 0,
       "DataSequenceInOrder": 0,
       "DefaultTime2Retain": 0,
       "DefaultTime2Wait": 0,
       "FirstBurstLength": 0,
       "ImmediateData": 0,
       "InitialR2T": 0,
       "MaxBurstLength": 0,
       "MaxConnections": 0,
       "MaxOutstandingR2T": 0
     },
     "SessionState": 2,
     "TPGT": 0,
     "TSIH": 0
   },
   "PortBDescriptor": {
     "Connected": true,
     "Connections": [
       {
         "CID": 1,
         "ConnectionParams": {
           "DataDigestMode": 2,
           "HeaderDigestMode": 2,
           "MaxRcvDataSegLen": 65536
         },
         "InitiatorIpAddress": {
           "Address": "172.20.17.163"
         },
         "InitiatorTcpPort": 56576,
         "TargetIpAddress": {
           "Address": "172.20.18.78"
         },
         "TargetTcpPort": 3260
   }
     ],
     "DeviceAlias": null,
     "DeviceName": "iqn.1991-05.com.microsoft:heavy",
     "ISID": 70368764559361,
     "PortName": "iqn.1991-05.com.microsoft:heavy,i,0x400001370001",
     "PortTag": 4,
     "Registered": false,
     "ScsiId": 0,
     "ScsiMode": 1,
     "SessionParams": {
       "DataPDUInOrder": 1,
       "DataSequenceInOrder": 1,
       "DefaultTime2Retain": 2,
       "DefaultTime2Wait": 2,
       "FirstBurstLength": 65536,
       "ImmediateData": 2,
       "InitialR2T": 1,
       "MaxBurstLength": 262144,
       "MaxConnections": 1,
       "MaxOutstandingR2T": 1
     },
     "SessionState": 2,
     "TPGT": 0,
     "TSIH": 4
   },
   "Target": {
     "Caption": null,
     "ExtendedCaption": null,
     "Id": "26c51e14-6bcb-42bc-ae86-58a7a205adc3",
     "Internal": false,
     "SequenceNumber": 43709,
     "InitiatorId": "9ebc108f-031c-4861-b7bd-7b17e8ab15ef",
     "IpAddress": "172.20.18.78",
     "IsPersistent": true,
     "LoginOptions": {
       "AuthType": 0,
       "Password": null,
       "Username": null
     },
     "Present": true,
     "SessionId": "d71a0f4319134a5aa6238c5e6d1086f2",
     "TargetName": "iqn.2000-08.com.datacore:metal-1",
     "TcpPort": 3260
   }
 }
]

To Table of Operations Get Ports

Returns SCSI port data for all servers and hosts in the server group.

Version

1.0

Method

GET

URI template

/1.0/ports

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/ports

Request body

None

Response body

[ {
  "__type" : "ServerScsiPortData:#DataCore.Executive",
  "Caption" : "Loopback Port 1",
  "ExtendedCaption" : "Loopback Port 1 on StorageSvr001",
  "Id" : "1b3dadb3-bbc4-44a2-b1ba-625661cbf40f",
  "Internal" : false,
  "SequenceNumber" : 11973,
  "Alias" : "Loopback Port 1",
  "Connected" : true,
  "Description" : null,
  "HostId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
  "PortMode" : 3,
  "PortName" : "22-FE-00-30-D9-EC-E8-E3",
  "PortType" : 4,
  "AluaId" : 0,
  "PhysicalName" : "22FE0030D9ECE8E3",
  "PresenceStatus" : 1,
  "RoleCapability" : 3,
  "ServerPortProperties" : {
    "Role" : 3
  }
}
.
.
.
{
  "Caption" : "iqn.2000-08.com.datacore:vmhost2-1",
  "ExtendedCaption" : "iqn.2000-08.com.datacore:vmhost2-1",
  "Id" : "iqn.2000-08.com.datacore:vmhost2-1",
  "Internal" : false,
  "SequenceNumber" : 11993,
  "Alias" : null,
  "Connected" : true,
  "Description" : null,
  "HostId" : null,
  "PortMode" : 2,
  "PortName" : "iqn.2000-08.com.datacore:vmhost2-1",
  "PortType" : 3
} ]

To Table of Operations Get Preferred Servers

Returns the preferred servers that are set for the specified host. The settings Auto select and All return no data.

Version

1.0

Method

GET

URI template

/1.0/hosts/{hostId}/preferredservers

URI parameters
hostid ID of a specific host
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/hosts/5c475fdb65c5407caf0b7535607481ce/preferredservers

Request body

None

Response body

[
 { 
   "Caption" : "HostVM1 | StorageSvr004",
   "ExtendedCaption" : "HostVM1 | StorageSvr004",
   "Id" : "f21e3234-6697-4bb3-b90b-1b51128e84c3",
   "Internal" : false,
   "SequenceNumber" : 139040,
   "ClientId" : "5c475fdb65c5407caf0b7535607481ce",
   "ServerId" : "6DBB54B7-A6B6-49D2-B64C-BA1317F66033"
 }
]

To Table of Operations Get Recording Endpoints

Returns all performance recording endpoints. Each endpoint may be connected to a local DataCore Server or a remote SQL DataBase. The "Enabled" property determines if the user can modify the endpoint. One endpoint can be used from multiple(recording) sessions(for example both the "ChargeBackSession" and "UserRecordingSession").

Version

1.0

Method

GET

URI template

/1.0/recordingendpoints

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/recordingendpoints

Request body

None

Response body

[
    {
        "Caption": "Historical monitoring recording endpoint",
        "ExtendedCaption": "Historical monitoring recording endpoint",
        "Id": "EAC11308-BD78-4EFF-9CDD-C46AE4CED481",
        "Internal": false,
        "SequenceNumber": 751229,
        "Alias": "!HistoricalMonitoringEndpoint",
        "CurrentState": 1,
        "Enabled": true,
        "EndpointType": 5,
        "Readonly": true,
        "Settings": {
            "__type": "LocalRecordingEndpointSettings:#DataCore.Executive",
            "LocalHostId": "67928EE1-F9AF-4109-B332-6F8F91E5B06D"
        }
    }
]

To Table of Operations Get Recording Instances

Returns the instances in the database to which the specified recording endpoint.

Version

1.0

Method

GET

URI template

/1.0/recordinginstances?endpoint={endpoint}&category={category}&starttime={starttime}&endtime={endtime}

URI parameters
endpoint The RecordingEndpointData object, name or ID that identifies a recording endpoint.
category The name of a category. If specified, only data for this category will be returned. Valid values for category names include: "DiskPool", "LogicalDisk", "Machine", "HostGroup", "PhysicalDisk", "PoolMember", "Replication", "RollbackGroup", "ScsiPort", "ServerGroup", "ServerMachine", "ServerScsiPort", "SharedDiskPool", "SharedPhysicalDisk", "SnapshotGroup", "SnapshotRelation", "StreamLogicalDisk", "VirtualDiskGroup", "VirtualDisk", "VirtualLogicalUnit", "VirtualTargetDevice", and "VirtualTargetDomain". Full category names are also supported, for instance "DiskPool" as well "DiskPoolPerformance".
starttime The starting date and time of the performance recording. An example of the format is "2018.01.30T14:00:00Z". Even if the 'Z' parameter is not specified at the end we will still treat it as UTC time. All instances which existed at or after the start time will be returned. This parameter can be used with the parameter EndTime to create a time frame.
endtime The ending date and time of the performance recording. An example of the format is "2018.01.30T14:00:00Z". Even if the 'Z' parameter is not specified at the end we will still treat it as UTC time. All instances which existed before or at the end time will be returned.This parameter can be used with the parameter StartTime to create a time frame.
Request Body
None
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/recordinginstances?endpoint=EAC11308-BD78-4EFF-9CDD-C46AE4CED481&starttime=2018.08.31T14:00:00Z&endtime=2018.09.01T00:00:00Z

Request body

None

Response body

[
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535810700000)/",
            "StartTime": "/Date(1532101740000)/"
        },
        "Alias": "",
        "Caption": "heavy-pool",
        "ExtendedCaption": "heavy-pool on Heavy",
        "KeyData": {
            "Id": "67928EE1-F9AF-4109-B332-6F8F91E5B06D:{7b5c669a-8b7d-11e8-8431-002590570c2f}",
            "PerformanceType": 11
        }
    },
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535810700000)/",
            "StartTime": "/Date(1532632440000)/"
        },
        "Alias": "",
        "Caption": "metal-pool",
        "ExtendedCaption": "metal-pool on Metal",
        "KeyData": {
            "Id": "4519C7E1-F701-492D-BDEB-CAD37E2FCB39:{eb16e25c-90fc-11e8-8426-002590570de7}",
            "PerformanceType": 11
        }
    },
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535810700000)/",
            "StartTime": "/Date(1534455840000)/"
    },
        "Alias": "",
        "Caption": "Disk 1 in Heavy Pool",
        "ExtendedCaption": "Disk 1 in Heavy Pool on Heavy",
        "KeyData": {
            "Id": "{86db7f0a-edd9-4a50-9450-6b02884cebc0}",
            "PerformanceType": 3
        }
    },
    .
    .
    .
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535748900000)/",
            "StartTime": "/Date(1535739840000)/"
        },
        "Alias": "",
        "Caption": "ST3500413AS JC45",
        "ExtendedCaption": "ST3500413AS JC45 on Metal",
        "KeyData": {
            "Id": "{593ea82e-44d6-4fe6-a2fb-6321546f7b78}",
            "PerformanceType": 3
        }
    },
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535740500000)/",
            "StartTime": "/Date(1535740440000)/"
        },
        "Alias": "",
        "Caption": "Virtual disk 4",
        "ExtendedCaption": "Virtual disk 4 on Heavy",
        "KeyData": {
            "Id": "67928EE1-F9AF-4109-B332-6F8F91E5B06D-077f51fc3ac74df6b2a2104c01a6a6bf",
            "PerformanceType": 3
        }
    },
    {
        "ActivityWindow": {
            "EndTime": "/Date(1535740500000)/",
            "StartTime": "/Date(1535740440000)/"
        },
        "Alias": "",
        "Caption": "Loopback Port 1 on Heavy | Loopback Port 1 on Heavy | LUN 0",
        "ExtendedCaption": "Loopback Port 1 on Heavy | Loopback Port 1 on Heavy | LUN 0",
        "KeyData": {
            "Id": "53be422a-ddfe-4b20-9146-eab334aae40e",
            "PerformanceType": 8
        }
    }
]

To Table of Operations Get Recording Performance

Returns recorded performance data for a specific instance or counters.

Version

1.0

Method

GET

URI template

/1.0/recordinginstances?endpoint={endpoint}&instance={instance}&starttime={starttime}&endtime={endtime}&resolution={resolution}&category={category}&counters={counters}&filtration={filtration}

URI parameters
endpoint Endpoint Id of the SQL server from which we want to get performance. (mandatory)
instance Id of the instance for which we want to get recorded performance. You can pass also 'all' if you want to get for all instances. (mandatory)
starttime The starting date and time of the performance recording. The format is "2012-12-31T14:00:00.000Z". Even if the 'Z' parameter is not specified at the end we will still treat it as UTC time. All data which existed at or after the start time will be returned. This parameter can be used with the parameter EndTime to create a time frame.
endtime The ending date and time of the performance recording. The format is "2012-12-31T16:00:00.000Z". Even if the 'Z' parameter is not specified at the end we will still treat it as UTC time. All data which existed at or before the end time will be returned.This parameter can be used with the parameter StartTime to create a time frame.
resolution The interval between each recording point in the recording session. For instance, if the resolution is 10 minutes, recorded data will be returned for every 10 minute interval. This parameter accepts number of minutes. Note: Data is recorded at a default rate of every 10 minutes, so the recording interval rate should be considered for the resolution value in order to get meaningful recording performance data returned.
category The name of a category. If specified, only data for this category will be returned.
counters The name of one or more specific counters.
filtration Special filtration only available when instance is 'all'. You need to pass key=value pairs for each filter you want to add. Possible options: set=current - This works on category VirtualLogicalUnit. It will return historical data if available for all virtual logical units that are also currently present. set=historical - This works on category VirtualLogicalUnit. It will return historical data for all virtual logical units that are in the database. categoryfilter=client - This works on category VirtualLogicalUnit. It will return only client mappings. If not used will return both client and mirror mappings.
Request Body
None
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/recordingperformance?endpoint=EAC11308-BD78-4EFF-9CDD-C46AE4CED481&instance=477f879b-c67e-402f-bfde-fa26d7e89458&resolution=10&starttime=2018.08.31T16:04:34.613Z&endtime=2018.08.31T17:24:34.613Z

Request body

None

Response body

[
    {
        "InstanceKeyData": {
            "Id": "477f879b-c67e-402f-bfde-fa26d7e89458",
            "PerformanceType": 8
        },
        "PerformanceSeries": [
            {
                "CollectionTime": "/Date(1535731800000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1657237504,
                "TotalBytesWritten": 1653542912,
                "TotalReads": 404599,
                "TotalWrites": 403697,
                "TotalOperations": 0,
                "TotalReadTime": 2190,
                "TotalWriteTime": 211083,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535732400000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1653063680,
                "TotalBytesWritten": 1653391360,
                "TotalReads": 403580,
                "TotalWrites": 403660,
                "TotalOperations": 0,
                "TotalReadTime": 2340,
                "TotalWriteTime": 213408,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535733000000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1657151488,
                "TotalBytesWritten": 1658204160,
                "TotalReads": 404578,
                "TotalWrites": 404835,
                "TotalOperations": 0,
                "TotalReadTime": 2085,
                "TotalWriteTime": 213588,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535733600000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1649311744,
                "TotalBytesWritten": 1642516480,
                "TotalReads": 402664,
                "TotalWrites": 401005,
                "TotalOperations": 0,
                "TotalReadTime": 2614,
                "TotalWriteTime": 208626,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535734200000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1580105728,
                "TotalBytesWritten": 1576001536,
                "TotalReads": 385768,
                "TotalWrites": 384766,
                "TotalOperations": 0,
                "TotalReadTime": 2430,
                "TotalWriteTime": 227074,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535734800000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1579700224,
                "TotalBytesWritten": 1574948864,
                "TotalReads": 385669,
                "TotalWrites": 384509,
                "TotalOperations": 0,
                "TotalReadTime": 2550,
                "TotalWriteTime": 227806,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535735400000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1572859904,
                "TotalBytesWritten": 1572700160,
                "TotalReads": 383999,
                "TotalWrites": 383960,
                "TotalOperations": 0,
                "TotalReadTime": 2506,
                "TotalWriteTime": 226171,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            },
            {
                "CollectionTime": "/Date(1535736000000)/",
                "NullCounterMap": 18446744073709551393,
                "TotalBytesTransferred": 0,
                "TotalBytesRead": 1567334400,
                "TotalBytesWritten": 1571569664,
                "TotalReads": 382650,
                "TotalWrites": 383684,
                "TotalOperations": 0,
                "TotalReadTime": 1650,
                "TotalWriteTime": 234392,
                "MaxReadTime": 0,
                "MaxWriteTime": 0,
                "MaxReadSize": 0,
                "MaxWriteSize": 0,
                "MaxOperationSize": 0
            }
        ]
    }
]

To Table of Operations Get Replication Groups

Returns replication partner group data for the server group.

Version

1.0

Method

GET

URI template

/1.0/replicationgroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/replicationgroups

Request body

None

Response body

[
  {
    "Caption": "ControllerProxy",
    "ExtendedCaption": "ControllerProxy",
    "Id": "3593fb4b-4b7c-4bbd-bbc6-35d64966e96b",
    "Internal": false,
    "SequenceNumber": 554472,
    "Connected": true,
    "EnableCompression": true,
    "GroupId": "54645e20-292e-4b7d-8dd7-3c3e980be364",
    "HostAddresses": [
      "StorageSvr005"
    ],
    "IncomingCredentials": {
      "Password": "",
      "Username": ""
    },
    "OutgoingCredentials": {
      "Password": "ku5mYQmX786shqzhLpTALaODoQcdVebaUm36jXmaKf0=",
      "Username": ""
    }
  }
]

To Table of Operations Get Replications

Returns replication data for local and remote server group replications.

Version

1.0

Method

GET

URI template

/1.0/replications

URI parameters
virtualdisk
virtualdiskgroup
onlylocalside
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/replications

Request body

None

Response body

[ {
 "Caption" : "Virtual disk 1",
 "ExtendedCaption" : "Virtual disk 1 from Group1",
 "Id" : "a46a23f1-b6fa-4f3c-a265-5d90e1201f7e",
 "Internal" : false,
 "SequenceNumber" : 10922,
 "AutoAsyncReplicationLicense" : 1,
 "BackendStatus" : 2,
 "CheckpointSnapshotId" : null,
 "FirstServerId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
 "FirstVirtualDiskId" : "bb559078535047789ced8db9f4b7f9a3",
 "InitializationType" : 2,
 "IsActiveSide" : true,
 "OfflineInitializationSupported" : true,
 "ReplicationState" : 5,
 "SecondServerId" : "1749d66b-3a4c-4e92-936f-33e693173dd7:737B4128-2806-4C46-BA64-2409C345FE9D",
 "SecondVirtualDiskId" : "43c4d09b49d345f7af97e6ab36ed1d99",
 "TransferStatus" : 2
}, {
 "Caption" : "Virtual disk 1",
 "ExtendedCaption" : "Virtual disk 1 from Group2",
 "Id" : "a0ab1dce-f06b-4e63-a489-b06d55ec0301",
 "Internal" : false,
 "SequenceNumber" : 10926,
 "AutoAsyncReplicationLicense" : 1,
 "BackendStatus" : 1,
 "CheckpointSnapshotId" : null,
 "FirstServerId" : "1749d66b-3a4c-4e92-936f-33e693173dd7:737B4128-2806-4C46-BA64-2409C345FE9D",
 "FirstVirtualDiskId" : "43c4d09b49d345f7af97e6ab36ed1d99",
 "InitializationType" : 2,
 "OfflineInitializationSupported" : true,
 "ReplicationState" : 2,
 "SecondServerId" : "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
  "SecondVirtualDiskId" : "bb559078535047789ced8db9f4b7f9a3",
"TransferStatus" : 2
} ]

To Table of Operations Get Roles

Returns all user roles in the server group.

Version

1.0

Method

GET

URI template

/1.0/roles

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/roles

Request body

None

Response body

[
  {  
     "Caption" : "Full Privileges",
     "ExtendedCaption" : "Full Privileges",
     "Id" : "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}",
     "Internal" : false,
     "SequenceNumber" : 10815,
     "Alias" : "Full Privileges",
     "Description" : "Role with full privileges",
     "IsPredefined" : true,
     "Privileges" : {
       "ClientMachines" : 7,
       "Controller" : 126,
       "DiskPools" : 63,
       "General" : 1,
       "HostGroups" : 31,
       "License" : 3,
       "Logs" : 7,
       "Monitors" : 15,
       "PartnerController" : 7,
       "PerformanceRecording" : 31,
       "PhysicalDisks" : 7,
       "Ports" : 63,
       "Replications" : 511,
       "Roles" : 7,
       "Rollbacks" : 31,
       "ServerMachineGroups" : 15,
       "ServerMachines" : 127,
       "Snapshots" : 31,
       "StorageProfiles" : 7,
       "Tasks" : 2047,
       "Users" : 127,
       "VirtualDiskGroups" : 31,
       "VirtualDiskTemplate" : 15,
       "VirtualDisks" : 255
     }
   },
   .
   .
   .
   {
      "Caption" : "Networking",
      "ExtendedCaption" : "Networking",
      "Id" : "{865c445d-73da-4281-b081-b9d8473c82a3}",
      "Internal" : false,
      "SequenceNumber" : 12015,
      "Alias" : "Networking",
      "Description" : null,
      "IsPredefined" : false,
      "Privileges" : {
        "ClientMachines" : 7,
        "Controller" : 126,
        "DiskPools" : 63,
        "General" : 3,
        "HostGroups" : 31,
        "License" : 0,
        "Logs" : 0,
        "Monitors" : 15,
        "PartnerController" : 0,
        "PerformanceRecording" : 0,
        "PhysicalDisks" : 7,
        "Ports" : 63,
        "Replications" : 0,
        "Roles" : 0,
        "Rollbacks" : 0,
        "ServerMachineGroups" : 15,
        "ServerMachines" : 127,
        "Snapshots" : 0,
        "StorageProfiles" : 0,
        "Tasks" : 0,
        "Users" : 127,
        "VirtualDiskGroups" : 31,
        "VirtualDiskTemplate" : 0,
        "VirtualDisks" : 255
      }
   }
]

Notes

In the response, the decimal value for each privilege group represents a binary number. To calculate the individual privileges enabled in each privilege group, the decimal value must be converted to a binary number. Each bit in the number represents a different privilege in the group. The first bit is the rightmost bit. Refer to the enum for the privilege group to find the corresponding individual privileges assigned in the privilege group. For example, if the decimal value returned for StorageProfiles privilege group is "3", convert 3 to binary (00000011). The first two bits are enabled (00000001 and 00000010), which equates to decimal value 1 and 2. In the StorageProfilePrivileges type, ConfigureProfile is decimal value 1, and CreateProfile is decimal value 2. Another example, if the decimal value returned for VirtualDiskGroupPrivileges is "13", convert 13 to binary (00001101). The first, third and fourth bit positions are enabled (00000001, 00000100, and 00001000), which equates to decimal values 1 (CreateVirtualDiskGroup), 4 (AddVirtualDisk), and 8 (RemoveVirtualDisk) in the VirtualDiskGroupPrivileges type. Privileges Group Enums: "DataCoreServer" - Refer to ServerMachinePrivileges. "DataCoreServerGroup" - Refer to ServerMachineGroupPrivileges. "DiskPool" - Refer to DiskPoolPrivileges. "General" - Refer to GeneralPrivileges. "Host" - Refer to ClientMachinePrivileges. "HostGroup" - Refer to HostGroupPrivileges. "License" - Refer to LicensePrivileges. "Log" - Refer to LogPrivileges. "PerformanceRecording" - Refer to PerformanceRecordingPriviledges. "PhysicalDisk" - Refer to PhysicalDiskPrivileges. "Port" - Refer to PortPrivileges. "Replication" - Refer to ReplicationPrivileges. "ReplicationPartner" - Refer to PartnerControllerPrivileges. "Role" - Refer to RolePrivileges. "Rollback" - Refer to RollbackPrivileges. "ServiceLevel" - Refer to ExecutivePrivileges. "Snapshot" - Refer to SnapshotPrivileges. "StorageProfile" - Refer to StorageProfilePrivileges. "SystemHealthMonitor" - Refer to MonitorPrivileges. "Task" - Refer to TaskPrivileges. "UserAccount" - Refer to UserPrivileges. "VirtualDisk" - Refer to VirtualDiskPrivileges. "VirtualDiskGroup" - Refer to VirtualDiskGroupPrivileges. "VirtualDiskTemplate" - Refer to VirtualDiskTemplatePrivileges.

To Table of Operations Get Rollback Groups

Returns all rollback group data for the server group.

Version

1.0

Method

GET

URI template

/1.0/rollbackgroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/rollbackgroups

Request body

None

Response body

[
  {
     "Caption": "VD Group 1 @ 2/7/2017 1:56:54 PM UTC",
     "ExtendedCaption": "VD Group 1 @ 2/7/2017 1:56:54 PM UTC",
     "Id": "{b11980bb-da6e-47d8-8ceb-5fc309649bc0}",
     "Internal": false,
     "SequenceNumber": 350618,
     "Alias": "VD Group 1 @ 2/7/2017 1:56:54 PM UTC",
     "Description": null,
     "StorageDomainSettings": {
       "ChargeBackEnabled": false,
       "MaxDataTransferredPerSec": 0,
       "MaxIoOperationsPerSec": 0
     },
     "TotalCapacity": {
       "Value": 12884901888
     },
     "ParentGroupId": "{5d4e373a-be06-4e4f-9fb5-3011b03fc566}"
   }
]

To Table of Operations Get Rollbacks

Returns rollback data for all rollbacks in the server group.

Version

1.0

Method

GET

URI template

/1.0/rollbacks

URI parameters
server ID of a specific server
virtualdisk ID of the specific virtual disk
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/rollbacks

Request body

None

Response body

[
  {
     "Caption" : "Virtual disk 1 @ 2/6/2017 9:44:57 PM UTC",
     "ExtendedCaption" : "Virtual disk 1 @ 2/6/2017 9:44:57 PM UTC on StorageSvr005",
     "Id" : "V.{52EA8BE1-E1B2-11E6-80DD-00155D651612}-00000003--V.{52EA8BE1-E1B2-11E6-80DD-00155D651612}-00000008",
     "Internal" : false,
     "SequenceNumber" : 12170,
     "AutoExpire" : false,
     "DestinationLogicalDiskId" : "461d5356-45fe-4d49-b57b-8549ff5650ec",
     "RestorePoint" : "/Date(1486417497000)/",
     "SourceLogicalDiskId" : "cd0c8e06-5ddd-4818-a262-4c581a21f906",
     "State" : 2
   }
]

To Table of Operations Get Server Groups

Returns server group data for the server group, including replication partner groups.

Version

1.0

Method

GET

URI template

/1.0/servergroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/servergroups

Request body

None

Response body

[
   {
      "Caption": "REST Group 2",
      "ExtendedCaption": "REST Group 2",
      "Id": "54645e20-292e-4b7d-8dd7-3c3e980be364",
      "Internal": false,
      "SequenceNumber": 534,
      "Alias": "REST Group 2",
      "BulkStorageUsed": {
        "Value": 0
      },
      "ContactData": null,
      "DataCoreStorageUsed": {
        "Value": 0
      },
      "Description": null,
      "ExistingProductKeys": null,
      "LicenseSettings": {
        "AutoTiering": 0,
        "BidirectionalReplication": 1,
        "BulkEnabled": 0,
        "FiberChannel": 0,
        "HeatMaps": 0,
        "LicensedBulkStorage": {
          "Value": 0
        },
      "MaxBypassThreads": 0,
      "MaxMappedHosts": 2147483647,
      "MaxPartnerGroups": 16,
      "MaxPollerThreads": 0,
      "MaxServers": 32,
      "Mirroring": 0,
      "PerformanceAnalysis": 1,
      "ResourceAuthorization": 1,
      "RetentionTime": 9223372036854775807,
      "SequentialStorage": 0,
      "SharedStorage": 0,
      "Snapshot": 0,
      "StorageCapacity": {
        "Value": 281474976710656
      },
      "ThinProvisioning": 0,
      "iSCSI": 0
      },
      "LicenseType": 2,
      "MaxStorage": {
        "Value": 1125899906842624
      },
      "OurGroup": false,
      "RecoverySpeed": 0,
      "SmtpSettings": null,
      "State": 1,
      "StorageUsed": {
        "Value": 0
      },
      "SupportBundleRelayAddress": null
  },
  {
     "Caption": "REST Group 1",
     "ExtendedCaption": "REST Group 1",
     "Id": "eb98e5fb-2c87-4158-95f1-eb0e022443a6",
     "Internal": false,
       "SequenceNumber": 496,
       "Alias": "REST Group 1",
       "BulkStorageUsed": {
         "Value": 0
       },
       "ContactData": null,
       "DataCoreStorageUsed": {
         "Value": 107374182400
       },
       "Description": null,
       "ExistingProductKeys": [
         {
            "Capacity": {
              "Value": 0
            },
            "Key": null,
            "LastFive": "RRR8G",
            "ServerId": null
         },
         {
           "Capacity": {
             "Value": 0
           },
          "Key": null,
          "LastFive": "5N8NP",
          "ServerId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033"
         }
       ],
     "LicenseSettings": {
       "AutoTiering": 0,
       "BidirectionalReplication": 1,
       "BulkEnabled": 0,
       "FiberChannel": 0,
       "HeatMaps": 0,
       "LicensedBulkStorage": {
         "Value": 0
       },
     "MaxBypassThreads": 0,
     "MaxMappedHosts": 2147483647,
     "MaxPartnerGroups": 16,
     "MaxPollerThreads": 0,
     "MaxServers": 32,
     "Mirroring": 0,
     "PerformanceAnalysis": 1,
     "ResourceAuthorization": 1,
     "RetentionTime": 9223372036854775807,
     "SequentialStorage": 0,
     "SharedStorage": 0,
     "Snapshot": 0,
     "StorageCapacity": {
       "Value": 281474976710656
     },
     "ThinProvisioning": 0,
     "iSCSI": 0
     },
     "LicenseType": 2,
     "MaxStorage": {
        "Value": 1125899906842624
      },
      "OurGroup": true,
      "RecoverySpeed": 32,
      "SmtpSettings": null,
      "State": 1,
      "StorageUsed": {
        "Value": 0
      },
      "SupportBundleRelayAddress": null
   }  
]

To Table of Operations Get Server Groups Ex

Returns extended server group data for the server group

Version

2.0

Method

GET

URI template

/2.0/servergroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/2.0/servergroups

Request body

None

Response body

None

To Table of Operations Get Server Hosts

Returns data for server hosts

Version

2.0

Method

GET

URI template

/2.0/servers

URI parameters
None
Request Body
None
Response Code
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/2.0/servers

Request body

None

Response body

None

To Table of Operations Get Servers

Returns system and product information, and server properties for all servers in the server group, including replication partners.

Version

1.0

Method

GET

URI template

/1.0/servers

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/servers

Request body

None

Response body

[
  {
    "Caption": "StorageSvr004",
    "ExtendedCaption": "StorageSvr004 in REST Group 1",
    "Id": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
    "Internal": false,
    "SequenceNumber": 8074,
    "Description": "",
    "HostName": "StorageSvr004.datacoresoftware.com",
    "MpioCapable": true,
    "AluaGroupId": 1,
    "AvailableSystemMemory": {
      "Value": 1543843840
    },
    "BackupStorageFolder": null,
    "BuildType": "Release",
    "CacheSize": {
      "Value": 0134217728
    },
    "CacheState": 2,
    "DataCoreStorageUsed": {
      "Value": 107374182400
    },
    "DiagnosticMode": 1,
    "GroupId": "eb98e5fb-2c87-4158-95f1-eb0e022443a6",
    "HypervisorHostId": null,
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "IpAddresses": [
      "13.0.0.45",
      "fe80::44d2:2222:81c3:8b14",
      "13.0.0.46",
      "fe80::a024:faf8:a5ff:1bcd",
      "13.0.0.47",
      "fe80::c4e3:b7c6:ed42:3ddf",
      "13.0.0.48",
      "fe80::1807:19:c3db:3ee6",
      "172.00.00.000",
      "fe80::c558:d37e:517:c884"
    ],
    "IsLicensed": true,
    "IsVirtualMachine": true,
    "LicenseExceeded": false,
    "LicenseNumber": 2513008801887348963,
    "LicenseRemaining": 9223372036854775807,
    "LicenseSettings": {
      "AutoTiering": 1,
      "BidirectionalReplication": 0,
      "BulkEnabled": 0,
      "FiberChannel": 1,
      "HeatMaps": 1,
      "LicensedBulkStorage": {
        "Value": 18446744073709551615
      },
      "MaxBypassThreads": 0,
      "MaxMappedHosts": 500,
      "MaxPartnerGroups": 2147483647,
      "MaxPollerThreads": 0,
      "MaxServers": 2147483647,
      "Mirroring": 1,
      "PerformanceAnalysis": 0,
      "ResourceAuthorization": 0,
      "RetentionTime": 1728000000000,
      "SequentialStorage": 1,
      "SharedStorage": 1,
      "Snapshot": 1,
      "StorageCapacity": {
        "Value": 18446744073709551615
      },
      "ThinProvisioning": 1,
      "iSCSI": 1
    },
    "LogStatus": 0,
    "LogStorePoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{c711a472-e926-11e6-80d7-00155d651611}",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "PowerState": 2,
    "ProcessorInfo": {
      "CpuArchitecture": 9,
      "NumberCores": 2,
      "ProcessorName": "Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz"
    },
    "ProductBuild": "15.0.700.10682",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "10.0 PSP 7",
    "RegionNodeId": "ExecutiveNode:A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
    "ReplicationBufferFolder" : "R:",
    "SnapshotMapStoreId": "V.{d68b8a36-0ec4-11e5-80ba-00155d651622}-0000001D",
    "SnapshotMapStorePoolId": "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551:{d68b8a36-0ec4-11e5-80ba-00155d651622}",
    "State": 2,
    "StorageUsed": {
      "Value": 0
    },
    "SupportState": 1,
    "TotalSystemMemory": {
      "Value": 3220754432
    }
  },
.
.
.
  {
    "__type": "PartnerServerHostData:#DataCore.Executive",
    "Caption": "StorageSvr005",
    "ExtendedCaption": "StorageSvr005 in REST Group 2",
    "Id": "92b3a74c-1ba6-43f9-af2f-bfde4f7b1b9b:23861AF4-D9C7-41E8-B520-B5876B9D85CB",
    "Internal": false,
    "SequenceNumber": 537,
    "Description": "",
    "HostName": "StorageSvr005.datacoresoftware.com",
    "MpioCapable": true,
    "AluaGroupId": 1,
    "AvailableSystemMemory": {
      "Value": 1543843840
    },
    "BackupStorageFolder": null,
    "BuildType": "Release",
    "CacheSize": {
      "Value": 0134217728
    },
    "CacheState": 2,
    "DataCoreStorageUsed": {
      "Value": 107374182400
    },
    "DiagnosticMode": 1,
    "GroupId": "54645e20-292e-4b7d-8dd7-3c3e980be364",
    "HypervisorHostId": null,
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "IpAddresses": [
      "172.00.00.000",
      "fe80::a455:aa4b:d672:51e7",
      "13.0.0.25",
      "fe80::5901:c668:281f:135d",
      "13.0.0.26",
      "fe80::e4d9:df1a:8553:b186",
      "13.0.0.27",
      "fe80::d525:efea:8c83:991a"
    ],
    "IsLicensed": true,
    "IsVirtualMachine": true,
    "LicenseExceeded": false,
    "LicenseNumber": 2513008801887348999,
    "LicenseRemaining": 9223372036854775807,
    "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
     },
     "ThinProvisioning": 1,
     "iSCSI": 1
   },
   "LogStatus": 0,
   "LogStorePoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{c711a472-e926-11e6-80d7-00155d651611}",
   "OsVersion": "Windows Server 2012 x64 Edition",
   "PowerState": 2,
   "ProcessorInfo": {
     "CpuArchitecture": 9,
     "NumberCores": 2,
     "ProcessorName": "Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz"
   },
   "ProductBuild": "15.0.700.10682",
   "ProductName": "DataCore SANsymphony",
   "ProductType": "Standard",
   "ProductVersion": "10.0 PSP 7",
   "RegionNodeId": "ExecutiveNode:A3E78CFA-DBEC-44E1-A23C-E9E262EC4551",
   "ReplicationBufferFolder" : "R:",
   "SnapshotMapStoreId": "V.{d68b8a36-0ec4-11e5-80ba-00155d651622}-0000001D",
   "SnapshotMapStorePoolId": "A3E78CFA-DBEC-44E1-A23C-E9E262EC4551:{d68b8a36-0ec4-11e5-80ba-00155d651622}",
   "State": 2,
   "StorageUsed": {
     "Value": 0
   },
   "SupportState": 1,
   "TotalSystemMemory": {
     "Value": 3220754432
   },
   "SelectedAddress" : null
  }
]

To Table of Operations Get Shared Physical Disks

Returns data for all shared physical disks for all servers in the server group.

Version

1.0

Method

GET

URI template

/1.0/sharedphysicaldisks

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/sharedphysicaldisks

Request body

None

Response body

[
  {
     "Caption": "DataCoreVirtual Disk",
     "ExtendedCaption": "Shared disk DataCoreVirtual Disk - StorageSvr004 | StorageSvr005",
     "Id": "naa.60030d908e44b806c61696ab4f628e7f",
     "Internal": false,
     "SequenceNumber": 14113
   }
]

To Table of Operations Get Shared Pools

Returns data for shared pools in the server group.

Version

1.0

Method

GET

URI template

/1.0/sharedpools

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/sharedpools

Request body

None

Response body

[
  {
     "Caption": "Shared pool 1",
     "ExtendedCaption": "Shared Shared pool 1 - StorageSvr004 | StorageSvr005",
     "Id": "{a920d27d-ecb1-11e6-80d8-00155d651611}",
     "Internal": false,
     "SequenceNumber": 14230,
     "ChunkSize": {
       "Value": 134217728
     },
     "MaxTierNumber": 3,
     "PoolStatus": 0,
     "PresenceStatus": 1,
     "SMPAApproved": true,
     "SectorSize": {
       "Value": 512
     },
     "TierReservedPct": 0
   }
]

To Table of Operations Get Snapshot Group Creation Properties

Returns snapshot group creation data for all virtual disk(s) in the specified virtual disk group.

Version

1.0

Method

GET

URI template

/1.0/snapshotgroupcreationproperties/{virtualDiskGroupId}

URI parameters
virtualDiskGroupId ID of a specific Virtual Disk Group
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/snapshotgroupcreationproperties/{00ad8e06-a110-407e-bb24-fe88e0ee6804}

Request body

None

Response body

[
    {
        "VirtualDiskGroupId": "{00ad8e06-a110-407e-bb24-fe88e0ee6804}",
        "VirtualDiskId": "905dd33b67ca4aabac6f27ffb6a311b1",
        "DestinationPoolId": "4B9F70E1-6D58-4AAD-987F-CF17F2DD6C94:{6508f8ef-41af-11ee-9f8c-00155d026515}",
        "StorageProfileId": "A122B0E3-7D32-4783-BDE4-619049C936C9",
        "Compression": false
    },
    {
        "VirtualDiskGroupId": "{00ad8e06-a110-407e-bb24-fe88e0ee6804}",
        "VirtualDiskId": "39a7ca52898642cd843c4845b283cf99",
        "DestinationPoolId": "4B9F70E1-6D58-4AAD-987F-CF17F2DD6C94:{6508f8c8-41af-11ee-9f8c-00155d026515}",
        "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
        "Compression": true
    }
]

To Table of Operations Get Snapshot Groups

Returns snapshot group data for all snapshot groups in the server group.

Version

1.0

Method

GET

URI template

/1.0/snapshotgroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/snapshotgroups

Request body

None

Response body

[
  {
     "Caption": "VD Group 1 @ 2/7/2017 5:09:09 PM UTC",
     "ExtendedCaption": "VD Group 1 @ 2/7/2017 5:09:09 PM UTC",
     "Id": "{e1d769dc-b428-4abd-bf4f-45ae79cea441}",
     "Internal": false,
     "SequenceNumber": 14413,
     "Alias": "VD Group 1 @ 2/7/2017 5:09:09 PM UTC",
     "Description": null,
     "StorageDomainSettings": {
       "ChargeBackEnabled": false,
       "MaxDataTransferredPerSec": 0,
       "MaxIoOperationsPerSec": 0
     },
     "TotalCapacity": {
       "Value": 48318382080
     },
     "ActiveOperation": 0,
     "ParentGroupId": "{5d4e373a-be06-4e4f-9fb5-3011b03fc566}",
     "TimeStamp": "/Date(1486487405652-0500)/",
     "Type": 0
   }
]

To Table of Operations Get Snapshots

Returns all snapshot data for all virtual disks in the server group.

Version

1.0

Method

GET

URI template

/1.0/snapshots

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/snapshots

Request body

None

Response body

[
  {
     "SourceLogicalDiskId": "f8f2715a-2dc0-440c-8b80-857642a5daa0",
     "DestinationLogicalDiskId": "c9aa4947-7199-4e91-9c41-c97e97134abb",
     "Type": 0,
     "TimeStamp": "/Date(1486487405652-0500)/",
     "ActiveOperation": 0,
     "State": 1,
     "Failure": 0,
     "CompressionEnabled": true,
     "SequenceNumber": 14495,
     "Id": "V.{2F652562-E7E3-11E6-80D7-00155D651611}-00000001--V.{2F652562-E7E3-11E6-80D7-00155D651611}-0000000F",
     "Caption": "Virtual disk 1 @ 2/7/2017 12:10:02 PM -05",
     "ExtendedCaption": "Virtual disk 1 @ 2/7/2017 12:10:02 PM -05 on StorageSvr004",
     "Internal": false
  },
  .
  .
  .
  {
     "SourceLogicalDiskId": "9b648491-0f8e-45c9-b5fa-ef99b9ce2e72",
     "DestinationLogicalDiskId": "a567ffe2-7836-47ef-bbb2-6f346a3ce348",
     "Type": 0,
     "TimeStamp": "/Date(1486487801744-0500)/",
     "ActiveOperation": 0,
     "State": 1,
     "Failure": 0,
     "CompressionEnabled": false,
     "SequenceNumber": 15085,
     "Id": "V.{52EA8DD9-E1B2-11E6-80DD-00155D651612}-00000001--V.{A920D27D-ECB1-11E6-80D8-00155D651611}-00000002",
     "Caption": "Virtual disk 4 @ 2/7/2017 5:15:12 PM UTC",
     "ExtendedCaption": "Virtual disk 4 @ 2/7/2017 5:15:12 PM UTC on StorageSvr005",
     "Internal": false
  }
]

To Table of Operations Get Storage Profiles

Returns data for all storage profiles in the server group.

Version

1.0

Method

GET

URI template

/1.0/storageprofiles

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/storageprofiles

Request body

None

Response body

[
  {
     "Caption": "Critical",
     "ExtendedCaption": "Critical Profile",
     "Id": "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
     "Internal": false,
     "SequenceNumber": 12615,
     "Alias": "Critical",
     "DefaultProfile": true,
     "Description": null,
     "PerformanceClass": 4,
     "RecoveryPriority": 3,
     "ReplicationPriority": 3,
     "WriteTracking": false
  },
  .
  .
  .
  {
     "Caption": "Custom profile 1",
     "ExtendedCaption": "Custom profile 1 Profile",
     "Id": "e43f15ea-c15e-4335-902d-a8bf27c05bed",
     "Internal": false,
     "SequenceNumber": 15144,
     "Alias": "Custom profile 1",
     "DefaultProfile": false,
     "Description": "High performance with write-aware auto-tiering",
     "PerformanceClass": 3,
     "RecoveryPriority": 2,
     "ReplicationPriority": 0,
     "WriteTracking": true
  }
]

To Table of Operations Get Target Devices

Returns path data for all target ports used by all virtual disks in the server group.

Version

1.0

Method

GET

URI template

/1.0/targetdevices

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/targetdevices

Request body

None

Response body

[
  {
     "Caption": "iSCSI Port 1 | Server iSCSI Port 2",
     "ExtendedCaption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 2 on StorageSvr004",
     "Id": "ab60c83e-2614-4e82-ba88-b6ced3f1203a",
     "Internal": false,
     "SequenceNumber": 13083,
     "DeviceName": null,
     "InitiatorPortId": "iqn.1991-05.com.microsoft:hostvm1.datacoresoftware.com",
     "TargetDomainId": "6896415c-a424-4345-9edb-d3e2ef249dc8",
     "TargetPortId": "57d6d265-6cd0-474b-82a3-d405a97d1473"
  },
  .
  .
  .
  {
     "Caption": "iSCSI Port 1 | Server iSCSI Port 4",
     "ExtendedCaption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 4 on StorageSvr005",
     "Id": "0fc68d42-1c8a-498f-8dbb-a1df3dac3099",
     "Internal": false,
     "SequenceNumber": 14881,
     "DeviceName": null,
     "InitiatorPortId": "iqn.1991-05.com.microsoft:hostvm1.datacoresoftware.com",
     "TargetDomainId": "a47face1-a6ff-48aa-ae11-0ec78bc4d4ad",
     "TargetPortId": "69b46545-0687-409d-8469-ce38ce9dcb62"
  }
]

To Table of Operations Get Target Domains

Returns initiator/target path data for servers and hosts in the server group.

Version

1.0

Method

GET

URI template

/1.0/targetdomains

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/targetdomains

Request body

None

Response body

[
  {
     "Caption": "HostVM1 | StorageSvr004",
     "ExtendedCaption": "HostVM1 | StorageSvr004",
     "Id": "6896415c-a424-4345-9edb-d3e2ef249dc8",
     "Internal": false,
     "SequenceNumber": 12930,
     "InitiatorHostId": "5c475fdb65c5407caf0b7535607481ce",
     "TargetHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033"
  },
  .
  .
  .
  {
     "Caption": "HostVM1 | StorageSvr005",
     "ExtendedCaption": "HostVM1 | StorageSvr005",
     "Id": "a47face1-a6ff-48aa-ae11-0ec78bc4d4ad",
     "Internal": false,
     "SequenceNumber": 14873,
     "InitiatorHostId": "5c475fdb65c5407caf0b7535607481ce",
     "TargetHostId": "23861AF4-D9C7-41E8-B520-B5876B9D85CB"
  }
]

To Table of Operations Get Tasks

Returns all tasks in the server group.

Version

1.0

Method

GET

URI template

/1.0/tasks

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/tasks

Request body

None

Response body

[
  {
     "Caption": "Task 1",
     "ExtendedCaption": "Task 1",
     "Id": "91a6de54-4e46-453a-a1f9-8f86f2bf9477",
     "Internal": false,
     "SequenceNumber": 15246,
     "AbortOnActionFailure": false,
     "ActionBehavior": 1,
     "ActionDelay": 0,
     "Connective": 1,
     "Description": null,
     "Enabled": true,
     "LastStartTime": "/Date(-62135578800000-0500)/",
     "LastStopTime": "/Date(-62135578800000-0500)/",
     "MaxRunTime": 6048000000000,
     "State": 0
  },
  {
     "Caption": "Task 2",
     "ExtendedCaption": "Task 2",
     "Id": "8e4adf14-2896-4728-a81a-d1d4dce27ecf",
     "Internal": false,
     "SequenceNumber": 15260,
     "AbortOnActionFailure": false,
     "ActionBehavior": 1,
     "ActionDelay": 0,
     "Connective": 1,
     "Description": null,
     "Enabled": true,
     "LastStartTime": "/Date(-62135578800000-0500)/",
     "LastStopTime": "/Date(-62135578800000-0500)/",
     "MaxRunTime": 6048000000000,
     "State": 0
  }
]

To Table of Operations Get Triggers

Returns triggers for the tasks in the server group. Data can be filtered by a task ID to get all triggers for a specific task. If the parameter is not specified, all triggers in the server group are returned.

Version

1.0

Method

GET

URI template

/1.0/triggers

URI parameters
taskId ID of a specific task
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/triggers?taskId=8e4adf14-2896-4728-a81a-d1d4dce27ecf

Request body

None

Response body

[
  {
     "__type": "MonthlyTriggerData:#DataCore.Executive",
     "Caption": "On the 1st day of every month at 2:47 PM starting on 3/1/2017",
     "ExtendedCaption": null,
     "Id": "a9495215-e1e7-4975-b130-77e84ff81f8b",
     "Internal": false,
     "SequenceNumber": 15265,
     "Active": false,
     "Description": null,
     "TaskId": "8e4adf14-2896-4728-a81a-d1d4dce27ecf",
     "Type": 0,
     "Recurrence": 4,
     "SignalDuration": 0,
     "StartTime": "/Date(1488397620000)/",
     "DayNumberInMonth": 1,
     "DayOfWeekInMonthlyByWeek": 0,
     "MonthIntervalByDayNumber": 1,
     "MonthIntervalByWeek": 1,
     "MonthlyByDateFlag": true,
     "WeekNumInMonthlyByWeek": 1
  }
]

To Table of Operations Get User-Role Relationships

Returns data showing the relationship between all users in the server group and their assigned roles.

Version

1.0

Method

GET

URI template

/1.0/userrolerelations

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/userrolerelations

Request body

None

Response body

[
  {
     "Caption": "Administrator | Full Privileges",
     "ExtendedCaption": "Administrator | Full Privileges",
     "Id": "f1e04360-3d70-4ea3-bea8-45c4668b88b3",
     "Internal": false,
     "SequenceNumber": 12629,
     "RoleId": "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}",
     "UserId": "{b743165a-3464-4786-b36b-4752b6d0ec78}"
  },
  {
     "Caption": "VSS | Full Privileges",
     "ExtendedCaption": "VSS | Full Privileges",
     "Id": "ede5c0b0-c320-4edf-b9cb-8c8bc2c7c700",
     "Internal": false,
     "SequenceNumber": 12630,
     "RoleId": "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}",
     "UserId": "3ec26378-667f-4a2a-822e-9ea97089bee5"
  }
]

To Table of Operations Get Users

Returns data for all users in the server group.

Version

1.0

Method

GET

URI template

/1.0/users

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/users

Request body

None

Response body

[
  {
     "Caption": "VSS",
     "ExtendedCaption": "VSS",
     "Id": "3ec26378-667f-4a2a-822e-9ea97089bee5",
     "Internal": true,
     "SequenceNumber": 12625,
     "BlendedPrivileges": {
       "ClientMachines": 7,
       "Controller": 126,
       "DiskPools": 63,
       "General": 1,
       "HostGroups": 31,
       "License": 3,
       "Logs": 7,
       "Monitors": 15,
       "PartnerController": 7,
       "PerformanceRecording": 31,
       "PhysicalDisks": 7,
       "Ports": 63,
       "Replications": 511,
       "Roles": 7,
       "Rollbacks": 31,
       "ServerMachineGroups": 15,
       "ServerMachines": 127,
       "Snapshots": 31,
       "StorageProfiles": 7,
       "Tasks": 2047,
       "Users": 127,
       "VirtualDiskGroups": 31,
       "VirtualDiskTemplate": 15,
       "VirtualDisks": 255
     },
     "Description": "This is a internal VSS service user",
     "EmailAddress": null,
     "IsAdministrator": false,
     "Name": "VSS",
     "RoleIds": [
       "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}"
     ]
  }, 
  .
  .
  .
  {
     "Caption": "John Doe",
     "ExtendedCaption": "John Doe",
     "Id": "{d0e4891d-3683-4a83-9794-bc87baafd74e}",
     "Internal": false,
     "SequenceNumber": 12628,
     "BlendedPrivileges": {
       "ClientMachines": 7,
       "Controller": 126,
       "DiskPools": 63,
       "General": 1,
       "HostGroups": 31,
       "License": 3,
       "Logs": 7,
       "Monitors": 15,
       "PartnerController": 7,
       "PerformanceRecording": 31,
       "PhysicalDisks": 7,
       "Ports": 63,
       "Replications": 511,
       "Roles": 7,
       "Rollbacks": 31,
       "ServerMachineGroups": 15,
       "ServerMachines": 127,
       "Snapshots": 31,
       "StorageProfiles": 7,
       "Tasks": 2047,
       "Users": 127,
       "VirtualDiskGroups": 31,
       "VirtualDiskTemplate": 15,
       "VirtualDisks": 255
     },
     "Description": null,
     "EmailAddress": "jdoe@companyB.com",
     "IsAdministrator": false,
     "Name": "John Doe",
     "RoleIds": [
       "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}"
     ]
  }
]

To Table of Operations Get vCenters

Returns all registered vCenters.

Version

1.0

Method

GET

URI template

/1.0/vcenters

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/vcenters

Request body

None

Response body

[
    {
        "Caption": "virtualcenter.datacoresoftware.com",
        "ExtendedCaption": "virtualcenter.datacoresoftware.com",
        "Id": "095f3491-b5d0-4151-b6d2-cd18b09cfca5",
        "Internal": false,
        "SequenceNumber": 19469838,
        "Description": null,
        "FullName": "VMware vCenter Server 6.0.0 build-3634793",
        "Password": "1I10NECGTI0hGY8sS4F5bZxZQZ9wb54feet5o/qsZ0A=",
        "ProductBuild": "3634793",
        "ServerAddress": "virtualcenter.datacoresoftware.com",
        "State": 4,
        "Username": "administrator@vsphere.local",
        "Version": "6.0"
    }
]

To Table of Operations Get Virtual Disk Groups

Returns virtual disk group data for all virtual disk groups in the server group. (This will not return rollback groups or snapshot groups associated with the virtual disk groups, see Get Rollback Groups or Get Snapshot Groups.)

Version

1.0

Method

GET

URI template

/1.0/virtualdiskgroups

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdiskgroups

Request body

None

Response body

[
  {
     "Caption": "VD Group 1",
     "ExtendedCaption": "VD Group 1",
     "Id": "{5d4e373a-be06-4e4f-9fb5-3011b03fc566}",
     "Internal": false,
     "SequenceNumber": 12992,
     "Alias": "VD Group 1",
     "Description": null,
     "StorageDomainSettings": {
       "ChargeBackEnabled": false,
       "MaxDataTransferredPerSec": 0,
       "MaxIoOperationsPerSec": 0
     },
     "TotalCapacity": {
       "Value": 48318382080
     }
  }
]

To Table of Operations Get Virtual Disk Templates

Returns all virtual disk templates for the server group.

Version

1.0

Method

GET

URI template

/1.0/virtualdisktemplates

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdisktemplates

Request body

None

Response body

[
  {
     "Caption": "Dual Seq",
     "ExtendedCaption": null,
     "Id": "e20f200eeda0413a9b5395fe32393e7b",
     "Internal": false,
     "SequenceNumber": 15631,
     "Alias": "Dual Seq",
     "AllocatedSpaceThresholdAttention": 100,
     "AllocatedSpaceThresholdCritical": 101,
     "AllocatedSpaceThresholdWarning": 101,
     "ContinuousDataProtectionLogSize": {
       "Value": 8589934592
     },
     "ContinuousDataProtectionPoolId": null,
     "DefaultSnapshotPoolId": "23861AF4-D9C7-41E8-B520-B5876B9D85CB:{52ea8dd9-e1b2-11e6-80dd-00155d651612}",
     "FirstDiskPoolId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033:{a920d27d-ecb1-11e6-80d8-00155d651611}",
     "LatencyThresholdAttention": 5,
     "LatencyThresholdCritical": 30,
     "LatencyThresholdWarning": 10,
     "MirrorTrunkMappingEnabled": false,
     "ReadOnly": false,
     "ReservedSpacePercentage": 0,
     "SecondDiskPoolId": "23861AF4-D9C7-41E8-B520-B5876B9D85CB:{a920d27d-ecb1-11e6-80d8-00155d651611}",
     "SectorSize": {
       "Value": 512
     },
     "SequentialStorageEnabled": true,
     "Size": {
       "Value": 107374182400
     },
     "StorageLatencyThresholdAttention": 5,
     "StorageLatencyThresholdCritical": 30,
     "StorageLatencyThresholdWarning": 10,
     "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
     "UseRedundantMirrorMappings": false,
     "VirtualDiskAlias": "CompanyB",
     "Tag": "vVol",
     "VirtualDiskDescription": "Dual virtual disk with Seauential storage enabled from Shared pool 1",
     "VirtualDiskSubType": 0,
     "VirtualDiskType": 3,
     "WriteThroughEnabled": true
   }
]

To Table of Operations Get Virtual Disks

Return data for virtual disks in the server group, including the replication partner groups. Data can be filtered by parameters type and/or kind. If no parameters are specified, all virtual disks in the server group are returned.

Version

1.0

Method

GET

URI template

/1.0/virtualdisks?type={type}&kind={kind}&snapshot={snapshot}&rollback={rollback}

URI parameters
type The virtual disk type to return, see the enum VirtualDiskType for values.
kind The kind of virtual disks to return. Valid values: "Standard" will return virtual disks that are not rollbacks or snapshots. "Rollback" will return virtual disks that are rollbacks. "Snapshot" will return virtual disks that are snapshots.
snapshot Id of a snapshot for which you want to get the corresponding virtual disk.
rollback Id of a rollback for which you want to get the corresponding virtual disk.
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdisks?type=0&kind=Rollback

Request body

None

Response body

[
  {
     "Caption": "Virtual disk 1 @ 2/7/2017 1:56:54 PM UTC",
     "ExtendedCaption": "Virtual disk 1 @ 2/7/2017 1:56:54 PM UTC from REST Group 1",
     "Id": "63f4960ce9ef4785b49079ac45839fed",
     "Internal": false,
     "SequenceNumber": 13384,
     "Alias": "Virtual disk 1 @ 2/7/2017 1:56:54 PM UTC",
     "BackupHostId": null,
     "Description": null,
     "Disabled": false,
     "DiskLayout": {
       "Cylinders": 0,
       "Heads": 0,
       "SectorsPerTrack": 0
     },
     "DiskStatus": 0,
     "FirstHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
     "InquiryData": {
       "Product": "Virtual Disk",
       "Revision": "DCS",
       "Serial": "63f4960ce9ef4785b49079ac45839fed",
       "Vendor": "DataCore"
     },
     "IsServed": false,
     "ManualRecovery": false,
     "MirrorTrunkMappingEnabled": false,
     "Offline": false,
     "PersistentReserveEnabled": true,
     "RecoveryPriority": 1,
     "RemovableMedia": false,
     "ScsiDeviceId": [
       96,
       3,
       13,
       144,
       97,
       7,
       27,
       5,
       71,
       198,
       53,
       52,
       87,
       109,
       20,
       75
     ],
     "ScsiDeviceIdString": "60030D9061071B0547C63534576D144B",
     "SecondHostId": null,
     "SectorSize": {
       "Value": 512
     },
     "Size": {
       "Value": 12884901888
     },
     "SnapshotPoolId": null,
     "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
     "SubType": 0,
     "TPThresholdsEnabled": false,
     "Type": 0,
     "VirtualDiskGroupId": "{b11980bb-da6e-47d8-8ceb-5fc309649bc0}",
     "WriteThrough": false
  },
  .
  .
  .
  {
     "Caption": "Virtual disk 3 @ 2/7/2017 1:56:54 PM UTC",
     "ExtendedCaption": "Virtual disk 3 @ 2/7/2017 1:56:54 PM UTC from REST Group 1",
     "Id": "d67a43579e5e48acb13c7f6686430cb1",
     "Internal": false,
     "SequenceNumber": 13390,
     "Alias": "Virtual disk 3 @ 2/7/2017 1:56:54 PM UTC",
     "BackupHostId": null,
     "Description": null,
     "Disabled": false,
     "DiskLayout": {
       "Cylinders": 0,
       "Heads": 0,
       "SectorsPerTrack": 0
     },
     "DiskStatus": 0,
     "FirstHostId": "6DBB54B7-A6B6-49D2-B64C-BA1317F66033",
     "InquiryData": {
       "Product": "Virtual Disk",
       "Revision": "DCS",
       "Serial": "d67a43579e5e48acb13c7f6686430cb1",
       "Vendor": "DataCore"
     },
     "IsServed": false,
     "ManualRecovery": false,
     "MirrorTrunkMappingEnabled": false,
     "Offline": false,
     "PersistentReserveEnabled": true,
     "RecoveryPriority": 1,
     "RemovableMedia": false,
     "ScsiDeviceId": [
       96,
       3,
       13,
       144,
       134,
       8,
       28,
       5,
       235,
       215,
       202,
       101,
       208,
       171,
       181,
       25
     ],
     "ScsiDeviceIdString": "60030D9086081C05EBD7CA65D0ABB519",
     "SecondHostId": null,
     "SectorSize": {
       "Value": 512
     },
     "Size": {
       "Value": 26843545600
     },
     "SnapshotPoolId": null,
     "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
     "SubType": 0,
     "TPThresholdsEnabled": false,
     "Type": 0,
     "VirtualDiskGroupId": "{b11980bb-da6e-47d8-8ceb-5fc309649bc0}",
     "WriteThrough": false
  }
]
Example 2

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtualdisks?type=0&kind=Rollback

Request body

None

Response body

None

To Table of Operations Get Virtual Logical Units

Returns front-end or mirror path data for logical disks on all servers in the server group.

Version

1.0

Method

GET

URI template

/1.0/virtuallogicalunits?initiatorport={initiatorport}&targetport={targetport}&initiatorhost={initiatorhost}&targethost={targethost}&virtualdisk={virtualdisk}

URI parameters
initiatorport ID of an initiator port. If the port is specified, only data for that port will be returned.
targetport ID of a target port. If the port is specified, only data for that port will be returned.
initiatorhost ID of a server or ID of a client host used as an initiator. If the initiator host is specified, only data for that server or client host will be returned.
targethost ID of the server used as a target. If specified, data for that server will be returned.
virtualdisk ID that identifies a virtual disk. If specified, only data for that virtual disk will be returned.
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/virtuallogicalunits

Request body

None

Response body

[
  {
     "Caption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 2 on StorageSvr004 | LUN 0",
     "ExtendedCaption": "iSCSI Port 1 on HostVM1 | Server iSCSI Port 2 on StorageSvr004 | LUN 0",
     "Id": "ca4cf01a-8728-4efe-80f1-1c852d5c26d0",
     "Internal": false,
     "SequenceNumber": 13087,
     "Access": 3,
     "Enabled": true,
     "LogicalDiskId": "a194b1ca-5266-4dec-880d-d7595f172971",
     "Lun": {
       "Quad": 0
     },
     "PhysicalDiskId": "5c475fdb65c5407caf0b7535607481ce-ca301fd737244f2389d9f7237a0fd052",
     "Preferred": 0,
     "Type": 1,
     "VirtualTargetDeviceId": "ab60c83e-2614-4e82-ba88-b6ced3f1203a"
  },
  .
  .
  .
  {
     "Caption": "Microsoft iSCSI Initiator on StorageSvr005 | Server iSCSI Port 4 on StorageSvr004 | LUN 1",
     "ExtendedCaption": "Microsoft iSCSI Initiator on StorageSvr005 | Server iSCSI Port 4 on StorageSvr004 | LUN 1",
     "Id": "03855096-159e-4b1b-8886-5d6e7b89b703",
     "Internal": false,
     "SequenceNumber": 16010,
     "Access": 3,
     "Enabled": true,
     "LogicalDiskId": "9e266bce-caf7-4676-9c79-3090d3a4f020",
     "Lun": {
       "Quad": 1
     },
     "PhysicalDiskId": "V.{a920d27d-ecb1-11e6-80d8-00155d651611}-00000003_N.22690030D9218568",
     "Preferred": 0,
     "Type": 0,
     "VirtualTargetDeviceId": "e3c1e107-b58d-4277-b1e7-b1f4a7d42c27"
  }
]
Example 2

URL

https://localhost/RestService/rest.svc/1.0/virtuallogicalunits?virtualdisk=14b6a9a592d9495ab4085212d0284ea4&initiatorhost=e1e91f2999a144e6b9049abcb54cc70d&targethost=4519C7E1-F701-492D-BDEB-CAD37E2FCB39

Request body

None

Response body

[
    {
        "Caption": "iSCSI Port 1 on Sabaton | Server iSCSI Port 2 on Metal | LUN 7",
        "ExtendedCaption": "iSCSI Port 1 on Sabaton | Server iSCSI Port 2 on Metal | LUN 7",
        "Id": "477f879b-c67e-402f-bfde-fa26d7e89458",
        "Internal": false,
        "SequenceNumber": 751253,
        "Access": 3,
        "Enabled": true,
        "LogicalDiskId": "e1b77a29-e89a-4dfe-aeab-cec2655f6e5a",
        "Lun": {
            "Quad": 7
        },
        "PhysicalDiskId": "e1e91f2999a144e6b9049abcb54cc70d-14b6a9a592d9495ab4085212d0284ea4",
        "Preferred": 0,
        "Type": 1,
        "VirtualTargetDeviceId": "d40b6ee4-20f3-4a49-841c-5df94bb2185c"
    }
]
Example 3

URL

https://localhost/RestService/rest.svc/1.0/virtuallogicalunits?virtualdisk=14b6a9a592d9495ab4085212d0284ea4&initiatorport=iqn.1991-05.com.microsoft:sabaton&targetport=3296c08e-2849-44e7-a8ab-c2327e6536a6

Request body

None

Response body

[
    {
        "Caption": "iSCSI Port 1 on Sabaton | Server iSCSI Port 2 on Heavy | LUN 5",
        "ExtendedCaption": "iSCSI Port 1 on Sabaton | Server iSCSI Port 2 on Heavy | LUN 5",
        "Id": "258bf1b6-66b3-491c-ac46-5baeff530650",
        "Internal": false,
        "SequenceNumber": 1369513,
        "Access": 3,
        "Enabled": true,
        "LogicalDiskId": "9652453d-b664-4ace-b866-8e15802c5d1a",
        "Lun": {
            "Quad": 5
        },
        "PhysicalDiskId": "e1e91f2999a144e6b9049abcb54cc70d-14b6a9a592d9495ab4085212d0284ea4",
        "Preferred": 0,
        "Type": 1,
        "VirtualTargetDeviceId": "0468a4c4-658f-4bca-a30b-9dd35c4e6278"
    }
] 

To Table of Operations Get VVol Bindings

Returns all VVOL bindings in the server group.

Version

1.0

Method

GET

URI template

/1.0/vvolbindings

URI parameters
None
Request Body
None
Response Code
200
Returns
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/vvolbindings

Request body

None

Response body

[
    {
        "Caption": "VVOL VVOL1 to Protocol Endpoint VVOL1PE for HostVM1",
        "ExtendedCaption": "VVOL VVOL1 to Protocol Endpoint VVOL1PE for HostVM1",
        "Id": "750f61895c694f64a6927892920a3b3c-e1627b52a7ee45d4827347df11463514-5f34d8b74c5445ec9abf9c127ffcd3c7",
        "Internal": false,
        "SequenceNumber": 6061969,
        "HostId": "5f34d8b74c5445ec9abf9c127ffcd3c7",
        "LUN": {
            "Quad": 1
        },
        "ProtocolEndpointId": "e1627b52a7ee45d4827347df11463514",
        "VVOLId": "750f61895c694f64a6927892920a3b3c"
    }
]

To Table of Operations Import DvaPool

Imports DvaPool for ILDC

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "ImportDvaPool"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "ImportDvaPool" 
}

Response body

{
    true
}

To Table of Operations Import Pool

Imports a foreign pool.

Version

1.0

Method

POST

URI template

/1.0/pools/{poolid}

URI parameters
poolid ID of the pool to import
Request Body
{
    "Operation" : "Import"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/Rest.svc/1.0/pools/A9B04C58-91A4-4497-B301-0D100CAA994D:{6d9f68c1-fdc5-11e6-80ec-00155d138904}

Request body

{
    "Operation" : "Import"
}

Response body

{
    "Caption": "Foreign",
    "ExtendedCaption": "Foreign on SSVVM05",
    "Id": "A9B04C58-91A4-4497-B301-0D100CAA994D:{6d9f68c1-fdc5-11e6-80ec-00155d138904}",
    "Internal": false,
    "SequenceNumber": 4529418,
    "Alias": "Foreign",
    "AutoTieringEnabled": true,
    "ChunkSize": {
        "Value": 134217728
    },
    "Description": null,
    "InSharedMode": false,
    "IsAuthorized": true,
    "MaxTierNumber": 3,
    "PoolMode": 1,
    "PoolStatus": 0,
    "PresenceStatus": 1,
    "SMPAApproved": false,
    "SectorSize": {
        "Value": 512
    },
    "ServerId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "SharedPoolId": null,
    "TierReservedPct": 0,
    "Type": 0
}

To Table of Operations Login iSCSI Target

Logs in an iSCSI target port from the Microsoft Initiator on a server.

Version

1.0

Method

POST

URI template

/1.0/ports/iscsi/{portid}/targets/{targetid}

URI parameters
portid ID of the Microsoft Intiator port.
targetid ID of the target port to modify.
Request Body
{
    "Operation": "Login",
    "UseChap": "Boolean; true uses CHAP authentication",
    "UseMutualAuthentication": "Boolean; true uses mutual authentication",
    "Username": "User name used to connect to the target port when authentication is used",
    "Password": "Target secret (12-16 characters) using to connect to the target port when authentication is used",
    "InitiatorPortal": "Name (IQN) or IP address to use for the Microsoft iSCSI Initiator port"
}
Notes
To use mutual authentication, specify both parameters "UseChap" and "UseMutualAuthentication".
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/ports/iscsi/9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93/targets/3ac10feb-0abd-4285-97f5-cfb7d39512dd

Request body

{
    "Operation": "Login",
    "UseChap": true,
    "Username": "Administrator",
    "Password": "MyPassword123",
    "InitiatorPortal": "iqn.2000-08.com.yourcompany:sofiasds9-4"
}

Response body

{
  "Caption": "Microsoft iSCSI Initiator on sofiasds7 to Server iSCSI Port 4 on SofiaSDS9",
  "ExtendedCaption": "Microsoft iSCSI Initiator on sofiasds7 to Server iSCSI Port 4 on SofiaSDS9",
  "Id": "7d8a7e3c121d4b608c4447a3a11d12e9",
  "Internal": false,
  "SequenceNumber": 2145391,
  "Connected": true,
  "PortAId": "9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93",
  "PortBId": "3ac10feb-0abd-4285-97f5-cfb7d39512dd",
  "PortADescriptor": {
    "Connected": false,
    "Connections": null,
    "DeviceAlias": null,
    "DeviceName": null,
    "ISID": 0,
    "PortName": null,
    "PortTag": 0,
    "Registered": false,
    "ScsiId": 0,
    "ScsiMode": 0,
    "SessionParams": {
      "DataPDUInOrder": 0,
      "DataSequenceInOrder": 0,
      "DefaultTime2Retain": 0,
      "DefaultTime2Wait": 0,
      "FirstBurstLength": 0,
      "ImmediateData": 0,
      "InitialR2T": 0,
      "MaxBurstLength": 0,
      "MaxConnections": 0,
      "MaxOutstandingR2T": 0
    },
    "SessionState": 0,
    "TPGT": 0,
    "TSIH": 0
  },
  "PortBDescriptor": null,
  "Target": {
    "Caption": null,
    "ExtendedCaption": null,
    "Id": "6c5eb979-9c34-4877-a04b-ba554892186d",
    "Internal": false,
    "SequenceNumber": 2145392,
    "InitiatorId": "9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93",
    "IpAddress": "192.168.2.38",
    "IsPersistent": true,
    "LoginOptions": {
      "AuthType": 0,
      "Password": null,
      "Username": null
    },
    "Present": true,
    "SessionId": "7d8a7e3c121d4b608c4447a3a11d12e9",
    "TargetName": "iqn.2000-08.com.yourcompany:sofiasds9-4",
    "TcpPort": 3260
  }
}

To Table of Operations Logout iSCSI Target

Logs out a specified iSCSI target port from the Microsoft Initiator on a server. Target cannot be in use.

Version

1.0

Method

POST

URI template

/1.0/ports/iscsi/{portid}/targets/{targetid}

URI parameters
portid ID of the Microsoft Intiator port.
targetid ID of the target port to modify.
Request Body
{
    "Operation": "Logout"
}
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/ports/iscsi/9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93/targets/3ac10feb-0abd-4285-97f5-cfb7d39512dd

Request body

{
    "Operation": "Logout"
}

Response body

{
  "Caption": "Microsoft iSCSI Initiator on sofiasds7 to Server iSCSI Port 4 on SofiaSDS9",
  "ExtendedCaption": "Microsoft iSCSI Initiator on sofiasds7 to Server iSCSI Port 4 on SofiaSDS9",
  "Id": "7d8a7e3c121d4b608c4447a3a11d12e9",
  "Internal": false,
  "SequenceNumber": 2145391,
  "Connected": false,
  "PortAId": "9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93",
  "PortBId": "3ac10feb-0abd-4285-97f5-cfb7d39512dd",
  "PortADescriptor": {
    "Connected": false,
    "Connections": null,
    "DeviceAlias": null,
    "DeviceName": null,
    "ISID": 0,
    "PortName": null,
    "PortTag": 0,
    "Registered": false,
    "ScsiId": 0,
    "ScsiMode": 0,
    "SessionParams": {
      "DataPDUInOrder": 0,
      "DataSequenceInOrder": 0,
      "DefaultTime2Retain": 0,
      "DefaultTime2Wait": 0,
      "FirstBurstLength": 0,
      "ImmediateData": 0,
      "InitialR2T": 0,
      "MaxBurstLength": 0,
      "MaxConnections": 0,
      "MaxOutstandingR2T": 0
    },
    "SessionState": 0,
    "TPGT": 0,
    "TSIH": 0
  },
  "PortBDescriptor": null,
  "Target": {
    "Caption": null,
    "ExtendedCaption": null,
    "Id": "6c5eb979-9c34-4877-a04b-ba554892186d",
    "Internal": false,
    "SequenceNumber": 2145392,
    "InitiatorId": "9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93",
    "IpAddress": "192.168.2.38",
    "IsPersistent": true,
    "LoginOptions": {
      "AuthType": 0,
      "Password": null,
      "Username": null
    },
    "Present": true,
    "SessionId": "7d8a7e3c121d4b608c4447a3a11d12e9",
    "TargetName": "iqn.2000-08.com.datacore:sofiasds9-4",
    "TcpPort": 3260
  }
}

To Table of Operations Mark Replication Check Point

Sends a checkpoint marker to the virtual disk in a replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "MarkCheckpoint"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "MarkCheckpoint"
}

Response body

None

To Table of Operations Move Logical Disk

Moves a logical disk in a mirrored or dual virtual disk. Paths are adjusted to use the new source.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "MoveLogicalDisk",
    "Pool": "ID of the pool to be used as a destination, see Get Pools"
}
Notes
The logical disk in a mirrored virtual disk can be moved to another disk pool on the same server. 
The logical disk in a dual virtual disk can be moved to another server that shares the pool. Use the PoolId for the correct server (not the SharedPoolId).
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "MoveLogicalDisk",
    "Pool": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701:{88de4741-7b5a-11e6-8123-002590570de7}"
}

Response body

{
 "VirtualDiskGroupId": null,
 "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
 "SecondHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "BackupHostId": null,
 "SnapshotPoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}",
 "Alias": "Virtual disk 4",
 "Description": null,
 "Size": {
   "Value": 107374182400
 },
 "SectorSize": {
   "Value": 512
   },
 "Type": 2,
 "DiskStatus": 0,
 "InquiryData": {
   "Vendor": "DataCore",
   "Product": "Virtual Disk",
   "Revision": "DCS",
   "Serial": "3b4d346384ec45d78076d9a4f02d4041"
 },
 "ScsiDeviceId": [
   96,
   3,
   13,
   144,
   30,
   247,
   211,
   6,
   185,
   162,
   167,
   12,
   126,
   201,
   228,
   91
 ],
 "ScsiDeviceIdString": "60030D901EF7D306B9A2A70C7EC9E45B",
 "RemovableMedia": false,
 "WriteThrough": false,
 "Offline": false,
 "Disabled": false,
 "ManualRecovery": false,
 "DiskLayout": {
   "Cylinders": 0,
   "Heads": 0,
   "SectorsPerTrack": 0
 },
 "PersistentReserveEnabled": true,
 "RecoveryPriority": 1,
 "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
 "TPThresholdsEnabled": false,
 "IsServed": false,
 "SubType": 0,
 "MirrorTrunkMappingEnabled": false,
 "SequenceNumber": 34801,
 "Id": "3b4d346384ec45d78076d9a4f02d4041",
 "Caption": "Virtual disk 4",
 "ExtendedCaption": "Virtual disk 4 from Server Group",
"Internal": false
}

To Table of Operations Open Session

Opens new session and returns a token to identify it.

Version

1.0

Method

POST

URI template

/1.0/sessions

URI parameters
None
Request Body
{
    "Operation": "OpenSession"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/sessions

Request body

{
    "Operation": "OpenSession"
}

Response body

{
    "Token": "acc34fdea90a4729a7051986d2399756"
}

To Table of Operations Pause Replication

Temporarily stops data transfers from the local (active) virtual disk in a replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "Pause"
}
Notes
To begin transferring data again, see Resume Replication.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "Pause"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3433,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 2,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "IsActiveSide": true,
  "OfflineInitializationSupported": true,
  "Paused": true,
  "ReplicationState": 5,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TransferStatus": 2
}

To Table of Operations Pause Virtual Disk Mirror Recovery

Temporarily stops the current mirror recovery of the specified virtual disk. The recovery process will be paused until Resume Virtual Disk Recovery is run.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "PauseMirrorRecovery"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "PauseMirrorRecovery"
}

Response body

None

To Table of Operations Purge Pool Member

Purges failed or missing physical disk (pool member) from a pool. Purging a physical disk removes the disk from the pool and from the server group configuration.

Version

1.0

Method

POST

URI template

/1.0/poolmembers/{poolmemberid}

URI parameters
poolmemberid ID of the the pool member to be modified.
Request Body
{
    "Operation": "Purge",
    "AllowDataLoss" : "Boolean; true allows data loss on single or dual virtual disks."
}
Notes
The purge operation cannot prevent data loss on affected single or dual virtual disks. 
To allow the purge operation when single or dual virtual disks are affected by a failed disk, the AllowDataLoss parameter is required. 
Using this switch parameter signifies that you are aware that there will be data loss when the failed disk is purged.
Response Code
200
Returns
Example 1

URL

Request body

{
    "Operation": "Purge",
    "AllowDataLoss": true
}

Response body

{
 "Caption": "",
 "ExtendedCaption": "Pool disk  on Heavy",
 "Id": "614c847b-d928-4146-bd87-cd9ab85252ce",
 "Internal": false,
 "SequenceNumber": 55329,
 "DiskInRecoveryId": "",
 "DiskPoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{899668df-ec05-11e6-8151-002590570c2f}",
 "DiskTier": 2,
 "IsMirrored": false,
 "MemberState": 4,
 "SectorSize": {
   "Value": 0
 },
 "Size": {
   "Value": 0
   }
}

To Table of Operations Quick Create Virtual Disk and Serve

Create a virtual disk and serves it to the host.

Version

1.0

Method

POST

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
    "Operation": "CreateVirtualDisk",
    "Size": "Size of virtual disk",
    "Name": "Virtual disk name (optional)",
    "StorageProfile": "100469DF-0BE1-40DA-874E-9F1DA5A259E3 (optional)",
    "RedundancyLevel": "The redundancy level is the number of virtual disk copies to make from pools on different servers. (Optional: default is 2)",
    "EncryptionEnabled": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false
}
Notes
"Size" parameter value consists of the number followed by the unit of measurement(MB, GB, TB). 
Decimals may be used. For example, "100GB", "1.5TB", and "500000MB" are valid sizes. Size can range from a miniumum of 1GB to a maximum of 1024TB.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hosts/b0926470a51d44628ea1e485dbb4d9d0

Request body

{
    "Operation": "CreateVirtualDisk",
    "Size": "10GB",
    "Name": "Virtual disk",
    "StorageProfile": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "RedundancyLevel": 2,
    "EncryptionEnabled": "Boolean; true creates encrypted virtual disk, default is false (optional)",,
    "CompressionEnabled": "Boolean; true enables compression on the virtual disk, default is false (optional)",,
    "DeduplicationEnabled": "Boolean; true enables deduplication on the virtual disk, default is false (optional)",
}

Response body

[
    {
        "Lun": {
            "Quad": 0,
            "Level1": 0,
            "Level2": 0,
            "Level3": 0,
            "Level4": 0
        },
        "VirtualTargetDeviceId": "1a87cd0e-51c2-41c3-ac5c-ca3dea8c80ab",
        "LogicalDiskId": "e33d48aa-da41-44be-9966-bbaba9863784",
        "Access": 3,
        "Type": 1,
        "Preferred": 0,
        "Enabled": true,
        "PhysicalDiskId": "b0926470a51d44628ea1e485dbb4d9d0-2e4285992c594b5d9dd5ef8e02012c38",
        "SequenceNumber": 5431125,
        "Id": "976168a7-a9c0-4658-8f70-c3f6175dfc24",
        "Caption": "iSCSI Port 1 on SecureHost | Server iSCSI Port 2 on Heavy | LUN 0",
        "ExtendedCaption": "iSCSI Port 1 on SecureHost | Server iSCSI Port 2 on Heavy | LUN 0",
        "Internal": false
    },
    {
        "Lun": {
            "Quad": 0,
            "Level1": 0,
            "Level2": 0,
            "Level3": 0,
            "Level4": 0
        },
        "VirtualTargetDeviceId": "23339be9-66a4-42c8-a5cb-a97602143798",
        "LogicalDiskId": "4085e1d7-5fad-47da-9906-c7908bf9a63e",
        "Access": 3,
        "Type": 1,
        "Preferred": 0,
        "Enabled": true,
        "PhysicalDiskId": "b0926470a51d44628ea1e485dbb4d9d0-2e4285992c594b5d9dd5ef8e02012c38",
        "SequenceNumber": 5431126,
        "Id": "dc571beb-577a-4a48-a330-061d912b6424",
        "Caption": "iSCSI Port 1 on SecureHost | Server iSCSI Port 1 on Metal | LUN 0",
        "ExtendedCaption": "iSCSI Port 1 on SecureHost | Server iSCSI Port 1 on Metal | LUN 0",
        "Internal": false
    }
]

To Table of Operations Register Port To Host

Registers an undiscovered or unknown port to the specified host.

Version

1.0

Method

POST

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
	"Operation": "RegisterPort",
	"Port": "Name (IQN or WWN) of the new port to register",
	"PortType": "iSCSI" or "FibreChannel"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hosts/2f347d3bfe2c43ef917bc625434ecba7

Request body

{
	"Operation": "RegisterPort",
	"Port": "iqn.1991-05.com.microsoft:newport",
	"PortType": "iSCSI"
}

Response body

{
    "HostId": "2f347d3bfe2c43ef917bc625434ecba7",
    "PortName": "iqn.1991-05.com.microsoft:newport",
    "Alias": "iSCSI Port 2",
    "Description": null,
    "PortType": 3,
    "PortMode": 1,
    "Connected": false,
    "SequenceNumber": 13848,
    "Id": "iqn.1991-05.com.microsoft:newport",
    "Caption": "iSCSI Port 2",
    "ExtendedCaption": "iSCSI Port 2 on Badboy",
    "Internal": false
}

To Table of Operations Release Physical Disk

Releases a protected physical disk to the operating system.

Version

1.0

Method

POST

URI template

/1.0/physicaldisks/{physicaldiskid}

URI parameters
physicaldiskid ID of the physical disk to be released.
Request Body
None
Notes
Discovered physical disks are initially protected or locked from use by the operating system. 
Releasing the physical disk allows it to be used by the operation system.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/Rest.svc/1.0/physicaldisks/{4b7abed3-2d57-41e5-a012-d4c6e9fd9cb2}

Request body

None

Response body

None

To Table of Operations Remove Capacity Optimization Disks

Removes physical disks from the capacity optimization pool.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "RemoveCapacityOptimizationDisks",
    "Disks" : "Array of disk IDs to remove from the capacity optimization pool"
}
Notes
Use the physical disk ID (and not the capacity optimization disk ID).
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "RemoveCapacityOptimizationDisks",
    "Disks" : ["{2c6f2d07-8814-4067-a618-d5fdc2287a83}"]
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 26837,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 10579140608
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 0,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 1,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  },
  "DeduplicationPoolId": "2c560a80-d2e0-4bb2-8472-10371adf3e59"
}

To Table of Operations Remove Capacity Optimization Mirrored Special Device

Removes Mirrored Special Device from the capacity optimization pool.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "RemoveCapacityOptimizationSpecialMirror"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "RemoveCapacityOptimizationSpecialMirror"
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 26837,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 10579140608
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 0,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 1,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  },
  "DeduplicationPoolId": "2c560a80-d2e0-4bb2-8472-10371adf3e59"
}

To Table of Operations Remove Host From Group

Removes the specified host from the specified host group.

Version

1.0

Method

DELETE

URI template

/1.0/hostgroups/{hostgroupid}/hosts/{hostid}

URI parameters
hostgroupid The ID of the specific host group to modify.
hostid The ID of the host to remove from the specified group.
Request Body
None
Response Code
200
Returns
None
Example 1

URL

https://StorageSvr004/RestService/rest.svc/1.0/hostgroups/{83660699-d862-4f3c-b96c-318622a06d1d}/hosts/4b182d04ba0349c7ac11f7a28c65dca0

Request body

None

Response body

None

To Table of Operations Remove Physical Disks from Pool

Removes the specified physical disks from the specified disk pool.

Version

1.0

Method

POST

URI template

/1.0/pools/{poolid}

URI parameters
poolid ID of the pool to import
Request Body
{
    "Operation": "RemoveDisks",
    "Disks": "Array of the IDs of physical disks to remove from the pool"
}
Notes
Physical disks cannot be removed if used in a virtual disk unless the physical disk is mirrored in the pool.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/pools/4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}

Request body

{
    "Operation": "RemoveDisks",
    "Disks": [
	    "{4bf0fbdb-4b05-4d95-9908-f1e61c05d0ca}",
	    "{33be2b38-800b-4898-8442-d2da02850218}"
	    ]
}

Response body

[
 {
   "PresenceStatus": 1,
   "Alias": null,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "FreeSpace": {
     "Value": 1759744
   },
   "InquiryData": {
     "Vendor": "WDC",
     "Product": "WD10EZEX-00UD2A0",
     "Revision": "01.0",
     "Serial": "     WD-WMC3F0326227"
   },
   "ScsiPath": {
     "Port": 4,
     "Bus": 1,
     "Target": 1,
     "LUN": 0,
     "ShortString": "4.1.1.0"
   },
   "DiskIndex": 3,
   "SystemName": "\\\\?\\PhysicalDrive3",
   "BusType": 3,
   "Type": 4,
   "DiskStatus": 1,
   "PoolMemberId": "de3d46c6-97a9-482c-8ed4-76c468e01d53",
   "Partitioned": true,
   "InUse": true,
   "IsBootDisk": false,
   "Protected": false,
   "IsSolidState": false,
   "HostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "UniqueIdentifier": null,
   "SharedPhysicalDiskId": null,
   "IsDataCoreDisk": false,
   "SequenceNumber": 59393,
   "Id": "{4bf0fbdb-4b05-4d95-9908-f1e61c05d0ca}",
   "Caption": "WDC WD10EZEX-00UD2A0",
   "ExtendedCaption": "WDC WD10EZEX-00UD2A0 on Heavy",
   "Internal": false
   },
 {
   "PresenceStatus": 1,
   "Alias": null,
   "Size": {
     "Value": 1000204886016
   },
   "SectorSize": {
     "Value": 512
   },
   "FreeSpace": {
     "Value": 0
   },
   "InquiryData": {
     "Vendor": "SAMSUNG",
     "Product": "HD103SJ",
     "Revision": "1AJ1",
     "Serial": "S246J9BB211589"
   },
   "ScsiPath": {
     "Port": 5,
     "Bus": 0,
     "Target": 0,
     "LUN": 0,
     "ShortString": "5.0.0.0"
   },
   "DiskIndex": 4,
   "SystemName": "\\\\?\\PhysicalDrive4",
   "BusType": 3,
   "Type": 3,
   "DiskStatus": 2,
   "PoolMemberId": null,
   "Partitioned": false,
   "InUse": false,
   "IsBootDisk": false,
   "Protected": false,
   "IsSolidState": false,
   "HostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
   "UniqueIdentifier": null,
   "SharedPhysicalDiskId": null,
   "IsDataCoreDisk": false,
   "SequenceNumber": 59562,
   "Id": "{33be2b38-800b-4898-8442-d2da02850218}",
   "Caption": "SAMSUNG HD103SJ",
   "ExtendedCaption": "SAMSUNG HD103SJ on Heavy",
   "Internal": false
 }
]

To Table of Operations Repair Capacity Optimization

Repair capacity optimization tries to clear the errors on Capacity Optimization if it is not in healthy state.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "RepairCapacityOptimization"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "RepairCapacityOptimization"
}

Response body

{
       "PresenceStatus": 1,
       "ServerId": "0253E13C-DDF7-4FE8-A163-2F450B16B680",
       "DeduplicationEnabled": false,
       "CompressionEnabled": false,
       "RaidLevel": 0,
       "ZpoolHealth": 2, 
       "SequenceNumber": 891,
       "Id": "eec5f177-d8a4-4884-812b-1523399b042d",
       "Caption": "",
       "ExtendedCaption": "",
       "Internal": false
}

To Table of Operations Replace DvaRaidPool Disk

Replaces a specific disk in the capacity optimization pool with new disk.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "ReplaceDvaRaidPoolDisk",
    "OldDisk" : "The disk ID to be replaced in capacity optimization pool",
    "NewDisk" : "The disk ID to be added to capacity optimization pool"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "ReplaceDvaRaidPoolDisk",
    "OldDisk" : "{1a782838-99e3-4724-9aba-8275114a3986}",
    "NewDisk" : "{403fbdbe-6431-4bac-a6f8-9df5b51a1a1c}"
}

Response body

{
    "DvaPoolId": "f26b6616-51ae-491e-a555-58c221da9a77",
    "IsSLOGDisk": false,
    "DvaPoolDeviceId": "15d4c854-04fe-4644-8efb-8324ff8038a2",
    "SequenceNumber": 1984,
    "Id": "c6fb45bb-4961-41a7-9c65-9727cebfacf7",
    "Caption": "",
    "ExtendedCaption": "",
    "Internal": false
}

To Table of Operations Replace Logical Disk

Replaces a logical disk in a mirrored virtual disk using a new storage source from the same server.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "ReplaceLogicalDisk",
    "Server": "ID of the server on which we want to replace the logical disk (optional)",
    "PhysicalDisk": "ID of the physical disk to use as the new storage source",
    "LogicalDisk": "ID of the new logical disk to use as the new storage source",
    "Pool": "ID of the pool to use as the storage source"
}
Notes
The new storage source for the logical disk can be from a pool, pass-through disk, or logical disk. 
Use one of the following parameters: PhysicalDisk, LogicalDisk or Pool. Server parameter is not mandatory.
All paths are adjusted to use the new source.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/2eb2fdd8c77541658abd3e2591644a1f

Request body

{
   "Operation": "ReplaceLogicalDisk",
   "Pool": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}"
}

Response body

{
 "VirtualDiskGroupId": null,
 "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
 "SecondHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "BackupHostId": null,
 "SnapshotPoolId": null,
 "Alias": "Virtual disk 4",
 "Description": null,
 "Size": {
   "Value": 107374182400
   },
 "SectorSize": {
   "Value": 512
   },
 "Type": 2,
 "DiskStatus": 2,
 "InquiryData": {
   "Vendor": "DataCore",
   "Product": "Virtual Disk",
   "Revision": "DCS",
   "Serial": "2eb2fdd8c77541658abd3e2591644a1f"
   },
 "ScsiDeviceId": [
   96,
   3,
   13,
   144,
   84,
   231,
   93,
   1,
   248,
   140,
   46,
   71,
   203,
   144,
   194,
   146
 ],
 "ScsiDeviceIdString": "60030D9054E75D01F88C2E47CB90C292",
 "RemovableMedia": false,
 "WriteThrough": false,
 "Offline": false,
 "Disabled": false,
 "ManualRecovery": false,
 "DiskLayout": {
   "Cylinders": 0,
   "Heads": 0,
   "SectorsPerTrack": 0
 },
 "PersistentReserveEnabled": true,
 "RecoveryPriority": 1,
 "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
 "TPThresholdsEnabled": false,
 "IsServed": false,
 "SubType": 0,
 "MirrorTrunkMappingEnabled": false,
 "SequenceNumber": 20381,
 "Id": "2eb2fdd8c77541658abd3e2591644a1f",
 "Caption": "Virtual disk 4",
 "ExtendedCaption": "Virtual disk 4 from Server Group",
 "Internal": false

To Table of Operations Replace Virtual Logical Unit

Replaces the initiator and/or target of a mapping (path) of the specified virtual logical unit. The same mapping type and access are used during the replacement.

Version

1.0

Method

POST

URI template

/1.0/virtuallogicalunits/{virtuallogicalunitid}

URI parameters
virtuallogicalunitid ID of the virtual logical unit to modify.
Request Body
{
    "Operation" : "ReplaceMapping",
    "InitiatorPort": "Name or ID of the initiator port to replace (optional)",
    "TargetPort": "ID of the target port to replace (optional)",
    "LUN": "Number to assign to the logical unit (optional)"
}
Notes
Also see Create Virtual Logical Unit to add a new path.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtuallogicalunits/8ade26bc-7569-4411-903b-896b748f112e

Request body

{
    "Operation" : "ReplaceMapping",
    "InitiatorPort": "iqn.1998-01.com.vmware:esx-sf1-1ba02a41",
    "TargetPort": "18c71537-3381-49a1-a930-7cf8be0cd7cc",
    "LUN": 13
}

Response body

{
  "Caption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 1 on SofiaSDS9 | LUN 13",
  "ExtendedCaption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 1 on SofiaSDS9 | LUN 13",
  "Id": "3f54ab40-61e7-4c0d-89b5-a7de09cb980c",
  "Internal": false,
  "SequenceNumber": 24149,
  "Access": 3,
  "Enabled": true,
  "LogicalDiskId": "81044a6c-cd58-4f5b-953e-1b560b6877c0",
  "Lun": {
    "Quad": 13
  },
  "PhysicalDiskId": "90fe8cae-1ed7-4b9d-ad8f-9f1be3e6e442-host-60-aacc8861da474b5da199a7e07ac67d35",
  "Preferred": 0,
  "Type": 1,
  "VirtualTargetDeviceId": "9594a2cd-6359-4cc0-a259-5055ec67c441"
}

To Table of Operations Rescan Port

Rescans the specified server port to discover disks.

Version

1.0

Method

POST

URI template

/1.0/ports/{portid}

URI parameters
portid ID of the port to modify.
Request Body
{
    "Operation":"Rescan"
}
Response Code
200
Returns
None
Example 1

URL

http://localhost/RestService/rest.svc/1.0/ports/9845b1cb-e49c-4b96-bb1a-32b8b6fe4a93

Request body

{
    "Operation":"Rescan"
}

Response body

None

To Table of Operations Rescan Server Ports

Rescans all ports on the specified server to discover disks.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "RescanPorts"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "RescanPorts"
}

Response body

None

To Table of Operations Reset Syslog Settings

Resets the Syslog settings to configure the settings used for outgoing Syslog messages.

Version

1.0

Method

PUT

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group to modify.
Request Body
{
"Operation" : "ResetSyslogSettings"
}
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/servergroups/b40cad4c-2332-4caa-9fb6-03ccc3e55a90

Request body

{
    "Operation" : "ResetSyslogSettings"
}

Response body

{"OurGroup":true,"Alias":"Server Group","Description":null,"State":1,"SmtpSettings":null,
"SyslogSettings":null,"LicenseSettings":{"MaxServers":2,"MaxPartnerGroups":2147483647,
"MaxMappedHosts":2147483647,"BidirectionalReplication":0,"FiberChannel":0,"ThinProvisioning":0,
"Snapshot":0,"iSCSI":0,"StorageCapacity":{"Value":17592186044416},"LicensedBulkStorage":{ "Value":0},
"BulkEnabled":0,"RetentionTime":9223372036854775807,"AutoTiering":0,"HeatMaps":0,"SharedStorage":0,
"PerformanceAnalysis":1,"ResourceAuthorization":1,"SequentialStorage":0,"MaxBypassThreads":0,
"MaxPollerThreads":0,"Mirroring":0,"Witness":0,"DataAtRestEncryption":0,"ILDC":1},
"LicenseType":1,"ContactData":{ "ContactName":null,"PhoneNumber":null,"EmailAddress":null,
"CompanyName":null},"StorageUsed":{ "Value":53687091200},"BulkStorageUsed":{ "Value":0},
"MaxStorage":{ "Value":17592186044416},"RecoverySpeed":32,"ExistingProductKeys":[],
"DataCoreStorageUsed":{ "Value":0},"SupportBundleRelayAddress":null,"MirrorTrunkMappingEnabled":false,
"SelfHealingDelay":480,"DefaultWitness":null,"DefaultWitnessOption":0,"WitnessAllowed":false,
"Telemetry":"Enabled","DefaultKmipEndpoint":null,"CrashRecoveryCount":0,"OutOfCompliance":false,
"NextExpirationDate":"\/Date(-62135596800000)\/","LicenseRemaining":0,"GroupCdpMaxHistoryLogSizeGb":10240,
"GroupSeqMaxHistoryLogSizeGb":10240,"SequenceNumber":608229,"Id":"09cb5869-4b26-4f3e-a38f-6e364bf8a93c",
"Caption":"Server Group","ExtendedCaption":"Server Group","Internal":false}

To Table of Operations Resume Replication

Resumes data transfers on a paused virtual disk replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "Resume"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "Resume"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 3481,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 2,
  "CheckpointSnapshotId": null,
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "IsActiveSide": true,
  "OfflineInitializationSupported": true,
  "ReplicationState": 5,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TransferStatus": 1
}

To Table of Operations Resume Virtual Disk Mirror Recovery

Resumes the mirror recovery of the specified virtual disk.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "ResumeMirrorRecovery"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "ResumeMirrorRecovery"
}

Response body

None

To Table of Operations Reverse Replication

Reverses the direction of the data transfer between virtual disks used in a replication. The virtual disk in Active status is deactivated, and the virtual disk in Standby status is activated.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "Reverse"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "Reverse"
}

Response body

None

To Table of Operations Revert Rollback

Reverts the CDP-enabled virtual disk to the state of the rollback.

Version

1.0

Method

POST

URI template

/1.0/rollbacks/{rollbackid}

URI parameters
rollbackid ID of the rollback to modify.
Request Body
{
    "Operation" : "Revert"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbacks/V.{E515BFDF-E6CF-11E6-8108-001B2129CF29}-00000088--V.{E515BFDF-E6CF-11E6-8108-001B2129CF29}-0000008A

Request body

{
    "Operation" : "Revert"
}

Response body

{
    "RestorePoint": "/Date(1489395636000)/",
    "AutoExpire": false,
    "State": 5,
    "SourceLogicalDiskId": "367f3abe-749c-4c43-b478-81ac1c9aa772",
    "DestinationLogicalDiskId": "dfb76736-2b03-4a84-81cc-3fb93b7b6055",
    "SequenceNumber": 2063498,
    "Id": "V.{02360835-99EE-11E6-810B-0010187ED59A}-0000025F--V.{02360835-99EE-11E6-810B-0010187ED59A}-00000261",
    "Caption": "Log history of Virtual disk 1 on sofiasds8",
    "ExtendedCaption": "Log history of Virtual disk 1 on sofiasds8",
    "Internal": false
}

To Table of Operations Revert Rollback Group

Reverts the CDP-enabled virtual disk to the state of the rollback group.

Version

1.0

Method

POST

URI template

/1.0/rollbackgroups/{rollbackgroupid}

URI parameters
rollbackgroupid ID of the rollback group to modify.
Request Body
{
    "Operation" : "Revert"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbackgroups/{1768b1e8-9bd8-4227-bb1d-e5a17ad3c8ab}

Request body

{
    "Operation" : "Revert"
}

Response body

{
    "ParentGroupId": "{67f3e0a7-50da-48d9-92c5-3fd1512f24b1}",
    "Alias": "Virtual disk group 1 @ 3/13/2017 10:34:13 AM UTC",
    "Description": null,
    "StorageDomainSettings": {
      "MaxIoOperationsPerSec": 0,
      "MaxDataTransferredPerSec": 0,
      "ChargeBackEnabled": false
    },
    "SequenceNumber": 5040,
    "Id": "{1768b1e8-9bd8-4227-bb1d-e5a17ad3c8ab}",
    "Caption": "Virtual disk group 1 @ 3/13/2017 10:34:13 AM UTC",
    "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:34:13 AM UTC",
    "Internal": false,
    "TotalCapacity": {
      "Value": 0
    }
}

To Table of Operations Revert Snapshot

Reverts the source virtual disk to the state of the snapshot.

Version

1.0

Method

POST

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to act upon or modify.
Request Body
{
    "Operation" : "Revert"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007

Request body

{
    "Operation" : "Revert"
}

Response body

{
    "Type": 1,
    "TimeStamp": "/Date(1488911709785)/",
    "SourceLogicalDiskId": "f1703429-5d06-407a-b1f4-a3c28209ce44",
    "DestinationLogicalDiskId": "1d36b474-d3a4-4d09-bfa2-14f97446fe1a",
    "ActiveOperation": 3,
    "State": 2,
    "Failure": 0,
    "SequenceNumber": 3122040,
    "Id": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007",
    "Caption": "Snapshot 1",
    "ExtendedCaption": "Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Revert Snapshot Group

Reverts the source virtual disk to the state of the snapshot group.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Operation" : "Revert"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{0fedcfaa-d02c-45d5-9fce-a077decd4606}

Request body

{
    "Operation" : "Revert"
}

Response body

{
  "ParentGroupId": "{e0e0be38-55d9-49ee-b44f-40d34c904129}",
  "Type": 0,
  "ActiveOperation": 3,
  "TimeStamp": "/Date(1489400196069)/",
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 4097,
  "Id": "{0fedcfaa-d02c-45d5-9fce-a077decd4606}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:16:28 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}

To Table of Operations Run Task

Runs the specified task.

Version

1.0

Method

POST

URI template

/1.0/tasks/{taskid}

URI parameters
taskid ID of the task to act upon or modify.
Request Body
{
    "Operation": "RunTask"
}    
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/tasks/4e3cf951-e411-4553-8db3-d2cfe927d0bd

Request body

{
    "Operation": "RunTask"
}    

Response body

{
    "Caption": "Task 1",
    "ExtendedCaption": "Task 1",
    "Id": "4e3cf951-e411-4553-8db3-d2cfe927d0bd",
    "Internal": false,
    "SequenceNumber": 178613,
    "AbortOnActionFailure": false,
    "ActionBehavior": 1,
    "ActionDelay": 0,
    "Connective": 1,
    "Description": null,
    "Enabled": true,
    "LastStartTime": "/Date(1493918154161)/",
    "LastStopTime": "/Date(1493918154185)/",
    "MaxRunTime": 6048000000000,
    "State": 0
}

To Table of Operations Serve Virtual Disk

Serves the specified virtual disk to a host or host group.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "Serve",
    "Host": "ID of the host to which to serve the virtual disk",
    "HostGroup": "ID of the host group to which to serve the virtual disk",
    "InitiatorPort": "ID of the initiator port",
    "TargetPort": "ID of the target port",
    "LUN": "Logical unit to use for the newly created path between the specified initiator and target (optional)",
    "Redundancy": "Boolean; true creates redundant paths, false is the default (optional)"
}
Notes
Virtual disks can be served through the following combinations of parameters:
 - InitiatorPort, TargetPort, and LUN (LUN is optional)
 - Host
 - HostGroup
Response Code
200
Returns
Example 1

Description

Serves the specified virtual disk to a host group.

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/2eb2fdd8c77541658abd3e2591644a1f

Request body

{
   "Operation": "Serve",
   "HostGroup": "{0f3f4416-2bf1-4b99-9f35-e25a09264e4b}"
}

Response body

[
 {
   "Lun": {
     "Quad": 0,
     "Level1": 0,
     "Level2": 0,
     "Level3": 0,
     "Level4": 0
   },
   "VirtualTargetDeviceId": "67ed565a-550a-440c-b12f-bfb9bc82ff67",
   "LogicalDiskId": "c9f38c84-8477-4f3a-adcf-46a6753fb410",
   "Access": 3,
   "Type": 1,
   "Preferred": 0,
   "Enabled": true,
   "PhysicalDiskId": "2f347d3bfe2c43ef917bc625434ecba7-2eb2fdd8c77541658abd3e2591644a1f",
   "SequenceNumber": 23862,
   "Id": "e169df79-d2c2-452b-ba18-076ffec8995d",
   "Caption": "iSCSI Port 3 on Badboy | MetaliSCSIPort1 on Metal | LUN 0",
   "ExtendedCaption": "iSCSI Port 3 on Badboy | MetaliSCSIPort1 on Metal | LUN 0",
   "Internal": false
 },
 {
   "Lun": {
     "Quad": 0,
     "Level1": 0,
     "Level2": 0,
     "Level3": 0,
     "Level4": 0
   },
   "VirtualTargetDeviceId": "4d7a66f9-4f69-4298-bbe1-af7a05947817",
   "LogicalDiskId": "475e2c87-dec3-48bf-be7f-2d56a9a9b3e2",
   "Access": 3,
   "Type": 1,
   "Preferred": 0,
   "Enabled": true,
   "PhysicalDiskId": "2f347d3bfe2c43ef917bc625434ecba7-2eb2fdd8c77541658abd3e2591644a1f",
   "SequenceNumber": 23863,
   "Id": "1170558c-646c-447d-ba5f-5d850aaca764",
   "Caption": "FC Port 1 on Badboy | HeavyFcPort1 on Heavy | LUN 0",
   "ExtendedCaption": "FC Port 1 on Badboy | HeavyFcPort1 on Heavy | LUN 0",
   "Internal": false
 }

Example 2

Description

Serves a virtual with specific InitiatorPort, TargetPort and LUN.

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/2eb2fdd8c77541658abd3e2591644a1f

Request body

{
   "Operation": "Serve",
   "InitiatorPort": "iqn.1991-05.com.microsoft:sabaton",
   "TargetPort": "170285b7-98ce-4109-b875-c6a528f88bdb",
   "LUN": 20
}

Response body

{
 "Lun": {
   "Quad": 20,
   "Level1": 20,
   "Level2": 0,
   "Level3": 0,
   "Level4": 0
 },
 "VirtualTargetDeviceId": "eab1916a-372b-49ba-b3e2-db9a790e6c40",
 "LogicalDiskId": "475e2c87-dec3-48bf-be7f-2d56a9a9b3e2",
 "Access": 3,
 "Type": 1,
 "Preferred": 0,
 "Enabled": true,
 "PhysicalDiskId": "e5cca23d97994918a69f3793a72e2aae-2eb2fdd8c77541658abd3e2591644a1f",
 "SequenceNumber": 25173,
 "Id": "2d1bcdbf-6e26-40ed-9c22-377880d20d0a",
 "Caption": "iSCSI Port 1 on Sabaton | HeavyiSCSIPort1 on Heavy | LUN 20",
 "ExtendedCaption": "iSCSI Port 1 on Sabaton | HeavyiSCSIPort1 on Heavy | LUN 20",
 "Internal": false
}

Notes

LUN is optional.

To Table of Operations Serve Virtual Disk Group

Serves a virtual disk group to the specified host.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "Serve",
    "Redundancy": "Boolean; true creates redundant front-end paths to the host",
    "Host": "ID of the host to which to serve the virtual disks",
    "LUN": "Number of the starting LUN"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "Serve",
    "Redundancy": true,
    "Host": "90fe8cae-1ed7-4b9d-ad8f-9f1be3e6e442-vm-70",
    "LUN": 13
}

Response body

[
  {
    "Lun": {
      "Quad": 13,
      "Level1": 13,
      "Level2": 0,
      "Level3": 0,
      "Level4": 0
    },
    "VirtualTargetDeviceId": "6589b525-76d2-4ea0-b509-b7678e2f3df8",
    "LogicalDiskId": "367f3abe-749c-4c43-b478-81ac1c9aa772",
    "Access": 3,
    "Type": 1,
    "Preferred": 0,
    "Enabled": true,
    "PhysicalDiskId": "90fe8cae-1ed7-4b9d-ad8f-9f1be3e6e442-host-60-d17384fe0f7042a1a94f7c35641448a4",
    "SequenceNumber": 2067073,
    "Id": "e5f472e0-bae9-432f-9482-bd3f64c937b9",
    "Caption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 3 on sofiasds8 | LUN 13",
    "ExtendedCaption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 3 on sofiasds8 | LUN 13",
    "Internal": false
  },
  {
    "Lun": {
      "Quad": 13,
      "Level1": 13,
      "Level2": 0,
      "Level3": 0,
      "Level4": 0
    },
    "VirtualTargetDeviceId": "6826332c-40dd-4e2b-b77b-792a01476873",
    "LogicalDiskId": "367f3abe-749c-4c43-b478-81ac1c9aa772",
    "Access": 3,
    "Type": 1,
    "Preferred": 0,
    "Enabled": true,
    "PhysicalDiskId": "90fe8cae-1ed7-4b9d-ad8f-9f1be3e6e442-host-60-d17384fe0f7042a1a94f7c35641448a4",
    "SequenceNumber": 2067074,
    "Id": "dbfcde0a-ee2b-4eb8-91bf-5da983761d6e",
    "Caption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 4 on sofiasds8 | LUN 13",
    "ExtendedCaption": "vmhba37 on 192.168.2.158 | Server iSCSI Port 4 on sofiasds8 | LUN 13",
    "Internal": false
  }
]

To Table of Operations Set Default Kmip Endpoint

Set default kmip endpoint to the server group.

Version

1.0

Method

POST

URI template

/1.0/setdefaultkmipendpoint

URI parameters
None
Request Body
{
   "ServerAddress": "IP address of the KMIP host",
   "UserName": "The Username identifies the KMIP client",
   "Password": "Password is a secret that authenticates the KMIP client"
   "NoEndpoint": "Skip update Default KMIP endpoint."
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/setdefaultkmipendpoint

Request body

{
   "ServerAddress" : "192.168.1.1",
   "UserName" : "TestUser",
   "Password" : "testpass",
   "NoEndpoint" : "false"
}

Response body

{
   "OurGroup":true,
   "Alias":"SG_VM4",
   "Description":null,
   "State":1,
   "SmtpSettings":null,
   "LicenseSettings":{
       "MaxServers":32,
       "MaxPartnerGroups":16,
       "MaxMappedHosts":500,
       "BidirectionalReplication":1,
       "FiberChannel":1,
       "ThinProvisioning":1,
       "Snapshot":1,
       "iSCSI":1,
       "StorageCapacity":{"Value":0},
       "LicensedBulkStorage":{"Value":0},
       "BulkEnabled":0,
       "RetentionTime":1728000000000,
       "AutoTiering":1,
       "HeatMaps":1,
      "SharedStorage":1,
       "PerformanceAnalysis":1,
       "ResourceAuthorization":1,
       "SequentialStorage":1,
       "MaxBypassThreads":0,
       MaxPollerThreads":0,
       "Mirroring":0,
       "Witness":1,
       "DataAtRestEncryption":0
       },
   "LicenseType":2,
   "ContactData":null,
   "StorageUsed":{"Value":0},
   "BulkStorageUsed":{"Value":0},
   "MaxStorage":{"Value":1125899906842624},
   "RecoverySpeed":32,
   "ExistingProductKeys":[
       {
       "Key":null,
       "LastFive":"RRR8G",
       "ServerId":null,
       "Capacity":{"Value":0}
       },
       {
       "Key":null,
       "LastFive":"xxxxx",
       "ServerId":"995F2A7A-xxxx-xxxx-xxxx-2DAF00Bxxxxx",
       Capacity":{"Value":0}
       }],
   "DataCoreStorageUsed":{"Value":20401094656},
   "SupportBundleRelayAddress":null,
   "MirrorTrunkMappingEnabled":false,
   "SelfHealingDelay":480,
   "DefaultWitness":null,
   "DefaultWitnessOption":0,
   "WitnessAllowed":true,
   "Telemetry":"Enabled",
   "DefaultKmipEndpoint":"fc98eabae9e541808e88de90c4140371",
   "CrashRecoveryCount":0,
   "SequenceNumber":807,
   "Id":"d286a16c-7375-4391-b24c-504a9641c0c5",
   "Caption":"SG_VM4",
   "ExtendedCaption":"SG_VM4",
   "Internal":false
}

To Table of Operations Set Host Group Properties

Sets the properties of the specified host group.

Version

1.0

Method

PUT

URI template

/1.0/hostgroups/{hostgroupid}

URI parameters
hostgroupid ID of the host group to modify.
Request Body
{
    "Name": "New name for the host group",
    "Description": "New description for the host group",
    "MaxDataPerSecond": "String consisting of a number between 1KB and 3GB that designates the maximum amount of data transferred per second",
    "MaxIOPerSecond": "Number between 1 and 2147483647 that designates the maximum number of operations per second"
    "EnableChargeBack": "Boolean; true enables the Charge Back feature"
}
Notes
To disable the "MaxDataPerSecond" and "MaxIOPerSecond" parameters, set the value to 0.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hostgroups/{0f3f4416-2bf1-4b99-9f35-e25a09264e4b}

Request body

{
    "Name": "Host Group 1",
    "Description": "Description for Host Group 1",
    "MaxDataPerSecond": "1GB",
    "MaxIOPerSecond": 1000,
    "EnableChargeBack": true
}

Response body

{
    "Caption": "Host Group 1",
    "ExtendedCaption": "Host Group 1",
    "Id": "{0f3f4416-2bf1-4b99-9f35-e25a09264e4b}",
    "Internal": false,
    "SequenceNumber": 61898,
    "Alias": "Host Group 1",
    "Description": "Description for Host Group 1",
    "StorageDomainSettings": {
        "ChargeBackEnabled": true,
        "MaxDataTransferredPerSec": 1073741824,
        "MaxIoOperationsPerSec": 1000
    }
}

To Table of Operations Set Host Properties

Changes the requested properties of the specified host.

Version

1.0

Method

PUT

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
    "Name" : "New name of the host",
    "Description" : "New description of the host",
    "OperatingSystem": "Number indicating the host operating system, see enum ClientMachineType",
    "PreferredServers" : "Array of preferred server IDs",
    "MPIO" : "Boolean; true enables multipathing support",
    "Alua" : "Boolean; true enables ALUA support"
}
Notes
To remove preferred servers and set to Auto select, pass an empty string.
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/hosts/29aefa14a3ae45eab25eac25e3efa851

Request body

{
    "Description" : "Database server in Ft. Lauderdale",
    "OperatingSystem" : 20,
    "PreferredServers" : ["FCBACFDB-35CB-40A0-A711-0BC59903BF1A", "A9B04C58-91A4-4497-B301-0D100CAA994D"],
    "MPIO" : true,
    "Alua" : true
}

Response body

{
    "Caption": "HostVM3",
    "ExtendedCaption": "HostVM3",
    "Id": "29aefa14a3ae45eab25eac25e3efa851",
    "Internal": false,
    "SequenceNumber": 7824884,
    "Description": "Database server in Ft. Lauderdale",
    "HostName": "HostVM3",
    "MpioCapable": true,
    "AluaSupport": true,
    "HostGroupId": null,
    "PathPolicy": 0,
    "State": 0,
    "TelemetryData":
     {
        "DockerVersion": "2.3",
        "KubernetesVersion": "",
        "NumberOfContainers": 0,
        "PersistentVolumes": ["754ea0cb60de442bb732a3c2e9b84296",
                              "e4076463060e4218934916c5b69f3081"]
     },
    "Type": 20
}

To Table of Operations Set Logical Disk Access

Sets logical disk mirror and host access for the specified logical disk.

Version

1.0

Method

POST

URI template

/1.0/logicaldisks/{logicaldiskid}

URI parameters
logicaldiskid ID of the logical disk to force online.
Request Body
{
    "Operation": "SetAccess",
    "AccessEnabled": "Boolean; true will enable mirror and host access and false will disable mirror access and off-line host access to the logical disk."
}
Response Code
200
Returns
None
Example 1

URL

http://localhost/RestService/rest.svc/1.0/logicaldisks/a717b2fd-00fb-4b64-a1cd-caeda0d566e0

Request body

{
    "Operation": "SetAccess",
    "AccessEnabled": false
}

Response body

None

To Table of Operations Set Physical Disk Properties

Changes the name of the specified physical disk.

Version

1.0

Method

PUT

URI template

/1.0/physicaldisks/{physicaldiskid}

URI parameters
physicaldiskid ID of the physical disk to modify.
Request Body
{
    "Name": "New name for the physical disk"
}
Response Code
200
Returns
Example 1

URL

https://vm1103/RestService/rest.svc/1.0/physicaldisks/{07b963b1-22e7-43b7-8e6b-613c99b8e682}

Request body

{
     "Name":"Renamed physical disk"
}

Response body

{
    "Caption": "Renamed physical disk",
    "ExtendedCaption": "Renamed physical disk on VM1103",
    "Id": "{07b963b1-22e7-43b7-8e6b-613c99b8e682}",
    "Internal": false,
    "SequenceNumber": 817232,
    "Alias": "Renamed physical disk",
    "BusType": 10,
    "DiskIndex": 5,
    "DiskStatus": 1,
    "FreeSpace": {
        "Value": 20398997504
    },
    "HostId": "7FA664BB-559F-4304-AA17-7807B884BCF3",
    "InUse": false,
    "InquiryData": {
        "Product": "Virtual Disk    ",
        "Revision": "1.0 ",
        "Serial": "UNKNOWN",
        "Vendor": "Msft    "
    },
    "IsBootDisk": false,
    "IsDataCoreDisk": false,
    "IsSolidState": false,
    "Partitioned": false,
    "PoolMemberId": null,
    "PresenceStatus": 1,
    "Protected": false,
    "ScsiPath": {
        "Bus": 0,
        "LUN": 4,
        "Port": 2,
        "Target": 0
    },
    "SectorSize": {
        "Value": 512
    },
    "SharedPhysicalDiskId": null,
    "Size": {
      "Value": 20401094656
    },
    "SystemName": "\\\\?\\PhysicalDrive5",
    "Type": 3,
    "UniqueIdentifier": null
}

To Table of Operations Set Pool Member Properties

Changes the disk tier number of the specified pool member.

Version

1.0

Method

PUT

URI template

/1.0/poolmembers/{poolmemberid}

URI parameters
poolmemberid ID of the pool member to modify.
Request Body
{
    "DiskTier": "Disk tier number to assign to the pool member"
}
Response Code
200
Returns
Example 1

URL

https://vm1103/RestService/rest.svc/1.0/poolmembers/ba5c479a-5509-413f-baa8-c2e6272563e7

Request body

{
    "DiskTier": 2
}

Response body

{
    "Caption": "Msft Virtual Disk",
    "ExtendedCaption": "Pool disk Msft Virtual Disk on VM1103",
    "Id": "ba5c479a-5509-413f-baa8-c2e6272563e7",
    "Internal": false,
    "SequenceNumber": 821942,
    "DiskInRecoveryId": "",
    "DiskPoolId": "7FA664BB-559F-4304-AA17-7807B884BCF3:{0547e4c7-041d-11e7-80ec-00155d029633}",
    "DiskTier": 2,
    "IsMirrored": false,
    "MemberState": 0,
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 11811160064
    }
}

To Table of Operations Set Pool Properties

Changes the requested properties of the specified disk pool.

Version

1.0

Method

PUT

URI template

/1.0/pools/{poolid}

URI parameters
poolid ID of the disk pool to modify.
Request Body
{
    "Name" : "New name of pool",
    "Description" : "New description of pool",
    "MaxTierNumber" : "Number between 1 and 15 that designates the maximum number of tiers in the pool",
    "TierReservePct" : "Number between 0 and 20 that designates the percentage of space to reserve in tiers for virtual disks. Does not affect the lowest tier.",
    "SMPAApproved" : "Boolean; true acknowledges that a shared pool consists of all qualified shared multi-port disks"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/pools/A59DACE3-5732-4539-A167-9F19DE666F85:{bc82c00c-5c02-11e7-80f2-00155d138904}

Request body

{
"Name" : "REST Shared Pool 1",
"Description" : "Changed through REST API",
"MaxTierNumber" : 5,
"TierReservePct" : 10,
"SMPAApproved" : true
}

Response body

{
    "Caption": "Shared Pool 1",
    "ExtendedCaption": "Shared Pool 1 on SSVVM03",
    "Id": "A59DACE3-5732-4539-A167-9F19DE666F85:{bc82c00c-5c02-11e7-80f2-00155d138904}",
    "Internal": false,
    "SequenceNumber": 3658143,
    "Alias": "REST Shared Pool 1",
    "AutoTieringEnabled": true,
    "ChunkSize": {
        "Value": 134217728
    },
    "Description": "Changed through REST API",
    "InSharedMode": true,
    "IsAuthorized": false,
    "MaxTierNumber": 3,
    "PoolMode": 1,
    "PoolStatus": 0,
    "PresenceStatus": 1,
    "SMPAApproved": true,
    "SectorSize": {
        "Value": 512
    },
    "ServerId": "A59DACE3-5732-4539-A167-9F19DE666F85",
    "SharedPoolId": "{bc82c00c-5c02-11e7-80f2-00155d138904}",
    "TierReservedPct": 10,
    "Type": 0
}

To Table of Operations Set Port Properties

Changes the name and/or description of the specified server or host port.

Version

1.0

Method

PUT

URI template

/1.0/ports/{portid}

URI parameters
portid ID of the port to modify.
Request Body
{
    "Name":"New name for the port",
    "Description":"Description for the port",
    "Role":["FE","BE","MR"]
}
Response Code
200
Returns
Example 1

URL

http://vm1103/RestService/rest.svc/1.0/ports/fb1478ae-e47f-4c4e-b713-2e1073e407d5

Request body

{
    "Name":"REST changed name",
    "Description":"REST changed description"
}

Response body

{
  "__type": "ServeriScsiPortData:#DataCore.Executive",
  "Caption": "REST  changed name",
  "ExtendedCaption": "REST  changed name on VM1103",
  "Id": "fb1478ae-e47f-4c4e-b713-2e1073e407d5",
  "Internal": false,
  "SequenceNumber": 937,
  "Alias": "REST  changed name",
  "Connected": false,
  "Description": "REST changed description",
  "HostId": "7FA664BB-559F-4304-AA17-7807B884BCF3",
  "PortMode": 2,
  "PortName": "iqn.2000-08.com.datacore:vm1103-3",
  "PortType": 3,
  "AluaId": 1029,
  "PhysicalName": "MAC:00-15-5D-02-96-31",
  "PresenceStatus": 1,
  "RoleCapability": 5,
  "ServerPortProperties": {
    "__type": "ServeriScsiPortPropertiesData:#DataCore.Executive",
    "PortGroup": null,
    "Role": 5,
    "Active": true,
    "Alias": "",
    "Authentication": 0,
    "AutoLoginMode": 0,
    "DisablePortWhileStopped": true,
    "Discovery": {
      "SLPConfig": {
        "ServerAgentMode": 0,
        "UserAgentMode": 0
      },
      "TargetAutoDiscovery": 0,
      "iSNSConfig": {
        "Mode": 2,
        "iSNSServerAddress": {
          "Address": {
            "Address": "::"
          },
          "AddressType": 0,
          "DomainName": "",
          "TcpPort": 3205
        }
      }
    },
    "ISID": 140737488355328,
    "IScsiPortalsConfig": [
      {
        "Address": {
          "Address": "::"
        },
        "ConnParams": {
          "DataDigestMode": 0,
          "HeaderDigestMode": 0,
          "MaxRcvDataSegLen": 0
        },
        "DefaultGateway": {
          "Address": "0.0.0.0"
        },
        "DhcpMode": 0,
        "Dns": {
          "Address": "0.0.0.0"
        },
        "Mtu": 0,
        "SubnetMask": {
          "Address": "0.0.0.0"
        },
        "TcpPort": 3260
      }
    ],
    "InstanceName": "MAC:00-15-5D-02-96-31",
    "MaxActiveICommands": 0,
    "MaxActiveTCommands": 256,
    "NodeName": "iqn.2000-08.com.datacore:vm1103-3",
    "RecoveryLevel": 0,
    "ScsiMode": 0,
    "SessionParams": {
      "DataPDUInOrder": 0,
      "DataSequenceInOrder": 0,
      "DefaultTime2Retain": 0,
      "DefaultTime2Wait": 0,
      "FirstBurstLength": 0,
      "ImmediateData": 0,
      "InitialR2T": 0,
      "MaxBurstLength": 0,
      "MaxConnections": 0,
      "MaxOutstandingR2T": 0
    },
    "TPGT": 1
  },
  "CapabilityInfo": {
    "MaxActiveICommands": 0,
    "MaxActiveTCommands": 256,
    "PortalCapabilityInfo": [
      {
        "DataDigestSupported": true,
        "DhcpSupported": false,
        "HeaderDigestSupported": true,
        "MaxLinkSpeed": 1410,
        "Mtu": 1500
      }
    ],
    "SoftNodeName": false,
    "SupportedScsiModes": [
      2
    ]
  },
  "IScsiPortStateInfo": {
    "Active": true,
    "InstanceName": "MAC:00-15-5D-02-96-31",
    "PortalsState": [
      {
        "Address": {
          "Address": "::192.168.2.104"
        },
        "PortalSpeed": 1410,
        "State": 3
      }
    ]
  },
  "IdInfo": {
    "AdapterType": "Ethernet 802.3",
    "ConnectionName": "Ethernet",
    "DriverName": "Software iSCSI Driver",
    "DriverVendor": "DataCore",
    "DriverVersion": "15.0.700.10517",
    "HbaNicProduct": "Microsoft Hyper-V Network Adapter",
    "HbaNicVendor": "Microsoft",
    "IsSoftiSCSI": true,
    "Portals": [
      {
        "ChipsetVersion": "1.0.0.0",
        "DriverName": "Software iSCSI Driver",
        "DriverVendor": "DataCore",
        "DriverVersion": "15.0.700.10517",
        "FirmwareVersion": "1.0.0.0",
        "PCIInfo": {
          "Bus": 255,
          "DeviceId": 255,
          "Function": 255,
          "InterruptLevel": 255,
          "Slot": 255,
          "SubVendorId": 255,
          "VendorId": 255
        },
        "PhysicalAddress": "00-15-5D-02-96-31",
        "ProductName": "Software iSCSI",
        "VendorName": "Software iSCSI Driver"
      }
    ]
  },
  "PortConfigInfo": {
    "Active": true,
    "Alias": "",
    "Authentication": 1,
    "AutoLoginMode": 0,
    "DisablePortWhileStopped": true,
    "Discovery": {
      "SLPConfig": {
        "ServerAgentMode": 0,
        "UserAgentMode": 0
      },
      "TargetAutoDiscovery": 0,
      "iSNSConfig": {
        "Mode": 2,
        "iSNSServerAddress": {
          "Address": {
            "Address": "::"
          },
          "AddressType": 0,
          "DomainName": "",
          "TcpPort": 3205
        }
      }
    },
    "ISID": 140737488355328,
    "InstanceName": "MAC:00-15-5D-02-96-31",
    "MaxActiveICommands": 0,
    "MaxActiveTCommands": 256,
    "NodeName": "iqn.2000-08.com.datacore:vm1103-3",
    "PortalsConfig": [
      {
        "Address": {
          "Address": "::192.168.2.104"
        },
        "ConnParams": {
          "DataDigestMode": 2,
          "HeaderDigestMode": 2,
          "MaxRcvDataSegLen": 262144
        },
        "DefaultGateway": {
          "Address": "::"
        },
        "DhcpMode": 0,
        "Dns": {
          "Address": "::"
        },
        "Mtu": 0,
        "SubnetMask": {
          "Address": "::"
        },
        "TcpPort": 3260
      }
    ],
    "RecoveryLevel": 0,
    "ScsiMode": 2,
    "SessionParams": {
      "DataPDUInOrder": 1,
      "DataSequenceInOrder": 1,
      "DefaultTime2Retain": 2,
      "DefaultTime2Wait": 2,
      "FirstBurstLength": 65536,
      "ImmediateData": 2,
      "InitialR2T": 1,
      "MaxBurstLength": 1048576,
      "MaxConnections": 1,
      "MaxOutstandingR2T": 1
    },
    "TPGT": 1
  },
  "iSCSINodes": []
}

To Table of Operations Set Replication Group Properties

Sets the requested properties of the specified replication group.

Version

1.0

Method

PUT

URI template

/1.0/replicationgroups/{replicationgroupid}

URI parameters
replicationgroupid ID of the replication group to modify, see Get Server Groups.
Request Body
{
    "Address": "Address or ID of one of the servers in the remote group",
    "RemoteUsername": "Username for the remote machine",
    "RemotePassword": "Password for the remote machine",
    "EnableCompression": "Boolean; true enables data compression"
}
Notes
Address, RemoteUsername and RemotePassword parameters must be passed together when changing any one of them. 
EnableCompression can be changed without passing the other parameters.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/replicationgroups/96d2f6c5-89b2-4023-bb72-ba9bab83135d

Request body

{
    "Address": "1d2a8e1d-6930-48ac-923b-6b0a73bcfec4:ED8BFF23-6356-491C-90A6-033B04EA10DF",
    "RemoteUsername": "Administrator",
    "RemotePassword": "password",
    "EnableCompression": true
}

Response body

{
    "Caption": "ControllerProxy",
    "ExtendedCaption": "ControllerProxy",
    "Id": "257be81f-5862-403a-8e2e-6c05f921370e",
    "Internal": false,
    "SequenceNumber": 64038,
    "Connected": false,
    "EnableCompression": true,
    "GroupId": "96d2f6c5-89b2-4023-bb72-ba9bab83135d",
    "HostAddresses": [
        "1d2a8e1d-6930-48ac-923b-6b0a73bcfec4:ED8BFF23-6356-491C-90A6-033B04EA10DF"
    ],
    "IncomingCredentials": {
        "Password": "",
        "Username": ""
        },
    "OutgoingCredentials": {
        "Password": "u+mgQq5AhDjXW27KyHXj4DdNMJ7IsVoVdVK6hjZrwbM=",
        "Username": "Administrator"
    }
}

To Table of Operations Set Replication Initialization Type

Sets the initialization type for the specified replication.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
   	"Operation" : "SetInitializationType",
   	"Type" : "Number indicating the initialization type, see enum ReplicationInitType."	
}
Response Code
200
Returns
Example 1

URL

https://SSVVM03/RestService/rest.svc/1.0/replications/42f45f48-c543-4e05-90e1-00e4ef90cb33

Request body

{
	"Operation" : "SetInitializationType",
	"Type" : 2	
}

Response body

{
    "Caption": "Virtual disk 1",
    "ExtendedCaption": "Virtual disk 1 from Local",
    "Id": "42f45f48-c543-4e05-90e1-00e4ef90cb33",
    "Internal": false,
    "SequenceNumber": 710919,
    "AutoAsyncReplicationLicense": 1,
    "BackendStatus": 2,
    "CheckpointSnapshotId": null,
    "FirstServerId": "49949EE7-BF92-4833-A880-8BBCD096750B",
    "FirstVirtualDiskId": "025a51b9d54c43aeaedeb5095b2acf19",
    "InitializationType": 2,
    "IsActiveSide": true,
    "OfflineInitializationSupported": true,
    "ReplicationState": 6,
    "SecondServerId": "774d678e-874d-4445-b4a8-1fea32414b0a:885D4F6C-8213-4330-8CF9-A69CEBD9A33A",
    "SecondVirtualDiskId": "939a89cd68e047abac788247356ae01e",
    "TransferStatus": 1
}

To Table of Operations Set Replication Partner Transfer Address

Changes the replication transfer address for a replication partner

Version

1.0

Method

PUT

URI template

/1.0/replicationpartners/{replicationpartnerid}

URI parameters
replicationpartnerid ID of the replication partner to modify.
Request Body
{
    "Address": "New address for replication transfer"
}
Response Code
200
Returns
Example 1

URL

http://vm1103/RestService/rest.svc/1.0/replicationpartners/d9b9b354-4c46-4c9c-9df7-69034f7f84ae:882803D6-60D3-4D4E-A422-B78B5F02F7A4

Request body

{
    "Address": "162.168.2.12"
}

Response body

{
    "Caption": "VM1102",
    "ExtendedCaption": "VM1102 in Server Group",
    "Id": "d9b9b354-4c46-4c9c-9df7-69034f7f84ae:882803D6-60D3-4D4E-A422-B78B5F02F7A4",
    "Internal": false,
    "SequenceNumber": 437,
    "Description": "",
    "HostName": "VM1102",
    "MpioCapable": false,
    "AluaGroupId": 0,
    "AvailableSystemMemory": {
        "Value": 0
    },
    "BackupStorageFolder": null,
    "BuildType": null,
    "BulkStorageUsed": {
        "Value": 0
    },
    "CacheSize": {
        "Value": 0
    },
    "CacheState": 0,
    "DataCoreBulkStorageUsed": {
        "Value": 0
    },
    "DataCoreStorageUsed": {
        "Value": 0
    },
    "DiagnosticMode": 0,
    "GroupId": "0cd541ae-80ed-4f6f-8d4f-b7eff12c7438",
    "HypervisorHostId": null,
    "InstallPath": null,
    "IpAddresses": [
        "192.168.2.12",
        "fe80::e457:250:91f8:69ca",
        "192.168.2.43",
        "fe80::68d5:ee08:f495:9309"
    ],
    "IsAzureVirtualMachine": false,
    "IsLicensed": false,
    "IsPayGo": false,
    "IsVirtualMachine": false,
    "LicenseExceeded": false,
    "LicenseNumber": 0,
    "LicenseRemaining": 0,
    "LicenseSettings": {
        "AutoTiering": 0,
        "BidirectionalReplication": 1,
        "BulkEnabled": 0,
        "FiberChannel": 1,
        "HeatMaps": 0,
        "LicensedBulkStorage": {
            "Value": 0
        },
        "MaxBypassThreads": 0,
        "MaxMappedHosts": 0,
        "MaxPartnerGroups": 1,
        "MaxPollerThreads": 0,
        "MaxServers": 2147483647,
        "Mirroring": 0,
        "PerformanceAnalysis": 0,
        "ResourceAuthorization": 0,
        "RetentionTime": 36000000000,
        "SequentialStorage": 0,
        "SharedStorage": 0,
        "Snapshot": 1,
        "StorageCapacity": {
            "Value": 18446744073709551615
        },
        "ThinProvisioning": 1,
        "Witness": 0,
        "iSCSI": 1
    },
    "LogStatus": 0,
    "LogStorePoolId": null,
    "OsVersion": null,
    "PowerState": 0,
    "ProcessorInfo": null,
    "ProductBuild": null,
    "ProductName": null,
    "ProductType": null,
    "ProductVersion": null,
    "RegionNodeId": null,
    "ReplicationBufferFolder": "",
    "SnapshotMapStoreId": null,
    "SnapshotMapStorePoolId": null,
    "State": 2,
    "StorageUsed": {
        "Value": 0
    },
    "SupportState": 0,
    "TotalSystemMemory": {
        "Value": 0
    },
    "SelectedAddress": "192.168.2.12"
}

To Table of Operations Set Replication Snapshot

Assigns a snapshot to be updated for the destination virtual disk when a checkpoint is received.

Version

1.0

Method

POST

URI template

/1.0/replications/{replicationid}

URI parameters
replicationid ID of the replication to modify.
Request Body
{
    "Operation" : "SetSnapshot",
    "Snapshot": "ID of the snapshot to be updated"
}
Notes
To remove the snapshot, pass an empty string in the parameter "Snapshot".
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/replications/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "SetSnapshot",
    "Snapshot": "V.{02360835-99EE-11E6-810B-0010187ED59A}-00000266--V.{02360835-99EE-11E6-810B-0010187ED59A}-00000267"
}

Response body

{
  "Caption": "Virtual disk 1",
  "ExtendedCaption": "Virtual disk 1 from Server Group",
  "Id": "1fe2bbdc-12d2-4be4-a0dc-72eebd82ab0c",
  "Internal": false,
  "SequenceNumber": 2689,
  "AutoAsyncReplicationLicense": 1,
  "BackendStatus": 2,
  "CheckpointSnapshotId": "V.{02360835-99EE-11E6-810B-0010187ED59A}-00000266--V.{02360835-99EE-11E6-810B-0010187ED59A}-00000267",
  "FirstServerId": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "FirstVirtualDiskId": "0e57783262ba4298b850fedbb7f78eda",
  "InitializationType": 2,
  "IsActiveSide": true,
  "OfflineInitializationSupported": true,
  "ReplicationState": 5,
  "SecondServerId": "9c407a0a-95c3-4353-b671-e5aa2540db3d:DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
  "SecondVirtualDiskId": "60bd2728e7484f13b3982677a7a38d76",
  "TransferStatus": 2
}

To Table of Operations Set Role Properties

Changes the properties of the specified user role.

Version

1.0

Method

PUT

URI template

/1.0/roles/{roleid}

URI parameters
roleid The ID of the role to modify.
Request Body
{
    "Name": "New name of the role",
    "Description": "New description of the role",
    "Privileges":
    {
        "DataCoreServer": "Array of numeric values for the DataCore Server Privileges Group, see enum ServerMachinePrivileges",
        "DataCoreServerGroup": "Array of numeric values for the DataCore Server Privileges Group, see enum ServerMachineGroupPrivileges",
        "DiskPool": "Array of numeric values for the Disk Pool Privileges Group, see enum DiskPoolPrivileges",
        "General": "Array of numeric values for the General Privileges Group, see enum GeneralPrivileges",
        "Host": "Array of numeric values for the Host Privileges Group, see enum ClientMachinePrivileges",
        "HostGroup": "Array of numeric values for the Host Group Privileges Group, see enum HostGroupPrivileges",
        "License": "Array of numeric values for the Licenses Privileges Group, see enum LicensePrivileges",
        "Log": "Array of numeric values for the Log Privileges Group, see enum LogPrivileges",
        "Performancerecording": "Array of numeric values for the Performance Recording Privileges Group, see enum PerformanceRecordingPriviledges",
        "PhysicalDisk": "Array of numeric values for the Physical Disk Privileges Group, see enum PhysicalDiskPrivileges",
        "Port": "Array of numeric values for the Port Privileges Group, see enum PortPrivileges",
        "Replication": "Array of numeric values for the Replication Privileges Group, see enum ReplicationPrivileges",
        "ReplicationPartner": "Array of numeric values for the Replication Partner Privileges Group, see enum PartnerControllerPrivileges",
        "Role": "Array of numeric values for the Role Privileges Group, see enum RolePrivileges",
        "Rollback": "Array of numeric values for the Rollback Privileges Group, see enum RollbackPrivileges",
        "ServiceLevel": "Array of numeric values for the Service Level Privileges Group, see enum ExecutivePrivileges",
        "Snapshot": "Array of numeric values for the Snapshot Privileges Group, see enum SnapshotPrivileges",
        "StorageProfile": "Array of numeric values for the Storage Profile Privileges Group, see enum StorageProfilePrivileges",
        "SystemHealthMonitor": "Array of numeric values for the System Health Monitor Privileges Group, see enum MonitorPrivileges",
        "Task": "Array of numeric values for the Task Privileges Group, see enum TaskPrivileges",
        "UserAccount": "Array of numeroc values for the User Account Privileges Group, see enum UserPrivileges",
        "VirtualDisk": "Array of numeric values for the Virtual Disk Privileges Group, see enum VirtualDiskPrivileges",
        "VirtualDiskGroup": "Array of numeric values for the Virtual Disk Group Privileges Group, see enum VirtualDiskGroupPrivileges",
        "VirtualDiskTemplate": "Array of numeric values for the Virtual Disk Template Privileges Group, see enum VirtualDiskTemplatePrivileges"
    }
}
Notes
Use the referenced enums to find the decimal values for the individual privileges in the privilege group. 
All, none, or individual privileges in each privilege group can be assigned.  
Only the privilege groups with changes need to be passed in the body.
Response Code
200
Returns
Example 1

URL

http://StorageSvr001/RestService/rest.svc/1.0/roles/cc96dc01-f0f1-47a7-bdeb-6f19607ce679

Request body

{
    "Description": "Changed through the REST API",
    "Privileges": 
    {
        "DataCoreServer": [ 32 ],
        "DataCoreServerGroup": [ 8 ],
        "DiskPool": [ 0 ],
        "Snapshot": [ 1, 2, 8 ],
        "Task": [ 2047 ],
        "VirtualDisk": [ 1, 2, 16, 32, 64, 128 ],
        "VirtualDiskGroup": [ 31 ],
        "VirtualDiskTemplate": [ 15 ]
    }
}

Response body

{
    "Caption": "TestRole1",
    "ExtendedCaption": "TestRole1",
    "Id": "cc96dc01-f0f1-47a7-bdeb-6f19607ce679",
    "Internal": false,
    "SequenceNumber": 25294471,
    "Alias": "Basic VD",
    "Description": "Changed through the REST API",
    "IsPredefined": false,
    "Privileges": {
        "ClientMachines": 0,
        "Controller": 0,
        "DiskPools": 0,
        "General": 1,
        "HostGroups": 0,
        "License": 0,
        "Logs": 0,
        "Monitors": 0,
        "PartnerController": 0,
        "PerformanceRecording": 0,
        "PhysicalDisks": 0,
        "Ports": 0,
        "Replications": 0,
        "Roles": 0,
        "Rollbacks": 0,
        "ServerMachineGroups": 8,
        "ServerMachines": 32,
        "Snapshots": 11,
        "StorageProfiles": 0,
        "Tasks": 2047,
        "Users": 0,
        "VirtualDiskGroups": 31,
        "VirtualDiskTemplate": 15,
        "VirtualDisks": 243
    }
}

Notes

The role specified by the role ID is modified by changing the description and assigning the following values in the body: The DataCore Server Privileges Group is changed to allow RescanDisks (32) in the enum ServerMachinePrivileges. The DataCore Server Group Privileges Group is changed to allow TransferSupportBundles (8) in the enum ServerMachineGroupPrivileges. The Disk Pool Privileges Group is changed to allow No privileges (0) in the enum DiskPoolPrivileges. The Snapshot Privileges Group is changed to allow CreateSnapshot (1), ConfigureSnapshot (2), and DeleteSnapshot (8) in the enum SnapshotPrivileges. The Task Privileges Group is changed to allow all task privileges (2047) in the enum TaskPrivileges. The Virtual Disk Privileges Group is changed to allow CreateVirtualDisk (1), DeleteVirtualDisk (2), ServeVirtualDisk (16), UnserveVirtualDisk (32), Split (64), and ConfigureVirtualDisk (128) in the enum VirtualDiskPrivileges. The Virtual Disk Group Privileges Group is changed to allow all privileges (31) in the enum VirtualDiskGroupPrivileges. The Virtual Disk Template Privileges is changed to allow all privileges (15) in the enum VirtualDiskTemplatePrivileges. The total decimal value for each privilege group is returned in the response. To calculate the individual privileges enabled in each privilege group, the decimal value must be converted to a binary number. Each bit in the number represents a different privilege in the group. The first bit is the rightmost bit.

To Table of Operations Set Rollback Group Properties

Changes the requested properties of the specified rollback group.

Version

1.0

Method

PUT

URI template

/1.0/rollbackgroups/{rollbackgroupid}

URI parameters
rollbackgroupid ID of the rollback group to modify.
Request Body
{
    "Name" : "New rollback group name",
    "Description" : "New description of the rollback group",
    "MaxDataPerSecond" : "String consisting of a number between 1KB and 3GB that designates the maximum amount of data transferred per second",
    "MaxIOPerSecond" : "Number between 1 and 2147483647 that designates the maximum number of operations per second"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbackgroups/{6dd713fa-f643-480e-a1b7-7c83dc86e050}

Request body

{
    "Name" : "New Rollback Group Name",
    "Description" : "Changed through the REST API",
    "MaxDataPerSecond" : "1GB",
    "MaxIOPerSecond" : 100000
}

Response body

{
    "Caption": "New Rollback Group Name",
    "ExtendedCaption": "New Rollback Group Name",
    "Id": "{6dd713fa-f643-480e-a1b7-7c83dc86e050}",
    "Internal": false,
    "SequenceNumber": 7944790,
    "Alias": "New Rollback Group Name",
    "Description": "Changed through the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 1073741824,
        "MaxIoOperationsPerSec": 100000
    },
    "TotalCapacity": {
        "Value": 10737418240
    },
    "ParentGroupId": "{d383bbc3-15d9-40d4-9707-370aeb27b146}"
}

To Table of Operations Set Rollback Properties

Changes the requested properties of the specified rollback.

Version

1.0

Method

PUT

URI template

/1.0/rollbacks/{rollbackid}

URI parameters
rollbackid ID of the virtual disk rollback to modify.
Request Body
{
    "Name" : "New name of the rollback",
    "Description" : "New description of the rollback",
    "WriteThrough" : "Boolean; true enables cache write-through for the rollback",
    "StorageProfile" : "ID of the storage profile to assign to the rollback",
    "Compression": "Boolean; true enables compression"
}
Response Code
200
Returns
Example 1

URL

https://StorageSvr001/RestService/rest.svc/1.0/rollbacks/V.{96223C1A-40F5-11EE-93A0-00155D026513}-00000003--V.{96223C24-40F5-11EE-93A0-00155D026513}-0000005C

Request body

{
"Name" : "NewName",
"Description" : "Changed through the REST API",
"WriteThrough" : false,
"StorageProfile" : "100469DF-0BE1-40DA-874E-9F1DA5A259E3"
}

Response body

{
  "VirtualDiskGroupId": null,
  "FirstHostId"               : "7B23AC2E-1B47-4174-BE3B-21C9C81768A1",
  "SecondHostId": null,
  "BackupHostId": null,
  "StorageProfileId"          : "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
  "WitnessId": null,
  "SnapshotPoolId": null,
  "Alias": "NewName",
  "Description": "Changed through the REST API",
  "Size": {
      "Value": 3221225472
  },
  "SectorSize": {
      "Value": 512
  },
  "Type": 0,
  "DiskStatus": 0,
  "InquiryData": {
      "Vendor": "DataCore",
      "Product": "Virtual Disk",
      "Revision": "DCS",
      "Serial": "b1c42103018f40458c48f8452f210956"
  },
  "ScsiDeviceId": "YAMNkNvTKAch+SpWPzhPcA==",
  "ScsiDeviceIdString": "60030D900373A702D111FC0869086ADF",
  "RemovableMedia": false,
  "WriteThrough": false,
  "NVMe": false,
  "Offline": false,
  "Disabled": false,
  "ManualRecovery": false,
  "DiskLayout": {
      "Cylinders": 0,
      "Heads": 0,
      "SectorsPerTrack": 0
  },
  "PersistentReserveEnabled": true,
  "RecoveryPriority": 1,
  "TPThresholdsEnabled": false,
  "IsServed": false,
  "SubType": 0,
  "MirrorTrunkMappingEnabled": false,
  "WitnessOption": "Default",
  "PreferredServer": "9C9CB40E-F748-4E32-869A-13729DA5B781",
  "ResiliencyEnabled": false,
  "EncryptionEnabled": false,
  "CompressionEnabled": false,
  "DeduplicationEnabled": false,
  "StaleDataEnabled": false,
  "StaleDataWeight": 0,
  "SequenceNumber": 549500,
  "Id": "b1c42103018f40458c48f8452f210956",
  "Caption": "NewName",
  "ExtendedCaption": "NewName from Server Group",
  "Internal": false
}

To Table of Operations Set Server Default Snapshot Pool

Sets the pool used as default snapshot pool for the specified server.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "SetServerDefaultSnapshotPool",
    "Pool": "ID of the pool which will be used as default snapshot pool" 
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "SetServerDefaultSnapshotPool",
    "Pool": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}"
}

Response body

{
GroupId": "ba85a27b-2057-42bd-8471-8d3f22292b45",
RegionNodeId": "ExecutiveNode:4B6CA867-FCD7-4D55-9155-1C1E5C602F0F",
KmipEndpointId": null,
CacheSize": {
  "Value": 0
,
State": 2,
SupportState": 1,
SnapshotMapStoreId": null,
SnapshotMapStorePoolId": null,
InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
ProductName": "DataCore SANsymphony",
ProductType": "Standard",
ProductVersion": "10.0 PSP 14",
OsVersion": "Microsoft Windows Server 2019 Standard, Build 17763",
ProcessorInfo": {
   "CpuArchitecture": 9,
   "ProcessorName": "Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz",
   "NumberCores": 8,
   "NumberPhysicalCores": 4
,
ProductBuild": "15.0.1400.32533",
HotfixBuild": null,
BuildType": "Release",
DiagnosticMode": 1,
LicenseRemaining": 12995648361641,
ReplicationBufferFolder": "",
TotalSystemMemory": {
   "Value": 8588877824
,
AvailableSystemMemory": {
   "Value": 1829998592
,
LogStatus": 0,
€œDefaultSnapshotPoolId”: "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}”,
LicenseSettings": {
   "MaxServers": 2147483647,
   "MaxPartnerGroups": 1,
   "MaxMappedHosts": 2147483647,
   "BidirectionalReplication": 1,
   "FiberChannel": 1,
   "ThinProvisioning": 1,
   "Snapshot": 1,
   "iSCSI": 1,
   "StorageCapacity": {
       "Value": 18446744073709551615
   },
   "LicensedBulkStorage": {
       "Value": 0
   },
   "BulkEnabled": 0,
   "RetentionTime": 36000000000,
   "AutoTiering": 1,
   "HeatMaps": 1,
   "SharedStorage": 2,
   "PerformanceAnalysis": 0,
   "ResourceAuthorization": 0,
   "SequentialStorage": 1,
   "MaxBypassThreads": 0,
   "MaxPollerThreads": 12,
   "Mirroring": 1,
   "Witness": 0,
   "DataAtRestEncryption": 1,
   "ILDC": 1
,
IsLicensed": false,
LicenseExceeded": false,
StorageUsed": {
   "Value": 644245094400
,
BulkStorageUsed": {
   "Value": 0
,
DataCoreStorageUsed": {
   "Value": 0
,
DataCoreBulkStorageUsed": {
   "Value": 0
,
PowerState": 2,
CacheState": 2,
BackupStorageFolder": null,
IpAddresses": [
   "10.200.0.204",
   "fe80::6188:9af0:62fd:7f19"
,
LicenseNumber": 2515823551647727525,
MaxPollerThreadsConfig": 12,
AluaGroupId": 1,
IsVirtualMachine": true,
IsAzureVirtualMachine": false,
IsPayGo": false,
HypervisorHostId": null,
LogStorePoolId": null,
ConfigurationInfo": {
   "SequenceNumber": 544,
   "TimeStamp": "/Date(1637221310418-0800)/"
,
OutOfCompliance": false,
NextExpirationDate": "/Date(-62135596800000)/",
DeduplicationPoolId": null,
CdpMaxHistoryLogSizeGb": 10240,
SeqMaxHistoryLogSizeGb": 10240,
IsTcLoaded": false,
VStorportEnabled": false,
IldcConfigurationData": {
   "IldcVolBlockSize": "128k",
   "IldcCachePercent": 30,
   "IldcEncryptionMode": "None",
   "IldcDefaultVolSize": {
       "Value": 5959267123200
   },
   "IldcSyncMode": "always",
   "IldcPrimaryCacheMode": "metadata",
   "IldcMetaLimitPercent": 25,
   "IldcMetaSlabDelay": 2048,
   "Avx2Supported": true
,
Description": "",
HostName": "Test19",
MpioCapable": true,
SequenceNumber": 871,
Id": "4B6CA867-FCD7-4D55-9155-1C1E5C602F0F",
Caption": "Test19",
ExtendedCaption": "Test19 in Server Group",
Internal": false

To Table of Operations Set Server Group Properties

Sets properties of the server group, such as name, description, recovery speed, and support bundle relay address. See Set SMTP Properties to configure the SMTP properties for the mail server used for outgoing email messages for the server group. See Set Syslog Settings to configure the settings used for outgoing Syslog messages.

Version

1.0

Method

PUT

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group to modify.
Request Body
{
    "Alias": "New alias for the server group",
    "Description": "New description for the server group",
    "RecoverySpeed": "Number of commands ("0", "16", "32", "48", or "64") that can be processed simultaneously for each server in the group. Default is "32"."
    "SupportBundleRelayAddress": "Hostname or IP address for the support bundle relay server"
}
Response Code
200
Returns
Example 1

URL

https://vm1103/RestService/rest.svc/1.0/servergroups/b40cad4c-2332-4caa-9fb6-03ccc3e55a90

Request body

{
    "Alias":"Renamed SG",
    "Description":"Changed by the REST API",
    "RecoverySpeed":32,
    "SupportBundleRelayAddress":"169.20.18.999"
}

Response body

{
    "Caption": "Renamed SG",
    "ExtendedCaption": "Renamed SG",
    "Id": "b40cad4c-2332-4caa-9fb6-03ccc3e55a90",
    "Internal": false,
    "SequenceNumber": 823544,
    "Alias": "Renamed SG",
    "BulkStorageUsed": {
      "Value": 0
    },
    "ContactData": null,
    "DataCoreStorageUsed": {
      "Value": 0
    },
    "Description": "Changed by the REST API",
    "ExistingProductKeys": [
    {
        "Capacity": {
            "Value": 0
        },
        "Key": null,
        "LastFive": "RRR8G",
        "ServerId": null
   },
   {
        "Capacity": {
            "Value": 0
        },
        "Key": null,
        "LastFive": "5N8NP",
        "ServerId": "7FA664BB-559F-4304-AA17-7807B884BCF3"
   }
   ],
   "LicenseSettings": {
        "AutoTiering": 0,
        "BidirectionalReplication": 1,
        "BulkEnabled": 0,
        "FiberChannel": 0,
        "HeatMaps": 0,
        "LicensedBulkStorage": {
            "Value": 0
        },
        "MaxBypassThreads": 0,
        "MaxMappedHosts": 2147483647,
        "MaxPartnerGroups": 16,
        "MaxPollerThreads": 0,
        "MaxServers": 32,
        "Mirroring": 0,
        "PerformanceAnalysis": 1,
        "ResourceAuthorization": 1,
        "RetentionTime": 9223372036854775807,
        "SequentialStorage": 0,
        "SharedStorage": 0,
        "Snapshot": 0,
        "StorageCapacity": {
            "Value": 281474976710656
        },
        "ThinProvisioning": 0,
        "iSCSI": 0
  },
  "LicenseType": 2,
  "MaxStorage": {
    "Value": 1125899906842624
  },
  "OurGroup": true,
  "RecoverySpeed": 32,
  "SmtpSettings": null,
  "State": 1,
  "StorageUsed": {
    "Value": 11811160064
  },
  "SupportBundleRelayAddress": "169.20.18.999"
  }

To Table of Operations Set Server Mapstore

Sets the pool used for the snapshot mapstore for the specified server.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "SetMapStore",
    "Pool": "ID of the pool from which where the mapstore will be created."
}
Notes
The mapstore setting cannot be removed after setting it, the mapstore can only be changed. 
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "SetMapStore",
    "Pool": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}"
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 25234,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 2092847104
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 2,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 2,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  }
}

To Table of Operations Set Server Properties

Changes the requested properties of the specified server. Properties include description, logstore, configuration backup folder, cache size, enabling or disabling cache, replication buffer folder, and hypervisor host. To set snapshot mapstore pool, see Set Server Mapstore.

Version

1.0

Method

PUT

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Description" : "New description of the server",
    "Logstore" : "ID of the pool to use for the logstore, or pass an empty string to remove the logstore",
    "ConfigurationBackupFolder" : "Full path to the folder, or pass an empty string to remove the folder",
    "CacheSize" : "Size of the cache",
    "CacheState" : "Number that identifies the state for the cache, see enum CacheState for values",
    "ReplicationBufferFolder" : "Full path to the folder",
    "HypervisorHost" : "ID of the hypervisor host"
}
Notes
If the configuration backup folder does not exist, it will be created. 
The value for cache size is the number and unit of measurement such as "256MG" or 1GB". 
After changing the cache size, the server must be stopped and restarted (see Stop Server and Start Server operations). 
Caution: The default setting is the system managed cache size which has been optimized for I/O performance based on memory in the server. 
Do not alter default settings unless you are aware of the affect your changes will have on performance. 
If the Replication buffer folder does not exist, it will be created. The buffer should reside on the server used as the source of replications.  
The buffer should be a local NTFS volume partition with a drive letter (and optional folder name). 
Use a dedicated volume to avoid contention with other system or application files. 
Do not use a buffer on the boot disk or a virtual disk. To remove the buffer, pass an empty string. 
Hypervisor host allows virtual machines running DataCore software to create virtual disks from local storage and serve them to the hypervisor host. 
The hypervisor host must be registered as a host in the server group (see Add Host).
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/A9B04C58-91A4-4497-B301-0D100CAA994D

Request body

{
    "Description" : "Description changed through the REST API",
    "Logstore" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{ddb5d707-0f22-11e7-80ef-00155d138914}"
    "ConfigurationBackupFolder" : "C:\ConfigurationBackups",
    "CacheSize" : "1GB",
    "CacheState" : 2,
    "ReplicationBufferFolder" : "E:\",
    "HypervisorHost" : "e75edb90a29e4d3ca7556663d01c0b56"
}

Response body

{
    "Caption": "SSVVM05",
    "ExtendedCaption": "SSVVM05 in Server Group 1",
    "Id": "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "Internal": false,
    "SequenceNumber": 8056327,
    "Description": "Description changed through the REST API",
    "HostName": "SSVVM05.datacoresoftware.com",
    "MpioCapable": true,
    "AluaGroupId": 1,
    "AvailableSystemMemory": {
        "Value": 2789871616
    },
    "BackupStorageFolder": null,
    "BuildType": "Release",
    "BulkStorageUsed": {
        "Value": 0
    },
    "CacheSize": {
        "Value": 1073741824
    },
    "CacheState": 2,
    "DataCoreBulkStorageUsed": {
        "Value": 0
    },
    "DataCoreStorageUsed": {
        "Value": 751619276800
    },
    "DiagnosticMode": 1,
    "GroupId": "01b849ad-54b9-413b-9654-dc4eface5c40",
    "HypervisorHostId": "e75edb90a29e4d3ca7556663d01c0b56",
    "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
    "IpAddresses": [
        "255.20.18.255",
        "fe80::15de:456d:3992:1b04",
        "13.0.0.130",
        "13.0.0.131",
        "13.0.0.132"
    ],
    "IsLicensed": true,
    "IsVirtualMachine": true,
    "LicenseExceeded": false,
    "LicenseNumber": 2474728205050810521,
    "LicenseRemaining": 9223372036854775807,
    "LicenseSettings": {
        "AutoTiering": 1,
        "BidirectionalReplication": 0,
        "BulkEnabled": 0,
        "FiberChannel": 1,
        "HeatMaps": 1,
        "LicensedBulkStorage": {
            "Value": 0
        },
        "MaxBypassThreads": 0,
        "MaxMappedHosts": 500,
        "MaxPartnerGroups": 2147483647,
        "MaxPollerThreads": 0,
        "MaxServers": 2147483647,
        "Mirroring": 1,
        "PerformanceAnalysis": 0,
        "ResourceAuthorization": 0,
        "RetentionTime": 1728000000000,
        "SequentialStorage": 1,
        "SharedStorage": 1,
        "Snapshot": 1,
        "StorageCapacity": {
            "Value": 18446744073709551615
        },
        "ThinProvisioning": 1,
        "iSCSI": 1
    },
    "LogStatus": 0,
    "LogStorePoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{ddb5d707-0f22-11e7-80ef-00155d138914}",
    "OsVersion": "Windows Server 2012 x64 Edition",
    "PowerState": 2,
    "ProcessorInfo": {
        "CpuArchitecture": 9,
        "NumberCores": 2,
        "ProcessorName": "Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz"
    },
    "ProductBuild": "15.0.700.11044",
    "ProductName": "DataCore SANsymphony",
    "ProductType": "Standard",
    "ProductVersion": "10.0 PSP 7",
    "RegionNodeId": "ExecutiveNode:A9B04C58-91A4-4497-B301-0D100CAA994D",
    "ReplicationBufferFolder": "R:",
    "SnapshotMapStoreId": "V.{5774c540-feab-11e6-80eb-00155d138914}-0000001A",
    "SnapshotMapStorePoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c540-feab-11e6-80eb-00155d138914}",
    "State": 2,
    "StorageUsed": {
        "Value": 0
    },
    "SupportState": 1,
    "TotalSystemMemory": {
        "Value": 5368238080
    }
}

To Table of Operations Set SMTP Properties

Sets the SMTP properties for the mail server used for outgoing email messages for the specified server group.

Version

1.0

Method

PUT

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group to modify.
Request Body
{
    "SMTPServer" : "Address of the mail server used for outgoing email messages",
    "SenderEmailAddress" : "Email address of the sender",
    "Username" : "User name of the email logon account",
    "Password" : "Password of the email logon account",
    "TCPPort": "The number of the TCP port to use",
    "UseSSL" : "Boolean; true uses SSL encryption for security"
}
Notes
Email logon account must match an existing account known to the operating system and exist as a user in the server group.
The parameter TCPPort is optional, and if not provided the default number 25 is used.
Refer to Test SMTP Settings to send a test email.
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/servergroups/b40cad4c-2332-4caa-9fb6-03ccc3e55a90

Request body

{
    "SMTPServer":"smtprelay.company.com",
    "SenderEmailAddress":"buildtest@company.com",
    "Username":"domain\\buildtest",
    "Password": "!P!W12345",
    "UseSSL": true
}

Response body

{
    "Caption": "Server Group",
    "ExtendedCaption": "Server Group",
    "Id": "b40cad4c-2332-4caa-9fb6-03ccc3e55a90",
    "Internal": false,
    "SequenceNumber": 304425,
    "Alias": "Server Group",
    "BulkStorageUsed": {
        "Value": 0
        },
    "ContactData": {
        "CompanyName": "Your Company",
        "ContactName": "Test User",
        "EmailAddress": "Test@company.com",
        "PhoneNumber": "555-555-5555"
        },
    "DataCoreStorageUsed": {
        "Value": 9663676416
        },
    "Description": null,
    "ExistingProductKeys": [
         {
           "Capacity": {
             "Value": 0
         },
           "Key": null,
           "LastFive": "RRR8G",
           "ServerId": null
         },
         {
           "Capacity": {
             "Value": 0
         },
           "Key": null,
           "LastFive": "379CQ",
           "ServerId": "C78616C3-ED97-4F53-9AA7-8C872C4025BB"
         },
         {
           "Capacity": {
             "Value": 0
         },
           "Key": null,
           "LastFive": "N07C5",
           "ServerId": "AAB823C7-A4EF-45D3-84AC-07FE2FC423BD"
         },
         {
           "Capacity": {
             "Value": 0
         },
           "Key": null,
           "LastFive": "5N8NP",
           "ServerId": "7FA664BB-559F-4304-AA17-7807B884BCF3"
         }
    ],
    "LicenseSettings": {
      "AutoTiering": 0,
      "BidirectionalReplication": 1,
      "BulkEnabled": 0,
      "FiberChannel": 0,
      "HeatMaps": 0,
      "LicensedBulkStorage": {
        "Value": 18446744073709551615
      },
      "MaxBypassThreads": 0,
      "MaxMappedHosts": 2147483647,
      "MaxPartnerGroups": 16,
      "MaxPollerThreads": 0,
      "MaxServers": 32,
      "Mirroring": 0,
      "PerformanceAnalysis": 1,
      "ResourceAuthorization": 1,
      "RetentionTime": 9223372036854775807,
      "SequentialStorage": 0,
      "SharedStorage": 0,
      "Snapshot": 0,
      "StorageCapacity": {
        "Value": 281474976710656
      },
      "ThinProvisioning": 0,
      "iSCSI": 0
      },
    "LicenseType": 2,
    "MaxStorage": {
      "Value": 1125899906842624
      },
    "OurGroup": true,
    "RecoverySpeed": 32,
    "SmtpSettings": {
      "EmailAddress": "buildtest@company.com",
      "SmtpServer": "smtprelay.company.com",
      "TcpPort": 25,
      "UseSSL": true,
      "Username": "domain\\buildtest"
      },
    "State": 1,
    "StorageUsed": {
      "Value": 23622320128
      },
    "SupportBundleRelayAddress": null
}

To Table of Operations Set Snapshot Group Properties

Changes the requested properties of the specified snapshot group.

Version

1.0

Method

PUT

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Name" : "New snapshot group name",
    "Description" : "New description of the snapshot group",
    "MaxDataPerSecond" : "String consisting of a number between 1KB and 3GB that designates the maximum amount of data transferred per second",
    "MaxIOPerSecond" : "Number between 1 and 2147483647 that designates the maximum number of operations per second"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{35e40f4f-5473-4ab4-b84e-044b3dbbf6ab}

Request body

{
    "Name" : "New Snapshot Group Name",
    "Description" : "Changed through the REST API",
    "MaxDataPerSecond" : "1GB",
    "MaxIOPerSecond" : 100000
}

Response body

{
    "Caption": "New Snapshot Group Name",
    "ExtendedCaption": "New Snapshot Group Name",
    "Id": "{35e40f4f-5473-4ab4-b84e-044b3dbbf6ab}",
    "Internal": false,
    "SequenceNumber": 8175002,
    "Alias": "New Snapshot Group Name",
    "Description": "Changed through the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 1073741824,
        "MaxIoOperationsPerSec": 100000
    },
    "TotalCapacity": {
        "Value": 10737418240
    },
    "ActiveOperation": 0,
    "ParentGroupId": "{d383bbc3-15d9-40d4-9707-370aeb27b146}",
    "TimeStamp": "/Date(1489414325292-0400)/",
    "Type": 0
}

To Table of Operations Set Snapshot Pool

Sets the preferred snapshot pool for the specified virtual disk. This is the pool from which snapshots will be created.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "SetSnapshotPool",
    "Pool": "ID of the preferred snapshot pool"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
   "Operation": "SetSnapshotPool",
   "Pool": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}"
}

Response body

{
 "VirtualDiskGroupId": null,
 "FirstHostId": "4FD6198A-E907-4264-90D1-88BE2E880FD4",
 "SecondHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
 "BackupHostId": null,
 "SnapshotPoolId": "4FD6198A-E907-4264-90D1-88BE2E880FD4:{a8db368f-7b8d-11e6-8146-002590570c2f}",
 "Alias": "Virtual disk 4",
 "Description": null,
 "Size": {
   "Value": 107374182400
 },
 "SectorSize": {
   "Value": 512
   },
 "Type": 2,
 "DiskStatus": 0,
 "InquiryData": {
   "Vendor": "DataCore",
   "Product": "Virtual Disk",
   "Revision": "DCS",
   "Serial": "3b4d346384ec45d78076d9a4f02d4041"
   },
 "ScsiDeviceId": [
   96,
   3,
   13,
   144,
   30,
   247,
   211,
   6,
   185,
   162,
   167,
   12,
   126,
   201,
   228,
   91
 ],
 "ScsiDeviceIdString": "60030D901EF7D306B9A2A70C7EC9E45B",
 "RemovableMedia": false,
 "WriteThrough": false,
 "Offline": false,
 "Disabled": false,
 "ManualRecovery": false,
 "DiskLayout": {
   "Cylinders": 0,
   "Heads": 0,
   "SectorsPerTrack": 0
 },
 "PersistentReserveEnabled": true,
 "RecoveryPriority": 1,
 "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
 "TPThresholdsEnabled": false,
 "IsServed": false,
 "SubType": 0,
 "MirrorTrunkMappingEnabled": false,
 "SequenceNumber": 30052,
 "Id": "3b4d346384ec45d78076d9a4f02d4041",
 "Caption": "Virtual disk 4",
 "ExtendedCaption": "Virtual disk 4 from Server Group",
 "Internal": false
}

To Table of Operations Set Snapshot Properties

Changes the requested properties of the specified snapshot.

Version

1.0

Method

PUT

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to modify.
Request Body
{
    "Name" : "New name of the snapshot",
    "Description" : "New description of the snapshot",
    "StorageProfile" : "ID of the storage profile to assign to the snapshot",
    "Compression": "Boolean; true enables compression"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000027

Request body

{
    "Name" : "New Name",
    "Description" : "Description changed by the REST API",
    "StorageProfile" : "34e490a9-abb2-42fe-8484-d8be3011129f",
    "Compression" : true
}

Response body

{
        "VirtualDiskGroupId": null,
        "FirstHostId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
        "SecondHostId": null,
        "BackupHostId": null,
        "StorageProfileId": "34e490a9-abb2-42fe-8484-d8be3011129f",
        "WitnessId": null,
        "SnapshotPoolId": null,
        "Alias": "New Name",
        "Description": "Description changed by the REST API",
        "Size": {
        "Value": 21474836480
        },
        "SectorSize": {
        "Value": 512
        },
        "Type": 0,
        "DiskStatus": 0,
        "InquiryData": {
            "Product": "Virtual Disk",
            "Revision": "DCS",
            "Serial": "cff87f98f832439b86cac869240e76a9",
            "Vendor": "DataCore"
        },
        "ScsiDeviceId": "YAMNkBqx/gLsx/RhSVMHzA==",
        "ScsiDeviceIdString": "60030D901AB1FE02ECC7F461495307CC",
        "RemovableMedia": false,
        "WriteThrough": false,
        "NVMe": false,
        "Offline": false,
        "Disabled": false,
        "ManualRecovery": false,
        "DiskLayout": {
            "Cylinders": 0,
            "Heads": 0,
            "SectorsPerTrack": 0
        },
        "PersistentReserveEnabled": true,
        "RecoveryPriority": 1,
        "TPThresholdsEnabled": false,
        "IsServed": false,
        "SubType": 0,
        "MirrorTrunkMappingEnabled": false,
        "WitnessOption": "Default",
        "PreferredServer": "17A2ABF4-04A8-4322-9F19-B2D0FFE60EA6",
        "ResiliencyEnabled": false,
        "EncryptionEnabled": false,
        "CompressionEnabled": true,
        "DeduplicationEnabled": false,
        "StaleDataEnabled": false,
        "StaleDataWeight": 64,
        "SequenceNumber": 19395,
        "Id": "cff87f98f832439b86cac869240e76a9",
        "Caption": "New Name",
        "ExtendedCaption": "New Name from Server Group 1",
        "Internal": false
}

To Table of Operations Set Storage Profile Properties

Changes the properties of a custom storage profile.

Version

1.0

Method

PUT

URI template

/1.0/storageprofiles/{storageprofileid}

URI parameters
storageprofileid ID of the storage profile to modify.
Request Body
{
    "Name": "New name for the storage profile",
    "Description": "New description for the storage profile",
    "PerformanceClass": "Number indicating the performance class, see the enum PerformanceClass for values",
    "ReplicationPriority": "Number indicating the replication priority, see the enum AsyncReplicationPriority for values",
    "RecoveryPriority": "Number indicating the mirror recovery priority, see the enum MirrorRecoveryPriority for values",
    "WriteTracking": "Boolean; true enables write tracking for auto-tiering"
}
Response Code
200
Returns
Example 1

URL

https://vm1103/RestService/rest.svc/1.0/storageprofiles/800d6d91-b09e-4e05-9254-bb7e45677fc5

Request body

{
    "Name" : "Renamed SP",
    "Description" : "This was changed by REST",
    "PerformanceClass" : 2,
    "ReplicationPriority" : 2,
    "RecoveryPriority" : 2,
    "WriteTracking" : true
}

Response body

{
    "Caption": "Renamed SP",
    "ExtendedCaption": "Renamed SP Profile",
    "Id": "800d6d91-b09e-4e05-9254-bb7e45677fc5",
    "Internal": false,
    "SequenceNumber": 820384,
    "Alias": "Renamed SP",
    "DefaultProfile": false,
    "Description": "This was changed by REST",
    "PerformanceClass": 2,
    "RecoveryPriority": 2,
    "ReplicationPriority": 2,
    "WriteTracking": true
}

To Table of Operations Set Syslog Settings

Sets the Syslog settings to configure the settings used for outgoing Syslog messages.

Version

1.0

Method

PUT

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group to modify.
Request Body
{
    "SyslogServer" : "Address of the syslog server used for outgoing syslog messages",
    "UDPPort": "The number of the UDP port to use",
    "Level" : "Array of levels used to only send messages originating from the specified levels",
    "AllLevels" : "Boolean; true sets the value of Level to include all values to send messages from all levels",
    "SourceType" : "Array of sources used to only send messages originating from the specified sources",     
    "AllSources" : "Boolean; true sets the value of SourceType to include all values to send messages from all sources"
}
Notes
Both AllSources and SourceType cannot be set in the same REST API Command.
Both AllLevels and Level cannot be set in the same REST API Command.
Response Code
200
Returns
Example 1

URL

http://localhost/RestService/rest.svc/1.0/servergroups/b40cad4c-2332-4caa-9fb6-03ccc3e55a90

Request body

{
    "SyslogServer": "10.111.0.181",
    "UDPPort" : 514,
    "Level" : ["Info", "Error"],
    "AllSources" : true
}

Response body

{"OurGroup":true,"Alias":"Server Group","Description":null,"State":1,"SmtpSettings":null,
"SyslogSettings":{"SyslogServer":"10.111.0.181","UdpPort":514,"SyslogLogLevel":[1,3],
"SyslogAllLevels":false,"SyslogSourceType":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],
"SyslogAllSources":true},"LicenseSettings":{"MaxServers":2,"MaxPartnerGroups":2147483647,
"MaxMappedHosts":2147483647,"BidirectionalReplication":0,"FiberChannel":0,"ThinProvisioning":0,
"Snapshot":0,"iSCSI":0,"StorageCapacity":{"Value":17592186044416},"LicensedBulkStorage":{ "Value":0},
"BulkEnabled":0,"RetentionTime":9223372036854775807,"AutoTiering":0,"HeatMaps":0,"SharedStorage":0,
"PerformanceAnalysis":1,"ResourceAuthorization":1,"SequentialStorage":0,"MaxBypassThreads":0,
"MaxPollerThreads":0,"Mirroring":0,"Witness":0,"DataAtRestEncryption":0,"ILDC":1},
"LicenseType":1,"ContactData":{ "ContactName":null,"PhoneNumber":null,"EmailAddress":null,
"CompanyName":null},"StorageUsed":{ "Value":53687091200},"BulkStorageUsed":{ "Value":0},
"MaxStorage":{ "Value":17592186044416},"RecoverySpeed":32,"ExistingProductKeys":[],
"DataCoreStorageUsed":{ "Value":0},"SupportBundleRelayAddress":null,"MirrorTrunkMappingEnabled":false,
"SelfHealingDelay":480,"DefaultWitness":null,"DefaultWitnessOption":0,"WitnessAllowed":false,
"Telemetry":"Enabled","DefaultKmipEndpoint":null,"CrashRecoveryCount":0,"OutOfCompliance":false,
"NextExpirationDate":"\/Date(-62135596800000)\/","LicenseRemaining":0,"GroupCdpMaxHistoryLogSizeGb":10240,
"GroupSeqMaxHistoryLogSizeGb":10240,"SequenceNumber":608229,"Id":"09cb5869-4b26-4f3e-a38f-6e364bf8a93c",
"Caption":"Server Group","ExtendedCaption":"Server Group","Internal":false}

To Table of Operations Set Task Properties

Changes the requested properties of the specified task.

Version

1.0

Method

PUT

URI template

/1.0/tasks/{taskid}

URI parameters
taskid ID of the task to modify.
Request Body
{
    "Name" : "New name of task",
    "Description" : "New description of task",
    "ActionBehavior": "Number indicating how an action is invoked, see the enum ActionBehavior for values",
    "TriggerConnective": "Number indicating how triggers are evaluated, see the enum TriggerConnective for values",
    "AbortOnActionFailure": "Boolean; true aborts the task when the first action fails",
    "MaxRunTime": "Number of seconds allotted to perform all actions for each instance that the task is run, the maximum value is 604800 (7 days)",
    "DelayTime":  "Number of seconds to wait before performing actions when triggers are signaled, the maximum value is 7200 (2 hours)"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/tasks/7784210b-d343-4d02-bf70-4d28fc0157e4

Request body

{
    "Name" : "NewName",
    "Description" : "Description changed through the REST API",
    "ActionBehavior": 1,
    "TriggerConnective": 0,
    "AbortOnActionFailure": true,
    "MaxRunTime": 86400,
    "DelayTime":  7200
}

Response body

{
    "Caption": "NewName",
    "ExtendedCaption": "NewName",
    "Id": "7784210b-d343-4d02-bf70-4d28fc0157e4",
    "Internal": false,
    "SequenceNumber": 120726,
    "AbortOnActionFailure": true,
    "ActionBehavior": 1,
    "ActionDelay": 72000000000,
    "Connective": 0,
    "Description": "Description changed through the REST API",
    "Enabled": false,
    "LastStartTime": "/Date(-62135578800000-0500)/",
    "LastStopTime": "/Date(-62135578800000-0500)/",
    "MaxRunTime": 864000000000,
    "State": 0
}

To Table of Operations Set User Properties

Changes the requested properties of the specified user.

Version

1.0

Method

PUT

URI template

/1.0/users/{userid}

URI parameters
userid ID of the user to modify.
Request Body
{
    "Name" : "New name of user",
    "Description" : "New description of user",
    "EmailAddress" : "String with the email address of the user"
}
Response Code
200
Returns
Example 1

URL

http://StorageSvr001/RestService/rest.svc/users/3fa3c823-1635-4f11-9d20-f16670c8f190

Request body

{
    "Name" : "NewName",
    "Description" : "Description changed through the REST API",
    "EmailAddress" : "TestEmail@datacore.com"
}

Response body

{
    "Caption": "Joe Schmoe",
    "ExtendedCaption": "Joe Schmoe",
    "Id": "{daf8b273-e930-4d70-8c52-975f5d1c348a}",
    "Internal": false,
    "SequenceNumber": 8325522,
    "BlendedPrivileges": {
        "ClientMachines": 7,
        "Controller": 126,
        "DiskPools": 63,
        "General": 1,
        "HostGroups": 31,
        "License": 3,
        "Logs": 7,
        "Monitors": 15,
        "PartnerController": 7,
        "PerformanceRecording": 31,
        "PhysicalDisks": 7,
        "Ports": 63,
        "Replications": 511,
        "Roles": 7,
        "Rollbacks": 31,
        "ServerMachineGroups": 15,
        "ServerMachines": 127,
        "Snapshots": 31,
        "StorageProfiles": 7,
        "Tasks": 2047,
        "Users": 127,
        "VirtualDiskGroups": 31,
        "VirtualDiskTemplate": 15,
        "VirtualDisks": 255
    },
    "Description": "Description changed through the REST API",
    "EmailAddress": "TestEmail@datacore.com",
    "IsAdministrator": false,
    "Name": "NewName",
    "RoleIds": [
        "{DAD4B92D-BFC8-4628-A313-51D8B2F57083}"
    ]
}

To Table of Operations Set Virtual Disk Group Properties

Changes the requested properties of the specified virtual disk group.

Version

1.0

Method

PUT

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Name" : "New virtual disk group name",
    "Description" : "New description of the virtual disk group",
    "MaxDataPerSecond" : "String consisting of a number between 1KB and 3GB that designates the maximum amount of data transferred per second",
    "MaxIOPerSecond" : "Number between 1 and 2147483647 that designates the maximum number of operations per second"
}
Notes
To disable the "MaxDataPerSecond" and "MaxIOPerSecond" parameters, set the value to 0.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{da9888cc-f281-42ce-90b6-577c182b18d2}

Request body

{
    "Name" : "New VDisk Group Name",
    "Description" : "Description changed through the REST API",
    "MaxDataPerSecond" : "1GB",
    "MaxIOPerSecond" : 100000
}

Response body

{
    "Caption": "New Virtual Disk Group Name",
    "ExtendedCaption": "New Virtual Disk Group Name",
    "Id": "{da9888cc-f281-42ce-90b6-577c182b18d2}",
    "Internal": false,
    "SequenceNumber": 8216118,
    "Alias": "New Virtual Disk Group Name",
    "Description": "Description changed through the REST API",
    "StorageDomainSettings": {
        "ChargeBackEnabled": false,
        "MaxDataTransferredPerSec": 1073741824,
        "MaxIoOperationsPerSec": 100000
    },
    "TotalCapacity": {
        "Value": 0
    }
}

To Table of Operations Set Virtual Disk Properties

Modifies the requested properties of the specified virtual disk, including data protection (CDP) properties, and SCSI ID and inquiry data.

Version

1.0

Method

PUT

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to modify.
Request Body
{
    "Name" : "New virtual disk name",
    "Description" : "New description of the virtual disk",
    "Size" : "Size of the virtual disk",
    "HistorySize" : "Size of the history log for the virtual disk with enabled Continuous Data Protection",
    "RetentionTime" : "Retention time of the virtual disk with enabled Continuous Data Protection",
    "ReservedSpace" : "Amount of pool space to reserve for the virtual disk",
    "StorageProfile" : "ID of the storage profile of the virtual disk",
    "WriteThrough" : "Boolean; true sets the cache write-through for the virtual disk, enabled by default",
    "ManualRecovery" : "Boolean; true sets mirror recovery to manual for the virtual disk",
    "ScsiId": "SCSI ID of the virtual disk",
    "Vendor": "Vendor name for the SCSI inquiry",
    "Product": "Product name for the SCSI inquiry",
    "Revision": "Revision for the SCSI inquiry",
    "Serial": "Serial number for the SCSI inquiry",
    "Encryption": "Boolean; true enables encryption",
    "Compression": "Boolean; true enables compression",
    "Deduplication": "Boolean; true enables deduplication",
    "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk",
    "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk"
}
Notes
NOTE:  Use caution when changing values for SCSI Inquiry data (Vendor, Product, Revision, Serial).
SCSI Inquiry data should not be changed unless it is required for hosts to discover and correctly use virtual disks. 
Changing these values unnecessarily or incorrectly will cause errors.
Maximum lengths for the inquiry data: Vendor: 8, Product : 16, Revision: 4, Serial: 64.
ScsiId: maximum length - 32, and valid characters:  A-F; a-f; 0-9.
Value for "Size" parameter is a string consisting of the number followed by unit of measurement (MB, GB, TB, PB). Size can range from "8GB" to "1PB".
Value for "HistorySize" parameter is a string consisting of the number followed by unit of measurement (MB, GB, TB, PB). Size can range from "8GB" to "1PB". 
The history log retention time can be set for less than the licensed retention time. 
Value for "RetentionTime" parameter is a string consisting of the number of days, hours, minutes, and seconds. For example, "01.12:30:30" represents one day, 12 hours, 30 minutes, 30 seconds. 
(The retention time set can be retrieved by the Get Logical Disks operation, see RetentionTime in the returned object.)
Value for "ReservedSpace" parameter is a string consisting of the number followed by unit of measurement (MB, GB, TB, PB). Size can range from "1GB" to the size of the virtual disk. 
OptimizeStaleOnly option can be enabled only when Inline Compression or Inline Deduplication, or both, are enabled.
StaleDataWeight's Valid values are "32", "64", and "96". The input is rounded to these valid values.
The default value is "64" which specifies the Normal Optimization Policy.
Similarly "32" specifies Lazy and "96" specifies Aggressive Optimization Policy.
See Set Snapshot Pool operation to set the preferred snapshot pool for a virtual disk.
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/VirtualDisks/6cb6cd3f725244699590e4163b6d36f7

Request body

{
    "Name" : "New VDisk Name",
    "Description" : "Description changed through the REST API",
    "Size" : "100GB",
    "HistorySize" : "20GB",
    "RetentionTime" : "01.12:30:30",
    "ReservedSpace" : "15GB",
    "WriteThrough" : false,
    "ManualRecovery" : false,
    "StorageProfile" : "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
    "Encryption" : false,
    "Compression": false,
    "Deduplication": false,
    "OptimizeStaleOnly" : false,
    "StaleDataWeight" : 64
}

Response body

{
    "Caption": "New VDisk Name",
    "ExtendedCaption": "New VDisk Name from Server Group 1",
    "Id": "6cb6cd3f725244699590e4163b6d36f7",
    "Internal": false,
    "SequenceNumber": 138847,
    "Alias": "New VDisk Name",
    "BackupHostId": null,
    "Description": "Description changed through the REST API",
    "Disabled": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "DiskStatus": 0,
    "FirstHostId": "A9B04C58-91A4-4497-B301-0D100CAA994D",
    "InquiryData": {
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "b7c469da19f24fad8efdbcc811b3c139",
        "Vendor": "DataCore"
    },
    "IsServed": false,
    "ManualRecovery": false,
    "MirrorTrunkMappingEnabled": true,
    "EncryptionEnabled": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled" : false,
    "StaleDataWeight" : 64,
    "Offline": false,
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 3,
    "RemovableMedia": false,
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        61,
        154,
        246,
        5,
        135,
        107,
        38,
        145,
        147,
        241,
        169,
        230
    ],
    "ScsiDeviceIdString": "60030D903D9AF605876B269193F1A9E6",
    "SecondHostId": null,
    "SectorSize": {
        "Value": 512
    },
    "Size": {
        "Value": 107374182400
    },
    "SnapshotPoolId": null,
    "StorageProfileId": "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
    "SubType": 0,
    "TPThresholdsEnabled": false,
    "Type": 2,
    "VirtualDiskGroupId": null,
    "WriteThrough": false
}

To Table of Operations Set Virtual Logical Unit Properties

A virtual logical unit is a front-end or mirror path of a logical disk on a server. This operation changes the front-end path properties (Access and Preferred path) for the specified logical disk.

Version

1.0

Method

PUT

URI template

/1.0/virtuallogicalunits/{virtuallogicalunitid}

URI parameters
virtuallogicalunitid ID of the virtual logical unit to modify.
Request Body
{
    "Access": "Value for access for the virtual logical unit, see the enum LogicalUnitAccess for values",
    "PreferredPath": "Value for preferred path, see the enum PreferredPathOption for values"
}
Response Code
200
Returns
Example 1

URL

https://vm1103/RestService/rest.svc/1.0/virtuallogicalunits/e19ab97c-44a4-4dcd-b834-db923ae9d9fd

Request body

{
    "Access" : 1,
    "PreferredPath" : 1"
}

Response body

{
    "Caption": "Loopback Port 1 on VM1103 | Loopback Port 1 on VM1103 | LUN 0",
    "ExtendedCaption": "Loopback Port 1 on VM1103 | Loopback Port 1 on VM1103 | LUN 0",
    "Id": "e19ab97c-44a4-4dcd-b834-db923ae9d9fd",
    "Internal": false,
    "SequenceNumber": 818919,
    "Access": 1,
    "Enabled": true,
    "LogicalDiskId": "723fd916-105c-418e-b83a-ef8381f5c2d6",
    "Lun": {
      "Quad": 0
    },
    "PhysicalDiskId": "7FA664BB-559F-4304-AA17-7807B884BCF3-423d87393bdf40e29e3de6a1d6703246",
    "Preferred": 1,
    "Type": 1,
    "VirtualTargetDeviceId": "1841bf79-3ee1-4613-8331-6f0bbe35eb79"
    }

To Table of Operations Set VirtualDiskTemplate Properties

Changes the requested properties of the specified virtual disk template.

Version

2.0

Method

PUT

URI template

/2.0/virtualdisktemplate/{vdtid}

URI parameters
vdtid ID of the virtual disk template to modify.
Request Body
{
   "Name" : "Name of template",
   "FirstPool" : "ID of pool to use as first storage source for virtual disk",
   "SecondPool" : "ID of pool to use as second storage source for mirrored virtual disk",
   "Size" : "Size of the virtual disk",
   "SectorSize" : "Sector size of the virtual disk, either "512B" or "4K"",
   "UseRedundantMirrorMappings" : "Boolean; true creates redundant mirror paths",
   "SequentialStorageEnabled" : "Boolean; true enables Sequential Storage",
   "StorageProfile" : "ID of the storage profile of the virtual disk, see Get Storage Profiles",
   "DefaultSnapshotPoolId" : "ID of the preferred snapshot pool",
   "ContinuousDataProtectionPoolId" : "ID of the pool used as the source of the CDP history log",
   "ContinuousDataProtectionLogSize" : "Maximum size of the CDP history log",
   "LatencyThresholdAttention" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "LatencyThresholdCritical" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "LatencyThresholdWarning" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdAttention" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdWarning" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "StorageLatencyThresholdCritical" : "Amount of milliseconds between "0" and "60000" that triggers the threshold", 
   "VirtualDiskSubType" : "Number that designates the virtual disk subtype, see enum VirtualDiskSubType for values",
   "VirtualDiskAlias" : "Base name of the virtual disk, names begin with the base and have a number appended to make them unique",
   "Tag": "Label used to identify standard VirtualDiskTemplates for vVol datastore",
   "ReservedSpacePercentage" : "Number specifying the percentage of space to reserve in each pool for the virtual disk",
   "ReadOnly" : "Boolean; true configures the virtual disk as ReadOnly so that it cannot be changed or deleted",
   "WriteThroughEnabled" : "Boolean; true enables cache write-through for the virtual disk",
   "MirrorTrunkMappingEnabled" : "Boolean; true configures the virtual disk to use a trunk for mirror paths",
   "CompressionEnabled": "Boolean; true enables Inline Compression on the virtual disk, default is false (optional)",
   "DeduplicationEnabled": "Boolean; true enables Inline Deduplication on the virtual disk, default is false (optional)",
   "OptimizeStaleOnly": "Boolean; true enables optimization only for stale data of the virtual disk, default is false (optional)",
   "StaleDataWeight": "Number specifying the Optimization Policy applied to stale data of the virtual disk, default is 64 (optional)"
}
Response Code
Returns
None
Example 1

URL

https://StorageSvr001/RestService/rest.svc/2.0/virtualdisktemplate/29aefa14a3ae45eab25eac25e3efa851

Request body

{
   "Name" : "VD Template 1",
   "FirstPool" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c540-feab-11e6-80eb-00155d138914}",
   "SecondPool" : "FCBACFDB-35CB-40A0-A711-0BC59903BF1A:{e4a85933-f1c8-11e6-80e6-00155d13890c}",
   "Size" : "100GB",
   "SectorSize" : "512B",
   "UseRedundantMirrorMappings" : true,
   "SequentialStorageEnabled" : false,
   "StorageProfile" : "E84B65FF-B69A-4EF1-B79E-71D3DC29E867"
   "DefaultSnapshotPoolId" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
   "ContinuousDataProtectionPoolId" : "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
   "ContinuousDataProtectionLogSize" : "20GB",
   "LatencyThresholdAttention" : 3000,
   "LatencyThresholdCritical" : 10000,
   "LatencyThresholdWarning" : 8000,
   "StorageLatencyThresholdAttention" : 3000,
   "StorageLatencyThresholdWarning" : 8000,
   "StorageLatencyThresholdCritical" : 10000,
   "VirtualDiskSubType" : 0,
   "VirtualDiskAlias" : "REST VD",
   "Tag" : "vVol",
   "ReservedSpacePercentage" : 0,
   "ReadOnly" : false,
   "WriteThroughEnabled" : false,
   "MirrorTrunkMappingEnabled" : false,
   "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "OptimizeStaleOnly" : false,
    "StaleDataWeight" : 64
}

Response body

{
    "Caption": "VD Template 1",
    "ExtendedCaption": null,
    "Id": "75452f6d11b241d69c75899b3133c18a",
    "Internal": false,
    "SequenceNumber": 4387411,
    "Alias": "VD Template 1",
    "ContinuousDataProtectionLogSize": {
        "Value": 21474836480
    },
    "ContinuousDataProtectionPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "DefaultSnapshotPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c66b-feab-11e6-80eb-00155d138914}",
    "FirstDiskPoolId": "A9B04C58-91A4-4497-B301-0D100CAA994D:{5774c540-feab-11e6-80eb-00155d138914}",
    "LatencyThresholdAttention": 3000,
    "LatencyThresholdCritical": 10000,
    "LatencyThresholdWarning": 8000,
    "MirrorTrunkMappingEnabled": false,
    "ReadOnly": false,
    "ReservedSpacePercentage": 0,
    "SecondDiskPoolId": "FCBACFDB-35CB-40A0-A711-0BC59903BF1A:{e4a85933-f1c8-11e6-80e6-00155d13890c}",
    "SectorSize": {
        "Value": 512
    },
    "SequentialStorageEnabled": false,
    "Size": {
        "Value": 107374182400
    },
    "StorageLatencyThresholdAttention": 5,
    "StorageLatencyThresholdCritical": 30,
    "StorageLatencyThresholdWarning": 10,
    "StorageProfileId": "E84B65FF-B69A-4EF1-B79E-71D3DC29E867",
    "UseRedundantMirrorMappings": true,
    "VirtualDiskAlias": "REST VD",
    "Tag": "vVol",
    "VirtualDiskDescription": null,
    "VirtualDiskSubType": 0,
    "VirtualDiskType": 2,
    "WriteThroughEnabled": false,
    "CompressionEnabled": false,
    "DeduplicationEnabled": false,
    "StaleDataEnabled" : false,
    "StaleDataWeight" : 64
}

To Table of Operations Split and Unserve Virtual Disk

Splits and unserves the storage source of the specified server from a mirrored, 3-copy, or dual virtual disk. All front-end paths from the specified server to hosts will be removed. In the case of a mirrored virtual disk, each server will retain a copy of the data as a single virtual disk. In the case of a 3-copy virtual disk, the specified server will retain a copy of the data as a single virtual disk, and a mirrored virtual disk is left from the remaining storage sources. In the case of a dual virtual disk, the specified server will be removed as a storage source of the virtual disk and result in a single virtual disk on the remaining server.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "SplitAndUnserve",
    "Server": "ID of the server from which to unserve the virtual disk, front-end paths to this server are removed.",
    "Force": "Boolean; true forces the split of the storage source in 3-copy virtual disks in certain cases. (optional) See Notes for important information."
}
Notes
The parameter Force will force the operation to be performed in the case of 3-copy virtual disks, when one of the active storage sources is being split 
and the inactive storage source is failed or is determined to be not up-to-date by the software. For example, the split will be forced when virtual disk 
is failed or in recovery. Forcing this operation may cause a full recovery.
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/8770d5b19d154e278094e1e6ca4cd29a

Request body

{
   "Operation": "SplitAndUnserve",
   "Server": "49949EE7-BF92-4833-A880-8BBCD096750B",
   "Force" : "true"
}

Response body

{
    "VirtualDiskGroupId": null,
    "FirstHostId": "49949EE7-BF92-4833-A880-8BBCD096750B",
    "SecondHostId": null,
    "BackupHostId": null,
    "SnapshotPoolId": null,
    "Alias": "Multi-1 (First)",
    "Description": null,
    "Size": {
        "Value": 10737418240
    },
    "SectorSize": {
        "Value": 512
    },
    "Type": 0,
    "DiskStatus": 0,
    "InquiryData": {
        "Vendor": "DataCore",
        "Product": "Virtual Disk",
        "Revision": "DCS",
        "Serial": "1b2c1223b2964d82ab4564d778b9309d"
    },
    "ScsiDeviceId": [
        96,
        3,
        13,
        144,
        174,
        118,
        208,
        6,
        111,
        196,
        135,
        178,
        246,
        123,
        77,
        112
    ],
    "ScsiDeviceIdString": "60030D90AE76D0066FC487B2F67B4D70",
    "RemovableMedia": false,
    "WriteThrough": false,
    "Offline": false,
    "Disabled": false,
    "ManualRecovery": false,
    "DiskLayout": {
        "Cylinders": 0,
        "Heads": 0,
        "SectorsPerTrack": 0
    },
    "PersistentReserveEnabled": true,
    "RecoveryPriority": 1,
    "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
    "TPThresholdsEnabled": false,
    "IsServed": false,
    "SubType": 0,
    "MirrorTrunkMappingEnabled": false,
    "WitnessId": null,
    "WitnessOption": 0,
    "SequenceNumber": 1650460,
    "Id": "1b2c1223b2964d82ab4564d778b9309d",
    "Caption": "Multi-1 (First)",
    "ExtendedCaption": "Multi-1 (First) from Local",
    "Internal": false
}   

To Table of Operations Split Rollback

Terminates the relationship between a CDP-enabled virtual disk and a rollback.

Version

1.0

Method

POST

URI template

/1.0/rollbacks/{rollbackid}

URI parameters
rollbackid ID of the rollback to modify.
Request Body
{
    "Operation" : "Split"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbacks/V.{E515BFDF-E6CF-11E6-8108-001B2129CF29}-00000088--V.{E515BFDF-E6CF-11E6-8108-001B2129CF29}-0000008A

Request body

{
    "Operation" : "Split"
}

Response body

{
   "VirtualDiskGroupId": null,
   "FirstHostId": "DD10ABB3-4FF7-467F-B281-2C91900B3D0C",
   "SecondHostId": null,
   "BackupHostId": null,
   "SnapshotPoolId": null,
   "Alias": "Virtual disk 2 @ 13.3.2017 г. 8:52:40 UTC",
   "Description": null,
   "Size": {
     "Value": 1073741824
   },
   "SectorSize": {
     "Value": 512
   },
   "Type": 0,
   "DiskStatus": 0,
   "InquiryData": {
     "Vendor": "DataCore",
     "Product": "Virtual Disk",
     "Revision": "DCS",
     "Serial": "e0f72dd643934607b11dff5bef1096ba"
   },
   "ScsiDeviceId": [
     96,
     3,
     13,
     144,
     38,
     230,
     69,
     6,
     48,
     94,
     24,
     198,
     9,
     170,
     60,
     135
   ],
   "ScsiDeviceIdString": "60030D9026E64506305E18C609AA3C87",
   "RemovableMedia": false,
   "WriteThrough": false,
   "Offline": false,
   "Disabled": false,
   "ManualRecovery": false,
   "DiskLayout": {
     "Cylinders": 0,
     "Heads": 0,
     "SectorsPerTrack": 0
   },
   "PersistentReserveEnabled": true,
   "RecoveryPriority": 1,
   "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
   "TPThresholdsEnabled": false,
   "IsServed": false,
   "SubType": 0,
   "MirrorTrunkMappingEnabled": false,
   "SequenceNumber": 2061809,
   "Id": "e0f72dd643934607b11dff5bef1096ba",
   "Caption": "Virtual disk 2 @ 13.3.2017 г. 8:52:40 UTC",
   "ExtendedCaption": "Virtual disk 2 @ 13.3.2017 г. 8:52:40 UTC from Server Group",
   "Internal": false

To Table of Operations Split Rollback Group

Terminates the relationship between a CDP-enabled virtual disk group and a rollback group.

Version

1.0

Method

POST

URI template

/1.0/rollbackgroups/{rollbackgroupid}

URI parameters
rollbackgroupid ID of the rollback group to modify.
Request Body
{
    "Operation" : "Split"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/rollbackgroups/{88a78c6c-168d-432f-9d61-b4793a862550}

Request body

{
    "Operation" : "Split"
}

Response body

{
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:32:01 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 4439,
  "Id": "{e5514be8-b1b8-44fa-b57e-9bda64bb5184}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:32:01 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:32:01 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}

To Table of Operations Split Snapshot

Terminates the relationship between the source virtual disk and a full snapshot. When split, the snapshot will be independent of the source and operation as a standard virtual disk.

Version

1.0

Method

POST

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to act upon or modify.
Request Body
{
    "Operation" : "Split"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007

Request body

{
    "Operation" : "Split"
}

Response body

None

To Table of Operations Split Snapshot Group

Terminates the relationship between the source virtual disk group and a full snapshot group.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Operation" : "Split"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{97b25e52-b7de-49ff-8d53-68d5487c636d}

Request body

{
    "Operation" : "Split"
}

Response body

{
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 3969,
  "Id": "{d5776226-54e8-48ab-a897-94f236eceb74}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}

To Table of Operations Split Virtual Disk

Splits a multi-copy or dual virtual disk that is not served. When splitting a multi-copy virtual disk, each server will retain a data copy as a single virtual disk. A dual virtual disk will become one single virtual disk on one server (the first server selected when the virtual disk was created).

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "Split"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/2eb2fdd8c77541658abd3e2591644a1f

Request body

{
    "Operation": "Split"
}

Response body

[
 {
   "VirtualDiskGroupId": null,
   "FirstHostId": "F8A3B7B1-84CA-4568-A45B-28B4AB0A5701",
   "SecondHostId": null,
   "BackupHostId": null,
   "SnapshotPoolId": null,
   "Alias": "Virtual disk 4 (Second)",
   "Description": null,
   "Size": {
     "Value": 107374182400
   },
   "SectorSize": {
     "Value": 512
   },
   "Type": 0,
   "DiskStatus": 0,
   "InquiryData": {
     "Vendor": "DataCore",
     "Product": "Virtual Disk",
     "Revision": "DCS",
     "Serial": "247932f8135a4cd591f5eb92ff51a402"
   },
   "ScsiDeviceId": [
     96,
     3,
     13,
     144,
     222,
     184,
     34,
     6,
     176,
     8,
     152,
     220,
     148,
     98,
     161,
     86
   ],
   "ScsiDeviceIdString": "60030D90DEB82206B00898DC9462A156",
   "RemovableMedia": false,
   "WriteThrough": false,
   "Offline": false,
   "Disabled": false,
   "ManualRecovery": false,
   "DiskLayout": {
     "Cylinders": 0,
     "Heads": 0,
     "SectorsPerTrack": 0
   },
   "PersistentReserveEnabled": true,
   "RecoveryPriority": 1,
   "StorageProfileId": "100469DF-0BE1-40DA-874E-9F1DA5A259E3",
   "TPThresholdsEnabled": false,
   "IsServed": false,
   "SubType": 0,
   "MirrorTrunkMappingEnabled": false,
   "SequenceNumber": 28120,
   "Id": "247932f8135a4cd591f5eb92ff51a402",
   "Caption": "Virtual disk 4 (Second)",
   "ExtendedCaption": "Virtual disk 4 (Second) from Server Group",
   "Internal": false
 }
]

To Table of Operations Start Server

Starts virtualization (mirroring capabilities) on the specified server. If the server is preferred, virtual disk paths using the server will failback and single virtual disks will be accessible to the host.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "StartServer"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "StartServer"
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 26158,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 2059317248
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 2,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 2,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  }
}

To Table of Operations Start Virtual Disk Reclamation

Starts reclamation on the specified virtual disk. The reclamation process de-allocates storage allocation units (SAUs) that are completely filled with zeros in the virtual disk. Those SAUs are added back to the available free space in the pool. The reclamation process could have an impact on the performance of the host. The process can be aborted without damage to the virtual disk integrity and restarted at a later time if performance is impacted, see Abort Virtual Disk Reclamation.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "StartReclamation"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/3b4d346384ec45d78076d9a4f02d4041

Request body

{
    "Operation": "StartReclamation"
}

Response body

None

To Table of Operations Stop Server

Stops virtualization on the specified server. Mirroring capabilities of the server are disabled and active server paths will failover and single virtual disks will be inaccessible to the host.

Version

1.0

Method

POST

URI template

/1.0/servers/{serverid}

URI parameters
serverid ID of the server to modify.
Request Body
{
    "Operation" : "StopServer"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servers/6F1B379E-4374-43C8-A2D3-A6781BA74228

Request body

{
    "Operation" : "StopServer"
}

Response body

{
  "Caption": "sofiasds8",
  "ExtendedCaption": "sofiasds8 in Server Group",
  "Id": "6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "Internal": false,
  "SequenceNumber": 26837,
  "Description": "",
  "HostName": "sofiasds8",
  "MpioCapable": true,
  "AluaGroupId": 1,
  "AvailableSystemMemory": {
    "Value": 10579140608
  },
  "BackupStorageFolder": null,
  "BuildType": "Debug",
  "BulkStorageUsed": {
    "Value": 0
  },
  "CacheSize": {
    "Value": 0
  },
  "CacheState": 0,
  "DataCoreBulkStorageUsed": {
    "Value": 0
  },
  "DataCoreStorageUsed": {
    "Value": 0
  },
  "DiagnosticMode": 1,
  "GroupId": "b7240ba3-e257-441c-b6de-d8772defc136",
  "HypervisorHostId": null,
  "InstallPath": "C:\\Program Files\\DataCore\\SANsymphony",
  "IpAddresses": [
    "192.168.2.123",
    "fe80::282d:6931:cbd0:44a3",
    "192.168.2.122",
    "fe80::1088:8e8c:a08e:458e",
    "169.254.64.175",
    "fe80::bc45:e765:b71e:40af",
    "169.254.76.135",
    "fe80::c8c1:c29f:9d5a:4c87"
  ],
  "IsLicensed": true,
  "IsVirtualMachine": false,
  "LicenseExceeded": false,
  "LicenseNumber": 2516105026628428932,
  "LicenseRemaining": 9223372036854775807,
  "LicenseSettings": {
    "AutoTiering": 1,
    "BidirectionalReplication": 0,
    "BulkEnabled": 0,
    "FiberChannel": 1,
    "HeatMaps": 1,
    "LicensedBulkStorage": {
      "Value": 18446744073709551615
    },
    "MaxBypassThreads": 0,
    "MaxMappedHosts": 500,
    "MaxPartnerGroups": 2147483647,
    "MaxPollerThreads": 0,
    "MaxServers": 2147483647,
    "Mirroring": 1,
    "PerformanceAnalysis": 0,
    "ResourceAuthorization": 0,
    "RetentionTime": 1728000000000,
    "SequentialStorage": 1,
    "SharedStorage": 1,
    "Snapshot": 1,
    "StorageCapacity": {
      "Value": 18446744073709551615
    },
    "ThinProvisioning": 1,
    "iSCSI": 1
  },
  "LogStatus": 0,
  "LogStorePoolId": "",
  "OsVersion": "Windows Server 2012 x64 Edition",
  "PowerState": 2,
  "ProcessorInfo": {
    "CpuArchitecture": 9,
    "NumberCores": 8,
    "ProcessorName": "Intel(R) Core(TM) i7 CPU         950  @ 3.07GHz"
  },
  "ProductBuild": "15.0.700.10671",
  "ProductName": "DataCore SANsymphony",
  "ProductType": "Standard",
  "ProductVersion": "11.0 PSP 7",
  "RegionNodeId": "ExecutiveNode:6F1B379E-4374-43C8-A2D3-A6781BA74228",
  "ReplicationBufferFolder": "c:\\buff",
  "SnapshotMapStoreId": "",
  "SnapshotMapStorePoolId": "6F1B379E-4374-43C8-A2D3-A6781BA74228:{704006a2-dcb2-11e6-811e-00259056a643}",
  "State": 1,
  "StorageUsed": {
    "Value": 3000603820032
  },
  "SupportState": 1,
  "TotalSystemMemory": {
    "Value": 12875640832
  }
}

To Table of Operations Test SMTP Settings

Tests email notifications settings by sending a test email.

Version

1.0

Method

POST

URI template

/1.0/servergroups/{servergroupid}

URI parameters
servergroupid ID of the server group on which to execute the operation.
Request Body
{
    "Operation": "TestSMTPSettings",
    "SMTPServer": "Address of the mail server used for outgoing email messages",
    "SenderEmailAddress": "Email address from the sender of the test email",
    "TestEmailAddress": "Email address of the recipient of the test email",
    "Username": "Username of the email logon account used for the test",
    "Password": "Password of the email logon account used for the test",
    "TCPPort": "The number of the TCP port to use for the test",
    "UseSSL": True or false for whether to use SSL
}
Notes
Email logon account must match an existing account known to the operating system and exist as a user in the server group. 
The parameter TCPPort is optional, and if not provided the default number 25 is used. 
When the SMTP settings are set for the server group, the operation can be performed using only the Operation and TestEmailAddress parameters. 
To set SMTP settings, refer to the Set SMTP Settings operation.
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/servergroups/2027a8ac-1c71-4d1e-a437-383d61a92968

Request body

{
    "Operation": "TestSMTPSettings",
    "SMTPServer": "mail.company.com",
    "SenderEmailAddress": "SANadministrator@company.com",
    "TestEmailAddress": "testuser@company.com",
    "Username": "Administrator",
    "Password": "P!W!12345",
    "UseSSL": true
}

Response body

None

To Table of Operations Test Supportbundle Relay Address

Tests the connections between all servers in the server group and the support bundle relay server.

Version

1.0

Method

POST

URI template

/1.0/supportbundles

URI parameters
None
Request Body
{
    "Operation": "TestRelayAddress",
    "RelayAddress": "SofiaSDS8",
    "Port": 3700
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/supportbundles

Request body

{
    "Operation": "TestRelayAddress",
    "RelayAddress": "Name or IP address for the support bundle relay server",
    "Port": "Port number to use, default port number is 3795 (optional)
}

Response body

{
  "RelayAddressResult": true
}

To Table of Operations Unassign Port From Host

Unassigns a port from the specified host.

Version

1.0

Method

POST

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
    "Operation": "UnassignPort",
    "Port": "ID of the port to unassign from the host"
}
Response Code
200
Returns
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hosts/2f347d3bfe2c43ef917bc625434ecba7

Request body

{
    "Operation": "UnassignPort",
    "Port": "iqn.1991-05.com.microsoft:clienthost01"
}

Response body

{
   "HostId": null,
   "PortName": "iqn.1991-05.com.microsoft:clienthost01",
   "Alias": "",
   "Description": null,
   "PortType": 3,
   "PortMode": 1,
   "Connected": true,
   "SequenceNumber": 9336,
   "Id": "iqn.1991-05.com.microsoft:clienthost01",
   "Caption": "iqn.1991-05.com.microsoft:clienthost01",
   "ExtendedCaption": "iqn.1991-05.com.microsoft:clienthost01",
   "Internal": false
}

To Table of Operations Unassign Role

Removes the specified role from the user.

Version

1.0

Method

POST

URI template

/1.0/users/{userid}

URI parameters
userid ID of the user to modify.
Request Body
{
    "Operation": "DeassignRole",
    "Role": "ID of the role to remove from the specified user."
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/users/{77e80489-e9b6-4db8-917b-f80f547346a0}

Request body

{
    "Operation": "DeassignRole",
    "Role": "{44a6486c-8c21-42fc-8f78-5014e5d4797b}"
}

Response body

{
    "Caption": "Joe Schmoe",
    "ExtendedCaption": "Joe Schmoe",
    "Id": "{77e80489-e9b6-4db8-917b-f80f547346a0}",
    "Internal": false,
    "SequenceNumber": 1346867,
    "BlendedPrivileges": {
        "ClientMachines": 0,
        "Controller": 0,
        "DiskPools": 0,
        "General": 1,
        "HostGroups": 0,
        "License": 0,
        "Logs": 0,
        "Monitors": 0,
        "PartnerController": 0,
        "PerformanceRecording": 0,
        "PhysicalDisks": 0,
        "Ports": 0,
        "Replications": 0,
        "Roles": 0,
        "Rollbacks": 0,
        "ServerMachineGroups": 0,
        "ServerMachines": 0,
        "Snapshots": 0,
        "StorageProfiles": 0,
        "Tasks": 0,
        "Users": 0,
        "VirtualDiskGroups": 0,
        "VirtualDiskTemplate": 0,
        "VirtualDisks": 0
    },
    "Description": null,
    "EmailAddress": "jschmoe@companyB.com",
    "IsAdministrator": false,
    "Name": "Joe Schmoe",
    "RoleIds": [
        "{B1210FAD-5DAC-4a7b-B3D6-EEB8DFFE1F7A}"
    ]
}

To Table of Operations Unserve All Virtual Disks from Host

Unserves all virtual disks from the specified host. Front-end paths are removed and virtual disks become inaccessible to the host.

Version

1.0

Method

POST

URI template

/1.0/hosts/{hostid}

URI parameters
hostid ID of the host to modify.
Request Body
{
	"Operation": "UnserveAll"
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/hosts/2f347d3bfe2c43ef917bc625434ecba7

Request body

{
	"Operation": "UnserveAll"
}

Response body

None

To Table of Operations Unserve Virtual Disk

Unserves a virtual disk from a host. Front-end paths are removed and the virtual disk becomes inaccessible to the host.

Version

1.0

Method

POST

URI template

/1.0/virtualdisks/{virtualdiskid}

URI parameters
virtualdiskid ID of the virtual disk to act upon or modify.
Request Body
{
    "Operation": "Unserve",
    "Host": "ID of the host from which to unserve the specified virtual disk."
}
Response Code
200
Returns
None
Example 1

URL

https://localhost/RestService/rest.svc/1.0/virtualdisks/2eb2fdd8c77541658abd3e2591644a1f

Request body

{
   "Operation": "Unserve",
   "Host": "e5cca23d97994918a69f3793a72e2aae"
}

Response body

None

To Table of Operations Unserve Virtual Disk Group

Unserves virtual disk group from the specified host.

Version

1.0

Method

POST

URI template

/1.0/virtualdiskgroups/{virtualdiskgroupid}

URI parameters
virtualdiskgroupid ID of the virtual disk group to modify.
Request Body
{
    "Operation" : "Unserve",
    "Host": "ID of the host"
}
Response Code
200
Returns
None
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/virtualdiskgroups/{b28f8959-d3f8-4760-a7d7-4bf5fe59333a}

Request body

{
    "Operation" : "Unserve",
    "Host": "90fe8cae-1ed7-4b9d-ad8f-9f1be3e6e442-host-60"
}

Response body

None

To Table of Operations Update Snapshot

Updates a snapshot with the changes that have occurred on the source virtual disk since the snapshot was created or last updated.

Version

1.0

Method

POST

URI template

/1.0/snapshots/{snapshotid}

URI parameters
snapshotid ID of the snapshot to act upon or modify.
Request Body
{
    "Operation": "Update"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshots/V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007

Request body

{
    "Operation": "Update"
}

Response body

{
    "Type": 1,
    "TimeStamp": "/Date(1488911709785)/",
    "SourceLogicalDiskId": "f1703429-5d06-407a-b1f4-a3c28209ce44",
    "DestinationLogicalDiskId": "1d36b474-d3a4-4d09-bfa2-14f97446fe1a",
    "ActiveOperation": 0,
    "State": 2,
    "Failure": 0,
    "SequenceNumber": 3072437,
    "Id": "V.{5774C540-FEAB-11E6-80EB-00155D138914}-00000008--V.{5774C66B-FEAB-11E6-80EB-00155D138914}-00000007",
    "Caption": "Snapshot 1",
    "ExtendedCaption": "Snapshot 1 on SSVVM05",
    "Internal": false
}

To Table of Operations Update Snapshot Group

Updates a snapshot group with the changes that have occurred on the source virtual disk since the snapshot was created or last updated.

Version

1.0

Method

POST

URI template

/1.0/snapshotgroups/{snapshotgroupid}

URI parameters
snapshotgroupid ID of the snapshot group to modify.
Request Body
{
    "Operation" : "Update"
}
Response Code
200
Returns
Example 1

URL

https://SSVVM05/RestService/rest.svc/1.0/snapshotgroups/{97b25e52-b7de-49ff-8d53-68d5487c636d}

Request body

{
    "Operation" : "Update"
}

Response body

{
  "ParentGroupId": "{e0e0be38-55d9-49ee-b44f-40d34c904129}",
  "Type": 0,
  "ActiveOperation": 0,
  "TimeStamp": "/Date(1489400028585)/",
  "Alias": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "Description": null,
  "StorageDomainSettings": {
    "MaxIoOperationsPerSec": 0,
    "MaxDataTransferredPerSec": 0,
    "ChargeBackEnabled": false
  },
  "SequenceNumber": 3941,
  "Id": "{97b25e52-b7de-49ff-8d53-68d5487c636d}",
  "Caption": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "ExtendedCaption": "Virtual disk group 1 @ 3/13/2017 10:09:42 AM UTC",
  "Internal": false,
  "TotalCapacity": {
    "Value": 1073741824
  }
}
DataCore Basic Types

To Table of Types AccessToken

Represents access token that allows access to a specific network node from a specific iSCSI port.

Type Name Description
string InitiatorUsername Initiator username
string InitiatorPassword Initiator secret
bool MutualAuthentication Indicates if mutual authentication is enabled
string TargetUsername Target username
string InitiatorNodeName Target node name
string TargetPassword Target secret

To Table of Types AgentSet

Type Name Description
N/A TokenSet
N/A TokensData

To Table of Types APIUsage

APIUsage data for a one particular API

Type Name Description
N/A Count Number of times this API has been called
N/A LastAccess The LastAccess time of the API

To Table of Types AsyncOperation

Type Name Description
N/A OperationId
N/A CompletionTime
N/A Result
N/A Task

To Table of Types AsyncReplicationData

The data object that defines an asynchronous replication relationship.

Type Name Description
bool IsActiveSide Indicates that the local server (First Server Id) is the active server, the one that is performing client I/O and initiating replication copy operations to the partner server.
ReplicationState ReplicationState The state of the asynchronous replication
ReplicationFailure FailureStatus The error state of an asynchronous replication partnership.
ReplicationTransferStatus TransferStatus The status of an asynchronous replication transfer.
bool Paused Indicates that a replication data transfer is paused.
string FirstServerId The first (local) replication server.
string FirstVirtualDiskId The first (local) virtual disk in the replication partnership.
string SecondServerId The second (remote) replication server.
string SecondVirtualDiskId The second (remote) virtual disk in the replication partnership.
string CheckpointSnapshotId The id of a snapshot acting as a checkpoint for the replication, which must be of type .
LicenseSettingState AutoAsyncReplicationLicense License setting for asynchronous replication.
bool OfflineInitializationSupported How a replication is initialized: offline or online.
ReplicationInitType InitializationType How a replication is initialized: offline or online.
string OfflineInitializationBuffer The file system path of the offline initialization buffer.
ReplicationOfflineInitStatus OfflineInitStatus The status of an offline initialization.
ReplicationInitializationFailure InitializationFailureStatus The failure state of replication initialization.
ReplicationTestModeStatus TestModeStatus The status of a replication's test mode
bool IsChangingBufferFolders If true then the replication is in the process of changing buffer folders.
ReplicationBackendStatus BackendStatus The status of a replication's backend operation.
bool DuplicatedDiskId If true then both the active and standby virtual disks have the same id.
bool IsPrepearingInitalization If true then the replication consistency check is in the process.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types AsyncReplicationNotification

Replication partner notification

Type Name Description
string SenderReplicationId Remote disk Id
AsyncReplicationNotificationType NotificationType Replication partner notification type

To Table of Types BaseRecordingPointData

Basic type for recording data at a given point.

Type Name Description
string[] Counters An array of counters for the recording point.

To Table of Types BitArrayEx

A mutable version of BitArray.

Type Name Description
byte[] BitMap An array of bits stored in an array of bytes.
int Count The number of bits.

To Table of Types CategoryRecordingPointData

Recording data at a given point by category.

Type Name Description
PerformanceType Category Category type of the Category Recording Point.
string[] Counters An array of counters for the recording point.

To Table of Types ChapLoginOptions

CHAP Login credentials

Type Name Description
AuthenticationType AuthType iSCSI Authentication type - None, CHAP or Mutual CHAP
string Username CHAP Username
string Password CHAP Secret

To Table of Types CheckpointTriggerData

Triggers when a replication checkpoint marker is received.

Type Name Description
string VirtualDiskDataId The Id of the destination disk of the replication pair, which must be of type
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types CheckpointTriggerState

State on which the task will be activated when the replication virtual disk receives a checkpoint marker.

Type Name Description
string VirtualDiskId The ID of the chosen virtual disk to be tracked

To Table of Types ClientDiskData

Served virtual disk

Type Name Description
N/A VirtualDisks Client's virtual disks

To Table of Types ClientHostData

A client or host computer, one to which SANsymphony serves virtual disks.

Type Name Description
string HostGroupId The host group to which the client belongs.
ClientMachineType Type The type of client.
ClientState State The state of the client: offline, online or not present.
bool AluaSupport Indicates that the client supports Asymmetric Logical Unit Access (ALUA).
PathPolicy PathPolicy If true then the client is symmetrical.
TelemetryData TelemetryData The information gathered through Telemetry service, about the plug-ins and software installed on the host
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ClientHostDataEx

A client host machine.

Type Name Description
N/A PreferredServerString A single string representing the what the Preferred Server setting.
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A ClientPorts An array containing all ports assigned to the client host.
N/A ClientVirtualDisks An array containing all of the virtual disks currently served to the host.
N/A ServerRelations An array containing all of the virtual disks currently served to the host.
N/A MappedServerIds The id's of all servers currently providing storage to the host.
N/A PerformanceData Performance data of the host.

To Table of Types ClientReplicationData

A client or host computer, one to which SANsymphony serves virtual disk and have repliction on this disk.

Type Name Description
N/A Replications Served virtual disks with replication

To Table of Types ClientRollbackData

The data object that defines a rollback.

Type Name Description
string VirtualDisks Host's virtual disks with snapshots

To Table of Types ClientServerRelationData

Client - preferred server relation information .

Type Name Description
string ClientId User identification
string ServerId Role identification
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ClientSnapshotData

The data object defining a snapshot.

Type Name Description
string VirtualDisks Host's virtual disks with snapshots

To Table of Types CollectionPointData

A single performance data point for a specific object.

Type Name Description
string ObjectId The object id, which must be a performance object type.
PerformanceData PerformanceData The performance values for the object.

To Table of Types ConfigurationData

Node configuration data.

Type Name Description
ConfigurationState State The state of the node: synchronized or not.
RegionNodeData Source The region node data.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ConfigurationInfoData

Latest configuration info.

Type Name Description
ulong SequenceNumber Latest configuration sequence number.
DateTime TimeStamp Latest configuration sequence number timestamp.

To Table of Types ConnectionBinding

Connection binding information

Type Name Description
string Endpoint Server name or IP address
string Username Username - disabled if default credentials are used
string Password Password - disabled if default credentials are used

To Table of Types ConnectionCredentials

Partnership connection credentials used to connect to remote server group

Type Name Description
string Username Username
string Password Password

To Table of Types ConnectionDescriptor

Connection descriptor of one of the ports in the connection.

Type Name Description
IPAddressEx InitiatorIpAddress Initiator IP address
IPAddressEx TargetIpAddress Target IP address
uint InitiatorTcpPort Initiator TCP port
uint TargetTcpPort Target TCP port
uint CID Connection ID
ConnectionParams ConnectionParams Connection parameters See

To Table of Types ConnectionParams

iSCSI connection parameters

Type Name Description
Mode DataDigestMode Data digest mode See
Mode HeaderDigestMode Header digest mode See

To Table of Types ContactData

Contact information for the individual assigned to communicate with DataCore Support.

Type Name Description
string ContactName The contact person's name.
string PhoneNumber The contact person's phone number.
string EmailAddress The contact person's email address.
string CompanyName The contact person's company.

To Table of Types ContactSettings

Details of the individual who is the primary user contact for DataCore Support.

Type Name Description
string ContactName The contact person's name.
string PrimaryPhone The contact person's primary phone number.
string SecondaryPhone The contact person's secondary phone number.
string EmailAddress The contact person's email address.
string CompanyName The company that is the DataCore customer.

To Table of Types ContractVersionAttribute

Contract version attributes.

Type Name Description
ContractVersionData ContractVersion The contract version.

To Table of Types ContractVersionData

The service contract version.

Type Name Description
ContractVersionData None None/Null/Zero version
int Major Service contract major version number.
int Minor Service contract minor version number.

To Table of Types DailyTriggerData

Every day at a specified time, optionally only on weekdays.

Type Name Description
bool Weekdays If set to true trigger every weekday (Monday through Friday).
int DailyInterval The number of days between each trigger.
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types DataCoreDiskData

Represents a physical disk that is a member of a virtual disk, i.e. a pass through disk

Type Name Description
string VirtualDiskId The Id of the virtual disk this physical disk is a member of, which must be the type:
PresenceStatus PresenceStatus Indicates whether the disk is present.
string Alias The alias of the disk.
DataSize Size The size of the disk.
DataSize SectorSize The sector size of the disk.
DataSize FreeSpace The amount of space that is not allocated to a logical disk or otherwise used by the pool.
InquiryData InquiryData The SCSI inquiry data.
ScsiPath ScsiPath The low-level SCSI path information (bus, target, lun, etc.).
int DiskIndex The disk index number assigned by the operating system.
string SystemName The name of the system the disk is on.
StorageBusType BusType The type of physical storage bus.
DiskType Type The type of disk.
PhysicalDiskStatus DiskStatus The physical status of the disk.
string PoolMemberId The Id of the pool member this disk belongs to, which must be of type: null if not in a pool.
bool Partitioned Indicates if the disk is partitioned.
int InUse Indicates if the disk is in use.
bool IsBootDisk Indicates if the disk is bootable.
bool Protected Indicates if the disk is protected from operating system actions.
bool IsSolidState Indicates if the disk is a solid-state disk.
string HostId The Id of the host computer this disk is attached to, which must be the type: null if not in a pool.
string UniqueIdentifier The disk's unique identifier.
string SharedPhysicalDiskId The unique identifier indicating which, if any, shared physical disk this disk belongs to.
bool IsDataCoreDisk Indicates if the disk is from a DataCore Disk backend.
string DvaPoolDiskId The Id of the Dva pool disk this disk belongs to, which must be of type: null if not in a Dva pool.
DiskSmartStatus SmartStatus SMART status of physical disk
N/A DeduplicationSupported Indicates that the disk supports deduplication natively.
N/A CompressionSupported Indicates that the disk supports compression natively.
N/A HardwareEncryptionSupported Indicates that the disk supports encryption natively.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types DataSize

Represents the data size

Type Name Description
ulong Value Value in bytes

To Table of Types DiscoveryConfig

ConfigTSIH configuration

Type Name Description
iSNSConfig iSNSConfig iSNS server configuration
SLPConfig SLPConfig Service Location Protocol config
Mode TargetAutoDiscovery Target auto discovery mode See

To Table of Types DiskPathData

A disk path consists of a target channel, initiator channel, and a Logical Unit Number or LUN (this triplet may also be commonly referred to as a LUN) and the physical disk presented on that connection.

Type Name Description
string InitiatorPortId The Id of the initiator port:
string TargetPortId The Id of the target port:
LUN Lun The Logical Unit Number (LUN) of the path.
bool Active Indicates that this path is currently the active path in multi-path configurations.
bool Preferred Indicates that this path is preferred in multi-path configurations.
string DiskId The Id of the disk, which must be the type:
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types DiskPoolData

Properties of a disk pool

Type Name Description
string Alias The user-visible name of the pool.
string Description User-supplied description of the pool.
PresenceStatus PresenceStatus Indicates whether the pool is present.
string ServerId The DataCore Server hosting the pool.
DiskPoolStatus PoolStatus The status of the pool.
PoolMode PoolMode The pool read/write mode.
PoolType Type Pool type, static or dynamic. Static pools are deprecated.
DataSize ChunkSize The chunk size for allocation storage space from a pool.
DataSize SectorSize The sector size for a pool.
int MaxTierNumber The highest tier the pool supports.
int TierReservedPct Space reserved for new allocations.
bool AutoTieringEnabled True if auto tiering is enabled.
string SharedPoolId Id of the shared disk pool.
bool IsAuthorized True if the disk pool is authorized.
bool InSharedMode True if the pool is in shared mode.
bool SMPAApproved SMPAApproved indicates that the user has acknowledged that the pool passes SMPA certification.
N/A SupportsEncryption Determines if the pool can be encrypted.
N/A HasEncryption True if the pool has or has had encrypted disks. This indicates there is already an encryption key for this pool.
N/A DeduplicationState An enum that describes the current state of deduplication support for the disk pool.
N/A EncryptionKeyPresent True if the pool has encryption key
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types DiskPoolDataEx

A disk pool.

Type Name Description
N/A Size Total size of the pool.
N/A FreeSpace The amount of free space in the pool.
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A PoolMembers The poolmembers assigned to the pool.
N/A ServerMembers The server-specific data
N/A PerformanceData Performance data of the pool.

To Table of Types DiskPoolPerformance

Disk pool performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read, handled by a particular disk pool.
ulong TotalBytesRead Displays the total bytes read, handled by a particular disk pool.
ulong TotalBytesWritten Displays the total bytes written handled by a particular disk pool.
ulong TotalBytesMigrated Displays the number of bytes per second that are migrated within a particular disk pool.
ulong TotalReads Displays the number of read requests handled by a particular disk pool.
ulong TotalWrites Displays the number of write requests handled by a particular disk pool.
ulong TotalOperations Displays the number of both read and write requests handled by a particular disk pool.
ulong BytesAllocated Displays the amount of logical pool space allocated to all virtual disks from a particular pool. This is an instantaneous count, not an average over a period of time.
ulong BytesAvailable Displays the amount of logical pool space available for allocation to virtual disks from a particular disk pool. This is an instantaneous count, not an average over a period of time.
ulong BytesInReclamation Displays the amount of logical space being (re)initialized by the disk pool. This is an instantaneous count, not an average over a period of time.
ulong BytesTotal Displays the total logical space of the disk pool. The space contributed by physical disks assigned in mirror pairs is not double-counted; that is, two disks in a mirror pair contribute as a single disk. This is an instantaneous count, not an average over a period of time.
ulong PercentAllocated Displays the space in use (allocated and reserved) as a percentage
ulong PercentAvailable Displays the space available (available and in reclamation) as a percentage
ulong TotalReadTime Cumulative time of all read operations handled by a particular disk pool.
ulong TotalWriteTime Cumulative time of all read operations handled by a particular disk pool.
ulong TotalOperationsTime Cumulative time of all read and write operations handled by a particular disk pool.
ulong MaxReadTime inst time for the max read operation for a particular disk pool
ulong MaxWriteTime inst time for the max write operation for a particular disk pool
ulong MaxReadWriteTime inst time for the max read/write operation for a particular disk pool
ulong MaxPoolBytes The maximum number of chunks that the pool can have. This is determined at creation, and combined with the selected storage allocation unit size determines the maximum size the pool can be.
ulong BytesReserved The number of bytes that the pool reserved for pool logical disks. This is the sum of all bytes reserved for pool logical disks.
ulong BytesAllocatedPercentage Displays the space allocated as a percentage
ulong BytesReservedPercentage Displays the space reserved as a percentage
ulong BytesInReclamationPercentage Displays the space in reclamation as a percentage
ulong BytesAvailablePercentage Displays the space available as a percentage
ulong BytesOverSubscribed The total number of bytes subscribed to virtual disks that exceed the size of the disk pool
ulong EstimatedDepletionTime Shows estimated time when the pool allocations will reach the pool size.
ulong DeduplicationPoolPercentFreeSpace Amount of unallocated Deduplication space expressed as a percentage.
ulong ExpectedDeduplicationPoolUsedSpace Amount of raw storage space currently assigned to Deduplication.
ulong DeduplicationPoolUsedSpace Amount of Deduplication storage space currently allocated.
ulong DeduplicationPoolFreeSpace Amount of Deduplication storage space currently unallocated.
ulong DeduplicationPoolTotalSpace Total amount of storage space dedicated to providing Deduplication storage.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types DistributionResult

Provides the result of distribution action.

Type Name Description
string LogicalDiskId Storage source ID on the destination server
string VirtualDiskId The Id of the evacuated virtual disk.
string SourceServerId The Id of the destination server that will be the second storage server of the evacuated virtual disk.
bool Success True if the evacuation is successful.

To Table of Types DistributionResultSet

Provides an array of DistributionResult

Type Name Description
DistributionResult[] DistributionResults Array of distribution results See

To Table of Types DvaPerformance

Disk pool performance data.

Type Name Description
ulong BytesAllocated The total allocated bytes for the Dva object.
ulong BytesAvailable The total bytes available for the Dva object.
ulong BytesTotal The total bytest for the Dva object.
ulong CompressionRatioPercentage The Compression ratio for the Dva object expressed as a percentage.
ulong DeduplicationRatioPercentage The Deduplication ratio for the Dva object expressed as a percentage.
ulong PercentAvailable The amount of space available expressed as a percentage.
ulong L2ARCBytesAllocated The amount of space used in L2ARC.
ulong SpecialMirrorBytesAllocated The amount of space used in Mirrored Special Device.
ulong L2ARCBytesTotal The amount of space used in L2ARC.
ulong SpecialMirrorBytesTotal The amount of space used in Mirrored Special Device.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types DvaPoolData

Properties of a Dva disk pool

Type Name Description
PresenceStatus PresenceStatus Indicates whether the pool is present.
string ServerId The DataCore Server hosting the pool.
N/A DeduplicationEnabled Indicates if the Dva disk pool has deduplication enabled.
N/A CompressionEnabled Indicates if the Dva disk pool has compression enabled.
N/A RaidLevel Indicates the raidlevel of the Dva pool
N/A ZpoolHealth Indicates the status of the Dva pool

To Table of Types DvaPoolDeviceData

Properties of a device that is used in a Dva pool

Type Name Description
N/A DeviceName Indicates the name of the device in the DvaPool it belongs to.
N/A DvaPoolId Indicates the id of the DvaPool of which the disk belongs.
string ServerId The DataCore Server hosting the device.
N/A DeviceDiskCount Indicates the no of disks in DvaPoolDevice
N/A DeviceType Indicates the type of the device added to zpool
N/A DeviceIndex Indicates the index in DvaPoolDevice

To Table of Types DvaPoolDiskData

Properties of a physical disk that is used in a Dva disk pool

Type Name Description
N/A DvaPoolId Indicates the id of the DvaPool of which the disk belongs.
N/A DvaPoolDeviceId Indicates the id of the DvaPoolDevice of which the disk belongs.
N/A IsL2ARCDisk Indicates that the disk is used for the Dva pool Cache.
N/A IsSpecialMirrorDisk Indicates that the disk is used for the Dva pool Mirror Log.
N/A DvaDiskResilveringStatus Indicates the resilvering status of the disk
string ServerId The DataCore Server hosting the disk.

To Table of Types DvaPoolVolData

Type Name Description
N/A EncryptionEnabled Indicates that encryption is enabled on the object.
N/A Size The size of the object.
N/A DvaPoolId The id of the DvaPool that host the DvaPoolVol.
N/A DeduplicationEnabled Indicates that deduplication is enabled on the object.
N/A CompressionEnabled Indicates that compression is enabled on the object.
N/A PhysicalDiskId The id of the physical disk seen by the system that correlates with the DvaPoolVol.

To Table of Types EmailActionData

An action sends an email to the specified recipient.

Type Name Description
string RecipientId The recipient Id ( ). The recipient is a registered user. The email is sent to the user's email address through the mail server configured in SANsymphony.
string CustomMessage A custom message to be sent along with the auto-generated email
string TaskId The Id of the task.
TaskActionType Type The type of action.
TaskActionState State The state of the action.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ExceptionType

An enum to describe the type of error, and thus how to handle it in an interface that connects to the Rest service.

Type Name Description
N/A Unknown
N/A InvalidToken
N/A InvalidCredentials
N/A ValidationError
N/A OperationError
N/A LicenseError
N/A CommunicationError
N/A CommunicationFault
N/A TimeoutException
N/A InvalidRestOperation
N/A ExecutiveException
N/A AuthorizationException

To Table of Types ExecutiveError

Executive error details

Type Name Description
string ErrorType Executive error type
ExecutiveStatus Status Executive error status
string MachineName A string containing the name of the server
DateTime Timestamp The time when the error occured
string[] Args Array of executive error arguments

To Table of Types FcConnectionData

Fibre Channel (FC) connection data, describing a connection between two FC ports.

Type Name Description
PortDescriptor PortADescriptor The port descriptor of one of the ports in the connection.
PortDescriptor PortBDescriptor The port descriptor of the other port in the connection.
bool Present True if the remote port is present.
bool Connected True if connected.
string PortAId The Id of one of the ports in the pair making up the connection. Must be type
string PortBId The Id of the other port in the pair making up the connection. Must be type
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types FcPortCapabilityInfo

Fibre Channel port capabilities

Type Name Description
bool NeedPhysAddresses Indicates that the HBA/miniport driver needs system physical addresses when setting up a scatter/gather list for IO. It is so the HBA can DMA into or out of physical memory. Always set to true.
bool SoftWWNames Specifies if the unique World Wide Name (WWN) can be overridden.
uint MaxActiveICommands Maximum number of active Initiator commands.
uint MaxActiveTCommands Maximum number of active Target commands.
uint MaxSGSegments The maximum number of elements in a scatter/gather that may be sent to the HBA for an IO.
uint MaxTransferSize The largest data transfer that an HBA/miniport driver supports.
ConnectionMode[] SupportedConnections Array of supported connection modes. See
DataRateMode[] SupportedDataRates Array of supported date rate modes. See
ScsiMode[] SupportedScsiModes Array of supported SCSI modes. See
FcPortExtraCapability ExtraCapability Extra capabilities identified after the driver can talk to the port. See

To Table of Types FcPortConfigInfo

Fiber Channel port configuration

Type Name Description
WWN PortName Port name in WWN format
WWN NodeName Node name in WWN format
string SymbolicPortName Symbolic port name
string SymbolicNodeName Symbolic node name
ScsiMode ScsiMode SCSI mode types
Mode HardIdMode Hard ID mode
uint HardAssignedId Hard assigned ID
uint PrevAssignedId Previous assigned ID.
ConnectionMode ConnectionMode Fibre channel port connection modes with user friendly description
DataRateMode DataRateMode Fibre channel port data rate modes with user friendly description
uint MaxActiveICommands Maximum number of active Initiator commands.
uint MaxActiveTCommands Maximum number of active Target commands.
uint PortDownTimeout The delay in seconds before a port is considered offline.
bool UseSoftWWN Indicates whether to use soft World Wide Name (WWN). The default is false.
bool DisablePortWhileStopped If true, disable the port when the server is stopped.
ushort NumaNode Preferred NUMA node of the FC HBA or NIC.
VmIdMode VmIdMode VMID mode.
bool DisableMirrorPortWhileStopped If true, disable the mirror port when the server is stopped.

To Table of Types FcPortData

Fibre Channel-specific data.

Type Name Description
uint PortId The FC port Id.
bool InSNS True if the port is in SNS mode.
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types FcPortExtraCapability

Extra capabilities valid only after Port can talk to the hardware

Type Name Description
bool Valid true if this struct members valid
bool VmIdModes if true then the port supports VmId if false and Valid is true then it does not if false and Valid is false then it's still unknown

To Table of Types FcPortIdInfo

Fibre Channel hardware information

Type Name Description
PCIInfo PCIInfo SCSI PCI information
string DriverName FCP port driver name
string DriverVersion FCP port driver version
string HBAVendorName HBA vendor name
string HBAProductName HBA product name
string FirmwareVersion Firmware version
string ChipsetVersion Chipset revision
WWN OriginalPortName Original port name in WWN format
WWN OriginalNodeName Original node name in WWN format

To Table of Types FcPortStateInfo

Fibre Channel port state info

Type Name Description
bool Active Specifies whether the port is active
PortConnectionType Connection Fibre channel port connection modes with technical description
PortDataRate DataRate Fibre channel port data rate modes with technical description
uint LoopId Loop ID
uint PortId Port ID
PortState State Fibre Channel Port States
LinkErrors LinkErrors Link errors - A link error occurs when the communication link is "broken" for any period of time when the Fibre Channel port is logged in.

To Table of Types FeatureFlagData

Contains all feature flags

Type Name Description
bool StaleDataMigration Feature flag for FR-374
bool SnapshotGroupGranularCreation Feature flag for FR-416

To Table of Types GroupConsistencyPoint

A point in time defining a stable state for a virtual disk group.

Type Name Description
uint ConsistencyIndex The consecutive index of the consistency point for this virtual disk group.
byte UserDefinedCode Additional user supplied data. The default value when the user hasn't specified it is zero.
DateTime SourceTimeStamp The UTC time when the consistency point was created on the source side.
DateTime DestinationTimeStamp The UTC time when the consistency point was received on the destination side.

To Table of Types GroupConsistencyPointData

Basic data for a point in time defining a stable state for a virtual disk group.

Type Name Description
DateTime TimeStamp The UTC time when the consistency point was created.
byte UserDefinedCode The code defined by the user when the consistency point was created.

To Table of Types HeatmapCompressedValue

A helper class for compressing heatmap information.

Type Name Description
byte TYPE_UNKNOWN Unknown SAU.
byte TYPE_UNALLOCATED Unallocated SAU.
byte TYPE_IN_RECLAMATION SAU in reclamation.
byte TYPE_DATACORE_RESERVED Reserved SAU.
byte MAX_COMPRESSED_VALUE The maximum scaled temperature value.

To Table of Types HostData

A host computer, either a server or a client.

Type Name Description
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types HostGroupData

Host group.

Type Name Description
string Alias Alias of the group, which must be unique.
string Description A user-readable description of the group.
StorageDomainSettings StorageDomainSettings Settings that will be provided to the SDC driver.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types HostGroupPerformance

Host Group performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read. This is the sum of [Total Bytes Transferred] of all SCSI ports for this Machine.
ulong TotalBytesRead Displays the total bytes read. This is the sum of [Total Bytes Read] of all SCSI ports for this Machine.
ulong TotalBytesWritten Displays the total bytes written. This is the sum of [Total Bytes Written] of all SCSI ports for this Machine.
ulong TotalOperations Displays the total operations processed. This is the sum of [Total Operations] of all SCSI ports for this Machine.
ulong TotalReads Displays the total read operations. This is the sum of [Total Reads] of all SCSI ports for this Machine.
ulong TotalWrites Displays the total write operations. This is the sum of [Total Writes] of all SCSI ports for this Machine.
ulong MaxReadSize Max size in bytes of the read operation.
ulong MaxWriteSize Max size in bytes of the write operation.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation.
ulong TotalBytesProvisioned The total amount of bytes served by virtual disks to this machine.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types HostVersionData

Version information for the service host system.

Type Name Description
string OSVersion Operating system version.
string RuntimeVersion Runtime version.

To Table of Types HostVirtualDiskData

An extended representation of the virtual disk data.

Type Name Description
N/A HostId The Id of the host the virtual disk is currently served to
N/A OtherHostIds An array containing the id of all other hosts that the vd is served to.
N/A PerformanceData Performance data of the virtual disk.
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A VirtualDiskSnapshotData A data object that relates the virtual disk to the associated snapshots.
N/A VirtualDiskRollbackData A data object that relates the virtual disk to the associated rollbacks.
N/A VirtualDiskReplicationData A data object that relates the virtual disk to the associated replications.
N/A IsRollbackVirtualDisk Indicates that the virtual disk is currently the destination of a rollback relation.
N/A RollbackId The Id of the rollback
N/A IsSnapshotVirtualDisk Indicates that the virtual disk is currently the destination of a snapshot relation.
N/A SnapshotId The Id of the snapshot
N/A PoolIds The pools associated with this virtual disk.

To Table of Types Identifiable

All Data Contract types are derived from identifiable objects, providing a consistent identification and description mechanism.

Type Name Description
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types IdentifiablePerformanceData

Performance data for every identifiable object.

Type Name Description
PerformanceData Performance Performance data for the identifiable object.
string ObjectId The Id for the identifiable object.
DateTime RequestedTime The Requested Time for the identifiable object.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types IldcConfigurationData

Internal parameters used to configure the performance and behavior of the ILDC feature.

Type Name Description
N/A IldcVolBlockSize The raw string size used to configure the vol block size for Ildc.
N/A IldcTotalMemPercent The percentage of the server's cache value that will be reserved for ILDC when the feature is enabled.
N/A IldcEncryptionMode A string that represents what encryption mode will be used for ILDC enabled storage.
N/A IldcDefaultVolSize The default size of a the Dva Pool Vol that will be created when enabling ILDC/
N/A IldcSyncMode The raw string that represents what sync mode the ILDC feature will use.
N/A IldcPrimaryCacheMode The raw string that represents the primary cache mode used by the ILDC feature.
N/A IldcMetaLimitPercent The percentage of the cache reserved for ILDC meta limit in some sync modes.
N/A IldcMetaSlabDelay A raw value that indicates how long ILDC remains in memory before being unloaded.
N/A Avx2Supported A boolean that indicates if both the server as well as the operating system support the Avx2 instruction set.
N/A IldcMaxVolSizeMultiplier This value indicates that maximum multiplier value we will use on the IldcDefaultVolSize while extending the capacity optimization space for a disk pool.

To Table of Types InquiryData

Data returned from the SCSI inquiry command, describing the device queried.

Type Name Description
string Vendor Vendor number
string Product Product name
string Revision Revision
string Serial Serial number

To Table of Types InstanceCollectionPointData

Particular point data for a specific instance.

Type Name Description
PerformanceInstanceKeyData KeyData Performance data for a specific instance.
string[] Counters An array of counters for the instance collection point.
TimeInterval ActivityWindow Time window when in active state.

To Table of Types InstanceRecordingPointData

Recording data at a given point by instance.

Type Name Description
string InstanceId Instance ID of the Instance Recording Point.
string[] Counters An array of counters for the recording point.

To Table of Types iScsiPortalConfigInfo

iSCSI portal configuration

Type Name Description
IPAddressEx Address IP address
ConnectionParams ConnParams iSCSI connection parameters
IPAddressEx DefaultGateway Default gateway IP address
Mode DhcpMode DHCP enabled or disabled See
IPAddressEx Dns DNS IP address
uint Mtu Maximum transmission unit size
IPAddressEx SubnetMask Subnet mask IP address
ushort TcpPort TCP Port

To Table of Types iScsiPortCapabilityInfo

iSCSI port capabilities

Type Name Description
uint MaxActiveICommands Maximum number of active Initiator commands.
uint MaxActiveTCommands Maximum number of active Target commands.
PortalCapabilityInfo[] PortalCapabilityInfo Array of the iSCSI portals capability information.
bool SoftNodeName Specifies if the node name can be overridden.
ScsiMode[] SupportedScsiModes Supported SCSI modes. See

To Table of Types iScsiPortIdInfo

iSCSI port hardware information

Type Name Description
string DriverVendor Driver vendor
string DriverName Driver name
string DriverVersion Driver version
string AdapterType Adapter type
string HbaNicProduct HBA/NIC product name
string HbaNicVendor HBA/NIC vendor name
string ConnectionName Connection name
PortalIdInfo[] Portals Array of portals assosiated with this port See

To Table of Types iScsiPortStateInfo

iSCSI portal state information

Type Name Description
bool Active Indicates if port is active
string InstanceName Instance name
PortalStateInfo[] PortalsState Array of iSCSI portal states See

To Table of Types iScsiSessionData

iSCSI session data for a port connection.

Type Name Description
SessionDescriptor PortADescriptor Descriptor of one of the ports in the connection.
SessionDescriptor PortBDescriptor Descriptor of the other port in the connection.
iScsiTargetData Target The iSCSI connection target data.
bool Connected True if connected.
string PortAId The Id of one of the ports in the pair making up the connection. Must be type
string PortBId The Id of the other port in the pair making up the connection. Must be type
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types iScsiTargetData

Description of an iSCSI target.

Type Name Description
string TargetName The target name.
string IpAddress The target's IP address.
uint TcpPort The TCP port number.
ChapLoginOptions LoginOptions Options for CHAP authentication login.
bool IsPersistent True if the connection is persistent across computer restarts.
bool Present True if the remote port is present.
string SessionId The session Id.
string InitiatorId The initiator port Id.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types iScsiTargetPortalData

iSCSI target portal information.

Type Name Description
string Address The IP address of the portal.
uint Port The TCP port number.

To Table of Types iSNSConfig

iSNS server configuration

Type Name Description
NetAddress iSNSServerAddress iSNS server address
Mode Mode iSNS server mode See

To Table of Types KeyTypeEnum

The type of key

Type Name Description
N/A LS LS Key
N/A EN EN Key
N/A ST ST Key
N/A Other Other Key

To Table of Types KmipEndpointContactRequest

The status of a Kmip endpoint contact request indicating what server issued the request, to which endpoint, and the success \ failure.

Type Name Description
N/A KmipEndpointId The id of the Kmip endpoint that is being contacted.
N/A ServerId The id of the server issuing the contact request.
N/A NodeId The internal id of the server associated with a request.
N/A KmipEndpointAddress The IP Address of the Kmip endpoint we are contacting.
N/A RequestStatus The status of the request indicating success or failure.
N/A KmipEndpointContactPending The request is marked as waiting for Kmip endpoint contact completion.

To Table of Types KmipEndpointData

A class used to define an external KMS server

Type Name Description
string ServerAddress The IP address of the KMS Server
string Username The username to log in to the KMS Server
string Password The password to log in to the KMS Server

To Table of Types KmipResponseData

A class that represents the response of a kmip request indicating success or failure, what kmip endpoint was contacted, and from which server.

Type Name Description
string ServerId The id of the server the kmip request was sent from.
string KmipEndpointId The id of the kmip endpoint we are attempting to contact.
string ResponseStatus That status of the request indicating if we succeed, fail, or fail to send the request.
string KmipEndpointAddress The address of the endpoint we are attempting to contact.

To Table of Types LicenseActivationBinding

The license activation binding.

Type Name Description
CustomBinding Binding The actual binding to use.

To Table of Types LicenseActivationEndpointAddress

The endpoint address for the DataCore licensing service.

Type Name Description
LicenseActivationEndpointAddress sEndpointIdentity The endpoint's DNS identity.
string LEGACY_URI_ADDRESS_FORMAT The endpoint's URI address, for the legacy connection method.
string URI_ADDRESS_FORMAT The endpoint's URI address format.
string LicenseServer The license server address
string PrimaryPort The primary TCP/IP port.
string AlternatePort The secondary TCP/IP port.
string PrimaryAddressString The primary endpoint address string.
string AlternativeAddressString The secondary endpoint address string.
string LegacyAddressString The legacy endpoint address string.
EndpointAddress PrimaryAddress The primary endpoint address.
EndpointAddress AlternativeAddress The secondary endpoint address.
EndpointAddress LegacyAddress The legacy endpoint address.

To Table of Types LicenseFeatures

Server license features

Type Name Description
int MaxServers Maximum number of servers
LicenseSettingState BidirectionalReplication Bidirectional replication license state
int MaxPartnerGroups Maximum number of remote replication servers
int MaxMappedHosts Maximum number of hosts
LicenseSettingState FiberChannel Fiber Channel license state
LicenseSettingState ThinProvisioning Thin provisioning license state
LicenseSettingState Snapshot Snapshot license state
LicenseSettingState iSCSI iSCSI license state
DataSize StorageCapacity Storage capacity - licensed storage activated for the individual server
long RetentionTime Retention time - the maximum time that data is retained for Continuous Data Protection (CDP)
LicenseSettingState AutoTiering Auto-tiering license state
LicenseSettingState HeatMaps Heat maps license state
LicenseSettingState SharedStorage Shared Multi-port Array license state
LicenseSettingState PerformanceAnalysis Performance analysis license state
LicenseSettingState ResourceAuthorization Resource authorization license state
LicenseSettingState SequentialStorage Sequential Storage license state
DataSize LicensedBulkStorage Data size of licensed bulk storage
LicenseSettingState BulkEnabled Bulk storage license state
int MaxBypassThreads Maximum number of bypass threads
int MaxPollerThreads Maximum number of poller threads
LicenseSettingState Mirroring Mirroring license state
LicensedSqlServerEdition SqlServerEdition SQL Edition for Max Parallel
CoreExpansionLimit CoreExpansionLimit Core Expansion Limit for Max Parallel Note: -1 means unlimited. For display purposes only.
LicenseSettingState Witness Witness license state
LicenseSettingState DataAtRestEncryption DataAtRiskEncryption license state
LicenseSettingState ILDC ILDC license state

To Table of Types LicenseKeyActivationInfo

The data required for a license key activation

Type Name Description
N/A Key The key string, in format xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
N/A Server The Name of the SSY server the key applies to. If key is not a server key, pass empty string.
N/A Capacity The amount of a capacity key to activate, in a Data Size format, i.e. "10TB". If key is not a group capacity key, pass empty string.

To Table of Types LicenseResult

The license result which includes the license and description.

Type Name Description
string License License XML string
string Information License description

To Table of Types LicenseSettings

The settings for all licensed features.

Type Name Description
int MaxServers Maximum number of servers allowed in a group.
int MaxPartnerGroups Maximum number of partner groups.
int MaxMappedHosts Maximum number of mapped hosts.
LicenseSettingState BidirectionalReplication Indicates that bi-directional remote replication is allowed.
LicenseSettingState FiberChannel Indicates that Fiber Channel ports are allowed.
LicenseSettingState ThinProvisioning Indicates that thin provisioning (pools) is allowed.
LicenseSettingState Snapshot Indicates that snapshot is allowed.
LicenseSettingState iSCSI Indicates that iSCSI channel ports are allowed.
DataSize StorageCapacity The maximum storage allowed.
DataSize LicensedBulkStorage The maximum bulk storage allowed.
LicenseSettingState BulkEnabled Indicates that bulk storage is allowed.
long RetentionTime The length of time data is retained when a disk uses CDP (Continuous Data Protection).
LicenseSettingState AutoTiering Indicates that auto-tiering is allowed.
LicenseSettingState HeatMaps Indicates that disk pool heat maps are allowed.
LicenseSettingState SharedStorage Indicates that shared storage is allowed.
LicenseSettingState PerformanceAnalysis Indicates that performance recording and analysis is allowed.
LicenseSettingState ResourceAuthorization Indicates that resource authorization is allowed.
LicenseSettingState SequentialStorage Indicates that Sequential Storage is allowed.
int MaxBypassThreads Maximum number of threads used for Bypass.
int MaxPollerThreads Maximum number of threads used by the poller.
LicenseSettingState Mirroring Indicates that mirroring is enabled on the server.
LicenseSettingState Witness Indicates that witness is licensed on the server.
LicenseSettingState DataAtRestEncryption Indicates that DataAtRestEncryption is licensed on the server.
LicenseSettingState ILDC Indicates that ILDC is licensed on the server.

To Table of Types LinkErrors

Link errors - A link error occurs when the communication link is "broken" for any period of time when the Fibre Channel port is logged in.

Type Name Description
ulong LinkFailureCount Total Link Failures
ulong LossOfSyncCount Total Synchronization Errors
ulong LossOfSignalCount Total Loss of Signal Errors
ulong PrimitiveSeqProtocolErrCount Total Protocol Errors
ulong InvalidTransmissionWordCount Total Transmission Errors
ulong InvalidCrcCount Total CRC Errors
LinkErrors LinkErrorClear CLear link errors
ulong TotalErrorCount Total link errors count

To Table of Types LocalRecordingEndpointSettings

Local recording endpoint settings.

Type Name Description
string LocalHostId Id that identifies the local recording server.

To Table of Types LogFilterExpression

Log filter expression based on specific log parameter.

Type Name Description
LogParameterNames Parameter Filter parameters See
string Value Value of the parameter
LogExpressionOperators Operation Log expression operators
bool InvertOperation If true the operation is inverted. (Works in the same manner as NOT.)

To Table of Types LogicalDiskData

The base class for the various types of logical disks.

Type Name Description
DataStatus DataStatus The state of the data, whether it is up to date.
PresenceStatus PresenceStatus Presence from the SCSI perspective.
DataSize Size The nominal size of the disk. Pool disks may not have actually allocated this much physical storage.
DataSize SectorSize The sector size of the logical disk.
string MappingName The mapping name of the logical disk.
LogicalDiskStatus DiskStatus The overall status, synthesized from the and
bool Virtualized True if the logical disk is part of a virtual disk.
N/A WitnessContactFailed True if the logical disk's server was unable to contact the witness.
AccessRights ClientAccessRights Controls access for read and write, and taking offline.
bool MirrorAccessDisabled True if access to the logical disk through mirror paths is disabled.
LogicalDiskFailure Failure The general reason the disk has failed.
string VirtualDiskId The Id of the virtual disk that this logical disk is a component of, which is of the type: .
LogicalDiskRole DiskRole What role the disk plays within the virtual disk mirroring.
string ServerHostId The Id of the host computer to which the disk is attached, which is of the type: .
bool IsMapped Whether the disk is served in any way, such as mirrored to another server or served to a host.
bool Protected Indicates it a protected disk used internally in the software.
bool Replacing Whether the disk is being replaced.
string TrunkVirtualDiskId The Id of the virtual disk associated with mirror trunk mappings.
N/A EncryptionEnabled Determines if the disk is encrypted;
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types LogicalDiskDistributionSet

Provides a map of logical disks to the list of servers they can be evacuated to, arranged by the preference.

Type Name Description
string LogicalDiskId Logical disk ID
string[] Servers List of servers to which the logical disks can be evacuated.
DistributionWarning Warnings Distribution warnings

To Table of Types LogicalDiskPerformance

Logical disk performance data.

Type Name Description
ulong TotalBytesTransferred Displays the sum of all bytes written and read from the virtual disk from a particular server.
ulong TotalBytesRead Displays the total of all bytes read. This is the sum of all bytes read from the virtual disk from a particular server.
ulong TotalBytesWritten Displays the total of all bytes written. This is the sum of all bytes written to the virtual disk from a particular server.
ulong TotalOperations Displays the number of both read and write requests handled by this virtual disk on a particular server.
ulong TotalReads Displays the number of read requests handled by this virtual disk from a particular server.
ulong TotalWrites Displays the number of write requests handled by this virtual disk from a particular server.
ulong CacheReadHits Displays the number of read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMisses Displays the number of read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHits Displays the number of write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong PercentRecovered Displays the amount recovered versus the total logged amount to recover.
ulong PendingClientIOsToMirror Displays the number of I/Os to mirror that were initiated by the client and are awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong PendingRecoveryIOs Displays the number of recovery I/Os currently awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong RemoteReads Displays the number of reads to mirror.
ulong RemoteWrites Displays the number of writes to mirror.
ulong BytesRecovered Displays the number of bytes of disk data recovered.
ulong BytesToRecover Displays the number of bytes that need to be recovered.
ulong TotalReadTime Cumulative time of all read operations for a particular virtual disk from a particular server
ulong TotalWriteTime Cumulative time of all write operations for a particular virtual disk from a particular server
ulong MaxReadTime inst time for the max read operation for a particular virtual disk on a particular server.
ulong MaxWriteTime inst time for the max write operation for a particular virtual disk on a particular server.
ulong PercentReplaced Displays the amount replaced versus the total logged amount to be replaced.
ulong CacheBackendTotalWrites Displays the number of cache backend write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalReads Displays the number of cache backend read requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalOperations Displays the number of cache backend read and write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalWriteTime Cumulative time of all cache backend write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalOperationsTime Cumulative time of all cache backend read and write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalReadTime Cumulative time of all cache backend read operations for a particular virtual disk from a particular server
ulong CacheBackendMaxReadTime inst time for the max cache backend read operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxWriteTime inst time for the max cache backend write operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxIOTime inst time for the max cache backend operation for a particular virtual disk on a particular server.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types LogMachineInfo

Log machine information

Type Name Description
string MachineId Machine Id
string MachineName Machine name

To Table of Types LogMachinePrefilters

Complete prefilter information for a logging machine.

Type Name Description
string MachineId A 'string' containing the Id of the logging machine.
LogPrefilters AllowedPrefilters A containing the allowed prefilter category values.
LogPrefilters SuppressedPrefilters A containing the suppressed prefilter category values.

To Table of Types LogMessage

Treat all fields as readonly. Use for all operations on this class including creation of new instance of it.

Type Name Description
LogMessageId Id Id of log message See
DateTime TimeStamp Time of creation
string MachineName Machine name
LogLevel Level The level of a log messages determines the system's automatic response and who is able to see the message.
LogVisibility Visibility Log visibility types
bool HighPriority True if the log message is high priority.
bool NeedsAcknowledge True if the log message needs to be acknowledged.
string MessageText Message text
string[] MessageData Message text parameters used for a composite format message.
string UserId User Id
string UserName User name
string Caller The method that initiated the log message.
LogSource[] Sources Array of log sources See

To Table of Types LogMessageId

Log message id

Type Name Description
string MachineId Machine Id
ulong SequenceNumber Sequence number

To Table of Types LogPrefilters

Logging prefilter values organized by categories. Each field contains values for a corresponding category.

Type Name Description
string[] SourceCaptions Array of 'strings' which specify prefiltering values in the category. Can be used to allow or suppress logs with particular source captions.
string[] SourceIds Array of 'strings' which specify prefiltering values in the category. Can be used to allow or suppress logs with particular source Ids.
LogSourceType[] SourceTypes Array of which specify prefiltering values in the category. Can be used to allow or suppress logs with particular source types.
LogVisibility[] LogVisibilities Array of which specify prefiltering values in the category. Can be used to allow or suppress logs with particular log visibilites.
LogLevel[] LogLevels Array of which specify prefiltering values in the category. Can be used to allow or suppress logs with particular log levels.

To Table of Types LogSearchResult

The result of searching for the next or previous log message.

Type Name Description
int Offset The message sequence number offset from the message the search originated from.
LogMessage LogMessageFound The log message that the search found.

To Table of Types LogSortCriteria

Log messages sort criteria based on the specific parameter.

Type Name Description
LogParameterNames Parameter Sort parameter
bool SortDescending If true, sort is descending

To Table of Types LogSource

Source of the log

Type Name Description
string SourceId Source Id
LogSourceType SourceType Source type See
string SourceCaption Source name

To Table of Types LUN

The SCSI logical unit number.

Type Name Description
LUN Invalid Invalid LUN
LUN InvalidSubLun Invalid LUN with minimal value
LUN MaxLun Maximum LUN value
LUN FIVE_BYTES The maximum value is represented with 5 bytes.
LUN MaxVvolLun Maximum VVOL LUN
ulong Quad LUN value

To Table of Types MachinePerformance

Machine performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read. This is the sum of [Total Bytes Transferred] of all SCSI ports for this Machine.
ulong TotalBytesRead Displays the total bytes read. This is the sum of [Total Bytes Read] of all SCSI ports for this Machine.
ulong TotalBytesWritten Displays the total bytes written. This is the sum of [Total Bytes Written] of all SCSI ports for this Machine.
ulong TotalOperations Displays the total operations processed. This is the sum of [Total Operations] of all SCSI ports for this Machine.
ulong TotalReads Displays the total read operations. This is the sum of [Total Reads] of all SCSI ports for this Machine.
ulong TotalWrites Displays the total write operations. This is the sum of [Total Writes] of all SCSI ports for this Machine.
ulong MaxReadSize Max size in bytes of the read operation.
ulong MaxWriteSize Max size in bytes of the write operation.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation.
ulong TotalBytesProvisioned The total amount of bytes served by virtual disks to this machine.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types MachinePerformanceEx

An extended representation of machine performance data

Type Name Description
N/A Latency The maximum latency of the associated virtual disks

To Table of Types MemberAllocationInfoData

Provides a bit map array of the allocated chunks of a pool member.

Type Name Description
string PoolMemberId The pool member Id, which must be of type .
BitArrayEx ChunkMap The bitmap in which each bit represents the state of one disk chunk: 1 means allocated, 0 means not allocated.

To Table of Types MessageActionData

A message action posts a log message.

Type Name Description
LogLevel LogLevel The level of a log messages determines the system's automatic response and who is able to see the message.
bool HighPriority If true the message is flagged as high priority.
string Message The actual message.
string TaskId The Id of the task.
TaskActionType Type The type of action.
TaskActionState State The state of the action.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MessageTriggerData

Triggers when a log message meeting specified conditions is received.

Type Name Description
LogFilterExpression[] MessageFilters An array of filters specifying conditions the message is tested for.
FilterConnective Connective Specifies the logical operator used to evaluate a set of filters.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MessageTriggerState

State on which the task will be activated based on the matching event log.

Type Name Description
LogMessage[] LogMessages Array of log messages See

To Table of Types MethodActionData

Method actions are SSV operations that can be directly triggered by a task. Each of these operate on a specified SSV object.

Type Name Description
string TargetId The Id of the SANsymphony object on which the method acts. The type of object required depends on the type of method.
MethodActionType MethodType Method actions are SSV operations that can be directly triggered by a task. Each of these operate on a specified SSV object.
string TaskId The Id of the task.
TaskActionType Type The type of action.
TaskActionState State The state of the action.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MirrorData

The data object that defines a mirror.

Type Name Description
string FirstLogicalDiskId The first disk in the mirror pair. This is of type .
string SecondLogicalDiskId The second disk in the mirror pair. This is of type .
RecoveryStatus FirstRecovery The recovery status of the first disk in the mirror pair: in recovery, needs recovery, etc.
RecoveryStatus SecondRecovery The recovery status of the second disk in the mirror pair: in recovery, needs recovery, etc.
string FirstMirrorDiskId Id of the associated
string SecondMirrorDiskId Id of the associated
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MirrorDiskData

Represents the two logical disks used in a mirrored virtual disk, one of which is the physical disk in the local logical disk.

Type Name Description
string LocalLogicalDiskId The Id of the logical disk physical disk is a member of, which must be the type: when the logical disk is part of a mirrored virtual disk.
string RemoteLogicalDiskId The Id of the remote logical disk in the mirrored virtual disk, which must be the type:
PresenceStatus PresenceStatus Indicates whether the disk is present.
string Alias The alias of the disk.
DataSize Size The size of the disk.
DataSize SectorSize The sector size of the disk.
DataSize FreeSpace The amount of space that is not allocated to a logical disk or otherwise used by the pool.
InquiryData InquiryData The SCSI inquiry data.
ScsiPath ScsiPath The low-level SCSI path information (bus, target, lun, etc.).
int DiskIndex The disk index number assigned by the operating system.
string SystemName The name of the system the disk is on.
StorageBusType BusType The type of physical storage bus.
DiskType Type The type of disk.
PhysicalDiskStatus DiskStatus The physical status of the disk.
string PoolMemberId The Id of the pool member this disk belongs to, which must be of type: null if not in a pool.
bool Partitioned Indicates if the disk is partitioned.
int InUse Indicates if the disk is in use.
bool IsBootDisk Indicates if the disk is bootable.
bool Protected Indicates if the disk is protected from operating system actions.
bool IsSolidState Indicates if the disk is a solid-state disk.
string HostId The Id of the host computer this disk is attached to, which must be the type: null if not in a pool.
string UniqueIdentifier The disk's unique identifier.
string SharedPhysicalDiskId The unique identifier indicating which, if any, shared physical disk this disk belongs to.
bool IsDataCoreDisk Indicates if the disk is from a DataCore Disk backend.
string DvaPoolDiskId The Id of the Dva pool disk this disk belongs to, which must be of type: null if not in a Dva pool.
DiskSmartStatus SmartStatus SMART status of physical disk
N/A DeduplicationSupported Indicates that the disk supports deduplication natively.
N/A CompressionSupported Indicates that the disk supports compression natively.
N/A HardwareEncryptionSupported Indicates that the disk supports encryption natively.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MirroringPerformance

Mirroring performance data (counters related to mirroring data between two logical disks).

Type Name Description
ulong PercentRecovered Displays the amount recovered versus the total logged amount to recover.
ulong PendingClientIOsToMirror Displays the number of I/Os to mirror that were initiated by the client and are awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong PendingRecoveryIOs Displays the number of recovery I/Os currently awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong RemoteReads Displays the number of reads to mirror.
ulong RemoteWrites Displays the number of writes to mirror.
ulong BytesRecovered Displays the number of bytes of disk data recovered.
ulong BytesToRecover Displays the number of bytes that need to be recovered.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types MirrorRelationData

Data of a one-directonal mirror relation

Type Name Description
string LocalLogicalDiskId The local disk of a mirror relation. This is of type .
string RemoteLogicalDiskId The remote disk of a mirror relation. This is of type .
string VirtualDiskId Id of the associated that represents the virtual disk this relation belongs to.
RecoveryStatus FirstRecovery The first recovery status to be performed on the source disk: in recovery, needs recovery, etc.
RecoveryStatus SecondRecovery The second recovery status to be performed on the source disk: in recovery, needs recovery, etc.
DataStatus DataStatus The state of the data on the local logical disk, whether it is up to date.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MonitorData

The common properties of all monitors.

Type Name Description
string Description A meaningful description of the monitor, including what object is being monitored.
string MonitoredObjectId The standard SANsymphony Id of the object being monitored.
string TemplateId The Id of the template on which this monitor is based.
MonitorState State Monitor states have five levels: Healthy, Attention, Warning and Critical, or Undefined.
DateTime TimeStamp The time that the last state change occurred.
string MessageText The message text of the monitor.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MonitorTemplateData

A template is created first, and applies to the specified object type. A specific monitor is then created from a template. This is done automatically by SANsymphony for all monitorable objects, monitors and templates cannot be created through the API.

Type Name Description
string Alias A unique displayable name.
string Description Describes the monitor.
string MonitorType The type of monitor, as a displayable string.
string MonitoredObjectType The type of object being monitored, as a displayable string.
string MonitoredObjectId The monitored object's Id.
string TypeId The monitored object's type Id.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MonitorTriggerData

Triggers when a specified monitor matches a specified condition.

Type Name Description
string MonitoredObjectId The Id of the monitored object, which must be of type .
string MonitorTemplateTypeId The Id of the monitor template, which must be of type .
MonitorState MonitorThreshold The threshold, i.e. the state, at which the monitor triggers.
ComparisonOperator TriggerStateOperator The operator used to compare the monitor state to the trigger threshold state. If the comparison returns true, the trigger is fired. The monitor states have an implicit order which makes them comparable, see .
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types MonitorTriggerState

State on which the task will be activated when the chosen monitor reaches the specified state criteria.

Type Name Description
string MonitoredObjectId The Id of the chosen monitor object to be tracked.
bool Reported Specifies whether the monitor has reached the specified state and triggered the task.

To Table of Types MonthlyTriggerData

Monthly at a specified time and day of the month, optionally a day of a week in the month (third Tuesday, for example).

Type Name Description
bool MonthlyByDateFlag If true, then trigger on the specified day of the month (using and ) otherwise trigger on a day of a week (using , , and )
int MonthIntervalByDayNumber The number of months between triggers if is true.
int DayNumberInMonth The day of the month to trigger on if is true.
DayOfWeek DayOfWeekInMonthlyByWeek The day of the week to trigger on if is false.
int WeekNumInMonthlyByWeek The week number to trigger on if is false.
int MonthIntervalByWeek The number of months between triggers if is false.
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types NetAddress

Net address

Type Name Description
IPAddressEx Address IP address
uint AddressType IP address type. See
string DomainName Domain name
ushort TcpPort TCP port

To Table of Types Node

Represents a single iSCSI node

Type Name Description
string Alias Alias
string MachineName Server name
string Name Name
ScsiMode ScsiMode SCSI Mode See
AccessToken AccessToken Access Token

To Table of Types NodeList

Represents list of iSCSI nodes

Type Name Description
Node iSCSINodes Array of iSCSI nodes

To Table of Types OperationContextData

Stores the context of the operation being executed.

Type Name Description
string RemoteEndpoint Operation initiator machine
string UserName Operation initiator user name

To Table of Types OperationData

Base class for all interactor state objects.

Type Name Description
int Progress Integer value between 0 and 100 showing the percentage of work completed.
bool Finished Set to true if operation has already completed, cancelled or failed.
bool Cancelable Set to true if operation supports cancellation.
OperationState State Operation completed state.
OperationContextData Context Operation's execution context
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types OwnershipData

Ownership information between user and target objects.

Type Name Description
string UserId Owner identification
string IdentifiableId SANsymphony object
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PartnerServerHostData

A remote replication partner server data.

Type Name Description
string SelectedAddress The remote replication partner's IP address used for replication.
string GroupId The Id of the group the server is a member of, which must be of type
string RegionNodeId The Id of the region node the server is in, which must be of type
DataSize CacheSize The size of the server cache.
ServerState State The server state: online, offline, not present or failed.
SupportServiceState SupportState The state of the server regarding collecting monitor data.
string SnapshotMapStoreId The Id of the snapshot mapstore, which must be of type
string SnapshotMapStorePoolId The Id of the snapshot mapstore pool, which must be of type
string InstallPath DataCore product installation path.
string ProductName The official DataCore product name.
string ProductType The product type description.
string ProductVersion The product version.
string OsVersion The operating system version.
ProcessorInformation ProcessorInfo The processor architecture, number of cores.
string ProductBuild DataCore product build.
string BuildType Type of build.
DiagnosticMode DiagnosticMode Indicates if the server is in diagnostic mode.
long LicenseRemaining Time remaining on a time-limited license (in ticks)
string ReplicationBufferFolder The file system folder which provides the replication buffer.
DataSize TotalSystemMemory Total system memory.
DataSize AvailableSystemMemory Available system memory.
LogStatus LogStatus The status of the logging system.
LicenseSettings LicenseSettings License settings for per-server licensed features.
bool IsLicensed Indicates whether this system is a non-licensed trial version.
bool LicenseExceeded Indicates if this system has exceeded a non-trial license individual limits.
DataSize StorageUsed Amount of storage that has been counted toward the licensed storage limit (foreign non-bulk storage).
DataSize BulkStorageUsed Amount of storage that has been counted toward the licensed bulk storage limit (foreign).
DataSize DataCoreStorageUsed Amounts of storage that have been counted toward the maximum managed storage limits (DataCore storage).
DataSize DataCoreBulkStorageUsed Amounts of DataCore storage used on a bulk server (does not count toward the maximum managed storage limit).
PowerState PowerState Power state: AC on/off, battery low.
CacheState CacheState The cache state: writethru, writeback or unknown.
string BackupStorageFolder The file system folder where configuration backups are stored.
string[] IpAddresses The IP addresses of this server.
ulong LicenseNumber The server license number (formerly WWN)
uint MaxPollerThreadsConfig Max Poller Threads in Registry
ushort AluaGroupId The ALUA port group Id.
bool IsVirtualMachine Indicates that the server is running in a virtual machine.
bool IsAzureVirtualMachine Indicates that the server is running in an Azure virtual machine.
bool IsPayGo Indicates that the server has a pay as you go license.
string HypervisorHostId The physical hypervisor host where the server is running.
string LogStorePoolId The Id of the logstore pool, which must be of type An empty string indicates that no logstore is set for the server.
string DefaultSnapshotPoolId The Id of the snapshot pool, which must be of type An empty string indicates that no snapshot pool is set for the server.
ulong ConfigurationInfo Latest configuration sequence number.
bool OutOfCompliance Flag specifying whether the server is out of compliance or not
DateTime NextExpirationDate Specifies when next a key will expire
string KmipEndpointId The id of the Kmip endpoint configured for the server.
string DeduplicationPoolId The Id of the dva pool used to provide capacity optimization storage to disk pools on the server, which must be of type
uint CdpMaxHistoryLogSizeGb The maximum history log size of a CDP-enabled virtual disk
uint SeqMaxHistoryLogSizeGb The maximum history log size of a RWA-enabled virtual disk
N/A IsTcLoaded Is the Virtual StorPort Driver enabled.
IldcConfigurationData IldcConfigurationData Internal parameters used to configure the performance and behavior of the ILDC feature.
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PartnershipData

Partnership data. Partnerships support remote replication.

Type Name Description
string[] HostAddresses An array of all the IP addresses of partner servers.
ConnectionCredentials IncomingCredentials Incoming credentials: user name and password.
ConnectionCredentials OutgoingCredentials Outgoing credentials: user name and password.
string GroupId The Id for the SANsymphony server group.
bool Connected Indicates if the partnership is connected to local group.
bool EnableCompression Indicates that remote replication is using compression.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PassThroughLogicalDiskData

A pass-through disk is used and presented through a virtual disk without writing anything to the disk. This means that any file system, for example, already present on the disk is preserved completely.

Type Name Description
string PhysicalDiskId The Id of the physical disk that underlies the logical disk, which must be the type:
DataStatus DataStatus The state of the data, whether it is up to date.
PresenceStatus PresenceStatus Presence from the SCSI perspective.
DataSize Size The nominal size of the disk. Pool disks may not have actually allocated this much physical storage.
DataSize SectorSize The sector size of the logical disk.
string MappingName The mapping name of the logical disk.
LogicalDiskStatus DiskStatus The overall status, synthesized from the and
bool Virtualized True if the logical disk is part of a virtual disk.
N/A WitnessContactFailed True if the logical disk's server was unable to contact the witness.
AccessRights ClientAccessRights Controls access for read and write, and taking offline.
bool MirrorAccessDisabled True if access to the logical disk through mirror paths is disabled.
LogicalDiskFailure Failure The general reason the disk has failed.
string VirtualDiskId The Id of the virtual disk that this logical disk is a component of, which is of the type: .
LogicalDiskRole DiskRole What role the disk plays within the virtual disk mirroring.
string ServerHostId The Id of the host computer to which the disk is attached, which is of the type: .
bool IsMapped Whether the disk is served in any way, such as mirrored to another server or served to a host.
bool Protected Indicates it a protected disk used internally in the software.
bool Replacing Whether the disk is being replaced.
string TrunkVirtualDiskId The Id of the virtual disk associated with mirror trunk mappings.
N/A EncryptionEnabled Determines if the disk is encrypted;
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PCIInfo

SCSI PCI information

Type Name Description
uint Bus Bus
uint Slot Slot
uint Function Function
ushort VendorId Vendor ID
ushort DeviceId Device ID
ushort SubVendorId Sub-Vendor ID
uint InterruptLevel Interrupt level

To Table of Types PerfMonitorTemplateData

The template for performance monitors. In the performance monitor case there is a one-to-one relationship between the monitors and the templates, i.e. each monitor has one template and vice-versa.

Type Name Description
string CounterName The displayable name of the performance counter being monitored.
string Alias A unique displayable name.
string Description Describes the monitor.
string MonitorType The type of monitor, as a displayable string.
string MonitoredObjectType The type of object being monitored, as a displayable string.
string MonitoredObjectId The monitored object's Id.
string TypeId The monitored object's type Id.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PerformanceData

The base of all performance data classes.

Type Name Description
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types PerformanceInstanceData

Object identifying and describing the instance in a recording session.

Type Name Description
PerformanceInstanceKeyData KeyData Performance key data See
string Alias The name of the object
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
string ActivityWindow Time interval of the recorded performance See

To Table of Types PerformanceInstanceKeyData

Performance key data of a specific object instance.

Type Name Description
string Id Id of the instance
PerformanceType PerformanceType Performance instance type See

To Table of Types PerformanceRecordingSessionData

Description of performance recording session.

Type Name Description
string EndpointId The Id for the endpoint.
string Alias A unique displayable name.
BaseRecordingPointData[] CollectionSet A collection of recording points.
bool Running Running state flag.
bool Readonly Read only state flag.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PerformanceRequestData

Performance data request.

Type Name Description
InstanceCollectionPointData[] CollectionSet Array of InstanceCollectionPointData See
TimeSpan Resolution The interval between each recording point in the recording session.
string EndpointId Id of the recording endpoint, which represents the recording server.

To Table of Types PerfRecordingStatisticsData

Statistics data for a performance record.

Type Name Description
long TotalCounters Total number of counters.
long TotalSamples Total number of samples.
long TotalInstances Total number of instances.
DataSize UsedSize Total size used for the record.
DataSize FirstRecord The first record of statistics data.
DataSize LastRecord The last record of statistics data.
string DatabaseName The name of the database that holds the statistics data records.
TimeSpan MinimumResolution The minimum time interval for performance record.
string EndpointId The Id of the endpoint.
string CurrentHostId The Id of the current host.

To Table of Types PhysicalDiskData

The properties and status of physical disks. Physical disks are the direct representation of hardware disk devices presented by the operating system.

Type Name Description
PresenceStatus PresenceStatus Indicates whether the disk is present.
string Alias The alias of the disk.
DataSize Size The size of the disk.
DataSize SectorSize The sector size of the disk.
DataSize FreeSpace The amount of space that is not allocated to a logical disk or otherwise used by the pool.
InquiryData InquiryData The SCSI inquiry data.
ScsiPath ScsiPath The low-level SCSI path information (bus, target, lun, etc.).
int DiskIndex The disk index number assigned by the operating system.
string SystemName The name of the system the disk is on.
StorageBusType BusType The type of physical storage bus.
DiskType Type The type of disk.
PhysicalDiskStatus DiskStatus The physical status of the disk.
string PoolMemberId The Id of the pool member this disk belongs to, which must be of type: null if not in a pool.
bool Partitioned Indicates if the disk is partitioned.
int InUse Indicates if the disk is in use.
bool IsBootDisk Indicates if the disk is bootable.
bool Protected Indicates if the disk is protected from operating system actions.
bool IsSolidState Indicates if the disk is a solid-state disk.
string HostId The Id of the host computer this disk is attached to, which must be the type: null if not in a pool.
string UniqueIdentifier The disk's unique identifier.
string SharedPhysicalDiskId The unique identifier indicating which, if any, shared physical disk this disk belongs to.
bool IsDataCoreDisk Indicates if the disk is from a DataCore Disk backend.
string DvaPoolDiskId The Id of the Dva pool disk this disk belongs to, which must be of type: null if not in a Dva pool.
DiskSmartStatus SmartStatus SMART status of physical disk
N/A DeduplicationSupported Indicates that the disk supports deduplication natively.
N/A CompressionSupported Indicates that the disk supports compression natively.
N/A HardwareEncryptionSupported Indicates that the disk supports encryption natively.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PhysicalDiskDataEx

An extended representation of physical disk data

Type Name Description
N/A Usage The current usage status of the physical disk
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A AllServers All servers that have access to the physical disk (including this one)

To Table of Types PhysicalDiskLayout

The presented physical layout of a virtual disk, i.e. how the SCSI initiator sees the disk.

Type Name Description
uint Cylinders Number of cylinders
uint Heads Number of heads
uint SectorsPerTrack Sectors per track

To Table of Types PhysicalDiskPerformance

Physical disk performance data.

Type Name Description
ulong TotalReadsTime Displays the cumulative processing time of all read commands, in milliseconds.
ulong TotalWritesTime Displays the cumulative processing time of all write commands, in milliseconds.
ulong TotalPendingCommands Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected. It also includes requests in service at the time of the collection. This is a instantaneous snapshot, not an average over the time interval. Multi-spindle disk devices can have multiple requests that are active at one time, but other concurrent requests are awaiting service. This counter might reflect a transitory high or low queue length, but if there is a sustained load on the disk drive, it is likely that this will be consistently high. Requests experience delays proportional to the length of this queue minus the number of spindles on the disks. For good performance, this difference should average less than two.
ulong TotalReads Displays the number of read operations on the disk.
ulong TotalWrites Displays the number of write operations on the disk.
ulong TotalOperations Displays the number of write and read operations on the disk.
ulong TotalBytesRead Displays the number of bytes read from the disk.
ulong TotalBytesWritten Displays the number of bytes written to the disk.
ulong TotalBytesTransferred Displays the number of bytes transferred to and from the disk.
ulong TotalOperationsTime Displays the cumulative processing time of all commands, in milliseconds.
ulong MaxReadTime Displays the maximum processing time for read operation.
ulong MaxWriteTime Displays the maximum processing time for write operation.
ulong MaxReadWriteTime Displays the maximum processing time for read or write operation.
ulong PercentIdleTime Displays the percentage of idle time of the disk.
ulong AverageQueueLength Displays average queue length of the disk.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types Plugin

Plugin information tracked by API Scoreboard

Type Name Description
N/A Version Version of the plugin
N/A APIUsageData API Usage data of the plugin

To Table of Types PoolHeatmapData

A snapshot of the heatmap state at a particular point in time.

Type Name Description
long TimeStamp The time at which the heatmap state was saved.
PoolMemberHeatmapData[] MemberHeatmaps The state of the heatmaps, and array of heat map data sets, one for each member of the pool.

To Table of Types PoolLogicalDiskData

A logical disk that has been created from a pool and is therefore thin-provisioned.

Type Name Description
string PoolId The pool that underlies the logical disk, which must be the type:
int VolumeIndex Internal index of the disk in the pool list. Internal use only.
DataSize MinQuota The minimum and initial allocation of physical storage to the logical disk.
DataSize MaxQuota The maximum allocation of physical storage to the logical disk.
int[] TierAffinity Where the SAUs can be migrated to.
string StorageName Unused
ReclamationState ReclamationState State of the reclamation.
bool InReclamation Indicates that the physical storage that was once used by the disk has been released and is in the process of being reclaimed by the pool.
bool DeletePending Shows that the disk is deleted by user action and is waiting for the pool to become healthy to complete the deletion
bool HasEncryptedAllocatedChunks Shows that the disk has encrypted allocated chunks
DataStatus DataStatus The state of the data, whether it is up to date.
PresenceStatus PresenceStatus Presence from the SCSI perspective.
DataSize Size The nominal size of the disk. Pool disks may not have actually allocated this much physical storage.
DataSize SectorSize The sector size of the logical disk.
string MappingName The mapping name of the logical disk.
LogicalDiskStatus DiskStatus The overall status, synthesized from the and
bool Virtualized True if the logical disk is part of a virtual disk.
N/A WitnessContactFailed True if the logical disk's server was unable to contact the witness.
AccessRights ClientAccessRights Controls access for read and write, and taking offline.
bool MirrorAccessDisabled True if access to the logical disk through mirror paths is disabled.
LogicalDiskFailure Failure The general reason the disk has failed.
string VirtualDiskId The Id of the virtual disk that this logical disk is a component of, which is of the type: .
LogicalDiskRole DiskRole What role the disk plays within the virtual disk mirroring.
string ServerHostId The Id of the host computer to which the disk is attached, which is of the type: .
bool IsMapped Whether the disk is served in any way, such as mirrored to another server or served to a host.
bool Protected Indicates it a protected disk used internally in the software.
bool Replacing Whether the disk is being replaced.
string TrunkVirtualDiskId The Id of the virtual disk associated with mirror trunk mappings.
N/A EncryptionEnabled Determines if the disk is encrypted;
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PoolLogicalDiskPerformance

Pool logical disk performance data, includes all logical disk data plus thin provisioning data.

Type Name Description
ulong BytesAllocated Displays the amount of physical disk space that has been allocated to the Virtual Disk on a particular server, in MBs. Physical disk space is allocated from the Disk Pool in large increments, each called a Storage Allocation Unit; by default 128MB.
ulong BytesMigrated Displays the number of bytes per second that are migrated between different tiers.
ulong BytesOutOfAffinity Displays the number bytes out of affinity.
ulong BytesTogglingEncryption Displays the number bytes toggling encryption.
ulong BytesOutOfSettings Displays the number bytes out of settings.
ulong CapacityOptimizedBytesAllocated Displays the number bytes allocated to Capacity Optimized storage.
ulong TotalBytesTransferred Displays the sum of all bytes written and read from the virtual disk from a particular server.
ulong TotalBytesRead Displays the total of all bytes read. This is the sum of all bytes read from the virtual disk from a particular server.
ulong TotalBytesWritten Displays the total of all bytes written. This is the sum of all bytes written to the virtual disk from a particular server.
ulong TotalOperations Displays the number of both read and write requests handled by this virtual disk on a particular server.
ulong TotalReads Displays the number of read requests handled by this virtual disk from a particular server.
ulong TotalWrites Displays the number of write requests handled by this virtual disk from a particular server.
ulong CacheReadHits Displays the number of read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMisses Displays the number of read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHits Displays the number of write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong PercentRecovered Displays the amount recovered versus the total logged amount to recover.
ulong PendingClientIOsToMirror Displays the number of I/Os to mirror that were initiated by the client and are awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong PendingRecoveryIOs Displays the number of recovery I/Os currently awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong RemoteReads Displays the number of reads to mirror.
ulong RemoteWrites Displays the number of writes to mirror.
ulong BytesRecovered Displays the number of bytes of disk data recovered.
ulong BytesToRecover Displays the number of bytes that need to be recovered.
ulong TotalReadTime Cumulative time of all read operations for a particular virtual disk from a particular server
ulong TotalWriteTime Cumulative time of all write operations for a particular virtual disk from a particular server
ulong MaxReadTime inst time for the max read operation for a particular virtual disk on a particular server.
ulong MaxWriteTime inst time for the max write operation for a particular virtual disk on a particular server.
ulong PercentReplaced Displays the amount replaced versus the total logged amount to be replaced.
ulong CacheBackendTotalWrites Displays the number of cache backend write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalReads Displays the number of cache backend read requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalOperations Displays the number of cache backend read and write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalWriteTime Cumulative time of all cache backend write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalOperationsTime Cumulative time of all cache backend read and write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalReadTime Cumulative time of all cache backend read operations for a particular virtual disk from a particular server
ulong CacheBackendMaxReadTime inst time for the max cache backend read operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxWriteTime inst time for the max cache backend write operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxIOTime inst time for the max cache backend operation for a particular virtual disk on a particular server.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types PoolMemberData

A pool member is an abstraction of the physical disks that constitute a pool, specifically because a pair of mirrored disks in a pool is considered a single member for many purposes. For example, tiering applies to members, not physical disks, essentially meaning both disks in a mirrored member must be in the same tier.

Type Name Description
string DiskInRecoveryId The Id of the physical disk that is in recovery, which must be the type: null if neither disk is in recovery. This is used only for mirrored members.
string DiskPoolId The Id of the pool this object is a member of, which must be the type:
int DiskTier There can be up to 15 tiers in a pool, with members associated with each tier. The tiers are identified by the integers 1 to 15.
PoolMemberState MemberState The state of a mirrored member's recovery. When a mirror is created or one of the physical disks is replaced, recovery will start, copying the current disk's contents to the new mirror disk.
DataSize Size The size of a member. A mirrored member is the size of its smaller physical disk.
DataSize SectorSize The sector size of a member.
bool IsMirrored Indicates that the member is a mirror. If not there is only one physical disk in the member.
uint ReservedChunkCount The reserved chunk count on a member.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PoolMemberDataEx

A pool member, a representation of the physical disks assigned to a pool.

Type Name Description
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A PhysicalDiskIds The id's of the physical disks that are associated with the pool member.

To Table of Types PoolMemberHeatmapData

The heatmap data for a particular pool member.

Type Name Description
string PoolMemberId The pool member Id.
PoolDiskHeatmapInfoType Type The type of point in time data for a pool heatmap.
BitArrayEx Bitmap A bitmap showing which heatmap values are valid, i.e. which pool chunks heat values are include in the heatmap.
byte[] Heatmap The heat of each pool chunk for which the bitmap flag is set, in the same order.

To Table of Types PoolMemberPerformance

Pool member performance data.

Type Name Description
ulong BytesAllocated Displays the amount of the physical disk space that has been allocated to all virtual disks belonging to this disk's disk pool. This is an instantaneous count, not an average over a period of time. It reports meaningful value only for Pool Disks. Otherwise displays 0.
ulong BytesAvailable Displays the amount of the physical disk that is available to be allocated to a particular virtual disk. This is an instantaneous count, not an average over a period of time. It reports meaningful value only for Pool Disks. Otherwise displays 0.
ulong BytesInReclamation Displays the amount of the Physical Disk that is being reinitialized for use as Available storage. This is an instantaneous count, not an average over a period of time.
ulong BytesRecovered Displays the amount of the physical disk that has been resynchronized with its mirror since recovery began. This is an instantaneous count, not an average over a period of time. It reports meaningful value only for Pool Disks. Otherwise displays 0.
ulong BytesRemainingToRecover Displays the amount of the physical disk that remains to be resynchronized with its mirror until recovery is complete. This is an instantaneous count, not an average over a period of time. It reports meaningful value only for pool disks. Otherwise displays 0.
ulong BytesTotalToRecover Displays the total amount of the Physical Disk space that requires resynchronization with its mirror when recovery begins. This is a static value and does not increase in time.
ulong BytesMigrated Displays the number of bytes per second that are migrated between different tiers.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types PoolPhysicalDiskChunkStatistics

Statistics for the allocated SAUs on a physical disk per virtual disk.

Type Name Description
VirtualDiskChunkStatistics[] VirtualDiskStatistics Collection of all virtual disks by Id.

To Table of Types PortalCapabilityInfo

iSCSI portal capability info

Type Name Description
bool DataDigestSupported Specifies if data digest is supported
bool DhcpSupported Specifies if DHCP is supported
bool HeaderDigestSupported Specifies if header digest is supported
uint MaxLinkSpeed Portal maximum transfer speed
uint Mtu Portal maximum transmission unit size

To Table of Types PortalIdInfo

iSCSI portal hardware information

Type Name Description
PCIInfo PCIInfo iSCSI PCI information
string FirmwareVersion Firmware version
string ChipsetVersion Chipset version
string DriverVendor Driver vendor
string DriverName Driver name
string DriverVersion Driver version
string VendorName Vendor name
string ProductName Product name
string PhysicalAddress Physical(MAC) address

To Table of Types PortalStateInfo

Represents portal state

Type Name Description
IPAddressEx Address Portal IP address
uint PortalSpeed Portal speed in megabits per second (Mbps)
PortalState State iSCSI portal state

To Table of Types PortConfigInfo

iSCSI port configuration

Type Name Description
bool Active True if active
string Alias The logical name
AuthenticationMode Authentication Authentication mode See
Mode AutoLoginMode Auto login mode See
bool DisablePortWhileStopped If true, disable port when server is stopped.
DiscoveryConfig Discovery ConfigTSIH configuration
string InstanceName The instance name.
ulong ISID The initiator part of the session identifier.
uint MaxActiveICommands Maximum number of active Initiator commands.
uint MaxActiveTCommands Maximum number of active Target commands.
string NodeName Node name
iScsiPortalConfigInfo[] PortalsConfig Array of portal configurations See
ErrorRecoveryLevel RecoveryLevel Error recovery level See
ScsiMode ScsiMode SCSI mode types
SessionParams SessionParams Session communication parameters.
uint TPGT Target Portal Group Tag

To Table of Types PortConnectionData

General connection data for all types of ports.

Type Name Description
bool Connected True if connected.
string PortAId The Id of one of the ports in the pair making up the connection. Must be type
string PortBId The Id of the other port in the pair making up the connection. Must be type
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types PortDescriptor

The port descriptor of one of the ports in the connection.

Type Name Description
WWN PortName Port name in WWN format
WWN NodeName Node name in WWN format
uint PortId The port Id
bool InSNS True if the port is in the Switch Name Server database
ScsiMode ScsiMode SCSI mode types
string SymPortName Port WWN
string SymNodeName Node WWN
WWN FabricPortName Fabric port name in WWN format
PortType PortType Fiber channel port types
ClassOfService ClassOfService Fibre Channel class of service which defines the flow control.
byte[] FC4Types A list of the port types supported by the port, such as N_PORT, NL_PORT, etc.
PortLocation Location Port location type
uint LoopId Arbitrated Loop ID
uint HardAddress The requested fixed Arbitrated Loop ID
uint ScsiId Index in a table in the port database
bool LoggedIn Indicates whether the remote port represented by this PortDescriptor is logged into the current port
bool Lost True if connection to the port has been lost

To Table of Types PrivilegeSet

Represents a set of privilege groups

Type Name Description
GeneralPrivileges General Grants privileges to perform general actions, such as viewing information in the consoles and cmdlets, and renaming objects. This privilege set is necessary and will be automatically added to all roles without being selected by the administrator.
PortPrivileges Ports Grants privileges to perform actions on Fibre Channel and iSCSI ports such as creating, configuring, and deleting ports, and also configuring authentication and logging in and out of iSCSI ports.
ClientMachinePrivileges ClientMachines Grants privileges to perform actions on hosts such as creating, configuring, and deleting hosts.
HostGroupPrivileges HostGroups Grants privileges to perform actions on host groups such as creating, configuring, and deleting host groups, and adding or removing hosts from host groups.
ServerMachinePrivileges ServerMachines Grants privileges to users to perform actions on DataCore Servers such as adding or removing servers from a server group, configuring servers, and rescanning ports, and backing up configurations.
ServerMachineGroupPrivileges ServerMachineGroups Grants privileges to perform actions on server groups such as configuring server groups, creating support bundles, setting SMTP settings and email notifications.
VirtualDiskPrivileges VirtualDisks Grants privileges to perform actions on virtual disks such as creating, configuring, deleting, serving, unserving, and splitting virtual disks. This also includes other actions such as forcing a virtual disk online, pausing and resuming mirror recovery. This privilege group does not include actions on snapshots or rollbacks.
SnapshotPrivileges Snapshots Grants privileges to perform actions on snapshots such as creating, configuring, reverting, and deleting snapshots as well as designating mapstores.
RollbackPrivileges Rollbacks Grants privileges to perform actions on rollbacks such as creating, reverting, splitting, and deleting rollbacks.
ReplicationPrivileges Replications Grants privileges to perform actions on replications such as creating and deleting replications, configuring initialization type, test mode, and checkpoint snapshots, marking checkpoints, and activating and deactivating replications.
PhysicalDiskPrivileges PhysicalDisks Grants privileges to perform actions on physical disks such as configuring physical disks, making pass-through disks, and releasing disks to the operating system.
DiskPoolPrivileges DiskPools Grants privileges to perform actions on disk pools such as creating, configuring, deleting, and importing pools, as well as adding and removing disks from pools.
ExecutivePrivileges Controller Grants privileges to perform actions on service level operations such as starting and stopping the DataCore Executive service, synchronizing out-of-synch configurations, and running a diagnostic operation.
PartnerControllerPrivileges PartnerController Grants privileges to perform actions on replication partners such as adding, configuring, and removing a replication partner.
UserPrivileges Users Grants privileges to perform actions on user accounts such as creating, configuring, and deleting user accounts, assigning roles to users, and assigning and removing virtual disk ownership.
RolePrivileges Roles Grants privileges to perform actions on user roles such as creating, configuring, and deleting roles
StorageProfilePrivileges StorageProfiles Grants privileges to perform actions on storage profiles such as creating, configuring, and deleting storage profiles.
TaskPrivileges Tasks Grants privileges to perform actions on tasks such as creating, configuring, deleting, aborting, and running tasks. In addition, this privilege group also allows creating, configuring, and deleting triggers and actions for tasks.
MonitorPrivileges Monitors Grants privileges to perform actions on system health monitors such as configuring monitor templates in the cmdlets.
LogPrivileges Logs Grants privileges to perform actions on event logs such as acknowledging messages, searching logs, and performing cleanup of logs.
VirtualDiskGroupPrivileges VirtualDiskGroups Grants privileges to perform actions on virtual disk groups such as creating, configuring, deleting virtual disk groups, as well as adding or removing virtual disks from groups.
LicensePrivileges License Grants privileges to perform actions on licenses such as generating and importing software licenses.
PerformanceRecordingPriviledges PerformanceRecording Grants privileges to perform actions on performance recordings such as creating, deleting, updating recording sessions, as well as starting and stopping recording sessions.
VirtualDiskTemplatePrivileges VirtualDiskTemplate Grants privileges to perform actions on virtual disk templates such as creating, configuring, and deleting virtual disk templates.
WitnessPrivileges Witness Grants privileges to perform actions on witnesses such as creating, configuring, and deleting.
KmipPrivileges KmipEndpoint Grants privileges to perform actions on kmip endpoints such as creating, configuring, and deleting.
PrivilegeSet Empty Represents a set of privilege groups with no privileges
PrivilegeSet ViewOnly Represents a set of privilege groups with GeneralPrivileges.ViewInformation only
PrivilegeSet ManageVVols Represents a set of privilege groups with the following privileges: GeneralPrivileges.ViewInformation, PortPrivileges.All, ClientMachinePrivileges.All, HostGroupPrivileges.None, ServerMachinePrivileges.RescanDisks, ServerMachineGroupPrivileges.None, VirtualDiskPrivileges.All, SnapshotPrivileges.All, RollbackPrivileges.None, ReplicationPrivileges.None, PhysicalDiskPrivileges.All, DiskPoolPrivileges.None, ExecutivePrivileges.None, UserPrivileges.AssignIdentifiable, RolePrivileges.None, StorageProfilePrivileges.None, TaskPrivileges.None, MonitorPrivileges.None, LogPrivileges.None, VirtualDiskGroupPrivileges.All, LicensePrivileges.None, PartnerControllerPrivileges.None, PerformanceRecordingPriviledges.None, VirtualDiskTemplatePrivileges.All
PrivilegeSet All Represents a set of privilege groups with all privileges

To Table of Types ProcessorInformation

Provides information about the processor architecture and number of cores.

Type Name Description
ProcessorArchitecture CpuArchitecture Processor architecture type
string ProcessorName Processor name
int NumberCores Number of logical CPUs
int NumberPhysicalCores Number of physical CPUs

To Table of Types ProductKeyData

Product keys are identifiers provided by DataCore product fullfillment that are used to activate product features.

Type Name Description
string Key The encoded product key.
string LastFive The last five characters of the product key, used for quick identification.
string ServerId The Id of the server the product key is activated on.
DataSize Capacity The licensed storage capacity this product key provides.
DataSize ActualCapacity Total capacity of a key returned by license manager.
DataSize CapacityConsumed How much of an EN key's total capacity is this server currently consuming.
string KeyCode KeyCode.
string Label Label.
string ProductName The product name you see in the licensing portal. Tells you the type of key as well
string SKU The SKU Name.
DateTime ExpirationDate The expiration date of this key.
KeyTypeEnum KeyType The type of key
bool Subscription Boolean specifying whether the key is a subscription or perpetual
bool IsBaseLicense Boolean specifying whether it's a new type of key or a legacy key
bool Expired Boolean specifying whether the license has expired

To Table of Types ProductKeyDataEx

An extended representation of product key data

Type Name Description
N/A Id Product Key Data with Id

To Table of Types ProductVersionData

Version information for the software product.

Type Name Description
string Name Product name.
string Type Type of product.
string Version Version of the product.
string Build Product build identifier.
string BuildType Type of build.

To Table of Types RecordingEndpointData

Recording endpoint data

Type Name Description
DataStoreServiceState CurrentState Recording session state See
string Alias The name of the recording endpoint.
EndpointType EndpointType Endpoint type
bool Readonly If true the recording endpoint is system and cannot be edited. It is read only.
bool Enabled True indicates that recording sessions are enabled for the endpoint.
RecordingEndpointSettings Settings Settings of recording endpoint.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types RecordingEndpointProperties

Properties of a recording endpoint.

Type Name Description
string Alias The name of the recording endpoint.
EndpointType EndpointType Endpoint type
RecordingEndpointSettings Settings Settings of recording endpoint.

To Table of Types RecordingSessionPropertiesData

Description of recording session properties.

Type Name Description
string Alias A unique displayable name.
BaseRecordingPointData[] CollectionSet A collection of recording points.
bool Running Running state flag.

To Table of Types RegionNodeData

Region node data. A node is a computer that is a member of the region. Currently all nodes are host servers, so the distinction between nodes and hosts is for future development. A node is where the controller resides. The controller is a client to all servers in the region that coordinates the servers, controls and synchronizes the region configuration, and handles communication with external clients. The controller is always running on just one node and will migrate with arbitration if a node become unavailable.

Type Name Description
string HostAddress HostAddress is the DNS name or IP address of this node
bool Connected Connected shows whether this node is connected from the perspective of the node servicing the request
bool IsController IsController specifies whether the controller is running on this node
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types RemoteRecordingEndpointSettings

Remote recording endpoint settings.

Type Name Description
bool IntegratedSecurity If true Windows operating system login credentials are used to authenticate.
string DataSource The hostname that identifies a remote SQL server.
string InitialCatalog Name of the SQL database where performance data will be stored on a remote SQL server.
string UserId User name configured for the remote SQL Server login.
string Password Password configured for the remote SQL Server login.

To Table of Types ReplicationData

The data object that defines an asynchronous replication relationship.

Type Name Description
N/A FirstVirtualDiskCaption Caption of first (local) virtual disk in the replication partnership.
N/A SecondVirtualDiskCaption Caption of second (remote) virtual disk in the replication partnership.
N/A FirstServerId ServerId in which the current (local) virtual disk is located.
N/A FirstVirtualDiskId The first (local) virtual disk in the replication partnership.
N/A SecondServerId The second (remote) replication server.
N/A SecondVirtualDiskId The second (remote) virtual disk in the replication partnership.
N/A ReplicationState The overall state of the replication
N/A TransferStatus The state of the transfer
N/A ErrorState Error specific status
N/A InitializationStatus The status specific to the initialization.
N/A Status The overall status of the replication.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A ReplicationPartnerGroup The name of the remote replication Partner Group.
N/A TimeLag The current amount of time the data lag behind in transfer represented as a string.
N/A TimeDifference The difference between the timestamp of the oldest unsynchronized data and Now as string.
N/A TimeDifferenceRaw The difference between the timestamp of the oldest unsynchronized data and Now as ulong.
N/A TimeLagRaw The current amount of time the data lag behind in transfer represented as a ulong.
N/A DataLag The current amount of data lag behind in transfer represented as a string.
N/A DataLagRaw The current amount of data in bytes behind in transfer represented as a ulong.
N/A TestModeActive Indicates if the replication is currently in test mode.
N/A IsActiveSide A bool indicating if the local side is active.
N/A ReplicationDataVersion A number representing the replication data version Version 0: Base version Version 1: First version in which the TimeDifference is valid
N/A PauseValid Indicates if the pause transfer operation is valid.
N/A ResumeValid Indicates if the resume transfer operation is valid.
N/A ActivateLocalValid Indicates if the activate local side operation is valid.
N/A ActivateRemoteValid Indicates if the activate remote side operation is valid.
N/A EnableTestModeValid Indicates if the enable test mode operation is valid.
N/A DisableTestModeValid Indicates if the disable test mode operation is valid.
N/A SendCheckpointValid Indicates if the send checkpoint operation is valid.

To Table of Types ReplicationEndpoint

Defines an endpoint of a replication relationship, which is a specific virtual disk on a specific server.

Type Name Description
string ServerId The server Id.
string VirtualDiskId The virtual disk Id.
string ServerCaption The server Caption.
string VirtualDiskCaption The virtual disk Caption.

To Table of Types ReplicationGroupData

Unused: for future enhancements.

Type Name Description
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ReplicationPerformance

Replication performance data

Type Name Description
ulong BytesSent Displays the total of all bytes sent for the replication. This is the sum of all bytes sent from the active side.
ulong BytesToSend Displays a total of bytes remaining for send for the replication.
ulong TimeLag Displays the time lag between the source and the target virtual disk in seconds.
ulong TimeDifference Displays the time difference between the oldest unsynchronized replication buffer file and now in seconds.
ulong InitializationPercentage Displays the progress of initialization for virtual disk.
ulong TestModeProgressPercentage Displays the progress of a replication test mode operation. In case the replication is not currently in test mode this counter will be zero.
ulong ConsistencyCheckPercentage Displays the progress of checksum collection for virtual disk.
ulong ReplicationBufferPercentFreeSpace Displays the percent of free space on the disk where buffer folder for this replication is located. Default value is 100.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types ReplicationStateInfo

This class contains all the information that determines a replication state.

Type Name Description
ReplicationState DEFAULT_STATE Default replication state
ReplicationTransferStatus DEFAULT_TRANSFER_STATUS Default transfer status
ReplicationBackendStatus DEFAULT_BACKEND_STATUS Default backend status
ReplicationInitType DEFAULT_INITIALIZATION_TYPE Default initialization type
ReplicationOfflineInitStatus DEFAULT_OFFLINE_INITIALIZATION_STATUS Default offline initialization status
ReplicationFailure DEFAULT_FAILURE Default failure
ReplicationInitializationFailure DEFAULT_INITIALIZATION_FAILURE Default initialization failure

To Table of Types RestDataBase

Base class

Type Name Description
N/A Id Unique identifier for the object.
N/A Caption User readable name for the object.

To Table of Types RestOperation

Type Name Description
N/A OperationId
N/A Status
N/A CompletionTime
N/A Result
N/A Exception

To Table of Types RoleData

A role is a set of privileges which can be assigned to users.

Type Name Description
string Alias The name of the role. Must be unique within the set of roles.
string Description A description of the role.
PrivilegeSet Privileges The privileges assigned to this role.
bool IsPredefined Identifies if the role is predefined (not editable and not deletable). Read-only property.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types RollbackData

The data object that defines a rollback.

Type Name Description
DateTime RestorePoint The point in time to which the rollback is restored.
bool AutoExpire Indicates whether the rollback will expire automatically.
RollbackRelationState State The state of the rollback relation.
string SourceLogicalDiskId The logical disk that has CDP enabled. The Id must be of type
string DestinationLogicalDiskId The logical disk that is the rollback, a synthesized disk based on the history log. The Id must be of type
bool CompressionEnabled Is data compression enabled.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types RollbackGroupData

Unused: for future enhancements

Type Name Description
string ParentGroupId The parent group Id, which must be of type .
string Alias Alias of the group, which must be unique.
string Description A user-readable description of the group.
StorageDomainSettings StorageDomainSettings Settings that will be provided to the DcsSDC driver.
DataSize TotalCapacity Displays the total size of all virtual disks in a particular group, in MB.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types RollbackStateData

Rollback on client's virtual disks

Type Name Description
DateTime RestorePoint The point in time to which the rollback is restored.
N/A Status Rollback's status
N/A StatusLevel Rollback's status level
N/A SplitCommandValid Rollback is available for split
N/A VirtualDiskId The id of the virtual disk created from the rollback.

To Table of Types RollbackVirtualDiskData

Client's rollbacks with snapshots

Type Name Description
N/A ContinuousDataProtectionEnabled CDP is enable on this vitual disk
N/A EnableDataProtectionValid Virtual diks is available for enabling CDP
N/A DisableDataProtectionValid Virtual diks is available for disabling CDP
N/A CreateRollbackValid Virtual diks is available for creating rollback
N/A RetentionPeriod How long deleted data is retained, determining the earliest revert date. A property of the base disk.
N/A StreamSize The maximum size of the history log data. A property of the base disk.
N/A Status A message indicating the overall status of the object.
N/A StatusLevel A basic indication of the severity of the status message.
N/A Rollbacks Rollbacks on client's virtual disks
N/A DataProtectionServerId The id of the server that is hosting the data protection buffer.
N/A DataProtectionPoolId The id of the disk pool where the data protection stream resides.

To Table of Types SauSizeExtensions

Extension methods for SAU sizes

Type Name Description
N/A KeyEnumerator Used to get an enumerator capable of iterating through all entries in the resource file.

To Table of Types ScheduledTriggerData

Time-based scheduled triggers. Used directly, this class supports one-time schedules.

Type Name Description
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ScriptActionData

A script action invokes either a general script or a powershell script.

Type Name Description
string FileName The file system path to the script.
string ServerId The Id of server the script file is on, which must of type .
ScriptActionType SubType The type of script, general or PowerShell.
string ScriptParams A string representing the parameters to pass to the script during execution.
bool AppendTriggerStates True appends the trigger information to the end of the parameter string passed to the script.
string TaskId The Id of the task.
TaskActionType Type The type of action.
TaskActionState State The state of the action.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ScsiPath

The low-level SCSI path information.

Type Name Description
uint Port SCSI path port
uint Bus SCSI path bus
uint Target SCSI path Target ID
uint LUN SCSI path logical unit number (LUN)

To Table of Types ScsiPortData

A SCSI port of any type.

Type Name Description
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ScsiPortDataEx

An extended representation of the SCSI port data.

Type Name Description
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.

To Table of Types ScsiPortNexusData

A nexus is a pair of ports that can communicate; one being the initiator and the other the target.

Type Name Description
string InitiatorPortId The Id of the initiator port ( ).
string TargetPortId The Id of the target port ( ).

To Table of Types ScsiPortPerformance

Scsi port performance data, totals for both initiator and target operations.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read. For server ports this includes both initiator and target operations.
ulong TotalBytesRead Displays the total bytes read. For server ports this includes both initiator and target bytes read.
ulong TotalBytesWritten Displays the bytes written. For server ports this includes both initiator and target bytes written.
ulong TotalOperations Displays the total operations processed. For server ports this includes both initiator and target operations.
ulong TotalReads Displays the total read operations. For server ports this includes both initiator and target read operations.
ulong TotalWrites Displays the total read operations. For server ports this includes both initiator and target read operations.
ulong MaxReadSize Max size in bytes of the read operation.
ulong MaxWriteSize Max size in bytes of the write operation.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types ServerFcPortData

Data about Fibre Channel ports on DataCore Servers.

Type Name Description
FcPortStateInfo StateInfo FC port state.
FcPortConfigInfo CurrentConfigInfo The current port configuration.
FcPortIdInfo IdInfo Identifying information about the port hardware.
FcPortCapabilityInfo CapabilityInfo The port's capabilities.
PresenceStatus PresenceStatus Presence status: present or not.
string PhysicalName The physical name.
ServerPortPropertiesData ServerPortProperties Server port-specific properties.
PortRole RoleCapability Port role: front-end, back-end, mirror.
ushort AluaId The ALUA Id.
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServerFcPortPropertiesData

Fibre Channel port properties.

Type Name Description
WWN PortName The port's Fibre Channel World Wide Name.
WWN NodeName The server node's World Wide Name.
string SymbolicPortName Symbolic port name.
string SymbolicNodeName Symbolic name of the port's server node.
ScsiMode ScsiMode The SCSI Mode: initiator or target.
Mode HardIdMode Id mode: enabled or not.
uint HardAssignedId The hard assigned Id.
uint PrevAssignedId Previous assigned Id.
ConnectionMode ConnectionMode Connection Mode: P2P or loop.
DataRateMode DataRateMode Data Rate Mode: 2, 4, 8, etc.
uint MaxActiveICommands Maximum number of active initiator commands.
uint MaxActiveTCommands Maximum number of active target commands.
uint PortDownTimeout Timeout when port is down.
bool UseSoftWWN If true, use soft WWN.
bool DisablePortWhileStopped If true, disable the port when the server is stopped.
VmIdMode VmIdMode VMID mode.
bool DisableMirrorPortWhileStopped If true, disable the mirror port when the server is stopped.
PortRole Role Port role: front-end, back-end, mirror.
string PortGroup Port group

To Table of Types ServerGroupPerformance

Server group performance data.

Type Name Description
ulong InitiatorBytesTransferred Displays the number of bytes written and read. This is the sum of [Initiator Bytes Transferred] of all server machines in the group.
ulong InitiatorBytesRead Displays the number of bytes read. This is the sum of [Initiator Bytes Read] of all server machines in the group.
ulong InitiatorBytesWritten Displays the number of bytes written. This is the sum of [Initiator Bytes Written] of all server machines in the group.
ulong InitiatorOperations Displays the total number of both read and write operations processed by the initiator. This is the sum of [Initiator Operations] of all server machines in the group.
ulong InitiatorReads Displays the number of read operations processed by the initiator This is the sum of [Initiator Reads] of all server machines in the group.
ulong InitiatorWrites Displays the number of write operations processed by the initiator This is the sum of [Initiator Writes] of all server machines in the group.
ulong TargetBytesTransferred Displays the number of bytes written and read. This is the sum of [Target Bytes Transferred] of all server machines in the group.
ulong TargetBytesRead Displays the number of bytes read. This is the sum of [Target Bytes Read] of all server machines in the group.
ulong TargetBytesWritten Displays the number of bytes written. This is the sum of [Target Bytes Written] of all server machines in the group.
ulong TargetOperations Displays the total number of both read and write operations processed by the target. This is the sum of [Target Operations] of all server machines in the group.
ulong TargetReads Displays the number of read operations processed by the target. This is the sum of [Target Reads] of all server machines in the group.
ulong TargetWrites Displays the number of write commands processed by the target. This is the sum of [Target Writes] of all server machines in the group.
ulong TotalBytesTransferred Displays the total bytes written and read. This is the sum of [Total Bytes Transferred] of all server machines in the group.
ulong TotalBytesRead Displays the total of all initiator and target bytes read. This is the sum of [Total Bytes Read] of all server machines in the group.
ulong TotalBytesWritten Displays the total of all initiator and target bytes written. This is the sum of [Total Bytes Written] of all server machines in the group.
ulong TotalOperations Displays the total of both read and write operations. This is the sum of [Total Operations] of all server machines in the group.
ulong TotalReads Displays the total read operations. This is the sum of [Total Reads] of all server machines in the group.
ulong TotalWrites Displays the total write operations. This is the sum of [Total Writes] of all server machines in the group.
N/A MaxReplicationTimeDifference Maximum time difference between all the servers in the server group.
N/A ReplicationBytesToSend Total amount of data pending for all the servers in the server group.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types ServerHostData

DataCore Server data.

Type Name Description
string GroupId The Id of the group the server is a member of, which must be of type
string RegionNodeId The Id of the region node the server is in, which must be of type
DataSize CacheSize The size of the server cache.
ServerState State The server state: online, offline, not present or failed.
SupportServiceState SupportState The state of the server regarding collecting monitor data.
string SnapshotMapStoreId The Id of the snapshot mapstore, which must be of type
string SnapshotMapStorePoolId The Id of the snapshot mapstore pool, which must be of type
string InstallPath DataCore product installation path.
string ProductName The official DataCore product name.
string ProductType The product type description.
string ProductVersion The product version.
string OsVersion The operating system version.
ProcessorInformation ProcessorInfo The processor architecture, number of cores.
string ProductBuild DataCore product build.
string BuildType Type of build.
DiagnosticMode DiagnosticMode Indicates if the server is in diagnostic mode.
long LicenseRemaining Time remaining on a time-limited license (in ticks)
string ReplicationBufferFolder The file system folder which provides the replication buffer.
DataSize TotalSystemMemory Total system memory.
DataSize AvailableSystemMemory Available system memory.
LogStatus LogStatus The status of the logging system.
LicenseSettings LicenseSettings License settings for per-server licensed features.
bool IsLicensed Indicates whether this system is a non-licensed trial version.
bool LicenseExceeded Indicates if this system has exceeded a non-trial license individual limits.
DataSize StorageUsed Amount of storage that has been counted toward the licensed storage limit (foreign non-bulk storage).
DataSize BulkStorageUsed Amount of storage that has been counted toward the licensed bulk storage limit (foreign).
DataSize DataCoreStorageUsed Amounts of storage that have been counted toward the maximum managed storage limits (DataCore storage).
DataSize DataCoreBulkStorageUsed Amounts of DataCore storage used on a bulk server (does not count toward the maximum managed storage limit).
PowerState PowerState Power state: AC on/off, battery low.
CacheState CacheState The cache state: writethru, writeback or unknown.
string BackupStorageFolder The file system folder where configuration backups are stored.
string[] IpAddresses The IP addresses of this server.
ulong LicenseNumber The server license number (formerly WWN)
uint MaxPollerThreadsConfig Max Poller Threads in Registry
ushort AluaGroupId The ALUA port group Id.
bool IsVirtualMachine Indicates that the server is running in a virtual machine.
bool IsAzureVirtualMachine Indicates that the server is running in an Azure virtual machine.
bool IsPayGo Indicates that the server has a pay as you go license.
string HypervisorHostId The physical hypervisor host where the server is running.
string LogStorePoolId The Id of the logstore pool, which must be of type An empty string indicates that no logstore is set for the server.
string DefaultSnapshotPoolId The Id of the snapshot pool, which must be of type An empty string indicates that no snapshot pool is set for the server.
ulong ConfigurationInfo Latest configuration sequence number.
bool OutOfCompliance Flag specifying whether the server is out of compliance or not
DateTime NextExpirationDate Specifies when next a key will expire
string KmipEndpointId The id of the Kmip endpoint configured for the server.
string DeduplicationPoolId The Id of the dva pool used to provide capacity optimization storage to disk pools on the server, which must be of type
uint CdpMaxHistoryLogSizeGb The maximum history log size of a CDP-enabled virtual disk
uint SeqMaxHistoryLogSizeGb The maximum history log size of a RWA-enabled virtual disk
N/A IsTcLoaded Is the Virtual StorPort Driver enabled.
IldcConfigurationData IldcConfigurationData Internal parameters used to configure the performance and behavior of the ILDC feature.
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServerHostDataEx

An extended representation of server hosts

Type Name Description
N/A PhysicalDisks Physical disks associated with the server
N/A ServerPorts Ports associated with the server
N/A VirtualDiskStorage Virtual disk storage
N/A SupportsEncryption Indicates if the server supports encryption.
N/A MaxCacheSize Gives maximum possible cache size for the server.
N/A MinCacheSize Gives minimum cache size for the server.
N/A InUseCacheSize Gives the cache size currently in use by the server.
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
DateTime LicensedCapacityLimit Sum of the ST licensed capacity for this server
DateTime PerformanceData Performance data of the server.
N/A SupportsCapacityOptimization Indicates if the server supports capacity optimization.

To Table of Types ServerHostGroupData

Server group data. A server group contains servers that can participate in mirroring with each other.

Type Name Description
bool OurGroup Indicates that the server running the controller belongs to this group.
string Alias User-visible name of the group.
string Description User-visible description of the group.
ServerGroupState State The group state: present, not present or invalid.
SmtpServerSettings SmtpSettings The Server group's SMTP server for sending email messages and alerts.
SyslogServerSettings SyslogSettings The Server group's Syslog server for sending log messages.
uint MaxStaleDataWeight Maximum allowed value for Stale Data Weight.
uint StaleDataWeightStep The step value used for determining the allowed increments of StaleDataWeight.
FeatureFlags FeatureFlags Contains all the Server group's feature flag
LicenseSettings LicenseSettings The license settings for per-group licensed features.
LicenseType LicenseType The type of license: regular, trial or NFR.
ContactData ContactData The contact data for the individual who works with DataCore customer support.
DataSize StorageUsed The amount of storage used that counts toward the group license storage limit.
DataSize BulkStorageUsed The amount of bulk storage used that counts toward the group license bulk storage limit.
DataSize MaxStorage The maximum amount of storage that the current license can grow to.
uint RecoverySpeed The speed of mirror recovery.
ProductKeyData[] ExistingProductKeys An array of all the product keys activated on this group.
DataSize DataCoreStorageUsed The amount of DataCore-managed storage counted towards the group maximum managed storage limit.
string SupportBundleRelayAddress The address of a support bundle relay server on the local network.
bool MirrorTrunkMappingEnabled Indicates that virtual disks created within the server group will use mirror trunking.
int SelfHealingDelay The delay in seconds to start virtual disk self healing after a redundancy failure is detected.
string DefaultWitness The id of the witness server to use when possible, while creating a virtual disk.
WitnessOptionSetting DefaultWitnessOption The default witness option setting that will be used while creating a virtual disk.
bool WitnessAllowed The witness state as defined by the group license and the number of servers in the group.
N/A Telemetry Indicates if the telemetry support enabled. Supported values : Enabled, Local, Disabled
string DefaultKmipEndpoint The id of the Kmip Endpoint that is used by default for encryption.
N/A CrashRecoveryCount Number of times a server will attempt to start after a crash
bool OutOfCompliance Flag specifying whether the server is out of compliance or not
DateTime NextExpirationDate Specifies when next a key will expire
long LicenseRemaining Time remaining on a time-limited license (in ticks)
uint GroupCdpMaxHistoryLogSizeGb The maximum history log size of a CDP-enabled virtual disk
uint GroupSeqMaxHistoryLogSizeGb The maximum history log size of a RWA-enabled virtual disk
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServerHostGroupDataEx

An extended representation of server groups

Type Name Description
N/A ServerHosts Servers associated with the host
N/A ExistingProductKeysEx ExistingProductKeys with Id
N/A ServersOnGroupLicense An array containing the id of Servers using regular group (EN) licenses
N/A ServersOnBulkLicense An array containing the id of Servers using bulk group (LS) licenses
N/A ServersOnIndividualLicense An array containing the id of Servers using individual (ST) licenses
N/A GroupLicensedCapacityLimit An aggregate sum of capacity consumed by this server group (on EN licenses). This is the total capacity available to the server group.
N/A BulkLicensedCapacityLimit An aggregate sum of bulk capacity available to this server group (on LS licenses).
N/A SupportsTermLicense Whether all servers in this group support term license details for expiration/out-of-compliance
N/A PerformanceData Server Group Performance Data
N/A PerformanceDataVersion Server Group Performance Data Version Version 0: Base version Version 1: Version with ASR parameters

To Table of Types ServeriScsiPortData

Data about iSCSI ports on DataCore Servers.

Type Name Description
iScsiPortIdInfo IdInfo Id information.
PortConfigInfo PortConfigInfo The port configuration.
iScsiPortStateInfo IScsiPortStateInfo The port state.
Node[] iSCSINodes All the logical iSCSI nodes on this port.
iScsiPortCapabilityInfo CapabilityInfo The port capabilities.
PresenceStatus PresenceStatus Presence status: present or not.
string PhysicalName The physical name.
ServerPortPropertiesData ServerPortProperties Server port-specific properties.
PortRole RoleCapability Port role: front-end, back-end, mirror.
ushort AluaId The ALUA Id.
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServeriScsiPortPropertiesData

iSCSI server port properties.

Type Name Description
bool Active True if active.
string Alias The logical name.
AuthenticationMode Authentication Type of authentication.
Mode AutoLoginMode Auto login mode: enabled or not.
bool DisablePortWhileStopped If true, disable port when server is stopped.
DiscoveryConfig Discovery Discovery configuration.
string InstanceName The instance name.
ulong ISID The initiator part of the session identifier.
uint MaxActiveICommands Maximum number of active initiator commands.
uint MaxActiveTCommands Maximum number of active target commands.
string NodeName The node name.
iScsiPortalConfigInfo[] IScsiPortalsConfig An array of configurations of every portal the port is part of.
ErrorRecoveryLevel RecoveryLevel Error recovery level: session, digest or connection.
ScsiMode ScsiMode SCSI mode: target or initiator.
SessionParams SessionParams Session communication parameters.
uint TPGT Target Portal Group Tag.
PortRole Role Port role: front-end, back-end, mirror.
string PortGroup Port group

To Table of Types ServerMachinePerformance

Server machine performance data.

Type Name Description
ulong InitiatorBytesTransferred Displays the number of bytes written and read. This is the sum of [Initiator Bytes Transferred] of all server SCSI ports on a particular server machine.
ulong InitiatorBytesRead Displays the number of bytes read. This is the sum of [Initiator Bytes Read] of all server SCSI ports on a particular server machine.
ulong InitiatorBytesWritten Displays the number of bytes written. This is the sum of [Initiator Bytes Written] of all server SCSI ports on a particular server machine.
ulong InitiatorOperations Displays the total number of both read and write operations processed by the initiator. This is the sum of [Initiator Operations] of all server SCSI ports on a particular server machine.
ulong InitiatorReads Displays the number of read operations processed by the initiator. This is the sum of [Initiator Reads] of all server SCSI ports on a particular server machine.
ulong InitiatorWrites Displays the number of write operations processed by the initiator This is the sum of [Initiator Writes] of all server SCSI ports on a particular server machine.
ulong TargetBytesTransferred Displays the number of bytes written and read. This is the sum of [Target Bytes Transferred] of all server SCSI ports on a particular server machine.
ulong TargetBytesRead Displays the number of bytes read. This is the sum of [Target Bytes Read] of all server SCSI ports on a particular server machine.
ulong TargetBytesWritten Displays the number of bytes written. This is the sum of [Target Bytes Written] of all server SCSI ports on a particular server machine.
ulong TargetOperations Displays the total number of both read and write operations. This is the sum of [Target Operations] of all server SCSI ports on a particular server machine.
ulong TargetReads Displays the number of read commands. This is the sum of [Target Reads] of all server SCSI ports on a particular server machine.
ulong TargetWrites Displays the number of write commands. This is the sum of [Target Writes] of all server SCSI ports on a particular server machine.
ulong TotalBytesMigrated Displays the number of bytes per second that are migrated between different tiers. This is the sum of all bytes migrated for all virtual disks on a particular DataCore Server.
ulong CacheSize Displays the total amount of memory currently allocated to cache, measured in Bytes.
ulong FreeCache Displays the free cache available for a particular server machine, measured in Bytes.
ulong CacheReadHits Displays the number of read requests satisfied by the DataCore Cache for all virtual disks on a particular server machine.
ulong CacheReadMisses Displays the number of read requests not satisfied by the DataCore Cache for all virtual disks on a particular server machine.
ulong CacheWriteHits Displays the number of write requests satisfied immediately by the DataCore Cache for all virtual disks on a particular server machine.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for all virtual disks on a particular server machine.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for all virtual disks on a particular server.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for all virtual disks on a particular server.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for all virtual disks on a particular server.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for all virtual disks on a particular server.
ulong SupportRemainingBytesToSend Displays the total number of bytes required to transfer by the support service.
ulong SupportBytesSent Displays the number of bytes sent by the current support transfer operation.
ulong SupportPercentTransferred Displays the progress of the support bundle transfer process.
ulong TotalBytesTransferred Displays the total bytes written and read. This is the sum of [Total Bytes Transferred] of all SCSI ports for this Machine.
ulong TotalBytesRead Displays the total bytes read. This is the sum of [Total Bytes Read] of all SCSI ports for this Machine.
ulong TotalBytesWritten Displays the total bytes written. This is the sum of [Total Bytes Written] of all SCSI ports for this Machine.
ulong TotalOperations Displays the total operations processed. This is the sum of [Total Operations] of all SCSI ports for this Machine.
ulong TotalReads Displays the total read operations. This is the sum of [Total Reads] of all SCSI ports for this Machine.
ulong TotalWrites Displays the total write operations. This is the sum of [Total Writes] of all SCSI ports for this Machine.
ulong PollerProductiveCount Displays the total number of productive polls per second reported by the DataCore Poller.
ulong PollerUnproductiveCount Displays the total number of unproductive polls per second reported by the DataCore Poller.
ulong PollerDedicatedCPUs Displays the total threads spawned by the DataCore Poller.
ulong PollerLoad Displays the load as a percentage reported by the DataCore Poller.
ulong TargetMaxIOTime Displays the max processing time for a write operation processed by the target.
ulong TargetTotalOperationsTime Displays the average operation time among all target ports per operation.
ulong MirrorTargetMaxIOTime Displays the max time among all mirror ports per operation.
ulong MirrorTargetTotalOperationsTime Displays the average operation time among all mirror ports per operation.
ulong MirrorTargetBytesTransfered Displays the number of bytes transferred amongst all mirror ports.
ulong MirrorTargetOperations Displays the number of operations that have occurred among all mirror ports.
ulong FrontEndTargetMaxIOTime Displays the max operation time among all front end ports.
ulong FrontEndTargetBytesTransfered Displays the total number of bytes transferred among all front end ports.
ulong FrontEndTargetOperations Displays the total number of operations completed among all front end ports.
ulong FrontEndTargetTotalOperationsTime Displays the average operation time of all operations completed among all front end ports.
ulong PoolMaxIOTime Displays the max operation time to complete an IO among all disk pools.
ulong PoolTotalOperationsTime Displays the avg operation time to complete an IO among all disk pools.
ulong PoolBytesTransfered Displays the total number of bytes transfered among all disk pools.
ulong PoolOperations Displays the total number of operations completed among all disk pools.
ulong PhysicalDiskMaxIOTime Displays the maximum time needed to complete an IO among all pass-through physical disks.
ulong PhysicalDiskBytesTransfered Displays the total number of bytes transferred among all pass-through physical disks.
ulong PhysicalDiskOperations Displays the total number of operations completed among all pass-through physical disks.
ulong PhysicalDiskTotalOperationsTime Displays the average operation time of all operations completed among all pass-through physical disks.
ulong ReplicationBytesToSend Displays the total bytes in the buffer folder left to be send by all replications on the server.
ulong ReplicationBufferPercentFreeSpace Displays the percent of free space on the disk where the buffer folder is located.
ulong SupportPercentCollected Displays the progress of the support bundle collection process.
ulong DeduplicationRatioPercentage Deduplication ratio for the currently configured Deduplication pool expressed as a percentage.
ulong CompressionRatioPercentage Compression ratio for the currently configured Deduplication pool expressed as a percentage.
ulong DeduplicationPoolPercentFreeSpace Amount of unallocated Deduplication space expressed as a percentage.
ulong DeduplicationPoolUsedSpace Amount of Deduplication storage space currently allocated.
ulong DeduplicationPoolFreeSpace Amount of Deduplication storage space currently unallocated.
ulong DeduplicationPoolTotalSpace Total amount of storage space dedicated to providing Deduplication storage.
ulong ExpectedDeduplicationPoolUsedSpace Amount of raw storage space currently assigned to Deduplication.
N/A MaxReplicationTimeDifference Maximum replication time difference between all the active replications on this server.
ulong DeduplicationPoolL2ARCUsedSpace Amount of storage occupied in L2ARC.
ulong DeduplicationPoolSpecialMirrorUsedSpace Amount of storage occupied in Mirrored Special Device.
ulong DeduplicationPoolL2ARCTotalSpace Total amount of storage in L2ARC.
ulong DeduplicationPoolSpecialMirrorTotalSpace Total amount of storage in Mirrored Special Device.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types ServerMSiScsiInitiatorData

The Microsoft Initiator description on a DataCore Server.

Type Name Description
string[] InitiatorPortals An array of all the portals on the initiator.
string[] iSnsServer An array of the names of all the SNS servers connected to this initiator.
iScsiTargetPortalData[] TargetPortals An array of all the target portals connected to this initiator.
PresenceStatus PresenceStatus Presence status: present or not.
string PhysicalName The physical name.
ServerPortPropertiesData ServerPortProperties Server port-specific properties.
PortRole RoleCapability Port role: front-end, back-end, mirror.
ushort AluaId The ALUA Id.
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServerPoolData

Server-specific pool details.

Type Name Description
string ServerId DataCore Server hosting the pool.
PresenceStatus PresenceStatus Indicates whether the pool on this server is present.
DiskPoolStatus PoolStatus The status of the pool on this server.
bool IsAuthorized True if the disk pool is authorized on this server.
N/A SupportsEncryption Determines if the pool can be encrypted on this server.
N/A HasEncryption True if the pool has or has had encrypted disks. This indicates there is an encryption key for this pool on this server.

To Table of Types ServerPortPropertiesData

Server port-specific properties.

Type Name Description
PortRole Role Port role: front-end, back-end, mirror.
string PortGroup Port group

To Table of Types ServerScsiPortData

A port in a DataCore Server.

Type Name Description
PresenceStatus PresenceStatus Presence status: present or not.
string PhysicalName The physical name.
ServerPortPropertiesData ServerPortProperties Server port-specific properties.
PortRole RoleCapability Port role: front-end, back-end, mirror.
ushort AluaId The ALUA Id.
string PortName The unique name of the port.
string Alias The user-supplied alias of the port.
string Description The user-supplied description of the port.
ScsiPortType PortType Type of port: FC, iSCSI or loopback.
ScsiMode PortMode Mode of port: initiator or target.
string HostId The Id of the port's host computer, must be of type
bool Connected True if the port is connected to another port.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ServerScsiPortDataEx

An extended representation of server ports

Type Name Description
N/A Roles Short hand notation for the server port roles
N/A Status The overall status of the object.
N/A StatusLevel The overall status level 0, healthy, 1 warning, 2 error.
N/A BackEndRoleInUse If true the server port is being as a backend port
N/A FrontEndRoleInUse If true the server port is being used as a frontend port
N/A MirrorRoleInUse If true the server port is being used as a mirror port
N/A PortIpAddress IP Address of the port. Only relevant for some ports (iSCSI Targets)
N/A PortIqn IQN is iSCSI Qualified Name. Only relevant for some ports (iSCSI)
N/A PortWwn WWN is World Wide Name. Only relevant for some ports (FC, Loopback)
N/A HostsServed All client hosts served by this port

To Table of Types ServerScsiPortPerformance

Server scsi port performance data, which is broken down by initiator and target operations.

Type Name Description
ulong InitiatorBytesTransferred Displays the total bytes written and read by the initiator.
ulong InitiatorBytesRead Displays the total bytes read by the initiator.
ulong InitiatorBytesWritten Displays the total bytes written by the initiator.
ulong InitiatorOperations Displays the number of both read and write operations processed by the initiator.
ulong InitiatorReads Displays the number of read operations processed by the initiator.
ulong InitiatorWrites Displays the number of write operations processed by the initiator.
ulong InitiatorReadTime Displays the average processing time for a read operation processed by the initiator.
ulong InitiatorWriteTime Displays the average processing time for a write operation processed by the initiator.
ulong InitiatorMaxReadTime Displays the max processing time for a read operation processed by the initiator.
ulong InitiatorMaxWriteTime Displays the max processing time for a write operation processed by the initiator.
ulong TargetBytesTransferred Displays the total bytes written and read by the target.
ulong TargetBytesRead Displays the total bytes read by the target.
ulong TargetBytesWritten Displays the total bytes written by the target.
ulong TargetOperations Displays the total number of operations processed by the target.
ulong TargetReads Displays the number of read operations processed by the target.
ulong TargetWrites Displays the number of write operations processed by the target.
ulong TargetReadTime Displays the average processing time for a read operation processed by the target.
ulong TargetWriteTime Displays the average processing time for a write operation processed by the target.
ulong TargetTotalOperationsTime Displays the average processing time for all read and write operations processed by the target.
ulong TargetMaxReadTime Displays the max processing time for a read operation processed by the target.
ulong TargetMaxWriteTime Displays the max processing time for a write operation processed by the target.
ulong PendingInitiatorCommands Displays the number of Initiator SCSI commands currently being processed. This is an instantaneous count, not an average over a period of time.
ulong PendingTargetCommands Displays the number of Target SCSI commands currently being processed. This is an instantaneous count, not an average over a period of time.
ulong TotalPendingCommands Displays the total number of SCSI commands currently being processed. This is an instantaneous count, not an average over a period of time.
ulong LinkFailureCount
ulong LossOfSyncCount
ulong LossOfSignalCount
ulong PrimitiveSeqProtocolErrCount
ulong InvalidTransmissionWordCount
ulong InvalidCrcCount
ulong TotalBytesTransferred Displays the total bytes written and read. For server ports this includes both initiator and target operations.
ulong TotalBytesRead Displays the total bytes read. For server ports this includes both initiator and target bytes read.
ulong TotalBytesWritten Displays the bytes written. For server ports this includes both initiator and target bytes written.
ulong TotalOperations Displays the total operations processed. For server ports this includes both initiator and target operations.
ulong TotalReads Displays the total read operations. For server ports this includes both initiator and target read operations.
ulong TotalWrites Displays the total read operations. For server ports this includes both initiator and target read operations.
ulong TargetMaxIOTime Displays the max processing time for a read or write operation processed by the target.
ulong BusyCount Displays the number of times queue full was received from the port.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types ServerTime

Server time data type

Type Name Description
string TimeString String representation of the current server date and time
string ServerId Server Id

To Table of Types SessionData

Data for the token used for the authorization and session info

Type Name Description
N/A Token Authorization token

To Table of Types SessionDescriptor

Descriptor of one of the ports in the connection.

Type Name Description
string PortName Port name
string DeviceName Device name
string DeviceAlias Device alias
ScsiMode ScsiMode SCSI Mode See
bool Connected Specifies if the port is connected to another port.
SessionState SessionState Session state See
SessionParams SessionParams Session communication parameters.
ulong TSIH Target session identifier handle
ulong ISID The initiator part of the session identifier.
uint TPGT Target Portal Group Tag
ConnectionDescriptor[] Connections Array of connections See

To Table of Types SessionParams

Session communication parameters.

Type Name Description
uint MaxConnections Initiator and target negotiate the maximum number of connections requested/acceptable.
uint MaxBurstLength The initiator and target negotiate maximum SCSI data payload in bytes in a Data-In or a solicited Data-Out iSCSI sequence.A sequence consists of one or more consecutive Data-In or Data-Out PDUs that end with a Data-In or Data-Out PDU with the F bit set to one.
uint FirstBurstLength The initiator and target negotiate the maximum amount in bytes of unsolicited data an iSCSI initiator may send to the target during the execution of a single SCSI command.This covers the immediate data (if any) and the sequence of unsolicited Data-Out PDUs(if any) that follow the command. FirstBurstLength MUST NOT exceed MaxBurstLength.
uint MaxOutstandingR2T Initiator and target negotiate the maximum number of outstanding R2Ts per task, excluding any implied initial R2T that might be part of that task.An R2T is considered outstanding until the last data PDU (with the F bit set to 1) is transferred, or a sequence reception timeout(Section 6.1.4.1 Recovery Within-command) is encountered for that data sequence.
uint DefaultTime2Wait The initiator and target negotiate the minimum time, in seconds, to wait before attempting an explicit/implicit logout or an active task reassignment after an unexpected connection termination or a connection reset. A value of 0 indicates that logout or active task reassignment can be attempted immediately.
uint DefaultTime2Retain The initiator and target negotiate the maximum time, in seconds after an initial wait(Time2Wait), before which an active task reassignment is still possible after an unexpected connection termination or a connection reset.
Mode InitialR2T The InitialR2T key is used to turn off the default use of R2T for unidirectional and the output part of bidirectional commands, thus allowing an initiator to start sending data to a target as if it has received an initial R2T with Buffer Offset=Immediate Data Length and Desired Data Transfer Length = (min(FirstBurstLength, Expected Data Transfer Length) - Received Immediate Data Length). See
Mode ImmediateData The initiator and target negotiate support for immediate data. To turn immediate data off, the initiator or target must state its desire to do so. ImmediateData can be turned on if both the initiator and target have ImmediateData=Yes.
Mode DataPDUInOrder No is used by iSCSI to indicate that the data PDUs within sequences can be in any order. Yes is used to indicate that data PDUs within sequences have to be at continuously increasing addresses and overlays are forbidden.
Mode DataSequenceInOrder A Data Sequence is a sequence of Data-In or Data-Out PDUs that end with a Data-In or Data-Out PDU with the F bit set to one.A Data-Out sequence is sent either unsolicited or in response to an R2T. Sequences cover an offset-range.

To Table of Types SharedDiskPoolData

Properties of a shared disk pool.

Type Name Description
DataSize ChunkSize The chunk size for allocation storage space from a pool.
DataSize SectorSize The sector size for a pool.
int MaxTierNumber The highest tier the pool supports.
int TierReservedPct Space reserved for new allocations.
DiskPoolStatus PoolStatus The aggregated status of the shared pool.
PresenceStatus PresenceStatus The aggregated presence status of the shared pools.
bool SMPAApproved SMPAApproved indicates that the user has acknowledged that the pool passes SMPA certification.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types SharedDiskPoolPerformance

Shared disk pool performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read, handled by a particular disk pool.
ulong TotalBytesRead Displays the total bytes read, handled by a particular disk pool.
ulong TotalBytesWritten Displays the total bytes written handled by a particular disk pool.
ulong TotalBytesMigrated Displays the number of bytes per second that are migrated within a particular disk pool.
ulong TotalReads Displays the number of read requests handled by a particular disk pool.
ulong TotalWrites Displays the number of write requests handled by a particular disk pool.
ulong TotalOperations Displays the number of both read and write requests handled by a particular disk pool.
ulong BytesAllocated Displays the amount of logical pool space allocated to all virtual disks from a particular pool. This is an instantaneous count, not an average over a period of time.
ulong BytesAvailable Displays the amount of logical pool space available for allocation to virtual disks from a particular disk pool. This is an instantaneous count, not an average over a period of time.
ulong BytesInReclamation Displays the amount of logical space being (re)initialized by the disk pool. This is an instantaneous count, not an average over a period of time.
ulong BytesTotal Displays the total logical space of the disk pool. The space contributed by physical disks assigned in mirror pairs is not double-counted; that is, two disks in a mirror pair contribute as a single disk. This is an instantaneous count, not an average over a period of time.
ulong PercentAllocated Displays the space in use (allocated and reserved) as a percentage
ulong PercentAvailable Displays the space available (available and in reclamation) as a percentage
ulong TotalReadTime Cumulative time of all read operations handled by a particular disk pool.
ulong TotalWriteTime Cumulative time of all read operations handled by a particular disk pool.
ulong TotalOperationsTime Cumulative time of all read and write operations handled by a particular disk pool.
ulong MaxReadTime inst time for the max read operation for a particular disk pool
ulong MaxWriteTime inst time for the max write operation for a particular disk pool
ulong MaxReadWriteTime inst time for the max read/write operation for a particular disk pool
ulong MaxPoolBytes The maximum number of chunks that the pool can have. This is determined at creation, and combined with the selected storage allocation unit size determines the maximum size the pool can be.
ulong BytesReserved The number of bytes that the pool reserved for pool logical disks. This is the sum of all bytes reserved for pool logical disks.
ulong BytesAllocatedPercentage Displays the space allocated as a percentage
ulong BytesReservedPercentage Displays the space reserved as a percentage
ulong BytesInReclamationPercentage Displays the space in reclamation as a percentage
ulong BytesAvailablePercentage Displays the space available as a percentage
ulong BytesOverSubscribed The total number of bytes subscribed to virtual disks that exceed the size of the disk pool
ulong EstimatedDepletionTime Shows estimated time when the pool allocations will reach the pool size.
ulong DeduplicationPoolPercentFreeSpace Amount of unallocated Deduplication space expressed as a percentage.
ulong ExpectedDeduplicationPoolUsedSpace Amount of raw storage space currently assigned to Deduplication.
ulong DeduplicationPoolUsedSpace Amount of Deduplication storage space currently allocated.
ulong DeduplicationPoolFreeSpace Amount of Deduplication storage space currently unallocated.
ulong DeduplicationPoolTotalSpace Total amount of storage space dedicated to providing Deduplication storage.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types SharedPhysicalDiskData

A shared physical disk is a construct representing a common backend storage source seen between two or more servers.

Type Name Description
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types SharedPhysicalDiskPerformance

Shared physical disk performance data.

Type Name Description
ulong TotalReadsTime Displays the cumulative processing time of all read commands, in milliseconds.
ulong TotalWritesTime Displays the cumulative processing time of all write commands, in milliseconds.
ulong TotalPendingCommands Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected. It also includes requests in service at the time of the collection. This is a instantaneous snapshot, not an average over the time interval. Multi-spindle disk devices can have multiple requests that are active at one time, but other concurrent requests are awaiting service. This counter might reflect a transitory high or low queue length, but if there is a sustained load on the disk drive, it is likely that this will be consistently high. Requests experience delays proportional to the length of this queue minus the number of spindles on the disks. For good performance, this difference should average less than two.
ulong TotalReads Displays the number of read operations on the disk.
ulong TotalWrites Displays the number of write operations on the disk.
ulong TotalOperations Displays the number of write and read operations on the disk.
ulong TotalBytesRead Displays the number of bytes read from the disk.
ulong TotalBytesWritten Displays the number of bytes written to the disk.
ulong TotalBytesTransferred Displays the number of bytes transferred to and from the disk.
ulong TotalOperationsTime Displays the cumulative processing time of all commands, in milliseconds.
ulong MaxReadTime Displays the maximum processing time for read operation.
ulong MaxWriteTime Displays the maximum processing time for write operation.
ulong MaxReadWriteTime Displays the maximum processing time for read or write operation.
ulong PercentIdleTime Displays the percentage of idle time of the disk.
ulong AverageQueueLength Displays average queue length of the disk.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types SLPConfig

Service Location Protocol config

Type Name Description
Mode ServerAgentMode Server agent mode See
Mode UserAgentMode User agent mode See

To Table of Types SmtpServerSettings

Settings for sending mail through an SMTP mail server.

Type Name Description
string SmtpServer Server name.
string EmailAddress The email address mail will be sent from.
string Username The user name email will be sent from.
int TcpPort The TCP/IP port used to communicate with the SMTP server.
bool UseSSL Indicates that email uses Secure Sockets Layer.

To Table of Types Snapshot

Snapshot on client's virtual disks

Type Name Description
N/A ExtendedCaption Extended snapshot's Caption
N/A Status A message indicating the overall health of the snapshot
N/A StatusLevel An indication of the severity of the status message
N/A TimeStamp The point in time at which the snapshot was taken.
N/A MigrationPercentage The percentage of data currently migrated while in the process of converting a differential to a full.
N/A DifferencePercentage The percentage of data that is different from the source virtual disk.
N/A Type Snapshot's type
N/A UpdateCommandValid Snapshot is available for update
N/A RevertCommandValid Snapshot is available for revert
N/A ConvertCommandValid Snapshot is available for convet to full
N/A VirtualDiskId The id of the virtual disk created from this snapshot.

To Table of Types SnapshotBitmapData

Provides a bit map array of the allocated chunks of a snapshot.

Type Name Description
string SnapshotDiskId The snapshot destination disk Id, which must be of type .
DataSize ChunkSize The size of each chunk represented by the bit in the bitmap.
BitArrayEx BitMap The bitmap, each bit represented the state of one disk chunk: 1 means allocated, 0 means not allocated.
BitMapType Type The type of bitmap: Delta or Migration.
int Offset Offset of the bit in the first chunk of the bitmap. Represents the starting index of the requested bitmap.

To Table of Types SnapshotData

The data object defining a snapshot.

Type Name Description
SnapshotType Type The type of snapshot.
DateTime TimeStamp The point in time at which the snapshot was taken.
string SourceLogicalDiskId The id of the source logical disk, which will be of type
string DestinationLogicalDiskId The id of the destination logical disk, which will be of type
SnapshotOperation ActiveOperation Snapshot operations, including snap, resnap and revert.
SnapshotRelationState State The state of the snapshot relationship
SnapshotFailure Failure Snapshot failure codes.
bool CompressionEnabled Is data compression enabled.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types SnapshotGroupCreationData

Provides an array of default snapshot properties like destination pool, storage profile and compression for each virtual disk in virtual disk group.

Type Name Description
string VirtualDiskGroupId The virtual disk group Id, which must be of type .
string VirtualDiskId The virtual disk Id, which must be of type .
string DestinationPoolId The destination pool Id, which must be of type .
string StorageProfileId The storage profile Id, which must be of type .
bool Compression If true, compression will be enabled on the snapshot.

To Table of Types SnapshotGroupData

For future use.

Type Name Description
string ParentGroupId The Id of the parent group.
SnapshotType Type The type of snapshot.
SnapshotOperation ActiveOperation Snapshot operations, including snap, resnap and revert.
DateTime TimeStamp The point in time at which the snapshot group was taken.
string Alias Alias of the group, which must be unique.
string Description A user-readable description of the group.
StorageDomainSettings StorageDomainSettings Settings that will be provided to the DcsSDC driver.
DataSize TotalCapacity Displays the total size of all virtual disks in a particular group, in MB.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types SnapshotGroupPerformance

Snapshot group performance data

Type Name Description
ulong MigrationPercentage Displays migration percentage.
ulong DifferencePercentage Displays difference percentage between sources and destinations.
ulong SnapshotReads Displays reads rate for the snapshots in the group.
ulong SnapshotWrites Displays writes rate for the snapshots in the group.
ulong TotalSnapshotBytesMigrated Displays data migrated for the snapshots in the group.

To Table of Types SnapshotRelationPerformance

Snapshot relation performance data.

Type Name Description
ulong MigrationPercentage Displays migration percentage.
ulong DifferencePercentage Displays difference percentage between source and destination.
ulong SnapshotReads Displays reads rate for the snapshot.
ulong SnapshotWrites Displays writes rate for the snapshot.
ulong TotalBytesMigrated Displays data migrated for the snapshot.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types SnapshotVirtualDisk

Client's virtual disks with snapshots

Type Name Description
N/A Snapshots Snapshots of virtual disk

To Table of Types StatusLevel

A basic representation on the severity of a status message.

Type Name Description
N/A Healthy Healthy
N/A Warning Warning
N/A Error Error

To Table of Types StorageDomainSettings

Settings that will be provided to the DcsSDC driver.

Type Name Description
ulong MaxIoOperationsPerSec Maximum number of I/O operations per second applied to the domain.
ulong MaxDataTransferredPerSec Maximum number of data bytes transferred per second applied to the domain.
ulong ChargeBackEnabled True if charge back is activated for this domain.

To Table of Types StorageProfileData

A storage profile encapsulates attributes of storage which can be associated with multiple virtual volumes, centralizing management of those attributes.

Type Name Description
string Alias The alias or user-visible name of the profile.
string Description A user-readable description of the storage profile.
PerformanceClass PerformanceClass The performance class setting in the virtual disk storage profile.
AsyncReplicationPriority ReplicationPriority The replication priority setting in the virtual disk storage profile.
MirrorRecoveryPriority RecoveryPriority The mirror recovery priority setting in the virtual disk storage profile.
bool WriteTracking Enables write tracking, auto-tiering migration based on both reads and writes.
bool DefaultProfile True if the storage profile is a system-defined profile and not customizable.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types StorageUsage

Represents the storage usage from a foreign storage to DataCore Disk backend.

Type Name Description
DataSize ForeignStorage Storage usage from non DataCore Disk backend.
DataSize DataCoreStorage Storage usage from non DataCore Disk backend.
DataSize ForeignBulkStorage Bulk storage usage from DataCore Disk backend.
DataSize DataCoreBulkStorage Bulk storage usage from DataCore Disk backend.

To Table of Types StreamLogicalDiskData

All pool logical disks are in fact stream logical disks, since it is impractical to convert disk types. A disk with CDP enabled actually consists of two disks, both of which are StreamLogicalDisks. The base disk has the settings and controls CDP operation. The base disk is the image of the oldest point in time, the history has all the writes since then. As the retention time is exceeded, blocks from the history log are destaged to the base disk. There is also a space limit (a soft limit, in as much as it can be temporarily exceeded in some scenarios), so the oldest data is destaged if the space limit or the time limit is exceeded. When CDP is enabled, new history log disk is created. The history log disk keeps a chain of disk blocks with time stamps, remembering every block that has been changed based on the base disk.

Type Name Description
long RetentionTime How long deleted data is retained, determining the earliest revert date. A property of the base disk.
DataSize StreamSize The maximum size of the history log data. A property of the base disk.
StreamState StreamState The state of the stream, including error states and reverting state.
string StreamDiskId The Id of the history log disk, which must be of type . A property of the base disk.
DiskDataProtectionRole StreamDiskDataProtectionRole The role of this logical disk within the cotext of CDP, i.e. base disk or history log.
bool SequentialStorage Indicates whether the sequential storage is enabled.
string PoolId The pool that underlies the logical disk, which must be the type:
int VolumeIndex Internal index of the disk in the pool list. Internal use only.
DataSize MinQuota The minimum and initial allocation of physical storage to the logical disk.
DataSize MaxQuota The maximum allocation of physical storage to the logical disk.
int[] TierAffinity Where the SAUs can be migrated to.
string StorageName Unused
ReclamationState ReclamationState State of the reclamation.
bool InReclamation Indicates that the physical storage that was once used by the disk has been released and is in the process of being reclaimed by the pool.
bool DeletePending Shows that the disk is deleted by user action and is waiting for the pool to become healthy to complete the deletion
bool HasEncryptedAllocatedChunks Shows that the disk has encrypted allocated chunks
DataStatus DataStatus The state of the data, whether it is up to date.
PresenceStatus PresenceStatus Presence from the SCSI perspective.
DataSize Size The nominal size of the disk. Pool disks may not have actually allocated this much physical storage.
DataSize SectorSize The sector size of the logical disk.
string MappingName The mapping name of the logical disk.
LogicalDiskStatus DiskStatus The overall status, synthesized from the and
bool Virtualized True if the logical disk is part of a virtual disk.
N/A WitnessContactFailed True if the logical disk's server was unable to contact the witness.
AccessRights ClientAccessRights Controls access for read and write, and taking offline.
bool MirrorAccessDisabled True if access to the logical disk through mirror paths is disabled.
LogicalDiskFailure Failure The general reason the disk has failed.
string VirtualDiskId The Id of the virtual disk that this logical disk is a component of, which is of the type: .
LogicalDiskRole DiskRole What role the disk plays within the virtual disk mirroring.
string ServerHostId The Id of the host computer to which the disk is attached, which is of the type: .
bool IsMapped Whether the disk is served in any way, such as mirrored to another server or served to a host.
bool Protected Indicates it a protected disk used internally in the software.
bool Replacing Whether the disk is being replaced.
string TrunkVirtualDiskId The Id of the virtual disk associated with mirror trunk mappings.
N/A EncryptionEnabled Determines if the disk is encrypted;
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types StreamLogicalDiskPerformance

Stream logical disk performance data.

Type Name Description
ulong DestageTime Gets or sets the destage time.
ulong StreamBytesCopied Gets or sets the stream bytes copied.
ulong StreamBytesTotal Gets or sets the total stream bytes.
ulong StreamRevertOrDetachPercent Gets the stream revert or detach percent complete.
ulong StreamAllocationPercent Gets the percent of current stream allocation compared to the maximum history size.
ulong RetentionPeriod Gets the currently available retention period.
N/A StreamBytesUsed Displays an approximate value for the number of bytes used by the history log.
N/A StreamBytesAllocated Displays an approximate value for the number of bytes allocated by the history log.
ulong BytesAllocated Displays the amount of physical disk space that has been allocated to the Virtual Disk on a particular server, in MBs. Physical disk space is allocated from the Disk Pool in large increments, each called a Storage Allocation Unit; by default 128MB.
ulong BytesAllocated Displays the amount of physical disk space that has been allocated to the Virtual Disk on a particular server, in MBs. Physical disk space is allocated from the Disk Pool in large increments, each called a Storage Allocation Unit; by default 128MB.
ulong BytesMigrated Displays the number of bytes per second that are migrated between different tiers.
ulong BytesOutOfAffinity Displays the number bytes out of affinity.
ulong BytesTogglingEncryption Displays the number bytes toggling encryption.
ulong BytesOutOfSettings Displays the number bytes out of settings.
ulong CapacityOptimizedBytesAllocated Displays the number bytes allocated to Capacity Optimized storage.
ulong TotalBytesTransferred Displays the sum of all bytes written and read from the virtual disk from a particular server.
ulong TotalBytesRead Displays the total of all bytes read. This is the sum of all bytes read from the virtual disk from a particular server.
ulong TotalBytesWritten Displays the total of all bytes written. This is the sum of all bytes written to the virtual disk from a particular server.
ulong TotalOperations Displays the number of both read and write requests handled by this virtual disk on a particular server.
ulong TotalReads Displays the number of read requests handled by this virtual disk from a particular server.
ulong TotalWrites Displays the number of write requests handled by this virtual disk from a particular server.
ulong CacheReadHits Displays the number of read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMisses Displays the number of read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHits Displays the number of write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for this virtual disk from a particular server.
ulong PercentRecovered Displays the amount recovered versus the total logged amount to recover.
ulong PendingClientIOsToMirror Displays the number of I/Os to mirror that were initiated by the client and are awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong PendingRecoveryIOs Displays the number of recovery I/Os currently awaiting completion. This is an instantaneous count, not an average over a period of time.
ulong RemoteReads Displays the number of reads to mirror.
ulong RemoteWrites Displays the number of writes to mirror.
ulong BytesRecovered Displays the number of bytes of disk data recovered.
ulong BytesToRecover Displays the number of bytes that need to be recovered.
ulong TotalReadTime Cumulative time of all read operations for a particular virtual disk from a particular server
ulong TotalWriteTime Cumulative time of all write operations for a particular virtual disk from a particular server
ulong MaxReadTime inst time for the max read operation for a particular virtual disk on a particular server.
ulong MaxWriteTime inst time for the max write operation for a particular virtual disk on a particular server.
ulong PercentReplaced Displays the amount replaced versus the total logged amount to be replaced.
ulong CacheBackendTotalWrites Displays the number of cache backend write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalReads Displays the number of cache backend read requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalOperations Displays the number of cache backend read and write requests handled by this virtual disk from a particular server.
ulong CacheBackendTotalWriteTime Cumulative time of all cache backend write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalOperationsTime Cumulative time of all cache backend read and write operations for a particular virtual disk from a particular server
ulong CacheBackendTotalReadTime Cumulative time of all cache backend read operations for a particular virtual disk from a particular server
ulong CacheBackendMaxReadTime inst time for the max cache backend read operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxWriteTime inst time for the max cache backend write operation for a particular virtual disk on a particular server.
ulong CacheBackendMaxIOTime inst time for the max cache backend operation for a particular virtual disk on a particular server.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types SupportBundleRelayTest

Support bundle relay test type

Type Name Description
bool RelayAddressResult Representation of the result of the test

To Table of Types SyslogServerSettings

Settings for sending logs to a Syslog server.

Type Name Description
string SyslogServer Server name.
int UdpPort The Udp port used to communicate with the Syslog server.
LogLevel SyslogLogLevel The Syslog Log Level used to filter the Log Messages.
bool SyslogAllLevels The Syslog Match Level used to filter the Log Messages.
HashSet(LogSourceType) SyslogSourceType The Syslog Source Types used to filter the Log Messages.
bool SyslogAllSources The Syslog AllSources switch used to filter the Log Messages.

To Table of Types TaskActionData

The base class of all task actions.

Type Name Description
string TaskId The Id of the task.
TaskActionType Type The type of action.
TaskActionState State The state of the action.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types TaskData

The data defining a task. Actions and triggers are associated with a task by virtue of having the task Id.

Type Name Description
string Description A user-readable description of the task.
bool Enabled If true, the task performs the actions when triggered, if not triggers are ignored.
ActionBehavior ActionBehavior How an action is invoked.
bool AbortOnActionFailure If true, the task is aborted after the first action fails.
long MaxRunTime The maximum time an action is allowed to run before a timeout error.
TriggerConnective Connective How two triggers are evaluated
long ActionDelay Delay between trigger and action (in ticks).
TaskState State The execution state of the task.
DateTime LastStartTime The time the last action started.
DateTime LastStopTime The time the last action stopped.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types TaskTriggerData

Task trigger configuration, the root of all types of triggers.

Type Name Description
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types TelemetryData

The information about the plug-ins and software installed on the host

Type Name Description
N/A DockerVersion The version number of docker installed on the host.
N/A KubernetesVersion The version number of kubernetes installed on the host.
N/A NumberOfContainers Number of containers created on the host.
N/A PersistentVolumes Array of persistent volumes created on the host.

To Table of Types ThresholdMonitorData

Threshold monitors apply to objects with continuous values as opposed to discrete states. The threshold levels can be set through this service.

Type Name Description
ulong AttentionLevel The level at which the monitor is in attention state.
ulong WarningLevel The level at which the monitor is in warning state.
ulong CriticalLevel The level at which the monitor is in critical state.
string Description A meaningful description of the monitor, including what object is being monitored.
string MonitoredObjectId The standard SANsymphony Id of the object being monitored.
string TemplateId The Id of the template on which this monitor is based.
MonitorState State Monitor states have five levels: Healthy, Attention, Warning and Critical, or Undefined.
DateTime TimeStamp The time that the last state change occurred.
string MessageText The message text of the monitor.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types ThresholdMonitorTemplateData

Threshold monitors specify three levels of the performance counter corresponding to the alarm states of the monitor.

Type Name Description
ulong AttentionLevel The level at which the monitor is in attention state.
ulong WarningLevel The level at which the monitor is in warning state.
ulong CriticalLevel The level at which the monitor is in critical state.
string CounterName The displayable name of the performance counter being monitored.
string Alias A unique displayable name.
string Description Describes the monitor.
string MonitorType The type of monitor, as a displayable string.
string MonitoredObjectType The type of object being monitored, as a displayable string.
string MonitoredObjectId The monitored object's Id.
string TypeId The monitored object's type Id.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types TimeInterval

Represents a time interval.

Type Name Description
TimeInterval MaxValue The maximum time interval value.
TimeInterval MinValue The minimum time interval value.
TimeInterval InvalidValue Invalid time interval value.
DateTime StartTime The start time of the time interval.
DateTime EndTime The end time of the time interval.
DateTime Center The middle between the start and the end time of the time interval
TimeSpan Period Difference between the start and the end time of the time interval
bool IsValid Determines whether the time interval is valid

To Table of Types TimeIntervalTriggerData

Periodically with an fixed interval in hours and minutes.

Type Name Description
long Interval The time interval, in milliseconds, between triggers.
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types TokenAuthorizationInfo

Type Name Description
N/A ConnectionIdentification
N/A ClientHost
N/A Token
N/A CreationTime
N/A LastTimeUsed
N/A Client Information about what client is connected.
N/A TokenConnectionName

To Table of Types TokenData

Information for the token.

Type Name Description
N/A Id
N/A CreationTime
N/A LastUsedTime
N/A Client

To Table of Types TriggerState

State on which the task will be activated at the specified date and time.

Type Name Description
TaskTriggerType TriggerType The type of task trigger.
DateTime TriggerTime The time when the task will be triggered.
string Caption Task trigger name.
bool ManualInvocation Specifies if the task was triggered manually.

To Table of Types UserData

The data object that defines a user.

Type Name Description
string Name The user name must be a Windows operating system account name.
string Description Description of the user.
string EmailAddress The user's email address. Alerts and tasks can generate emails to users.
PrivilegeSet BlendedPrivileges All the privileges of this user, based on combining the privileges of all roles assigned to the user.
bool IsAdministrator Indicates that the user is an administrator.
string[] RoleIds An array of all the roles assigned to the user. The Id is of type
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types UserRoleRelationData

User - role relation information.

Type Name Description
string UserId User identification
string RoleId Role identification
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VcenterPluginData

vCenter plugin required information

Type Name Description
N/A Name Plugin Name
N/A Vendor Plugin Vendor
N/A Key Plugin Key
N/A Version Plugin Version
N/A Description Plugin Description
N/A HostFQDN Plugin host url
N/A Protocol Transfer protocol: http, https
N/A Remote Is the plugin remote or not

To Table of Types VersionData

The version information for a public service.

Type Name Description
HostVersionData HostVersion Version information for the service host system.
ProductVersionData ProductVersion Version information for the product providing the service.
ContractVersionData ContractVersion The service contract version.

To Table of Types VimClientHostData

A VMware client machine (host or virtual machine).

Type Name Description
string ConnectorId The Id of the VMware system of type managing the client.
string DatacenterId The Id of the parent VMware Datacenter of type .
string[] Datastores An array of Id of Datastores managed by the host or used by the virtual machine.
N/A AutoRescanPorts Indicates that the ports on the VimClientHostData will automatically be automatically issued periodic rescans.
string HostGroupId The host group to which the client belongs.
ClientMachineType Type The type of client.
ClientState State The state of the client: offline, online or not present.
bool AluaSupport Indicates that the client supports Asymmetric Logical Unit Access (ALUA).
PathPolicy PathPolicy If true then the client is symmetrical.
TelemetryData TelemetryData The information gathered through Telemetry service, about the plug-ins and software installed on the host
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimClientHostDataEx

A VMware client machine (host or virtual machine).

Type Name Description
string ConnectorId The Id of the VMware system of type managing the client.
string DatacenterId The Id of the parent VMware Datacenter of type .
string[] Datastores An array of Id of Datastores managed by the host or used by the virtual machine.

To Table of Types VimClusterData

A VMware Cluster.

Type Name Description
string DatacenterId The Id of the parent VMware Datacenter of type .
bool HaEnabled If true, high availability is enabled.
bool DrsEnabled If true, Distributed Resource Scheduler is enabled.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimClusterDataEx

Vim Cluster data

Type Name Description
string[] DatacenterId An array of ID of the VMware datacenter managing the cluster of type .
string[] Hosts An array of VMware hosts managed by the cluster of type .
bool HaEnabled If true, high availability is enabled.
bool DrsEnabled If true, Distributed Resource Scheduler is enabled.

To Table of Types VimConnectorData

Base class for VMware systems (vCenter or ESX).

Type Name Description
string ServerAddress The address of the VMware system (also known as an endpoint).
string Username User name used to login to the VMware system.
string Password The VMware virtual center connection password.
string Description A description of the VMware system.
string FullName The VMware system complete product name, including version number.
string ProductBuild The VMware system build string.
string Version The VMware system version string.
VimServiceClientState State The state of the connection to the VMware system.
N/A DisableAutoRescanPorts Indicates if the connector will automatically issue periodic rescans on the ports of discovered hosts.
N/A FilterVirtualMachines Indicates if the connector receive events relating to VimVirtualMachines, if set to true, we will not display any child VimVirtualMachines for this connector.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimDatacenterData

A VMware Datacenter.

Type Name Description
string VirtualCenterId The Id of the parent VMware Virtual Center of type .
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimDatacenterDataEx

Vim DataCenter data

Type Name Description
string[] VirtualCenterId An array of ID of Virtual Center managing the Datacenter of type .
string[] Clusters An array of Clusters managed by the Datacenter of type .

To Table of Types VimDatastoreData

A VMware Datastore.

Type Name Description
string DatacenterId The Id of the parent VMware Datacenter of type .
DataSize Capacity The total storage capacity.
DataSize FreeSpace The amount of free space.
string[] VirtualDisks An array of Id of virtual disks used to create extents for the Datastore.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimHostData

A VMware host.

Type Name Description
string ClusterId The Id of the parent cluster of type .
string Version The VMware version string.
VimHostState ConnectionState The state of the machine connection to the managing VMware system.
bool InMaintenanceMode True if the server is in maintenance mode.
string ConnectorId The Id of the VMware system of type managing the client.
string DatacenterId The Id of the parent VMware Datacenter of type .
string[] Datastores An array of Id of Datastores managed by the host or used by the virtual machine.
N/A AutoRescanPorts Indicates that the ports on the VimClientHostData will automatically be automatically issued periodic rescans.
string HostGroupId The host group to which the client belongs.
ClientMachineType Type The type of client.
ClientState State The state of the client: offline, online or not present.
bool AluaSupport Indicates that the client supports Asymmetric Logical Unit Access (ALUA).
PathPolicy PathPolicy If true then the client is symmetrical.
TelemetryData TelemetryData The information gathered through Telemetry service, about the plug-ins and software installed on the host
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimHostDataEx

A VMware host.

Type Name Description
string ClusterId The Id of the parent VMware Cluster of type .
string Version The VMware version string.
VimHostState ConnectionState The state of the machine connection to the managing VMware system.
bool InMaintenanceMode True if the server is in maintenance mode.

To Table of Types VimVirtualCenterData

A VMware Virtual Center.

Type Name Description
string ServerAddress The address of the VMware system (also known as an endpoint).
string Username User name used to login to the VMware system.
string Password The VMware virtual center connection password.
string Description A description of the VMware system.
string FullName The VMware system complete product name, including version number.
string ProductBuild The VMware system build string.
string Version The VMware system version string.
VimServiceClientState State The state of the connection to the VMware system.
N/A DisableAutoRescanPorts Indicates if the connector will automatically issue periodic rescans on the ports of discovered hosts.
N/A FilterVirtualMachines Indicates if the connector receive events relating to VimVirtualMachines, if set to true, we will not display any child VimVirtualMachines for this connector.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimVirtualCenterDataEx

vCenter data

Type Name Description
string[] Datacenters An array of Datacenters managed by the vCenter of type .
string[] Datastores An array of Datastores managed by the vCenter of type .

To Table of Types VimVirtualMachineData

A VMware virtual machine.

Type Name Description
string HostId The Id of the VMware host of type hosting the virtual machine.
VimVirtualMachineState PowerState The machine power state: On, Off, Suspended.
DataSize ProvisionedSpace Storage space provisioned for the virtual machine.
DataSize UsedSpace The amount of storage space currently used by the virtual machine.
bool Template If true, the virtual machine is a template.
string ConnectorId The Id of the VMware system of type managing the client.
string DatacenterId The Id of the parent VMware Datacenter of type .
string[] Datastores An array of Id of Datastores managed by the host or used by the virtual machine.
N/A AutoRescanPorts Indicates that the ports on the VimClientHostData will automatically be automatically issued periodic rescans.
string HostGroupId The host group to which the client belongs.
ClientMachineType Type The type of client.
ClientState State The state of the client: offline, online or not present.
bool AluaSupport Indicates that the client supports Asymmetric Logical Unit Access (ALUA).
PathPolicy PathPolicy If true then the client is symmetrical.
TelemetryData TelemetryData The information gathered through Telemetry service, about the plug-ins and software installed on the host
string Description A user-supplied description of the host.
string HostName The host name.
bool MpioCapable Indicates that the host supports multi-path I/O.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VimVirtualMachineDataEx

A VMware virtual machine.

Type Name Description
string HostId The Id of the VMware host of type hosting the virtual machine.
VimVirtualMachineState PowerState The machine power state: On, Off, Suspended.
DataSize ProvisionedSpace Storage space provisioned for the virtual machine.
DataSize UsedSpace The amount of storage space currently used by the virtual machine.
bool Template If true, the virtual machine is a template.

To Table of Types VirtualDiskChunkStatistics

Statistics for the allocated SAUs on a virtual disk.

Type Name Description
string Id Virtual disk Id.
ulong AllocatedSizeOnDisk The allocated size of the virtual disk on the current physical disk.
ulong AllocatedSizeTotal The allocated size of the virtual disk.
VirtualDiskPurgeActions Actions The necessary actions before the disk can be purged.

To Table of Types VirtualDiskData

The data object that defines a virtual disk.

Type Name Description
string VirtualDiskGroupId The virtual disk group that the virtual disk belongs to.
string FirstHostId The Id of the first host server ( ).
string SecondHostId The Id of the second host server ( ).
string BackupHostId The Id of the backup, or tertiary, host server ( ).
string SnapshotPoolId The Id of the snapshot source ( ).
string Alias The user-visible alias of the virtual disk, which must be unique in the server group.
string Description A user-readable description of the virtual disk.
DataSize Size The size of the virtual disk.
DataSize SectorSize 512B or 4096B sector disk.
VirtualDiskType Type Virtual disk type
VirtualDiskStatus DiskStatus Virtual disk status
InquiryData InquiryData Data returned from the SCSI inquiry command, describing the device queried.
byte[] ScsiDeviceId The SCSI device Id.
ScsiDeviceIdString ScsiDeviceIdString The SCSI device Id formatted as a hexidecimal string.
bool RemovableMedia True if the disk has removable media.
bool WriteThrough True if the virtual disk is configured to write-through (no write-caching).
bool NVMe True if the virtual disk is presented as NVMe.
bool Offline True if the virtual disk is offline.
bool Disabled True if the virtual disk is disabled.
bool ManualRecovery True if the virtual disk is set to recover manually.
PhysicalDiskLayout DiskLayout The presented physical layout of a virtual disk, i.e. how the SCSI initiator sees the disk.
bool PersistentReserveEnabled True if persistent reserve is enabled.
MirrorRecoveryPriority RecoveryPriority The mirror recovery priority setting in the virtual disk storage profile.
string StorageProfileId The Id of the storage profile of the virtual disk.
bool TPThresholdsEnabled True if thin provisioning threshold notifications are enabled for the virtual disk.
bool IsServed True if the virtual disk is served to a host.
VirtualDiskSubType SubType The subtype of a virtual disk is used to denote special behavior.
bool MirrorTrunkMappingEnabled True if the virtual disk uses mirror trunking.
string WitnessId The id of the witness that will be contacted in witness situations.
string WitnessOption The option of how we will handle cases where witness contact is required.
string PreferredServer Which server is preferred for the virtual disk.
bool ResiliencyEnabled If enabled, preferred server will be resilient server for the virtual disk.
bool EncryptionEnabled Is data encryption enabled.
bool CompressionEnabled Is data compression enabled.
bool DeduplicationEnabled Is data deduplication enabled.
bool StaleDataEnabled Is Stale Data enabled.
uint StaleDataWeight weight of stale data
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VirtualDiskGroupBasePerformance

Virtual Disk Group performance data.

Type Name Description
ulong BytesAllocated Displays the amount of physical disk space that has been allocated to all the Virtual Disks in a particular group, in MBs. Physical disk space is allocated from the Disk Pool in large increments, each called a Storage Allocation Unit; by default 128MB.
ulong TotalBytesTransferred Displays the sum of all bytes written and read from the virtual disk across all servers.
ulong TotalBytesRead Displays the total of all bytes read. This is the sum of all bytes read from the virtual disk across all servers.
ulong TotalBytesWritten Displays the total of all bytes written. This is the sum of all bytes written to the virtual disk across all servers.
ulong TotalBytesMigrated Displays the number of bytes per second that are migrated between different tiers. This is the sum of all bytes migrated for the virtual disk across all servers.
ulong TotalReads Displays the number of read requests handled by this Virtual Disk. This is the sum of all reads handled by the virtual disk across all servers.
ulong TotalWrites Displays the number of write requests handled by this Virtual Disk. This is the sum of all writes handled by the virtual disk across all servers.
ulong TotalOperations Displays the number of both read and write requests handled by this Virtual Disk. This is the sum of all operations handled by the virtual disk across all servers.
ulong CacheReadHits Displays the number of read requests satisfied by the DataCore Cache for this virtual across all servers.
ulong CacheReadMisses Displays the number of read requests not satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteHits Displays the number of write requests satisfied immediately by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong ReplicationBytesSent Displays the total of all bytes sent for the replication. This is the sum of all bytes sent from the active side.
ulong ReplicationBytesToSend Displays a total of bytes remaining for send for the replication.
ulong ReplicationTimeLag Displays the time lag between the source and the target virtual disk in seconds.
N/A MaxReplicationTimeDifference Display the time difference between the oldest unsynchronized data and now.
ulong InitializationPercentage Displays the progress of initialization for virtual disk.
ulong TestModeProgressPercentage Displays the progress of a replication test mode operation. In case the replication is not currently in test mode this counter will be zero.
ulong ConsistencyCheckPercentage Displays the progress of checksum collection for virtual disk.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types VirtualDiskGroupData

Virtual disk group.

Type Name Description
string Alias Alias of the group, which must be unique.
string Description A user-readable description of the group.
StorageDomainSettings StorageDomainSettings Settings that will be provided to the DcsSDC driver.
DataSize TotalCapacity Displays the total size of all virtual disks in a particular group, in MB.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VirtualDiskGroupPerformance

Virtual disk group performance data

Type Name Description
ulong DestageTime DestageTime

To Table of Types VirtualDiskPerformance

Virtual disk performance data.

Type Name Description
ulong TotalBytesTransferred Displays the sum of all bytes written and read from the virtual disk across all servers.
ulong TotalBytesRead Displays the total of all bytes read. This is the sum of all bytes read from the virtual disk across all servers.
ulong TotalBytesWritten Displays the total of all bytes written. This is the sum of all bytes written to the virtual disk across all servers.
ulong TotalBytesMigrated Displays the number of bytes per second that are migrated between different tiers. This is the sum of all bytes migrated for the virtual disk across all servers.
ulong TotalReads Displays the number of read requests handled by this Virtual Disk. This is the sum of all reads handled by the virtual disk across all servers.
ulong TotalWrites Displays the number of write requests handled by this Virtual Disk. This is the sum of all writes handled by the virtual disk across all servers.
ulong TotalOperations Displays the number of both read and write requests handled by this Virtual Disk. This is the sum of all operations handled by the virtual disk across all servers.
ulong TotalOperationsTime Cumulative time of all read and write operations handled by the virtual disk.
ulong CacheReadHits Displays the number of read requests satisfied by the DataCore Cache for this virtual across all servers.
ulong CacheReadMisses Displays the number of read requests not satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteHits Displays the number of write requests satisfied immediately by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteMisses Displays the number of write requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheReadHitBytes Displays the total of all bytes read from all read requests immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheReadMissBytes Displays the total of all bytes read from all read requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteHitBytes Displays the total of all bytes written from all write requests immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong CacheWriteMissBytes Displays the total of all bytes written from all write requests not immediately satisfied by the DataCore Cache for this virtual disk across all servers.
ulong ReplicationBytesSent Displays the total of all bytes sent for the replication. This is the sum of all bytes sent from the active side.
ulong ReplicationBytesToSend Displays a total of bytes remaining for send for the replication.
ulong ReplicationTimeLag Displays the time lag between the source and the target virtual disk in seconds.
ulong ReplicationTimeDifference Displays the time difference between the olodest replication buffer file and now in seconds.
ulong InitializationPercentage Displays the progress of initialization for virtual disk.
ulong TestModeProgressPercentage Displays the progress of a replication test mode operation. In case the replication is not currently in test mode this counter will be zero.
ulong ConsistencyCheckPercentage Displays the progress of checksum collection for virtual disk.
ulong BytesAllocated Displays the amount of physical disk space that has been allocated to the Virtual Disk on a particular server, in MBs. Physical disk space is allocated from the Disk Pool in large increments, each called a Storage Allocation Unit; by default 128MB.
ulong PercentAllocated Displays the amount of physical disk space that has been allocated to the Virtual Disk on a particular server, as a percentage of the virtual disk size
ulong BytesOutOfAffinity Displays the number bytes out of affinity.
ulong PercentBytesOutOfAffinity Displays the virtual disk space percentage outside of the storage profile.
ulong MaxReadWriteTime Displays the max processing time for a read or write operation on the VD.
ulong BytesTogglingEncryption Displays the number bytes waiting to toggle encryption state.
ulong PercentTogglingEncryption Displays the virtual disk space percentage remaining to toggle encryption state.
ulong BytesOutOfSettings Displays the number bytes out of settings.
ulong PercentBytesOutOfSettings Displays the virtual disk space percentage outside of the settings storage profile.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types VirtualDiskTemplateData

A class used to simplify the creation of virtual disks.

Type Name Description
string Alias The alias used to name the virtual disk template.
string VirtualDiskAlias The base name for any virtual disk created from the template.
N/A Tag This Tag is used to get information of vVol Virtual Disk Template
string VirtualDiskDescription The default description for any virtual disk created from the template.
DataSize Size The default size for any virtual disk created from the template.
DataSize SectorSize The default sector size for any virtual disk created from the template.
VirtualDiskType VirtualDiskType The type of virtual disk that will be created ( ).
uint ReservedSpacePercentage The percentage of space to be reserved for a virtual disk created from the template.
string FirstDiskPoolId The first pool to be used in the creation of a virtual disk, this must be specified.
string SecondDiskPoolId The second pool can be used optionally when creating a template representing a mirrored virtual disk.
bool UseRedundantMirrorMappings During mirrored virtual disk creation, true creates redundant (two) paths in each direction.
string ContinuousDataProtectionPoolId If continuous data protection is enabled, the Id of the pool to use for the history log.
DataSize ContinuousDataProtectionLogSize If continuous data protection is enabled, the size of the history log.
bool SequentialStorageEnabled True enables sequential storage for a virtual disk created from the template.
string StorageProfileId The storage profile to assign to a virtual disk created from the template.
string DefaultSnapshotPoolId If snapshots are enabled, the default pool to create them from.
ulong LatencyThresholdAttention The latency attention threshold.
ulong LatencyThresholdWarning The latency warning threshold.
ulong LatencyThresholdCritical The latency critical threshold.
ulong StorageLatencyThresholdAttention The storage latency attention threshold.
ulong StorageLatencyThresholdWarning The storage latency warning threshold.
ulong StorageLatencyThresholdCritical The storage latency critical threshold.
VirtualDiskSubType VirtualDiskSubType The subtype to be used when creating virtual disks.
bool ReadOnly True indicates the template is read only; no changes to the template are allowed until the property is reset.
bool WriteThroughEnabled True indicates that virtual disks created from the template will be write-through enabled.
bool NVMeEnabled True indicates that virtual disks created from the template will be presented as NVMe.
bool MirrorTrunkMappingEnabled True indicates that virtual disks created from the template will utilize mirror trunking for mirror traffic.
bool EncryptionEnabled Is data encryption Enabled.
bool CompressionEnabled Is Compression Enabled.
bool DeduplicationEnabled Is Deduplication Enabled.
bool StaleDataEnabled Is StaleDataEnabled Enabled.
uint StaleDataWeight The StaleData Weight

To Table of Types VirtualLogicalUnitData

The data object that defines a virtual logical unit, which is a mapping (path) of a disk to a device.

Type Name Description
LUN Lun The SCSI logical unit number.
string VirtualTargetDeviceId The Id of the device data ( ), which defines the target and initiator for the mapping.
string LogicalDiskId The Id of the logical disk ( ).
LogicalUnitAccess Access The type of access allowed to a LUN (mapped disk).
LogicalUnitType Type The type of logical unit, mirror or client mapping.
PreferredPathOption Preferred If PreferredPathOption.Preferred then this is a preferred path (front-end paths only).
bool Enabled If true then the mapping is enabled (front-end paths only).
string PhysicalDiskId The Id of the DataCore Disk or mirror disk that is created for the logical unit.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VirtualLogicalUnitPerformance

Virtual logical unit performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalBytesRead Displays the total bytes read by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalBytesWritten Displays the total bytes written by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalReads Displays the number of read requests by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalWrites Displays the number of write requests by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalOperations Displays the number of read and write requests by the initiator for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalReadTime Cumulative time of all read operations for a particular virtual disk on a particular connection.
ulong TotalWriteTime Cumulative time of all write operations for a particular virtual disk on a particular connection.
ulong MaxReadTime Instantaneous time for the max read operation for a particular virtual disk on a particular connection.
ulong MaxWriteTime Instantaneous time for the max write operation for a particular virtual disk on a particular connection.
ulong MaxReadSize Max size in bytes of the read operation for a particular virtual disk on a particular connection.
ulong MaxWriteSize Max size in bytes of the write operation for a particular virtual disk on a particular connection.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation for a particular virtual disk on a particular connection.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types VirtualTargetDeviceData

The device information from the perspective of the target.

Type Name Description
string TargetDomainId Id of the target domain is the pair of servers involved in a mapping ( ).
string InitiatorPortId The Id of the initiator port ( ).
string TargetPortId The Id of the target port ( ).
string DeviceName The name of the device.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VirtualTargetDevicePerformance

Virtual target device performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalBytesRead Displays the total bytes read by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalBytesWritten Displays the total bytes written by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalReads Displays the number of read requests by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalWrites Displays the number of write requests by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalOperations Displays the number of read and write requests by the initiator for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong TotalReadTime Cumulative time of all read operations for all virtual disks on a particular connection.
ulong TotalWriteTime Cumulative time of all write operations for all virtual disks on a particular connection.
ulong MaxReadTime inst time for the max read operation for all virtual disks on a particular server.
ulong MaxWriteTime inst time for the max write operation for all virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong MaxReadSize Max size in bytes of the read operation for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong MaxWriteSize Max size in bytes of the write operation for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation for all virtual disks on a particular connection. This can be a connection between a client and a server or between two servers.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types VirtualTargetDomainData

A pair of servers that can host mappings, one as an initiator, one as a target.

Type Name Description
string InitiatorHostId The Id of the initiator host ( ).
string TargetHostId The Id of the target host ( ).
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types VirtualTargetDomainPerformance

Virtual target domain performance data.

Type Name Description
ulong TotalBytesTransferred Displays the total bytes written and read by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalBytesRead Displays the total bytes read by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalBytesWritten Displays the total bytes written by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalReads Displays the number of read requests by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalWrites Displays the number of write requests by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalOperations Displays the number of read and write requests by the initiator for all virtual disks on all connections between two particular machines.
ulong TotalReadTime Cumulative time of all read operations for all virtual disks on all connections between two particular machines.
ulong TotalWriteTime Cumulative time of all write operations for a particular virtual disk on all connections between two particular machines.
ulong MaxReadTime inst time for the max read operation for a particular virtual disk on all connections between two particular machines.
ulong MaxWriteTime inst time for the max write operation for a particular virtual disk on all connections between two particular machines.
ulong MaxReadSize Max size in bytes of the read operation for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong MaxWriteSize Max size in bytes of the write operation for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
ulong MaxOperationSize Max size in bytes of IO (read or write) operation for a particular virtual disk on a particular connection. This can be a connection between a client and a server or between two servers.
DateTime CollectionTime All performance data points include the time the data was collected.
ulong NullCounterMap Each bit in this map indicates the corresponding counter matched by the order (least significant first). If the bit is set, the counter is null.

To Table of Types VVOLBindingData

The information required to present a VVOL virtual disk to a host machine.

Type Name Description
string VVOLId The Id of the virtual disk associated with the VVOL.
string HostId The Id of the host the VVOL is being bound to.
string ProtocolEndpointId The Id of the virtual disk used as the protocol endpoint.
LUN LUN The sub LUN used by this VVOL binding.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types WeeklyTriggerData

Weekly at a specified time and day(s).

Type Name Description
int WeeklyInterval The number of weeks between each trigger.
WeekdayFlags WeekdaySelection The specific days of the week the trigger will occur on. This is a flag enum, so multiple days can be selected.
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.

To Table of Types WitnessContactRequest

The status of a witness contact request indicating what server issued the request, to which witness, and the success \ failure.

Type Name Description
N/A VirtualDiskId The virtual disk issuing the witness request if applicable.
N/A WitnessId The id of the witness that is being contacted.
N/A ServerId The id server issuing the witness request.
N/A NodeId The internal id of the server associated with a request.
N/A WitnessAddress The IP Address of the witness we are contacting.
N/A RequestStatus The status of the request indicating success or failure.
N/A WitnessContactPending The request is marked as waiting for witness contact completion.
N/A PartnerContactPending The request is marked as waiting for partner contact completion.

To Table of Types WitnessData

A class used to keep virtual disks from experiencing mirror corruption.

Type Name Description
string Alias The alias used to name the witness.
string IPAddress The IP address that the witness can be contacted at.

To Table of Types WitnessResponseData

A class that represents the response of a witness request indicating success or failure, what witness was contacted, and from which server.

Type Name Description
string ServerId The id of the server the witness request was sent from.
string WitnessId The id of the witness we are attempting to contact.
string ResponseStatus That status of the request indicating if we succeed, fail, or fail to send the request.

To Table of Types WWN

World Wide Name used to identify Fibre Channel.

Type Name Description
string DefaultFormat Default separator
string Name World Wide Name in specific format - 16 digit hex number or 16 digit hex number with a separator

To Table of Types XYPoint

Class that holds a point of time and performance value

Type Name Description
DateTime X The date and time the performance was taken.
ulong Y The performance value.
bool HasData Shows whether there is performance data.

To Table of Types YearlyTriggerData

Yearly at a specified time and date, optionally a day of a week in a month (first Monday in January, for example).

Type Name Description
bool YearlyByDateFlag If true, then trigger on the same date, (using and ) otherwise trigger on a day of a week of a month (using , , and )
int YearlyByDateMonth The month of the trigger if is true.
int YearlyByDateDay The day of the month of the trigger if is true.
int YearlyWeek The week of the month of the trigger if is false.
DayOfWeek YearlyDayOfWeek The day of the week of the trigger if is false.
int YearlyMonth The month of the trigger if is false.
RecurrenceType Recurrence The type of schedule recurrence.
long SignalDuration How long (in milliseconds) the trigger is considered "active" for (used when ANDing tirggers).
DateTime StartTime The start time. If a one-time trigger, this is exact date and time of the trigger. For a time interval trigger this specifies the date and time of the first trigger. For other triggers this specifies the date of the first event (or a the date after which the first trigger will be scheduled) and the time of day of every event.
string TaskId The task Id.
TaskTriggerType Type The type of task trigger.
string Description A user-visible description of the task.
bool Active 'True' when the trigger is in an active state.
long SequenceNumber Each identifiable object has a unique sequence number allowing the API clients to track the most its most recent update.
string Id Every public data object has an immutable Id, which is a GUID.
string Caption A short descriptive phrase that is unique among the class of objects and meaningful to an end-user.
string ExtendedCaption An optional longer description of the object instance.
bool Internal Indicates that the object is not directly visible to the end-user.
DataCore Enums

To Table of Enums AccessRights

Storage access rights

Name Value Description
NoAccess 0 No access allowed
Read 1 Read access
Write 2 Write access
ReadWrite 3 Read and write access
Offline 4 Offline - do not allow reads or writes but allow report luns/inquiry
Disabled 5 Disabled - do not allow any I/O
NotDefined 6 Not defined

To Table of Enums ActionBehavior

How an action is invoked.

Name Value Description
RunPerTrigger 0 Run immediately each time a trigger occurs.
RunInBatchMode 1 Run in batch mode, either when a certain number of actions have accumulated or a preset time has passed.

To Table of Enums AliasType

Alias type

Name Value Description
Client 0 Client
HostGroup 1 Host group
VirtualDiskGroup 2 Virtual disk group
VirtualDisk 3 Virtual disk
Rollback 4 Rollback
RollbackGroup 5 Rollback group
Snapshot 6 Snapshot
SnapshotGroup 7 Snapshot group
Witness 8 Witness

To Table of Enums AsyncReplicationNotificationType

Replication partner notification type

Name Value Description
NoReplicationFolderSet 1 No replication buffer folder set for virtual disk. Failed to transition to Activating state.
ActivationFailed 2 Failed to transition the replication for virtual disk to Activating state.
DeletionStarted 3 Replication splitting started
DeletionFailed 4 Replication splitting failed
OneWayReplication 5 Not licensed for bidirectional replication. Failed to transition the replication for virtual disk to Activating state.
CoreInitializationStarted 6 Starts an offline replication initialization for virtual disk in replication on the active side
CoreInitializationCompleted 6 Offline replication initialization for virtual disk in replication completed
ReplicationInTestMode 8 The replication activatation of virtual disk could not be performed because the replication is in test mode.

To Table of Enums AsyncReplicationPriority

The replication priority setting in the virtual disk storage profile.

Name Value Description
Low 0 Low
Regular 1 Regular
High 2 High
Critical 3 Critical

To Table of Enums AuthenticationMode

iSCSI Authentication modes

Name Value Description
Default 0 Default - No authentication
None 1 No authentication
CHAP 2 CHAP authentication

To Table of Enums AuthenticationType

iSCSI Authentication type

Name Value Description
None 0 None
CHAP 1 CHAP
MutualCHAP 2 Mutual CHAP

To Table of Enums AuthorizationContext

The authorization context used by VSS

Name Value Description
string VSS_USER_NAME The VSS user name.
string SecurityToken The security token
Current An authorization context. Gets or sets the current authorization context

To Table of Enums BitMapType

Snapshot map type

Name Value Description
Migration 0 Migration map
Delta 1 Delta map

To Table of Enums CacheState

Write chaching state

Name Value Description
Unknown 0 Unknown
WritethruGlobal 1 Disabled
WritebackGlobal 2 Enabled

To Table of Enums ClassOfService

Fibre Channel class of service which defines the flow control.

Name Value Description
ClassF 1 Class F
Class1 2 Class 1
Class2 4 Class 2
Class3 8 Class 3
Class4 10 Class 4
Reserved 10 Reserved
Class6 10 Class 6

To Table of Enums ClientMachinePrivileges

Grants privileges to perform actions on hosts such as creating, configuring, and deleting hosts.

Name Value Description
None 0 No privileges
CreateClient 1 Create Client
DeleteClient 2 Delete Client
ConfigureClient 4 Configure Client
All 7 All Client Machine privileges

To Table of Enums ClientMachineType

Client machine type

Name Value Description
StorageServer 0 DataCore Server
Windows 1 Microsoft Windows (all other versions)
HPUX 2 HP HPUX
HPUX_8LUN 3 HP HPUX 8 LUNS
Netware 4 Novell NETWARE
AIX 5 IBM AIX with DataCore AP
Solaris 6 Sun Solaris Legacy
Irix 7 IRIX
Linux 8 Linux (all other distributions)
TRU64 9 TRU64
MAC_OS 10 Apple Mac OS
WIN_AP_MPIO 11 Microsoft Windows with DataCore MPIO
Esx 12 VMware ESX
AIX_MPIO 13 IBM AIX Native MPIO Legacy
CitrixXenServer 14 Citrix XenServer
Virtual_Iron 15 Virtual Iron
SolarisSanFoundation 16 Oracle (Sun) Solaris
WindowsServer2008 17 Microsoft Windows (all other versions)
AixMpioTL6Plus 18 IBM AIX
SuseEnterpriseLinuxServer11 19 Linux Suse Enterprise Server 11
WindowsServer2012 20 Microsoft Windows Server 2012 and Windows Server 2012 R2
Other 100 Other

To Table of Enums ClientState

Client state

Name Value Description
Unknown 0 Unknown
NoPortConnection 1 Not connected
PortsConnected 2 Connected

To Table of Enums ComparisonOperator

The type of comparison between two values.

Name Value Description
Equals 0 Equals.
Greater 1 Greater.
GreaterOrEqual 2 Greater or equal.
Less 3 Less.
LessOrEqual 4 Less or equal.

To Table of Enums ConfigurationState

Configuration state type

Name Value Description
Synchronized 0 Synchronized
Unsynchronized 1 Unsynchronized
Synchronizing 2 Synchronizing

To Table of Enums ConnectionMode

Fibre channel port connection modes with user friendly description

Name Value Description
Default 0 Default - The Default mode allows the port to set the connection mode. The default setting for the connection mode is Default.
P2P 1 Point to Point.
Loop 2 Loop
LoopOtherwiseP2P 3 Loop preferred
P2POtherwiseLoop 4 P2P preferred

To Table of Enums DataRateMode

Fibre channel port data rate modes with user friendly description

Name Value Description
Default 0 Default - allows the port to set the data rate. The default setting for the data rate mode is Default.
OneGB 1 1 Gb/s
TwoGB 2 2 Gb/s
FourGB 3 4 Gb/s
EightGB 4 8 Gb/s
SixteenGB 5 16 Gb/s
ThirtyTwoGB 6 32 Gb/s
SixtyFourGB 7 64 Gb/s
Auto 8 Auto - allows the port to set the data rate by sensing the current data rate on the link (if the port has this feature).

To Table of Enums DataStatus

Data status between the two copies of data in a mirrored virtual disk and the recovery.

Name Value Description
UpToDate 0 Up-to-date - Data on both servers is identical (synchronized) and the virtual disk is capable of I/O operations.
NotUpToDate 1 Not up to date - The data is not up to date.
Undefined 2 Undefined - Information is unknown because the server is down, or unreachable and the server cannot communicate.
Unknown 3 Unknown - The DataCore Server is up, but does not know what the status is because the status from the other DataCore Server is not defined.

To Table of Enums DataStoreServiceState

Recording session status

Name Value Description
Disconnected 0 Recording / Failed
Connected 1 Recording
Connecting 2 Recording connecting

To Table of Enums DiagnosticMode

Diagnostic mode type

Name Value Description
Disabled 0 Disabled
Enabled 1 Enabled

To Table of Enums DiskDataProtectionRole

The CDP role of a logical disk.

Name Value Description
None 0 Logical disk does not have CDP enabled.
BaseDisk 1 Logical disk has CDP enabled (base disk).
HistoryLog 2 Logical disk is a CDP History Log.

To Table of Enums DiskPoolPrivileges

Grants privileges to perform actions on disk pools such as creating, configuring, deleting, and importing pools, as well as adding and removing disks from pools.

Name Value Description
None 0 No privileges
ConfigurePool 1 Configure Pool
AddPhysicalDisk 2 Add Physical Disk
RemovePhysicalDisk 4 Remove Physical Disk
CreatePool 8 Create Pool
DeletePool 16 Delete Pool
ImportPool 32 Import Pool
All 63 All Disk Pool Privileges

To Table of Enums DiskPoolStatus

Disk Pool States

Name Value Description
Running 0 Running - The pool is active, healthy and functional.
Initializing 1 Initializing - The pool is initializing after a computer shutdown or restart.
MissingDisks 4 Missing disk(s) - Disk(s) are missing. The disk pool is in running state.
Foreign 5 Foreign - A pool has been detected that contains disks not previously known by the existing disk or registry information. This may occur when disks are moved between servers. Use the Import Pool command in order to use the pool.
Removing 6 Deletion pending - The pool is in the process of being deleted from the configuration.
Offline 7 Off-line - The pool is present, but one or more physical disks in a pool are failed or missing.
Unknown 8 Unknown - The pool is not present and status cannot be determined.
FailedRedundancy 9 Redundancy failed– A shared disk pool has a status of Running or Missing disks on one server and Off-line, Initializing, Foreign, or Unknown on another server that is sharing the disk pool.
Suspended 10 Suspended - The disk pool is suspending all I/O operations. A physical disk that is missing from the pool have to be purged.

To Table of Enums DiskSmartStatus

Disk smart status

Name Value Description
Healthy 0 Healthy
PredictFailure 1 Predict Failure
Unknown 2 Unknown

To Table of Enums DiskType

Physical disk types

Name Value Description
Basic 0 Basic
Dynamic 1 Dynamic
Uninitialized 2 Uninitialized
Pool 4 Pool
PassThrough 5 Pass-Through
MirrorDisk 6 Mirror Disk
Unknown 7 Unknown

To Table of Enums DistributionWarning

Warnings if the virtual disk is not eligible to be moved

Name Value Description
None 0 No warnings
IsNonMirrored 1 Single, dual, or mirrored virtual disks can be moved.
IsSnapshotSource 2 Virtual disks that are the source of snapshots cannot be moved.
IsRollbackSource 4 Virtual disks that are the source of rollbacks cannot be moved.
IsSnapshotDestination 8 Virtual disks that are the destination of snapshots cannot be moved.
IsRollbackDestination 16 Virtual disks that are the destination of rollbacks cannot be moved.
IsDataProtected 32 Virtual disks that are under continuous data protection cannot be moved.
IsSequentialStorageEnabled 64 Virtual disks with sequential storage enabled cannot be moved.
IsNotShared 128 Virtual disks that are not dual(shared) can not be moved
ServerNotValid 256 Virtual disks that are not visible to the server cannot be moved.
IsReplication 512 Virtual disks in replication cannot be moved. Split the replications in order to move the virtual disks.
IsLoopBackDisk 1024 Virtual disks that are loopback disks cannot be moved.
IsLocalDiskNotReady 2048 Virtual disks are not in Up to date status on server being evacuated.
IsPassThroughDisk 4096 Virtual disks created from pass-through disks cannot be moved.
IsVvolOrPe 8192 Virtual disks that are the types of VVOL or Protocol Endpoint cannot be moved.
IsNotWriteThroughEnabled 16384 Virtual disks that are mirrored but do not have write-through enabled cannot be moved.
IsNotEligibleToPromote 32768 Virtual disks that are mirrored but are not up-to-date.
IsInactiveServer 65536 Virtual disks that are shared but are not active on server being evacuated.

To Table of Enums DvaPoolDiskResilveringStatus

Dva pool disk states

Name Value Description
None 0 None
ReplacingSource 1 ReplacingSource
ReplacingDestination 2 ReplacingDestination
Removing 2 Removing

To Table of Enums EndpointType

Endpoint type

Name Value Description
DetailedSchema 4 Detailed schema
MultiPeriodSchema 4 MultiPeriod schema

To Table of Enums ErrorRecoveryLevel

Error recovery level

Name Value Description
Default 0 Default
SessionFailure 1 Session
DigestFailure 2 Session
Connection 3 Session

To Table of Enums ExecutivePrivileges

Grants privileges to perform actions on service level operations such as starting and stopping the DataCore Executive service, synchronizing out-of-synch configurations, and running a diagnostic operation.

Name Value Description
None 0 No privileges
StartService 2 Start Service
StopService 4 Stop Service
SynchronizeConfiguration 8 Synchronize Configuration
ChangeRegion 16 Change Region
PerformSystemOperations 32 Perform System Operations
RunDiagnosticMethod 64 Run Diagnostic Method
All 127 All Executive privileges

To Table of Enums FileSystemType

File system type

Name Value Description
Unknown 0 Unknown
Raw 1 Raw file system
Fat 2 Fat
Fat32 3 Fat32
Ntfs 4 NTFS
Cdfs 5 CDFS
Udf 6 UDF

To Table of Enums FilterConnective

Specifies the logical operator used to evaluate a set of filters.

Name Value Description
LogicalAnd 0 Evaluates true if all filters evaluate to true.
LogicalOr 1 Evaluates true if any of filters evaluate to true.

To Table of Enums GeneralPrivileges

Grants privileges to perform general actions, such as viewing information in the consoles and cmdlets, and renaming objects. This privilege set is necessary and will be automatically added to all roles without being selected by the administrator.

Name Value Description
None 0 No privileges
ViewInformation 1 View information
ConfigureNamingTemplate 2 Configure naming template
All 3 All General privileges

To Table of Enums HostGroupPrivileges

Grants privileges to perform actions on host groups such as creating, configuring, and deleting host groups, and adding or removing hosts from host groups.

Name Value Description
None 0 No privileges
AddHost 1 Add Host
RemoveHost 2 Remove Host
CreateHostGroup 4 Create Host Group
DeleteHostGroup 8 Delete Host Group
ConfigureHostGroup 16 Configure Host Group
All 31 All Host Group privileges

To Table of Enums KmipPrivileges

Grants privileges to perform actions on witnesses such as creating, configuring, and deleting.

Name Value Description
None 0 No privileges
CreateKmipEndpoint 1 Create kmip endpoint
MergeKmipEndpoint 2 Merge kmip endpoint
DeleteKmipEndpoint 4 Delete kmip endpoint
ConfigureKmipEndpoint 8 Configure kmip endpoint
All 15 All kmip endpoint privileges

To Table of Enums LicensedSqlServerEdition

Licensed Sql Server Edition

Name Value Description
Undefined 0 Undefined
Enterprise 1 Enterprise Edition
Standard 2 Standard Edition
Express 3 Express Edition
Web 4 Web Edition
Developer 5 Developer Edition

To Table of Enums LicensePrivileges

Grants privileges to perform actions on licenses such as generating and importing software licenses.

Name Value Description
None 0 No privileges
ImportLicense 1 Import License
GenerateLicense 2 Generate License
All 3 All License privileges

To Table of Enums LicenseSettingState

License type

Name Value Description
Undefined 0 Undefined
Enabled 1 Licensed
Disabled 2 Not licensed

To Table of Enums LicenseType

License type

Name Value Description
Regular 0 Regular permanent or migration license
Trial 1 Trial license
NFR 2 Demonstration(not for resale) license
Cloud 3 Cloud license
AzurePayGo 4 Azure pay as you go license

To Table of Enums LogExpressionOperators

Log expression operators

Name Value Description
Equals 0 Equals
Greater 1 Greater
GreaterOrEqual 2 Greater or equal
Less 3 Less
LessOrEqual 4 Less or equal
Between 5 Between
In 6 In

To Table of Enums LogicalDiskFailure

Storage Source Failure

Name Value Description
Undefined 0 Undefined - There is no information available.
Healthy 1 Healthy -The status is successful.
NoDiskAccess 2 No Disk Access - A generic failure (all NT warnings and errors)
OutOfMemory 3 Out of memory - 0xC000017 Error code.

To Table of Enums LogicalDiskStatus

Storage source status

Name Value Description
Online 0 Online: The storage source is online.
Offline 1 Offline: The storage source is offline.
NotPresent 2 Not present: The storage source is unavailable.
NotReady 3 Not ready: When HA can not open the handle to the local disk

To Table of Enums LogicalUnitAccess

The type of access allowed to a LUN (mapped disk).

Name Value Description
NoAccess 0 The lun is not visible
ReadOnly 1 Read only access
ReadWrite 3 Read and Write access

To Table of Enums LogicalUnitType

The type of logical unit, mirror or client mapping.

Name Value Description
Mirror 0 Privileged mapping. Always has ReadWrite access set
Client 1 Regular mapping. Can have all access options set
Trunk 2 A one directional mirror mapping used for trunk virtual disks.

To Table of Enums LogLevel

The level of a log messages determines the system's automatic response and who is able to see the message.

Name Value Description
Trace 0 Verbose
Info 1 Information only.
Warning 2 Warning, typically from a monitor
Error 3 Error.
Diagnostic 4 For internal diagnostic purposes.

To Table of Enums LogParameterNames

Parameters for log message sorting or filtering

Name Value Description
Level 0 Log level
Visibility 1 Visibility
HighPriority 2 High priority
SourceCaption 3 Source name
SourceId 4 Source Id
SourceType 5 Source type
MachineId 6 Machine Id
MachineName 7 Machine name
UserId 8 User Id
UserName 9 User name
TimeStamp 10 Creation time
SequenceNumber 11 Sequence number
MessageText 12 Message text

To Table of Enums LogPrefilterCategory

Logging prefilter categories.

Name Value Description
SourceCaption 0 Source caption
SourceId 1 Source Id
SourceType 2 Source type
LogVisibility 3 Log Visibility
LogLevel 4 Log Level

To Table of Enums LogPrivileges

Grants privileges to perform actions on event logs such as acknowledging messages, searching logs, and performing cleanup of logs.

Name Value Description
None 0 No privileges
Acknowledge 1 Acknowledge
Cleanup 2 Cleanup
SetPrefilter 4 Set Prefilter
All 7 All Log privileges

To Table of Enums LogSourceType

Logging source types

Name Value Description
General 0 General
DiskPools 1 Disk pools
Mirrors 2 Mirrors
Monitors 3 Monitors
Paths 4 Paths
PhysicalDisks 5 Physical Disks
Ports 6 Ports
Replications 7 Replications
Rollbacks 8 Rollbacks
Security 9 Security
Snapshots 10 Snapshots
StorageClients 11 Hosts
StorageServers 12 DataCore Servers
Tasks 13 Tasks
VirtualDiskSources 14 Virtual Disk Sources
VirtualDisks 15 Virtual Disks
Support 16 Support
PerfStorage 17 Performance recording
Broadcasting 18 Broadcast manager

To Table of Enums LogStatus

The status of the logging system.

Name Value Description
Operational 0 The logging is in operational status
StoragePaused 1 The storage is paused
StorageFailed 2 Storage failure
QueueFull 4 The logging queue is full
Flooded 8 The logging system is flooded

To Table of Enums LogVisibility

Log visibility types

Name Value Description
Customer 64 Customer
Support 48 Support
Tester 32 Tester
Developer 0 Developer

To Table of Enums MethodActionType

Method actions are SSV operations that can be directly triggered by a task. Each of these operate on a specified SSV object.

Name Value Description
UpdateSnapshot 0 Update spanshot
RevertFromSnapshot 1 Revert from snapshot
UpdateSnapshotGroup 2 Update snapshot group
RevertfromSnapshotGroup 3 Revert from snapshot group
StartReclamation 4 Reclaim space
SendCheckpoint 5 Send a checkpoint marker

To Table of Enums MirrorPathConversionState

The current state of a virtual disk that is toggling trunk mirror mappings.

Name Value Description
NoOperation 0 No current operation
EnablingTrunking 1 The virtual disk is currently in the process of enabling trunk mirror mappings
DisablingTrunking 2 The virtual disk is currently in the process of disabling the trunk mirror mappings.

To Table of Enums MirrorRecoveryPriority

The mirror recovery priority setting in the virtual disk storage profile.

Name Value Description
Unset -1 Unset
Low 0 Low
Regular 1 Regular
High 2 High
Critical 3 Critical

To Table of Enums Mode

Mode types

Name Value Description
Default 0 Default
Enabled 1 Enabled
Disabled 2 Disabled

To Table of Enums MonitorPrivileges

Grants privileges to perform actions on system health monitors such as configuring monitor templates in the cmdlets.

Name Value Description
None 0 No privileges
Reset 1 Reset
Suppress 2 Suppress
Release 4 Release
ConfigureTemplate 8 Configure Template
All 15 All Monitor privileges

To Table of Enums MonitorState

The state of a monitor, indicating what level of alert it is in. The states are assigned specific values that allow them to be compared and to be easily masked with bitmask operators.

Name Value Description
Undefined 1 The monitor is not yet defined.
Healthy 2 Healthy, the monitored object is with specified limits or conditions.
Attention 4 The monitor needs attention, the lowest level of alert.
Warning 8 The monitor is issuing a warning, the medium level of alert.
Critical 16 The monitor is critical, the highest level of alert.
All 31 All the states, for programming convenience.

To Table of Enums NativeVolumeType

Native volume types

Name Value Description
Unknown 0 Unknown volume type
Simple 10 Simple volume
Spanned 11 Spanned - A dynamic volume consisting of disk space on more than one physical disk.
Striped 12 Striped - A volume that stores data in stripes on two or more physical disks.
Mirrored 13 Mirrored - A mirrored volume provides an identical twin of the selected volume.
Parity 14 Parity - A RAID-5 volume dedicates the equivalent of the space of one disk in the RAID-5 volume for storing the parity stripes, but distributes the parity stripes across all the disks in the group. The data and parity information are arranged on the volume so that they are always on different disks.

To Table of Enums NetAddressType

Net address types

Name Value Description
NET_ADDRESS_TYPE_IPV4 1 IPv4
NET_ADDRESS_TYPE_IPV6 2 IPv6
NET_ADDRESS_TYPE_DOMAIN 3 Domain name

To Table of Enums OperationState

Operation state

Name Value Description
Idle 0 Idle
Running 1 Running
Completed 2 Completed
Cancelling 3 Cancelling
Cancelled 4 Cancelled
Failed 5 FailedD

To Table of Enums PartnerControllerPrivileges

Grants privileges to perform actions on replication partners such as adding, configuring, and removing a replication partner.

Name Value Description
None 0 No privileges
ConfigureControllerPartner 1 Configure Controller Partner
AddControllerPartner 2 Add Controller Partner
RemoveControllerPartner 4 Remove Controller Partner
All 7 All Partner Controller privileges

To Table of Enums PartnerState

Partner state

Name Value Description
Offline 0 Unavailable
Online 1 Running
Invalid 2 Running

To Table of Enums PathPolicy

Path policy type

Name Value Description
PreferredServer 0 One or more specified DataCore Servers are prefered.
Symmetrical 1 No specific server is preferred.

To Table of Enums PerfCounterType

The types of performance counters.

Name Value Description
Instantaneous 1 Counters that represent instantaneous values (values which do not add up over time).
Cumulative 2 Counters that represent cumulative values (values which add up over time).
Time 3 Counters that represent times.
Date 4 Counters that represent dates.
Maximum 5 Counters that represent a one-time instantaneous values (values which do not add up over time and reset after each retrieval)
TimePercentage 6 Counters that represent percentage of time.
AverageQueueLength 7 Counter that represents average length of a queue
ConstrainedInstantaneous 8 Counters that represent instantaneous values (values which do not add up over time) which have constraint max value. (like EstimatedDepletionTime counter)

To Table of Enums PerfMonitorTemplateType

Performance monitor templates type

Name Value Description
RisingThresholdPerfMonitor 0 RisingThresholdPerfMonitor
FallingThresholdPerfMonitor 1 The monitor needs attention, the lowest level of alert.
DefaultThresholdPerfMonitor 2 The monitor needs attention, the lowest level of alert.

To Table of Enums PerformanceClass

The performance class setting in the virtual disk storage profile.

Name Value Description
Archive 0 Archive
Low 1 Low
Normal 2 Normal
High 3 High
Critical 4 Critical

To Table of Enums PerformanceRecordingPriviledges

Grants privileges to perform actions on performance recordings such as creating, deleting, updating recording sessions, as well as starting and stopping recording sessions.

Name Value Description
None 0 No privileges
CreateSession 1 Create Session
DeleteSession 2 Delete Session
UpdateSession 4 Update Session
StartSession 8 Start Session
StopSession 16 Stop Session
All 31 All Performance Recording privileges

To Table of Enums PerformanceType

Performance categories types

Name Value Description
Unspecified 0 Unspecified
ScsiPortPerformance 1 Host SCSI ports
ServerScsiPortPerformance 2 Server SCSI ports
PhysicalDiskPerformance 3 Physical disks
LogicalDiskPerformance 4 Pass-through virtual disk sources
PoolLogicalDiskPerformance 5 Pool logical disk performance
StreamLogicalDiskPerformance 6 Pool virtual disk sources
VirtualDiskPerformance 7 Virtual disks
VirtualLogicalUnitPerformance 8 Virtual logical units
VirtualTargetDevicePerformance 9 Virtual target devices
VirtualTargetDomainPerformance 10 Virtual target domains
DiskPoolPerformance 11 Disk pools
MachinePerformance 12 Hosts
ServerMachinePerformance 13 DataCore Servers
ServerGroupPerformance 14 Server groups
SnapshotRelationPerformance 15 Snapshots
PoolMemberPerformance 16 Pool physical disks
ReplicationPerformance 17 Replications
VirtualDiskGroupPerformance 18 Virtual disk groups
RollbackGroupPerformance 19 Rollback groups
SnapshotGroupPerformance 20 Snapshot groups
SharedPhysicalDiskPerformance 21 Shared physical disks
SharedDiskPoolPerformance 22 Shared disk pools
HostGroupPerformance 23 Host groups
MirroringPerformance 24 Mirror relations
DvaPerformance 25 Performance related to DVA objects

To Table of Enums PerfValueType

The type of performance value. Used to determine the display format.

Name Value Description
DataSize 0 A data size value, for example allocated space on a disk.
DateTime 1 A time value.
DataTransfer 2 A rate of data transfer.
TimeSpan 3 A time period.
Percent 4 A percentage
Count 5 A numerical count.

To Table of Enums PhysicalDiskPrivileges

Grants privileges to perform actions on physical disks such as configuring physical disks, making pass-through disks, and releasing disks to the operating system.

Name Value Description
None 0 No privileges
ConfigurePhysicalDisk 1 Configure Physical Disk
ReleasePhysicalDisk 2 Release Physical Disk
MakePassThroughDisk 4 Make Pass Through Disk
All 7 All Physical Disk Privileges

To Table of Enums PhysicalDiskStatus

Physical disk states

Name Value Description
Unknown 0 Unknown
Online 1 Online
NotReady 2 Not Ready
NoMedia 3 No Media
Offline 4 Offline
Failed 5 Failed
Missing 6 Missing

To Table of Enums PoolDiskHeatmapInfoType

The type of point in time data for a pool heatmap.

Name Value Description
NoData 0 Heatmap for a disk was not created yet
Full 1 A full heatmap of the pool disk
Differential 2 A heatmap based on the differences between a previous heatmap and a point in time

To Table of Enums PoolMemberState

The state of a mirrored member's recovery. When a mirror is created or one of the physical disks is replaced, recovery will start, copying the current disk's contents to the new mirror disk.

Name Value Description
Healthy 0 Healthy
OutOfSync 1 Recovery pending
InRecovery 2 In recovery
Removing 3 Removing
Unknown 4 Unknown

To Table of Enums PoolMode

Pool modes

Name Value Description
ReadOnly 0 Read only
ReadWrite 1 Read/Write only
Unkown 2 Unknown

To Table of Enums PoolType

Pool type

Name Value Description
Dynamic 0 Dynamic
Static 1 Static
NonInitialize 2 Non initialize
Unknown 3 Unknown

To Table of Enums PoolVolumeType

Type of pool volume, which is either striped or spanned.

Name Value Description
Striped 0 Striped
Spanned 1 Spanned

To Table of Enums PortalState

iSCSI portal state

Name Value Description
NotStarted 0 Not started
LinkDown 1 Link down
LinkUp 2 Link up
Ready 3 Ready

To Table of Enums PortConnectionType

Fibre channel port connection modes with technical description

Name Value Description
Unknown 0 Unknown
P2P 1 P2P to an N_Port
Loop 2 Private loop
F_Port_P2P 3 P2P to an F_Port
FL_PORT_LOOP 4 Public loop

To Table of Enums PortDataRate

Fibre channel port data rate modes with technical description

Name Value Description
Unknown 0 Unknown
OneGB 1 1 Gb/s
TwoGB 2 2 Gb/s
FourGB 3 4 Gb/s
EightGB 4 8 Gb/s
SixteenGB 5 16 Gb/s
ThirtyTwoGB 6 32 Gb/s
SixtyFourGB 7 64 Gb/s

To Table of Enums PortLocation

Port location type

Name Value Description
Unknown 0 Unknown
Local 1 Local
Remote 2 Remote

To Table of Enums PortPrivileges

Grants privileges to perform actions on Fibre Channel and iSCSI ports such as creating, configuring, and deleting ports, and also configuring authentication and logging in and out of iSCSI ports.

Name Value Description
None 0 No privileges
ConfigurePort 1 Configure Port
CreatePort 2 Create Port
DeletePort 4 Delete Port
Login 8 Login
Logout 16 Logout
ConfigureAuthentication 32 Configure Authentication
All 63 All Port privileges

To Table of Enums PortRole

Server port roles

Name Value Description
None 0 None
Frontend 1 Front-end
Backend 2 Back-end
Mirror 4 Mirror
All 7 None

To Table of Enums PortState

Fibre Channel Port States

Name Value Description
NotInitialized 0 Port in not initialized
NonParticipating 1 Non-Participating
LoopLinkDown 2 Loop/Link down - The communication link is down.
LoopLinkInitialization 3 Loop Initialization - Port is being initialized.
LoginInProgress 4 Login in Progress
LoopLinkUp 5 Loop/Link up - The communication link is up.
InternalError 6 Internal Error Recovery
ShutOff 7 Port shut off

To Table of Enums PortType

Fiber channel port types

Name Value Description
Unidentified 0 Undefined
N_PORT 1 N_PORT - Node port
NL_PORT 2 NL_PORT - Node Loop port
FL_NL_PORT 3 A port that can be configured as either an FL_PORT or an NL_PORT
F_PORT 129 F_PORT - Fabric port
FL_PORT 130 FL_PORT - Fabric Loop port
E_PORT 132 E_PORT - Expansion port

To Table of Enums PowerState

Power state of the server machine

Name Value Description
Unknown 0 Unknown
ACOffline 1 Loss of AC power
ACOnline 2 AC power has been restored
BatteryLow 3 Low battery

To Table of Enums PreferredPathOption

Preferred Back-end Paths types

Name Value Description
NotSet 0 Will not override the volume preferred option
NotPreferred 1 Path is not preferred
Preferred 2 Path is preferred

To Table of Enums PresenceStatus

Presence status type

Name Value Description
Unknown 0 Presence is unknown and cannot be determined.
Present 1 Present
NotPresent 2 Not present

To Table of Enums ProcessorArchitecture

Processor architecture type

Name Value Description
Intel 0 Intel
IA64 6 Intel Itanium Architecture 64bit
AMD64 9 AMD 64bit
Unknown 65535 Unknown architecture

To Table of Enums PublicServicesState

Public services states

Name Value Description
Stopped 0 Stopped
Stopping 1 Stopping
Starting 2 Starting
Started 3 Started

To Table of Enums ReclamationState

Pool reclamation state

Name Value Description
Idle 0 Idle
Pending 1 Pending
Active 2 Active
MirrorStateNeeded 3 Mirror state needed
Error 4294967295 Error

To Table of Enums RecoveryStatus

Recovery status between the two copies of data in a mirrored virtual disk and the recovery.

Name Value Description
NoRecoveryNeeded 0 Undefined - There is no information available.
LogRecoveryNeeded 1 Log recovery needed - The data on one server is not up-to-date and has to be recovered from the other server using a log recovery. This is a temporary status until a mirror path is available so that synchronization can take place.
FullRecoveryNeeded 2 Full recovery needed - The data on one server is not up-to-date and has to be recovered from the other server using a full recovery. This is a temporary status until a mirror path is available so that synchronization can take place.
LogRecoveryPending 3 Log recovery pending - The data on one server is not up-to-date and has to be recovered from the other server using a log recovery. The mirror path has been found and the recovery will begin momentarily.
FullRecoveryPending 4 Full recovery pending - The data on one server is not up-to-date and has to be recovered from the other server using a full recovery. The mirror path has been found and the recovery will begin momentarily.
InLogRecovery 5 In log recovery - The data on one server is currently in log recovery. This is a temporary state. Please wait for recovery to complete.*
InFullRecovery 6 In full recovery - The data on one server is currently in full recovery. This is a temporary state. Please wait for recovery to complete.*
Undefined 7 Undefined - There is no information available.
DoubleFailure 8 Double Failure - Both servers have failed and both storage sources will be inaccessible to the host (host access will not be Read/Write). The source of the failure should be determined and corrected.
InLogRecoveryPaused 9 Log recovery paused - The log recovery has been manually paused and will remain paused until it is manually resumed.
InFullRecoveryPaused 10 Full recovery paused - The full recovery has been manually paused and will remain paused until it is manually resumed.

To Table of Enums RecurrenceType

The type of schedule recurrence.

Name Value Description
OneTime 0 Once at a specified point in time.
TimeInterval 1 Periodically with an fixed interval in hours and minutes.
Daily 2 Every day at a specified time, optionally only on weekdays.
Weekly 3 Weekly at a specified time and day(s).
Monthly 4 Monthly at a specified time and day of the month, optionally a day of a week in the month (third Tuesday, for example).
Yearly 5 Yearly at a specified time and date, optionally a day of a week in a month (first Monday in January, for example).

To Table of Enums ReplicationBackendStatus

The status of a replication's backend operation.

Name Value Description
Unknown 0 Not known.
NA 1 Not available (this is the status of the destination side of a replication).
Normal 2 Normal operation.
InLog 8 In log recovery.

To Table of Enums ReplicationFailure

The error state of an asynchronous replication partnership.

Name Value Description
NoFailure 0 No failure.
UnknownError 1 Unknown error.
Offline 2 Off-line(State Owner - Destination) - May occur if transfer service fails or is disabled, destaging to the standby virtual disk fails, data corruption occurs.
GeneralFailure 3 General failure - Check the Event Log for more information.
InvalidStateTransition 4 Invalid state transition
BothSidesAreStandby 5 Both standby(State Owner - Source or Destination) - Caused by a communications failure. The correct virtual disk must be activated.
BothSidesAreActive 6 Both active(State Owner - Source or Destination) - Caused by a communications failure. The replication must be split and the replication relationship recreated and re-initialized to ensure data integrity.
BufferFolderNotSet 7 Buffer folder not set(State Owner - Source or Destination) - Set the folder
NoReplicationDefinedForPartner 8 No replication defined on partner(State Owner - Source or Destination) - Occurs in the event of a configuration mismatch. This can happen if one server group configuration is reset, or changes in server group configurations are not communicated to the partner server group.
ReplicationConfigurationMismatch 9 Buffer folder not set(State Owner - Source or Destination) - May occur in a remote replication if the service is stopped on one server group and configuration changes are made on the partner, or if the partner is offline and configurations changes occur such as a forced split. Check the partner server.
PartnerNotAvailable 10 Partner not present(State Owner - Destination) - Local server is not available. Check the local server.
LocalServerOffline 11i Local server off-line(State Owner - Source) - Partner server is not available. Check the partner server.
LocalDiskNotReady 12 Local disk not ready, its not in the correct state. It must be healthy
ReplicationDataCorrupted 13 Replication data corrupted
CantWriteToDisk 14 Can't write to the active side of the replication
IncompatibleVersions 15 Incompatible replication data version
BufferFolderNotAccessible 16 Buffer folder not accessible
LoopbackPortsNotPresent 17 Loopback ports not present

To Table of Enums ReplicationInitializationFailure

The failure state of replication initialization.

Name Value Description
NoFailure 0 No error
UnknownFailure 1 Unknown error
FailedToDestageToOfflineBuffer 2 Can't write data to the offline buffer
InvalidOfflineBufferLocation 3 Invalid offline buffer location
CantReadFromOfflineBuffer 4 Can't read data from the offline buffer
CantWriteToDestinationDisk 5 Can't write data to disk
OfflineBufferDataCorrupted 6 Initialization data corrupted
IncompatibleVersions 7 Incompatible replication data version

To Table of Enums ReplicationInitType

How a replication is initialized: offline or online.

Name Value Description
Unknown 0 Unknown
Offline 1 Means offline initialization using a removable media to transport the data from local to remote site.
Online 2 Marks online initialization over TCP/IP.

To Table of Enums ReplicationOfflineInitStatus

The status of an offline initialization.

Name Value Description
NoOfflineInit 0 Non-offline replication
WaitToStartOfflineInit 1 Waiting to start an initialization
DestagingToOfflineBuffer 2 Initializing offline buffer
DestagingFromOfflineBuffer 3 Initializing standby disk
WaitToTransportOfflineBuffer 4 Waiting to initialize standby side

To Table of Enums ReplicationOperation

Replication operation types

Name Value Description
NoOperation 0 No operation
BindOperation 1 Create replication
UnbindOperation 2 Split replication
ActivateOperation 3 Activate Replication
DeactivateOperation 4 Deactivate replication

To Table of Enums ReplicationPrivileges

Grants privileges to perform actions on replications such as creating and deleting replications, configuring initialization type, test mode, and checkpoint snapshots, marking checkpoints, and activating and deactivating replications.

Name Value Description
None 0 No privileges
CreateReplication 1 Create Replication
DeleteReplication 2 Delete Replication
ToggleActivation 4 Toggle Activation
Pause 8 Pause
MarkCheckPoint 16 Mark Check Point
ConfigureSnapshot 32 Configure Snapshot
ConfigureInitializationType 64 Configure Initialization Type
ToggleOfflineInitialization 128 Toggle Offline Initialization
TestMode 256 Test Mode
All 511 All Replication privileges

To Table of Enums ReplicationState

The state of the asynchronous replication.

Name Value Description
Undefined 0 Undefined - The connection with the destination virtual disk is lost and the state is unknown.
InInitialization 1 In Initialization - The source virtual disk is active and initialization is in progress. The source virtual disk is transmitting data to the destination virtual disk. This state is valid only for a destination virtual disk.
Standby 2 Standby - Initialization process has been completed and the standby (destination) virtual disk can be used to failover I/O. Incoming data changes are being monitored and de-staged to the destination virtual disk. Paths to the host are offline.
Activating 3 Activating - A transition state displayed by the standby (destination) virtual disk when it is in the process of being activated, but before the state becomes Active.
Deactivating 4 Deactivating - A transition state displayed by the active (source) virtual disk when it is in the process of deactivating, but before it is in the Standby state. This status indicates that the replication is in the process of reversing the replication direction.
Active 5 Active - The source virtual disk is in normal working condition and front-end paths are online. The data stream is being actively monitored, and writes are buffered before transfer to the standby (destination) virtual disk.
Initializing 6 Initializing - The source virtual disk in process of initializing the destination virtual disk. This state is valid only for the active replication virtual disk.
Deleting 7 Deleting - Means that the replication is in a process of deletion. Note that we have to distinct two different deleting states if we'd like to offer a cancel delete functionality - Deleting a replication that is in initialization and deleting a normal initialized replication (and perhaps delete a failed/broken replication).
Deleted 8 Deleted - Means the replication has been deleted. We don't allow revert here. The user have to create a new replication if he'd like to continue replicating the virtual disk.

To Table of Enums ReplicationTestModeStatus

The status of a replication's test mode

Name Value Description
Disabled 0 Disabled
Active 1 Active
Disabling 2 Disabling
Broken 3 Broken
Unknown 4 Unknown

To Table of Enums ReplicationTransferStatus

The status of an asynchronous replication transfer.

Name Value Description
Unknown 0 Unknown.
Disabled 1 The data transfer is disabled. This state occurs when the transfer is paused.
Enabled 2 The data stream is being monitored for data and transferring as necessary. This is a normal working status.
CommunicationFailed 3 Indicates the communication between the partners is broken.
DestageFailed 4 Indicates that the communication between the partners is OK but we failed to destage files on the target disk.
Pausing 5 The data transfer is being stopped. This state occurs while the pending transfers are being cancelled.
Resuming 6 The data transfer is starting. This status occurs while the pending files are queued for transfer.

To Table of Enums RolePrivileges

Grants privileges to perform actions on user roles such as creating, configuring, and deleting roles.

Name Value Description
None 0 No privileges
ConfigureRole 1 Configure Role
CreateRole 2 Create Role
RemoveRole 4 Remove Role
All 7 All Role privileges

To Table of Enums RollbackPrivileges

Grants privileges to perform actions on rollbacks such as creating, reverting, splitting, and deleting rollbacks.

Name Value Description
None 0 No privileges
CreateRollback 1 Create Rollback
DeleteRollback 2 Delete Rollback
SplitRollback 4 Split Rollback
RevertRollback 8 Revert Rollback
ConfigureRollback 16 Configure Rollback
All 32 All Rollback Privileges

To Table of Enums RollbackRelationState

The state of the rollback relation.

Name Value Description
Unknown 0 The rollback operation state is unknown.
Failed 1 There is a problem with the rollback operation.
Active 2 The rollback is in normal working condition.
Expired 3 This status only applies to a rollback that expires, not a persistent rollback.
Splitting 4 The rollback is currently being transformed to a fully usable virtual disk. When splitting completes the rollback will exist and operate independently of the protected virtual disk.
Reverting 5 The rollback is currently being used to restore the rollback image to the protected virtual disk.

To Table of Enums ScriptActionType

The type of script, general or PowerShell.

Name Value Description
General 0 General
PowerShell 1 Powershell

To Table of Enums ScsiMode

SCSI mode types

Name Value Description
NonScsi 0 Non SCSI
Initiator 1 Initiator
Target 2 Target
InitiatorTarget 3 Initiator-Target
Unknown 4 Unknown

To Table of Enums ScsiPortType

SCSI port type

Name Value Description
Unknown 0 Unknown
SCSI 1 SCSI
FibreChannel 2 Fibre Channel
iSCSI 3 iSCSI
Loopback 4 Loopback port

To Table of Enums ServerMachineGroupPrivileges

Grants privileges to perform actions on server groups such as configuring server groups, creating support bundles, setting SMTP settings and email notifications.

Name Value Description
None 0 No privileges
ConfigureServerGroup 1 Configure Server Group
SetupEmailNotification 2 Setup Email Notification
SetSmtpSettings 4 Set Smtp Settings
TransferSupportBundle 8 Transfer Support Bundle
SetSyslogSettings 16 Set Syslog Settings
All 31 All Server Machine Group privileges

To Table of Enums ServerMachinePrivileges

Grants privileges to users to perform actions on DataCore Servers such as adding or removing servers from a server group, configuring servers, and rescanning ports, and backing up configurations.

Name Value Description
None 0 No privileges
CreateServer 1 Create Server
DeleteServer 2 Delete Server
AddServer 4 Add Server
RemoveServer 8 Remove Server
ConfigureServer 16 Configure Server
RescanDisks 32 Rescan Disks
PreserveConfiguration 64 Preserve Configuration
All 127 All Server Machine privileges

To Table of Enums ServerProductType

Server product types

Name Value Description
Unknown 0 Unknown
SANsymphony 0 SANsymphony
ParallelServer 1 Parallel Server
VirtualSAN 2 Virtual SAN

To Table of Enums ServerState

The state of the server

Name Value Description
NotPresent 0 Not present
Offline 1 Offline
Online 2 Online
Failed 3 Failed

To Table of Enums SessionState

iSCSI Session States

Name Value Description
Free 0 Free - Target is discovered, but not logged in.
Active 0 Active
LoggedIn 0 Logged in - Connection is active and logged in.
Failed 0 Failed
InContinue 0 Connecting...
NoTarget 0 No target
Reconnecting 0 Reconnecting - Currently trying to re-establish the connection.

To Table of Enums SnapshotFailure

Snapshot failure codes.

Name Value Description
NoFailure 0 No failure
Failed 1 A general failure has occurred with an active snapshot.
FailedWritingSource 2 A failure has occurred when trying to write to the source virtual disk.
FailedWritingDestination 3 A failure has occurred when trying to write to the snapshot virtual disk.
FailedReadingSource 4 A failure has occurred when trying to read from the source virtual disk.
FailedReadingDestination 5 A failure has occurred when trying to read from the snapshot virtual disk.
FailedReadingMapstore 6 A failure has occurred when trying to read from the repository of snapshot maps (failed activation).
NotAccessible 7 The snapshot is temporarily unavailable while the source is in a failed redundancy state.
NotPresent 8 The snapshot exists in the configuration, but actions cannot be performed.
NoMemory 9 Available memory was insufficient to perform the snapshot operation.
ShutdownDirty 10 Server has recovered from an unexpected shutdown without saving the snapshot. Differential snapshots will be failed.
BadMapstoreData 11 Failed restoration when performing snapshot operation

To Table of Enums SnapshotOperation

Snapshot operations, including snap, resnap and revert.

Name Value Description
NoOperation 0 Idle
Snap 1 Cloning
Resnap 2 Cloning
Revert 3 Reverting
Abort 4 Aborting
Delete 5 Deleting

To Table of Enums SnapshotPrivileges

Grants privileges to perform actions on snapshots such as creating, configuring, reverting, and deleting snapshots as well as designating mapstores.

Name Value Description
None 0 No privileges
CreateSnapshot 1 Create Snapshot
ConfigureSnapshot 2 Configure Snapshot
RevertSnapshot 4 Revert Snapshot
DeleteSnapshot 8 Delete Snapshot
DesignateMapstore 16 Designate Mapstore
All 15 All Snapshot privileges

To Table of Enums SnapshotRelationState

The state of the snapshot relationship

Name Value Description
NotPresent 0 Not Present - The snapshot exists in the configuration, but actions cannot be performed. This status could appear if a server has missing back-end physical disks; specifically, if the mapstore source or destination storage sources are unavailable.
Healthy 1 Healthy - The snapshot is in a healthy state.
Migrated 2 Migrated - Means Healthy as well
Stopped 3 Stopped - The snapshot is in stopped state. The server on which the snapshot is taken is deactivated or not active.
Creating 4 Creating - This state occurs when a differential snapshot is created or updated.
Deleting 5 Deleting - The snapshot is in the process of being deleted.
Deleted 6 Deleted - The snapshot is deleted.
Aborted 7 Aborted - Either the Promote to Full or Update Source snapshot operation has been aborted.
Failed 8 Failed - A general failure has occurred with an active snapshot.
Offline 9 Offline - Either the source virtual disk or the snapshot is offline or disabled.
RemoveRequested 10 RemoveRequested - The snapshot can now be removed.

To Table of Enums SnapshotType

The type of snapshot.

Name Value Description
Differential 0 A differential snapshot keeps copies of those disk blocks that have been written so that the destination disk can be synthesized from the unchanged blocks on the source and the copies of the changed blocks.
Full 1 A full snapshot is a complete copy of all blocks at the time of the snap and stands on its own as a complete image.

To Table of Enums StorageBusType

Storage bus types

Name Value Description
Unknown 0 Unknown
Scsi 1 SCSI
Atapi 2 ATAPI
Ata 3 ATA
Type1394 4 IEEE 1394
Ssa 5 SSA
Fibre 6 Fibre Channel
Usb 7 USB
RAID 8 RAID
iScsi 9 iSCSI
Sas 10 SAS
Sata 11 SATA
Sd 12 SD
Mmc 13 MMC
Virtual 14 Virtual
FileBackedVirtual 15 FileBackedVirtual
Spaces 16 Spaces
Max 17 Max
MaxReserved 127 MaxReserved

To Table of Enums StorageHandleType

Storage type

Name Value Description
Unknown 0 Unknown
NativeVolume 1 Disk pool
PoolVolume 2 Disk pool
PassThroughDisk 3 Pass-through disk
MirrorDisk 4 Mirror Disk
StreamDisk 5 Stream disk
NullDisk 6 Null disk - this indicates that the logical disk does not really exist, and it is really used as a link

To Table of Enums StorageProfilePrivileges

Grants privileges to perform actions on storage profiles such as creating, configuring, and deleting storage profiles.

Name Value Description
None 0 No privileges
ConfigureProfile 1 Configure Profile
CreateProfile 2 Create Profile
DeleteProfile 4 Delete Profile
All 7 All Storage Profile privileges

To Table of Enums StreamState

CDP state types

Name Value Description
NotPresent 0 Not Present: not a stream, not used by CDP.
Unknown 1 Unknown: The CDP history log is always in unknown stream state.
Failed 2 Failed: temporary failure, for example when out of space.
Broken 3 Broken: driver and core disagree about how this disk is used by CDP (should not happen).
Active 4 Active: CDP enabled and operational, set on the base disk.
Deactivating 5 Deactivating: When CDP is disabled, the entire log is destaged. During this destaging the base disk state is disabled.
BeingReverted 6 BeingReverted: During the process of reversion, the base disk of the source is in this state.

To Table of Enums SubscriberContext

Provides the context for the service connection. This includes by default the current machine name, the current process id and optionally a user-supplied subscriber name.

Name Value Description
MachineName The name of the machine. Gets or sets the name of the machine the subscribing client it running on.
ProcessId The process id. Gets or sets the process id of the subscribing client.
SubscriberName The name of the subscriber. Gets or sets the name of the subscriber, an optional user-supplied string, blank by default.
Current The current subscriber context. Gets or sets the current subscriber context, allowing all fields to be set explicitly.

To Table of Enums SupportBundleType

Support bundle type

Name Value Description
CrashDump 0 Crash dump collects the memory dump at crash time
Mini 1 Mini bundle collects configuration, memory, and hot fix information.
Full 2 Full bundle collects complete files pertaining to configuration and system information, event logs driver dumps, hot fix information, dump file, historical performance recordings, and replication checkpoint markers.
Standard 3 Standard bundle collects more recent file information pertaining to configuration and system, logs, drivers, hot fix information, dump file, historical performance recordings, and replication checkpoint markers. This is the default bundle type.

To Table of Enums SupportServiceState

Support State types

Name Value Description
NotPresent 0 Unavailable - A support bundle cannot be collected and uploaded.
Idle 1 Idle - There is no support bundle collection or upload in progress.
Collecting 2 Collecting... - Files for support bundle are being collected.
Sending 3 Sending... - Support bundle files are being uploaded to DataCore Technical Support.
Cancelling 4 Cancelling - This is a transient state lasting until the Cancel operation is complete.
Preserving 5 Preserving configuration
CommunicationInterrupted 6 Sending(Communication failed)" - Trying to send a support bundle, but is prevented due to a communications problem, possibly because a firewall is blocking access or the network connection failed between the server group and the support bundle destination, which may be a Support Bundle Relay Server if configured.

To Table of Enums TaskActionState

The state of the action.

Name Value Description
Idle 0 The action is idle
Executing 1 The action is executing
Aborting 2 The action is aborting

To Table of Enums TaskActionType

The type of action.

Name Value Description
RunScript 0 The run a general script (.bat file) or a powershell script.
InvokeMethod 1 Perform an action on an object
LogMessage 2 Posts a message on the event log form
SendNotification 3 Sends an email to a specific recipient

To Table of Enums TaskPrivileges

Grants privileges to perform actions on tasks such as creating, configuring, deleting, aborting, and running tasks. In addition, this privilege group also allows creating, configuring, and deleting triggers and actions for tasks.

Name Value Description
None 0 No privileges
ConfigureTask 1 Configure Task
CreateTask 2 Create Task
RemoveTask 4 Remove Task
RunTask 8 Run Task
AbortTask 16 Abort Task
ConfigureTrigger 32 Configure Trigger
CreateTrigger 64 Create Trigger
RemoveTrigger 128 Remove Trigger
ConfigureAction 256 Configure Action
CreateAction 512 Create Action
RemoveAction 1024 Remove Action
All 2047 All Task privileges

To Table of Enums TaskState

The execution state of the task.

Name Value Description
Idle 0 The task is idle.
Running 1 The task is running.
Aborting 2 The task is aborting.

To Table of Enums TaskTriggerType

The type of task trigger.

Name Value Description
ScheduledTrigger 0 Triggered on a scheduled time basis.
MonitorTrigger 1 Triggered when a configured monitor event occurs. For example when a monitored value exceeds a threshold.
MessageTrigger 2 Triggered when a message is received which matches various configured conditions.
CheckpointTrigger 3 Triggered when a replication checkpoint is received.

To Table of Enums TriggerConnective

How two triggers are evaluated

Name Value Description
LogicalAnd 0 Triggers are ANDed, both triggers must be true.
LogicalOr 1 Triggers are ORed, either triggers can be true.

To Table of Enums UserPrivileges

Grants privileges to perform actions on user accounts such as creating, configuring, and deleting user accounts, assigning roles to users, and assigning and removing virtual disk ownership.

Name Value Description
None 0 No privileges
ConfigureUser 1 Configure User
CreateUser 2 Create User
DeleteUser 4 Delete User
AssignRole 8 Assign Role
DeassignRole 16 Deassign Role
AssignIdentifiable 32 Assign Identifiable
UnassignIdentifiable 64 Unassign Identifiable
All 127 All User privileges

To Table of Enums VimDataCoreDiskSettingsChanged

Properties that need to be updated for a VimDataCoreDisk

Name Value Description
None 0 None
MultiPathPolicy 1 MultiPathPolicy
ScsiLunName 2 ScsiLunName
CreateDataStore 4 CreateDataStore
RescanDataStore 8 RescanDataStore

To Table of Enums VimHostState

ESX host state from vCenter

Name Value Description
Unknown -1 Unknown
Connected 0 Connected
Disconnected 1 Disconnected
NotResponding 2 Not Responding

To Table of Enums VimMultipathPolicy

VMware path selection policy types

Name Value Description
MostRecentlyUsed 0 Most Recently Used - he host selects the path that it used most recently. When the path becomes unavailable, the host selects an alternative path. The host does not revert back to the original path when that path becomes available again. There is no preferred path setting with the MRU policy. MRU is the default policy for most active-passive storage devices.
RoundRobin 1 Round Robin - The host uses an automatic path selection algorithm rotating through all active paths when connecting to active-passive arrays, or through all available paths when connecting to active-active arrays. RR is the default for a number of arrays and can be used with both active-active and active-passive arrays to implement load balancing across paths for different LUNs.
Fixed 2 Fixed - The host uses the designated preferred path, if it has been configured. Otherwise, it selects the first working path discovered at system boot time. If you want the host to use a particular preferred path, specify it manually. Fixed is the default policy for most active-active storage devices.
FixedAP 3 FixedAP - Versions of ESX prior to 5.0 support a Fixed AP

To Table of Enums VimServiceClientState

VMware host client state

Name Value Description
NotConnected 0 Disconnected
Connecting 1 Connecting...
Connected 2 Connected (not synched)
WaitingForFirstUpdate 3 Connected (synching...)
WaitingForUpdates 4 Connected

To Table of Enums VimVirtualMachineState

VMWare virtual machine state from vCenter

Name Value Description
Unknown -1 Unknown
PoweredOff 0 Powered off
PoweredOn 1 Powered on
Suspended 2 Suspended

To Table of Enums VirtualDiskGroupPrivileges

Grants privileges to perform actions on virtual disk groups such as creating, configuring, deleting virtual disk groups, as well as adding or removing virtual disks from groups.

Name Value Description
None 0 No privileges
CreateVirtualDiskGroup 1 Create Virtual Disk Group
DeleteVirtualDiskGroup 2 Delete Virtual Disk Group
AddVirtualDisk 4 Add Virtual Disk
RemoveVirtualDisk 8 Remove Virtual Disk
ConfigureVirtualDiskGroup 16 Configure Virtual Disk Group
All 31 All Virtual Disk Group privileges

To Table of Enums VirtualDiskGroupType

Virtual disk group type

Name Value Description
VirtualDiskGroup 0 Virtual disk group
SnapshotGroup 1 Snapshot group
RollbackGroup 2 Rollback group

To Table of Enums VirtualDiskPrivileges

Grants privileges to perform actions on virtual disks such as creating, configuring, deleting, serving, unserving, and splitting virtual disks. This also includes other actions such as forcing a virtual disk online, pausing and resuming mirror recovery. This privilege group does not include actions on snapshots or rollbacks.

Name Value Description
None 0 No privileges
CreateVirtualDisk 1 Create Virtual Disk
DeleteVirtualDisk 2 Delete Virtual Disk
BindLogicalDisk 4 Bind Logical Disk
UnbindLogicalDisk 8 Unbind Logical Disk
ServeVirtualDisk 16 Serve Virtual Disk
UnserveVirtualDisk 32 Unserve Virtual Disk
Split 64 Split
ConfigureVirtualDisk 128 Configure Virtual Disk
All 255 All Virtual Disk privileges

To Table of Enums VirtualDiskPurgeActions

The necessary actions before the disk can be purged size of the VD

Name Value Description
None 0 None
SplitOrDeleteSnapshots 1 Split the snapshots or delete all snapshots of the virtual disk
SplitOrDeleteAsSnapshot 2 Split the snapshot or delete the snapshot
DeleteCdpDisk 4 Delete the data-protected virtual disk
SplitMirrorAndDeleteCdpDisk 8 Split and unserve the mirrored data-protected virtual disk and then delete the virtual disk with the affected storage source.
SplitReplication 16 Split the replication of virtual disk
DeleteRollback 32 Delete rollback
SplitFailedMirror 64 Split and unserve the unhealthy mirrored virtual disk
SplitMirrorOrPowerOnParner 128 Start the DataCore server or split and unserve the mirrored virtual disk
DeleteSequentialStorageDisk 256 Delete the Sequential Storage enabled virtual disk
SplitMirrorAndDeleteSequentialStorageDisk 512 Split and unserve the mirrored Sequential Storage enabled virtual disk and then delete the virtual disk with the affected storage source
NoteSplitSnapshotsBeforeDelete 1024 It may be possible to preserve data in full snapshots by splitting them before deleting the virtual disk

To Table of Enums VirtualDiskStatus

Virtual disk status

Name Value Description
Online 0 Online : Virtual disk is online and operating normally.
Offline 1 Offline : Virtual disk is offline and unavailable.
FailedRedundancy 2 Failed Redundancy : One storage source in a mirrored virtual disk is unavailable for mirroring.
Failed 3 Failed : All storage sources in the virtual disk are unavailable and cannot be accessed.
Unknown 4 Unknown: Virtual disk status is unknown and cannot be determined.

To Table of Enums VirtualDiskSubType

Virtual disk subtype

Name Value Description
Standard 0 The standard virtual disk type.
ProtocolEndpoint 1 A virtual disk used as a Protocol Endpoint.
VVOL 2 A virtual disk used as a VVOL which will be bound to a Protocol Endpoint.
Trunk 3 An internal virtual disk used as a Trunk which directs mirror traffic.

To Table of Enums VirtualDiskTemplatePrivileges

Grants privileges to perform actions on virtual disk templates such as creating, configuring, and deleting virtual disk templates.

Name Value Description
None 0 No privileges
CreateTemplate 1 Create Template
MergeTemplate 2 Merge Template
DeleteTemplate 4 Delete Template
ConfigureTemplate 8 Configure Template
All 15 All Virtual Disk Template privileges

To Table of Enums VirtualDiskType

Virtual disk type

Name Value Description
NonMirrored 0 Single (non-mirrored) virtual disk created from a single storage source.
MultiPathMirrored 2 Mirrored virtual disk created from two server storage sources.
Dual 3 Dual virtual disk created from a single storage source shared by two servers.

To Table of Enums VmIdMode

Fibre channel VM ID Modes with technical description

Name Value Description
None 0 None
Brocade 1 Brocade Switches
Cisco 2 Cisco Switches
All 3 All Switches

To Table of Enums VolumeStatus

State of native volume in the disk in disk management

Name Value Description
Unknown 0 Unknown
Online 1 Online
NoMedia 3 No media
Offline 4 Offline
Failed 5 Failed

To Table of Enums WeekdayFlags

A flag enumeration of the days of the week.

Name Value Description
Monday 1 Monday
Tuesday 2 Tuesday
Wednesday 4 Wednesday
Thursday 8 Thursday
Friday 16 Friday
Saturday 32 Saturday
Sunday 64 Sunday

To Table of Enums WitnessPrivileges

Grants privileges to perform actions on witnesses such as creating, configuring, and deleting.

Name Value Description
None 0 No privileges
CreateWitness 1 Create witness
MergeWitness 2 Merge witness
DeleteWitness 4 Delete witness
ConfigureWitness 8 Configure witness
All 15 All witness privileges