Difference between revisions of "+ Developer Guide Overview"

From OSNEXUS Online Documentation Site
Jump to: navigation, search
m
m (Archived Versions)
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
= QuantaStor REST API =  
+
[[Category:dev_guide]]
 
+
== Overview ==
QuantaStor was designed from the start with REST APIs to enable development of applications and extensions to remotely manage QuantaStor storage systems.   
+
QuantaStor was designed from the start with a service oriented architecture so that all aspects of system, cluster, and storage grid configuration may be automated.  There are multiple ways to automate QuantaStor management operations including the REST API, CLI, Ansible modules, and SOAP.  The Developer Guide focuses on integration with QuantaStor via the REST APIs.   
  
 
== Supported Languages ==
 
== Supported Languages ==
Line 176: Line 176:
  
 
As indicated above, sometimes you'll want to call an API asynchronously so that you can monitor the progress of the task and/or because you want to queue up multiple operations to run simultaneously.  In such cases where you call an API asynchronously (flags=1) you can monitor the progress of the task using the tastGet API or the tastEnum API if you want to see all running tasks.  When the task is completed you can check the customId property to see the ID(s) of the objects created/modified.
 
As indicated above, sometimes you'll want to call an API asynchronously so that you can monitor the progress of the task and/or because you want to queue up multiple operations to run simultaneously.  In such cases where you call an API asynchronously (flags=1) you can monitor the progress of the task using the tastGet API or the tastEnum API if you want to see all running tasks.  When the task is completed you can check the customId property to see the ID(s) of the objects created/modified.
 +
 +
== API Error Code Definitions ==
 +
 +
For all APIs a 0 is returned for SUCCESS and a non-zero error code is returned if there is a command failure along with a description of the error.  Full list of error codes are available [[Error Codes | here]].
  
 
== Security ==
 
== Security ==
Line 235: Line 239:
 
</pre>
 
</pre>
  
 +
== QuantaStor [[REST API Reference Guide]] ==
 +
All efforts are made to keep existing REST API from changing but on rare occasions API changes to existing APIs and objects may change.  As such the following sections document the APIs as per a specific released version of QuantaStor.  New versions of QuantaStor generally introduce some new APIs and object types but these are added in a backwards compatible fashion.
  
__TOC__
+
[[REST API Reference Guide|Current Version]]
  
=== aclAdd API ===
+
=== Archived Versions ===
Enables access to the specific volume for a specific user.
+
  
==== Argument List ====
+
Note, QS v4.1 and newer maintains compatibility with the previous versions of the REST API with some minor changes to optimize the storageVolume and networkShare objects to contain a snapshot ID list rather than the complete set of all snapshot objects with all their properties.  Scripts using the old mode will need to be updated to use the snapshot ID to query for additional share/volume snapshot information if required.
  
<code>
+
[[QuantaStor REST API Reference v5.2 ]]
    ownerId: <string>
+
    ownerType: <unsignedInt>
+
    objectId: <string>
+
    objectType: <unsignedInt>
+
    accessLevel: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
  
=== aclModify API ===
+
[[QuantaStor REST API Reference v4.2, v4.1]]
Modifies the current acl assignment.
+
  
==== Argument List ====
+
[[QuantaStor REST API Reference v4.0 and earlier]]
 
+
<code>
+
    ownerId: <string>
+
    ownerType: <unsignedInt>
+
    objectId: <string>
+
    objectType: <unsignedInt>
+
    accessLevel: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== aclRemove API ===
+
Removes the acl assignment.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    ownerId: <string>
+
    ownerType: <unsignedInt>
+
    objectId: <string>
+
    objectType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== activeDirectoryUserAndGroupEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystemId: <string>
+
    networkShareId: <string>
+
    groupFilter: <string>
+
    userFilter: <string>
+
    refreshCache: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertClear API ===
+
Deletes the alert with the specified ID.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertClearAll API ===
+
Clears all the alerts.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertConfigGet API ===
+
Alert configuration settings indicate where alert notifications should be sent.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertConfigSet API ===
+
Sets the alert configuration settings such as the administrator email address.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    senderEmailAddress: <string>
+
    smtpServerIpAddress: <string>
+
    smtpUsername: <string>
+
    smtpPassword: <string>
+
    smtpAuthType: <unsignedInt>
+
    customerSupportEmailAddress: <string>
+
    poolFreeSpaceWarningThreshold: <unsignedInt>
+
    poolFreeSpaceAlertThreshold: <unsignedInt>
+
    poolFreeSpaceCriticalAlertThreshold: <unsignedInt>
+
    pagerDutyServiceKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertEnum API ===
+
Returns a list of all the alerts.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertGet API ===
+
Gets information about a specific alert.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== alertRaise API ===
+
Allows one to raise a user generated alert for testing the SMTP server configuration settings.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    message: <string>
+
    severity: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== auditLogClear API ===
+
Clears the audit log.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== auditLogDisable API ===
+
Disables the audit log
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== auditLogEnable API ===
+
Enables the audit log.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== auditLogGet API ===
+
Get an entry from the audit log.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    startDate: <dateTime>
+
    endDate: <dateTime>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupJobCancel API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupJob: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupJobEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupJobGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupJob: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupJobStart API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupJobStatusUpdate API ===
+
 
+
==== Argument List ====
+
<code>
+
    statusXml: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    networkShareId: <string>
+
    remoteHostname: <string>
+
    remoteExportPath: <string>
+
    remoteMountType: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    retentionCriteria: <unsignedInt>
+
    startDate: <dateTime>
+
    policyType: <unsignedInt>
+
    scanThreads: <unsignedInt>
+
    retentionDays: <unsignedInt>
+
    purgePolicy: <unsignedInt>
+
    createBackupLogs: <boolean>
+
    backupToShareRoot: <boolean>
+
    setEnabled: <boolean>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyDisable API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyEnable API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    name: <string>
+
    description: <string>
+
    networkShareId: <string>
+
    remoteHostname: <string>
+
    remoteExportPath: <string>
+
    remoteMountType: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    retentionCriteria: <unsignedInt>
+
    startDate: <dateTime>
+
    policyType: <unsignedInt>
+
    scanThreads: <unsignedInt>
+
    retentionDays: <unsignedInt>
+
    purgePolicy: <unsignedInt>
+
    createBackupLogs: <boolean>
+
    backupToShareRoot: <boolean>
+
    setEnabled: <boolean>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== backupPolicyTrigger API ===
+
 
+
==== Argument List ====
+
<code>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    cephPoolId: <string>
+
    size: <unsignedLong>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephBlockDevice: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephBlockDevice: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephBlockDevice: <string>
+
    name: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceResize API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephBlockDevice: <string>
+
    size: <unsignedLong>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephBlockDeviceSnapshot API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephBlockDevice: <string>
+
    snapshotName: <string>
+
    snapshotDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephClusterEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephClusterGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephCluster: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephHaFailoverInterfaceEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephHaFailoverInterfaceGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPoolId: <string>
+
    failoverInterfaceId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephMonitorEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephMonitorGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephMonitor: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephOsdCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    cephClusterId: <string>
+
    storagePoolId: <string>
+
    weight: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephOsdDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephOsd: <string>
+
    deleteData: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephOsdEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephOsdGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephOsd: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    placementGroupCount: <unsignedInt>
+
    maxReplicaCount: <unsignedInt>
+
    minReplicaCount: <unsignedInt>
+
    cephPoolType: <string>
+
    storagePoolList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPool: <string>
+
    name: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolOsdAssocEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cephPoolOsdAssocGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    cephPool: <string>
+
    cephOsd: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleAssocEnum API ===
+
List the cloud backup schedule associations.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleAssocGet API ===
+
Get a cloud backup schedule association.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    scheduleId: <string>
+
    storageVolumeId: <string>
+
</code>
+
 
+
=== cloudBackupScheduleCreate API ===
+
Creates a new schedule to automate backups to a cloud backup container.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    cloudContainerId: <string>
+
    priority: <unsignedInt>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxBackups: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleDelete API ===
+
Deletes the specified cloud backup schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleDisable API ===
+
Disables a cloud backup schedule so that it does not trigger backups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleEnable API ===
+
Enables a cloud backup schedule that was previously disabled.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleEnum API ===
+
Lists all the cloud backup schedules in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleGet API ===
+
Gets detailed information about a specific cloud backup schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleModify API ===
+
Modifies the settings for the specified cloud backup schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    name: <string>
+
    description: <string>
+
    cloudContainerId: <string>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxBackups: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleTrigger API ===
+
 
+
==== Argument List ====
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudBackupScheduleVolumeAddRemove API ===
+
Add/Remove storage volumes to an existing cloud backup schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerAdd API ===
+
Recovers a cloud backup container that was previously removed or used with a prior installation.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    credentialsId: <string>
+
    locationId: <string>
+
    encryptionKey: <string>
+
    storageUrl: <string>
+
    enableNfs: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerCreate API ===
+
Creates a cloud backup container into which cloud backups of storage volumes can be made.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    credentialsId: <string>
+
    locationId: <string>
+
    encryptionKey: <string>
+
    storageUrl: <string>
+
    enableNfs: <boolean>
+
    attachToStorageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerDelete API ===
+
Deletes the specified cloud backup container. WARNING, all data in the container will be destroyed.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerDisable API ===
+
Disables access to the specified cloud container without having to remove it.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerEnable API ===
+
Enables a cloud container that was previously disabled or was inaccessible due to network connection issues.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    attachToStorageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerEnum API ===
+
Returns a list of cloud backup containers in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerGet API ===
+
Returns detailed information on a specific cloud backup container.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerModify API ===
+
Modifies the specified cloud backup container settings.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    name: <string>
+
    description: <string>
+
    encryptionKey: <string>
+
    enableNfs: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerRemove API ===
+
Removes the specified cloud backup container from the system but does not delete any backup data in the cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudContainerRepair API ===
+
Repairs the specified cloud backup container.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    container: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderCredentialsAdd API ===
+
Adds cloud provider credentials to enable cloud backup to cloud backup containers.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    username: <string>
+
    password: <string>
+
    providerId: <string>
+
    machine: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderCredentialsEnum API ===
+
Returns a list of all the cloud provider credentials in the system. Passwords are masked.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderCredentialsGet API ===
+
Returns information about the specified cloud provider credential.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    credentialId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderCredentialsRemove API ===
+
Removes the specified cloud provider credentials
+
 
+
==== Argument List ====
+
 
+
<code>
+
    credentialsId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderEnum API ===
+
Returns the list of supported cloud providers.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderGet API ===
+
Returns detailed information about the specified cloud provider.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    providerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderLocationAdd API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    providerId: <string>
+
    locationTag: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderLocationEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderLocationGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    locationId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== cloudProviderLocationRemove API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    locationId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupActivate API ===
+
Activate the cluster fail over group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    clusterFailoverGroup: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupCreate API ===
+
Creates a new management grid.  A given storage system can only be a member of one grid at a time.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemCluster: <string>
+
    name: <string>
+
    description: <string>
+
    storagePool: <string>
+
    zoneConfig: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupDelete API ===
+
Deletes the management grid.  After the grid is deleted each node in the grid operates independently again.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    clusterFailoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupEnum API ===
+
Returns a list of all the managed storage system nodes in the grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupGet API ===
+
Get general information about the storage system management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    clusterFailoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== clusterFailoverGroupModify API ===
+
Modify the management grid properties.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    clusterFailoverGroup: <string>
+
    name: <string>
+
    description: <string>
+
    storagePool: <string>
+
    zoneConfig: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== customApi API ===
+
 
+
==== Argument List ====
+
<code>
+
    method: <string>
+
    params: <keyValuePair[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== echo API ===
+
Test method which pings the server with a simple string
+
 
+
==== Argument List ====
+
 
+
<code>
+
    inputMessage: <string>
+
</code>
+
 
+
=== eventEnum API ===
+
Returns a list of all the internal events in the event queue (used for service monitoring).
+
 
+
==== Argument List ====
+
 
+
<code>
+
    startingIndex: <unsignedInt>
+
    maxEvents: <unsignedInt>
+
    serviceTimeStamp: <dateTime>
+
</code>
+
 
+
=== eventListenerNotify API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    list: <event[]>
+
</code>
+
 
+
=== eventListenerRegister API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    eventListenerObj: <eventListener>
+
</code>
+
 
+
=== eventListenerUnregister API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    listenerId: <string>
+
</code>
+
 
+
=== fcTargetPortDisable API ===
+
Disables the specified fiber channel port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== fcTargetPortEnable API ===
+
Enables the specified fiber channel port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== fcTargetPortEnum API ===
+
Returns a list of all the fiber channel target ports in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== fcTargetPortGet API ===
+
Returns information about the specified fiber channel target port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== getHardwareConfig API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== getLocalizedMessage API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    locale: <string>
+
    i18nStr: <i18nString>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== getSecurityConfig API ===
+
Gets the complete security profile for the service.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== getSystemConfig API ===
+
Gets the storage systems configuration.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterBrickCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterBrickDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterBrick: <string>
+
    deleteData: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterBrickEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterBrickGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterBrick: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterHaFailoverInterfaceCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolumeId: <string>
+
    primaryStorageSystemId: <string>
+
    secondaryStorageSystemId: <string>
+
    failoverPolicy: <unsignedInt>
+
    tag: <string>
+
    parentInterfaceName: <string>
+
    description: <string>
+
    ipAddress: <string>
+
    gateway: <string>
+
    subnetMask: <string>
+
    macAddress: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterHaFailoverInterfaceDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolumeId: <string>
+
    failoverInterfaceId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterHaFailoverInterfaceEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterHaFailoverInterfaceGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolumeId: <string>
+
    failoverInterfaceId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterHaFailoverInterfaceMove API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolumeId: <string>
+
    failoverInterfaceId: <string>
+
    moveToStorageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterPeerDetach API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterPeer: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterPeerEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterPeerGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterPeer: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterPeerProbe API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystem: <string>
+
    hostname: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterServiceRestart API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeAddBricks API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    storagePoolList: <string[]>
+
    restripeVolume: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    storagePoolList: <string[]>
+
    replicaCount: <unsignedInt>
+
    stripeVolume: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    name: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeRebalance API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    option: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeReplaceBrick API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    oldBrick: <string>
+
    newBrick: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeStart API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== glusterVolumeStop API ===
+
 
+
==== Argument List ====
+
<code>
+
    glusterVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostAdd API ===
+
Adds the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hostname: <string>
+
    ipAddress: <string>
+
    username: <string>
+
    password: <string>
+
    hostType: <unsignedInt>
+
    description: <string>
+
    iqn: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostEnum API ===
+
Returns a list of all the hosts.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGet API ===
+
Gets information about a specific host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupCreate API ===
+
Creates a new host group with the specified name.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    hostList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupDelete API ===
+
Removes the specified host group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    deleteAssociatedHosts: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupEnum API ===
+
Returns a list of all the host groups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupGet API ===
+
Gets information about a specific host group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hostGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupHostAddRemove API ===
+
Adds/Removes a host to the specified host group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hostGroup: <string>
+
    modType: <unsignedInt>
+
    hostList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostGroupModify API ===
+
Modifies the properties of a host group such as its name and/or description.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hostGroup: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostInitiatorAdd API ===
+
Adds an additional iSCSI host initiator IQN to the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    iqn: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostInitiatorEnum API ===
+
Returns a list of all the initiators (IQN) of the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostInitiatorGet API ===
+
Gets information about a specific host identified by its initiator IQN.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    initiator: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostInitiatorRemove API ===
+
Removes a iSCSI host initiator (IQN) from the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    iqn: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostModify API ===
+
Modifies a host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    newIpAddress: <string>
+
    newUsername: <string>
+
    newPassword: <string>
+
    newHostType: <unsignedInt>
+
    newDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hostRemove API ===
+
Removes the specified host, *WARNING* host's active iSCSI sessions will be dropped.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwAlarmEnum API ===
+
Returns a list of all the current hardware alarms/alert messages generated from the controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwAlarmGet API ===
+
Returns information about a specific hardware alarm.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwAlarm: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwBatteryBackupUnitEnum API ===
+
Enumerates the battery backup information for the specified controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwBatteryBackupUnitGet API ===
+
Gets the battery backup unit information for the specified battery backup unit.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwBatteryBackupUnit: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerChangeSecurityKey API ===
+
 
+
==== Argument List ====
+
<code>
+
    controllerId: <string>
+
    oldSecurityKey: <string>
+
    newSecurityKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerClearAlarms API ===
+
Clears all the hardware alarms that have been recorded for the specified hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerCreateSecurityKey API ===
+
 
+
==== Argument List ====
+
<code>
+
    controllerId: <string>
+
    securityKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerEnum API ===
+
Returns a list of all the hardware controllers.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwControllerGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerGet API ===
+
Returns information about a specific hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerGroupEnum API ===
+
Returns a list of all the hardware controller groups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerGroupGet API ===
+
Returns information about all the support hardware RAID controller group types.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwControllerGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerImportForeignUnits API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    controllerId: <string>
+
    altName: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerRescan API ===
+
Rescans the hardware controller to look for new disks and RAID units.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerRescanAll API ===
+
Rescans all of the hardware controllers to look for new disks and RAID units.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwControllerSilenceAlarms API ===
+
Silences the alarms for specified hardware controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskEnum API ===
+
Returns a list of all the disks managed by the specified hardware controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskGet API ===
+
Returns information about a specific disk managed by a hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwDisk: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskIdentify API ===
+
Flashes the LED indicator light on the specified disk so that it can be identified in the enclosure chassis.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    diskId: <string>
+
    durationInSeconds: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskMarkGood API ===
+
 
+
==== Argument List ====
+
<code>
+
    diskId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskMarkHotSpare API ===
+
Marks the specified disk as a universal hot spare within the group of RAID units managed by the controller in which the disk is attached.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    diskId: <string>
+
    clearMark: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    diskId: <string>
+
    altName: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwDiskRemove API ===
+
Marks the disk as removable (safe way to swap the drives).
+
 
+
==== Argument List ====
+
 
+
<code>
+
    diskId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwEnclosureEnum API ===
+
Returns a list of all the enclosures managed by the specified hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwEnclosureGet API ===
+
Returns information about a specific enclosure managed by the specified hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwEnclosure: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwEnclosureLayoutEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwEnclosureLayoutGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    hwEnclosureLayout: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwEnclosureModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    diskId: <string>
+
    altName: <string>
+
    description: <string>
+
    enclosureLayout: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwLogicalDriveEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwUnit: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwLogicalDriveGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwLogicalDrive: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchAdapterEnum API ===
+
Returns a list of all the storage switch management adapters.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchAdapterGet API ===
+
Returns information about the specified HW switch management module.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchAdapterId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchCredentialsAdd API ===
+
Adds storage switch login credentials for a specific switch management adapter.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    username: <string>
+
    password: <string>
+
    domainPassword: <string>
+
    ipAddress: <string>
+
    managementProtocol: <unsignedInt>
+
    switchType: <unsignedInt>
+
    switchAdapterId: <string>
+
    primaryStorageSystem: <string>
+
    secondaryStorageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchCredentialsEnum API ===
+
Returns a list of all the storage switch login credentials.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchAdapterId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchCredentialsGet API ===
+
Returns information about specific storage switch login credentials.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchCredentials: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchCredentialsModify API ===
+
Modifies the switch login credentials.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    credentialsId: <string>
+
    password: <string>
+
    domainPassword: <string>
+
    primaryStorageSystem: <string>
+
    secondaryStorageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchCredentialsRemove API ===
+
Removes storage switch login credentials.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    credsId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchEnum API ===
+
Returns a list of all the discovered storage switches.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchAdapterId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupActivate API ===
+
Activates the pools in a switch failover group on the specified storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupCreate API ===
+
Creates a new switch failover group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    virtualHostIpAddress: <string>
+
    virtualHostSubnet: <string>
+
    virtualHostGateway: <string>
+
    storagePoolList: <string[]>
+
    primaryStorageSystemId: <string>
+
    primaryZonesetId: <string>
+
    secondaryStorageSystemId: <string>
+
    secondaryZonesetId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupDelete API ===
+
Deletes a failover group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupEnum API ===
+
Returns a list of all the switch failover groups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupGet API ===
+
Returns information about a specific switch failover group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroupId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupModify API ===
+
Modifies the properties of a failover group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    name: <string>
+
    description: <string>
+
    virtualHostIpAddress: <string>
+
    virtualHostSubnet: <string>
+
    virtualHostGateway: <string>
+
    storagePoolList: <string[]>
+
    primaryStorageSystemId: <string>
+
    primaryZonesetId: <string>
+
    secondaryStorageSystemId: <string>
+
    secondaryZonesetId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupPoolAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupPoolAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroupId: <string>
+
    storagePoolId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupSetMode API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    failoverMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupSystemAssocAdd API ===
+
Adds another storage system to which the failover group can failover to.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    storageSystemId: <string>
+
    zonesetId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupSystemAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupSystemAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroupId: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchFailoverGroupSystemAssocRemove API ===
+
Removes a storage system from the failover group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwSwitchFailoverGroup: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchGet API ===
+
Returns detailed information about a storage switch.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchRescan API ===
+
Rescans the hardware switch.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchZonesetActivate API ===
+
Activates a specific storage switch zonset.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchCredentialsId: <string>
+
    zonesetId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchZonesetEnum API ===
+
Returns a list of all the discovered zonesets.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchCredentialsId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwSwitchZonesetGet API ===
+
Returns information about a specific switch zoneset.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    switchZoneset: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitCreate API ===
+
Creates a new hardware RAID unit using the specified controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    raidType: <unsignedInt>
+
    legLength: <unsignedInt>
+
    blockSizeKb: <unsignedInt>
+
    diskList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitDelete API ===
+
Deletes the specified RAID unit.  Note that you must first delete the Storage Pool before you delete the RAID unit.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    unitId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitDiskAssocEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    hwUnit: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitDiskAssocGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    hwUnit: <string>
+
    hwDisk: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitEnableEncryption API ===
+
 
+
==== Argument List ====
+
<code>
+
    unitId: <string>
+
    options: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitEnum API ===
+
Returns a list of all the disks managed by the specified hardware controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwController: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitGet API ===
+
Returns information about a specific disk managed by a hardware RAID controller.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    hwUnit: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitGrow API ===
+
Grows the hardware unit by adding specified disks.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    unitId: <string>
+
    diskList: <string[]>
+
    stripeSizeKb: <unsignedInt>
+
    initPriority: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitIdentify API ===
+
Flashes the LED indicator light on all the disks in the RAID unit so that it can be identified in the enclosure.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    unitId: <string>
+
    durationInSeconds: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    unitId: <string>
+
    altName: <string>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitSsdCacheCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    controllerId: <string>
+
    raidType: <unsignedInt>
+
    ssdDiskList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitSsdCacheDisable API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    unitId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== hwUnitSsdCacheEnable API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    unitId: <string>
+
    unitSsdCacheId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== ibTargetPortEnum API ===
+
Returns a list of all the infiniband ports in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== ibTargetPortGet API ===
+
Returns information about the specified infiniband port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== libratoMetricsConfigGet API ===
+
Get the current username, token, and interval settings for Librato Metrics.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== libratoMetricsConfigSet API ===
+
Set the username, token, and interval for Librato Metrics posting.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    username: <string>
+
    token: <string>
+
    postIntervalSec: <unsignedInt>
+
    autoDashboardCreate: <boolean>
+
    enableAlertAnnotations: <boolean>
+
    enableConfigAnnotations: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseActivate API ===
+
Activates the system using a activation key received from customer support.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    activationKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseActivateOnline API ===
+
Requests automatic activation via the online activation service.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    licenseKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseAdd API ===
+
Adds a license key using a license key block.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    keyBlock: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseEnum API ===
+
Returns a list of all the registered license keys.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseGet API ===
+
Shows the current license key info, and any activation request code.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    license: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== licenseRemove API ===
+
Removes the specified license key.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    license: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== login API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    reserved: <string>
+
</code>
+
 
+
=== networkShareCifsOptionEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareCifsOptionGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShareId: <string>
+
    key: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClientAdd API ===
+
Adds a client for the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShareId: <string>
+
    clientFilter: <string>
+
    async: <boolean>
+
    secure: <boolean>
+
    subtreeCheck: <boolean>
+
    readOnly: <boolean>
+
    customOptions: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClientEnum API ===
+
Returns a list of clients for the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClientGet API ===
+
Returns information about the specific network share client.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShareId: <string>
+
    networkShareClientId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClientModify API ===
+
Modifies a client for the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShareId: <string>
+
    networkShareClientId: <string>
+
    readOnly: <boolean>
+
    secure: <boolean>
+
    async: <boolean>
+
    subtreeCheck: <boolean>
+
    customOptions: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClientRemove API ===
+
Removes a client for the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShareId: <string>
+
    networkShareClientId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareClone API ===
+
Clones the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    cloneName: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    readOnly: <boolean>
+
    isActive: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareCreate API ===
+
Creates a new NFSv3 network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    isPublic: <boolean>
+
    isActive: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareCreateEx API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    isPublic: <boolean>
+
    isActive: <boolean>
+
    enableCifs: <boolean>
+
    userAccessList: <string[]>
+
    cifsOptions: <string[]>
+
    disableSnapBrowsing: <boolean>
+
    spaceQuota: <unsignedLong>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareDelete API ===
+
Deletes the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShareId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareDeleteEx API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShareList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareDisable API ===
+
Disables the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareEnable API ===
+
Enables the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareEnum API ===
+
Returns a list of all the network shares in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareEnumQuotas API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareGet API ===
+
Returns information about the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareJoinDomain API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystemId: <string>
+
    domain: <string>
+
    realm: <string>
+
    kdc: <string>
+
    domainAdmin: <string>
+
    password: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareLeaveDomain API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystemId: <string>
+
    domainAdmin: <string>
+
    password: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareModify API ===
+
Modifies a client for the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    name: <string>
+
    description: <string>
+
    isActive: <boolean>
+
    enableCifs: <boolean>
+
    userAccessList: <string[]>
+
    cifsOptions: <string[]>
+
    disableSnapBrowsing: <boolean>
+
    spaceQuota: <unsignedLong>
+
    syncPolicy: <unsignedInt>
+
    compressionType: <string>
+
    copies: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareNfsConfig API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    nfsMode: <unsignedInt>
+
    enableKerberos: <boolean>
+
    defaultOptions: <string>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareRestore API ===
+
Restores the network share from a previous snapshot of the share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    snapshotShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareRollback API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    snapshotShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareServicesRestart API ===
+
Restarts the network share service.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    restartNfs: <boolean>
+
    restartSamba: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareSetQuotas API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    list: <networkShareQuota[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareSnapshot API ===
+
Snapshots the specified network share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    snapshotName: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    readOnly: <boolean>
+
    isActive: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareUserAccessEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== networkShareUserAccessGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShareUserAccessId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== objectEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    propKey: <string>
+
    propValue: <string>
+
    propType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== objectGet API ===
+
Gets the object based on the id provided.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== objectLock API ===
+
Locks the specified object.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
</code>
+
 
+
=== objectPropertyGet API ===
+
Gets the specified property on an object.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    objectId: <string>
+
    propKey: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== objectPropertySet API ===
+
Sets the specified property on an object.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    objectId: <string>
+
    propKey: <string>
+
    propValue: <string>
+
    propType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== objectUnlock API ===
+
Unlocks an object.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
</code>
+
 
+
=== permissionDefinitionEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskDataMigration API ===
+
 
+
==== Argument List ====
+
<code>
+
    physicalDriveId: <string>
+
    storageVolumeName: <string>
+
    provisionableId: <string>
+
    blockSizeKb: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskEnum API ===
+
Enumerates all physical disks.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    physicalDiskList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskGet API ===
+
Gets information about a specific physical disk.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    physicalDrive: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskGlobalSpareAddRemove API ===
+
 
+
==== Argument List ====
+
<code>
+
    physicalDriveList: <string[]>
+
    modType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskGlobalSpareEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskHotspareMarkerCleanup API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskHotspareMarkerEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskHotspareMarkerGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    markerId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskIdentify API ===
+
Pulses the disk activity light so that the specified disk can be identified in the chassis.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    physicalDrive: <string>
+
    pattern: <string>
+
    duration: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskPathAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    multipathDiskId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskPathAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    multipathDiskId: <string>
+
    physicalDiskId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== physicalDiskScan API ===
+
Scans for any new physical disks that may have been hot-plugged into the storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== registerSecurityToken API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    token: <string>
+
    signedToken: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== remoteNfsExportsEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    networkShare: <string>
+
    nfsHostname: <string>
+
    backupPolicy: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== remoteStoragePoolEnum API ===
+
Returns a list of all the remote storage pools.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    remoteStorageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaAssocDelete API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    assocId: <string>
+
    deleteSourceReplicatable: <boolean>
+
    deleteTargetReplicatable: <boolean>
+
    deleteReplicaAssocHead: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    replicatableId: <string>
+
    sourcesOnly: <boolean>
+
    targetsOnly: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    assocId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaAssocUpdate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    assocObj: <replicaAssoc>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    replicatableId: <string>
+
    storageSystemLinkId: <string>
+
    replicaName: <string>
+
    replicaDescription: <string>
+
    targetStoragePoolId: <string>
+
    replicationPriority: <unsignedInt>
+
    smartSync: <boolean>
+
    forcePrimary: <boolean>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaCreateNetworkShareTarget API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sourceShare: <networkShare>
+
    sourceShareParent: <networkShare>
+
    replicaName: <string>
+
    replicaDescription: <string>
+
    targetStoragePoolId: <string>
+
    replicationPriority: <unsignedInt>
+
    smartSync: <boolean>
+
    forcePrimary: <boolean>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaCreateVolumeTarget API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sourceVolume: <storageVolume>
+
    sourceVolumeParent: <storageVolume>
+
    replicaName: <string>
+
    replicaDescription: <string>
+
    targetStoragePoolId: <string>
+
    replicationPriority: <unsignedInt>
+
    smartSync: <boolean>
+
    forcePrimary: <boolean>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaRollback API ===
+
 
+
==== Argument List ====
+
<code>
+
    assocId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaStatusUpdate API ===
+
 
+
==== Argument List ====
+
<code>
+
    replicationStatusXml: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaStop API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    assocId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicaSync API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    assocId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleAddRemove API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    networkShareList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    scheduleId: <string>
+
    replicatableId: <string>
+
</code>
+
 
+
=== replicationScheduleCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    storageCloudId: <string>
+
    storageSystemLinkId: <string>
+
    targetStorageCloudId: <string>
+
    targetProvisionableId: <string>
+
    priority: <unsignedInt>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxReplicas: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    networkShareList: <string[]>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    offsetMinutes: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleDelete API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleDisable API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleEnable API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleModify API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    name: <string>
+
    description: <string>
+
    storageCloudId: <string>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxReplicas: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    offsetMinutes: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== replicationScheduleTrigger API ===
+
 
+
==== Argument List ====
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleCreate API ===
+
Adds a new role to the role based access control (RBAC) system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    permissionList: <permissionAssignment[]>
+
    inheritsFrom: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleDelete API ===
+
Removes the specified role identified by name or ID.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleEnum API ===
+
Returns a list of all the defined roles the RBAC system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleGet API ===
+
Gets information about the specified role.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleModify API ===
+
Modifies the name and/or description of a role.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== rolePermissionAssignmentEnum API ===
+
Lists all of the role permission assignments.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    roleId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== rolePermissionAssignmentGet API ===
+
Gets the specified role permission assignment.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    objectType: <string>
+
    operation: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== rolePermissionsAddRemove API ===
+
Adds/Removes one or more permissions and/or permission groups from the specified role.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    modType: <unsignedInt>
+
    permissionList: <permissionAssignment[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleSubjectAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== roleSubjectAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    role: <string>
+
    subject: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== sessionClose API ===
+
Forcibly closes the specified iSCSI session; generally not recommended, use acl-remove instead.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sessionId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== sessionEnum API ===
+
Returns a list of all the active iSCSI sessions.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== sessionGet API ===
+
Returns detailed information on a specific iSCSI session.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sessionId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    siteId: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    location: <string>
+
    storageSystemList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteDelete API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    site: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    site: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteModify API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    siteId: <string>
+
    name: <string>
+
    description: <string>
+
    location: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== siteStorageSystemAddRemove API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    site: <string>
+
    modType: <unsignedInt>
+
    storageSystemList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    scheduleId: <string>
+
    storageVolumeId: <string>
+
</code>
+
 
+
=== snapshotScheduleCreate API ===
+
Creates a new snapshot schedule comprised of the specified storage volumes.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    storageCloudId: <string>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxSnapshots: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    networkShareList: <string[]>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleDelete API ===
+
Deletes a snapshot schedule, snapshots associated with the schedule are not removed.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleDisable API ===
+
Disables the specified snapshot schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleEnable API ===
+
Enables the specified snapshot schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleEnum API ===
+
Returns a list of all the snapshot schedules.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleGet API ===
+
Returns information about a specific snapshot schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleModify API ===
+
Modifies the name, description or other properties of a snapshot schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    name: <string>
+
    description: <string>
+
    storageCloudId: <string>
+
    setEnabled: <unsignedInt>
+
    startDate: <dateTime>
+
    maxSnapshots: <unsignedInt>
+
    daysOfWeek: <unsignedInt>
+
    hoursOfDay: <unsignedInt>
+
    scheduleType: <unsignedInt>
+
    delayInterval: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleTrigger API ===
+
 
+
==== Argument List ====
+
<code>
+
    schedule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== snapshotScheduleVolumeAddRemove API ===
+
Adds/Removes one or more volumes to the specified schedule.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    schedule: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    networkShareList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudCreate API ===
+
Creates a new storage cloud comprised of the specified users, resources and chap information.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    userList: <storageCloudSubjectAssoc[]>
+
    resourceList: <storageCloudResourceAssoc[]>
+
    parentStorageCloudId: <string>
+
    tier: <string>
+
    organization: <string>
+
    defaultChapUsername: <string>
+
    defaultChapPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudDelete API ===
+
Deletes a storage cloud, the resources and users will not be deleted.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudEnum API ===
+
Returns a list of all the storage clouds.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudGet API ===
+
Returns information of the specified storage clouds.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudModify API ===
+
Modify the name, description, parent storage cloud, tier, organization, and chap information of a storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    name: <string>
+
    description: <string>
+
    parentStorageCloudId: <string>
+
    tier: <string>
+
    organization: <string>
+
    defaultChapUsername: <string>
+
    defaultChapPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudResourceAddRemove API ===
+
Add/Remove one or more resources to the specified storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    modType: <unsignedInt>
+
    resourceList: <storageCloudResourceAssoc[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudResourceAssocEnum API ===
+
Returns a list of associated resources of the specified storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    resource: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudResourceAssocGet API ===
+
Returns associated information of specified resource in the storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    resource: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudResourceSetMode API ===
+
Set the mode of a specified resource in the storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    resource: <string>
+
    accessMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudSubjectAssocEnum API ===
+
Returns a list of associated storage clouds to the specified subject.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    subject: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudSubjectAssocGet API ===
+
Returns associated information of a specified subject for a storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    subject: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageCloudUserAddRemove API ===
+
Add/Remove one or more users to the specified storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageCloud: <string>
+
    modType: <unsignedInt>
+
    userList: <storageCloudSubjectAssoc[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolCacheAddRemove API ===
+
 
+
==== Argument List ====
+
<code>
+
    storagePool: <string>
+
    modType: <unsignedInt>
+
    readCacheDeviceList: <string[]>
+
    writeCacheDeviceList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolCreate API ===
+
Creates a new storage pool from which storage volumes can be created.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    physicalDiskList: <string[]>
+
    description: <string>
+
    raidType: <unsignedInt>
+
    poolType: <unsignedInt>
+
    isDefault: <boolean>
+
    enableSsd: <boolean>
+
    enableCompression: <boolean>
+
    noBarriers: <boolean>
+
    profile: <string>
+
    raidSetSize: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolDestroy API ===
+
Deletes a storage pool, *WARNING* any data in the pool will be lost.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolDeviceEnum API ===
+
Returns a list of all the storage pool devices.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePoolId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolDeviceGet API ===
+
Gets information about a specific storage pool device.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePoolDevice: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolEnum API ===
+
Returns a list of all the storage pools.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolExpand API ===
+
Expands a storage pool after the underlying hardware RAID unit has been grown underneath.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolExport API ===
+
Deactivate and removes the storage pool from the storage system database so that it can be exported and used on another system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolGet API ===
+
Gets information about a specific storage pool.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolGrow API ===
+
Grows the specified storage pool by adding an additional disk.  You can only grow storage pools that are using the RAID5 or RAID6 layout.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    physicalDiskList: <string[]>
+
    raidType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupActivate API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    storagePoolId: <string>
+
    primaryStorageSystemId: <string>
+
    secondaryStorageSystemId: <string>
+
    failoverModuleId: <string>
+
    settleTimeInSec: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupDeactivate API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupFailover API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    targetStorageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverGroupModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    name: <string>
+
    description: <string>
+
    secondaryStorageSystemId: <string>
+
    failoverModuleId: <string>
+
    settleTimeInSec: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverInterfaceCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    tag: <string>
+
    parentInterfaceName: <string>
+
    description: <string>
+
    ipAddress: <string>
+
    gateway: <string>
+
    subnetMask: <string>
+
    macAddress: <string>
+
    iscsiEnabled: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverInterfaceDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    failoverInterface: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverInterfaceEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverInterfaceGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverGroup: <string>
+
    failoverInterface: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverModuleEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolHaFailoverModuleGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    failoverModule: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolIdentify API ===
+
Pulses the disk activity lights for all disks in the pool so they can be identified in the chassis.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    pattern: <string>
+
    duration: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolModify API ===
+
Modifies the properties of the storage pool such as it's name and description.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    isDefault: <boolean>
+
    enableSsd: <boolean>
+
    enableCompression: <boolean>
+
    noBarriers: <boolean>
+
    profile: <string>
+
    syncPolicy: <unsignedInt>
+
    compressionType: <string>
+
    hotspareRepairPolicy: <unsignedInt>
+
    copies: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolProfileEnum API ===
+
Returns a list of all the storage pool profiles.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolProfileGet API ===
+
Gets information about a specific storage pool profile.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePoolProfile: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolRescan API ===
+
Rescans the specified storage system for storage pools.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    options: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolScrubStart API ===
+
 
+
==== Argument List ====
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolScrubStop API ===
+
 
+
==== Argument List ====
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolSpareAddRemove API ===
+
Adds/Removes a dedicated hot-spare to the specified storage pool.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    modType: <unsignedInt>
+
    physicalDiskList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolStart API ===
+
Starts up a previously stopped storage pool.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolStop API ===
+
Stops all volume activity to the pool and disables it for maintenance.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storagePoolUpdateRedirect API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaCreate API ===
+
Creates a new storage quota on a pool for the specified storage cloud.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    storagePoolId: <string>
+
    storageCloudId: <string>
+
    provisionableSize: <unsignedLong>
+
    utilizableSpace: <unsignedLong>
+
    maxVolumes: <unsignedInt>
+
    maxShares: <unsignedInt>
+
    policyFlags: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaDelete API ===
+
Deletes a storage quota, the associated volumes are not deleted.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuota: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaEnum API ===
+
Returns a list of all the storage quotas.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaGet API ===
+
Returns information about a specific storage quota.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuota: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaModify API ===
+
Modifies one to change the name and/or description of a storage quota.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuota: <string>
+
    name: <string>
+
    description: <string>
+
    storageCloudId: <string>
+
    provisionableSize: <unsignedLong>
+
    utilizableSpace: <unsignedLong>
+
    maxVolumes: <unsignedInt>
+
    maxShares: <unsignedInt>
+
    policyFlags: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaShareAddRemove API ===
+
Adds/Removes one or more volumes to the specified quota.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuota: <string>
+
    modType: <unsignedInt>
+
    storageShareList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaShareAssocEnum API ===
+
Returns a list of all the associated quotas of a specified share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    networkShare: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaShareAssocGet API ===
+
Returns information about the associated quotas of a specified share.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuotaId: <string>
+
    shareId: <string>
+
</code>
+
 
+
=== storageQuotaVolumeAddRemove API ===
+
Adds/Removes one or more volumes to the specified quota.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuota: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaVolumeAssocEnum API ===
+
Returns a list of all the associated quotas of a specified volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageQuotaVolumeAssocGet API ===
+
Return information about the associated quotas of a specified volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageQuotaId: <string>
+
    storageVolumeId: <string>
+
</code>
+
 
+
=== storageSystemClusterAssocEnum API ===
+
Returns a list of the associated storage system nodes in the grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterAssocGet API ===
+
Get general information about the associated storage system management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemClusterId: <string>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterCreate API ===
+
Creates a new management grid.  A given storage system can only be a member of one grid at a time.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    virtualHostName: <string>
+
    virtualHostIpAddress: <string>
+
    virtualHostSubnetMask: <string>
+
    virtualHostGateway: <string>
+
    targetPort: <string>
+
    enableGridVif: <boolean>
+
    gridBindPortAddress: <string>
+
    gridIndex: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterDelete API ===
+
Deletes the management grid.  After the grid is deleted each node in the grid operates independently again.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterEnum API ===
+
Returns a list of all the managed storage system nodes in the grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterGet API ===
+
Get general information about the storage system management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemCluster: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterGetHostsConfig API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterModify API ===
+
Modify the management grid properties.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    virtualHostName: <string>
+
    virtualHostIpAddress: <string>
+
    virtualHostSubnetMask: <string>
+
    virtualHostGateway: <string>
+
    targetPort: <string>
+
    enableGridVif: <boolean>
+
    gridBindPortAddress: <string>
+
    gridIndex: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeAdd API ===
+
Adds the specified storage system to the management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    nodeIpAddress: <string>
+
    nodeAdminUsername: <string>
+
    nodeAdminPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeEject API ===
+
Ejects the specified storage system from the management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemClusterObj: <storageSystemCluster>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeJoin API ===
+
Joins the specified storage system to the management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemClusterObj: <storageSystemCluster>
+
    masterNode: <storageSystem>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeRemove API ===
+
Removes the specified storage system from the management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeSetMaster API ===
+
Sets the master node for a storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterNodeSync API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemClusterObj: <storageSystemCluster>
+
    masterNode: <storageSystem>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemClusterSetHostsConfig API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystem: <string>
+
    targetPortIdList: <string[]>
+
    options: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemEnum API ===
+
Returns a list of all the managed storage systems. This is always a single system unless the system is a member of a management grid.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGet API ===
+
Get general information about the storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupAddRemoveLinks API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    linkIdList: <string[]>
+
    modType: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    linkId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    virtualIpAddress: <string>
+
    groupPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupDelete API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    deleteAssociatedLinks: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupModify API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    name: <string>
+
    description: <string>
+
    virtualIpAddress: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemGroupSetPassword API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    groupId: <string>
+
    groupPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkCreate API ===
+
Create a new storage system link so that storage volumes may be replicated between storage systems.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    remoteSystemId: <string>
+
    localIpAddress: <string>
+
    remoteIpAddress: <string>
+
    bandwidthLimit: <unsignedInt>
+
    linkType: <unsignedInt>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkDelete API ===
+
Delete an existing storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkDisconnect API ===
+
Disconnect a storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    remoteStorageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkEnum API ===
+
List the existing storage system remote replication links.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkEstablish API ===
+
Establishes a storage system remote replication link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkObj: <storageSystemLink>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkGet API ===
+
Get information about the storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkModify API ===
+
Modify the properties of the storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkId: <string>
+
    remoteIpAddress: <string>
+
    localIpAddress: <string>
+
    bandwidthLimit: <unsignedInt>
+
    linkType: <unsignedInt>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkRefresh API ===
+
Refreshes a storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkSetCredentials API ===
+
Change the credentials for an existing storage system link.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkId: <string>
+
    remoteAdminUser: <string>
+
    remoteAdminPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemLinkVerify API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    linkObj: <storageSystemLink>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemModify API ===
+
Modifies the name and/or description of the storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    newLocation: <string>
+
    domainSuffix: <string>
+
    searchSuffix: <string>
+
    arpFilterMode: <unsignedInt>
+
    bondMode: <unsignedInt>
+
    newDnsServerList: <string[]>
+
    externalHostName: <string>
+
    gridPreferredPort: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemRecover API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    recoveryPoint: <string>
+
    recoverNetworkConfig: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemRecoveryPointEnum API ===
+
Returns a list of all the available system meta data recovery points.  Recovery points allow you to restore system information such as network, host, users, and other system information from a prior automatic backup.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemRestart API ===
+
Restarts the entire storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemSendLogs API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemServicesRestart API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystem: <string>
+
    servicesList: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemShutdown API ===
+
Shutdown the storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemUpdateCheck API ===
+
Checks for updates for specified storage system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageSystemUpgrade API ===
+
Upgrade to the latest version of the core packages.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    upgradeManager: <boolean>
+
    upgradeService: <boolean>
+
    upgradeTarget: <boolean>
+
    upgradeWebServer: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierAssocEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    storagePool: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierAssocGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageTierId: <string>
+
    storagePoolId: <string>
+
</code>
+
 
+
=== storageTierCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    description: <string>
+
    storageClass: <string>
+
    storageType: <unsignedInt>
+
    performanceLevel: <unsignedInt>
+
    poolList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierDelete API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageTier: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierEnum API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageTier: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageTier: <string>
+
    newName: <string>
+
    description: <string>
+
    storageClass: <string>
+
    storageType: <unsignedInt>
+
    performanceLevel: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageTierPoolAddRemove API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageTier: <string>
+
    modType: <unsignedInt>
+
    poolList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeAclAddRemove API ===
+
Enables/Disables access to the specific volume from the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    modType: <unsignedInt>
+
    hostList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeAclAddRemoveEx API ===
+
Enables access to the specific volume from the specified host.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeAclEnum API ===
+
Returns a list of all the volume to host assignments, optionally filtered by host or storage volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeAclGet API ===
+
Gets the assignment information for specified host or storage volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    host: <string>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeClone API ===
+
Creates a complete block copy of the source volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    cloneName: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    accessMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeCloudBackupCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sourceVolumeId: <string>
+
    cloudContainerId: <string>
+
    backupVolumeName: <string>
+
    backupVolumeDescription: <string>
+
    priority: <unsignedInt>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeCloudBackupRestore API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    sourceVolumeId: <string>
+
    storagePoolId: <string>
+
    recoveredVolumeName: <string>
+
    recoveredVolumeDescription: <string>
+
    priority: <unsignedInt>
+
    reserved: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeCreate API ===
+
Creates a new storage volume in the specified storage pool.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    size: <unsignedLong>
+
    thinProvisioned: <boolean>
+
    accessMode: <unsignedInt>
+
    chapPolicy: <unsignedInt>
+
    chapUsername: <string>
+
    chapPassword: <string>
+
    count: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeCreateEx API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    size: <unsignedLong>
+
    percentReserved: <unsignedInt>
+
    accessMode: <unsignedInt>
+
    chapPolicy: <unsignedInt>
+
    chapUsername: <string>
+
    chapPassword: <string>
+
    count: <unsignedInt>
+
    blockSizeKb: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeDelete API ===
+
Deletes a storage volume, *WARNING* any data in the volume will be lost.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeList: <string[]>
+
    recursivelyDeleteSnapshots: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeDeleteEx API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeEnum API ===
+
Returns a list of all the storage volumes.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGet API ===
+
Returns information about a specific storage volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroupId: <string>
+
    storageVolumeId: <string>
+
</code>
+
 
+
=== storageVolumeGroupClone API ===
+
Creates a complete block by block copy of all volumes in the group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    cloneNamePrefix: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    accessMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupCreate API ===
+
Creates a new storage volume group comprised of the specified storage volumes.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupDelete API ===
+
Deletes a storage volume group, the volumes are not deleted unless the delete-volumes flag is set.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    deleteAssociatedVolumes: <boolean>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupEnum API ===
+
Returns a list of all the storage volume groups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupGet API ===
+
Returns information about a specific storage volume group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupModify API ===
+
Modifies the name and/or description of a storage volume group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupSnapshot API ===
+
Creates a space efficient copy of all volumes in the group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    snapshotNamePrefix: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    count: <unsignedInt>
+
    accessMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeGroupVolumeAddRemove API ===
+
Adds/Removes one or more volumes to the specified volume group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolumeGroup: <string>
+
    modType: <unsignedInt>
+
    storageVolumeList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeImport API ===
+
 
+
==== Argument List ====
+
<code>
+
    storagePool: <string>
+
    importTypes: <unsignedInt>
+
    cleanupSnapshots: <boolean>
+
    replicationScheduleId: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeModify API ===
+
Modifies a the name, description or other properties of the storage volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    newAccessMode: <unsignedInt>
+
    chapPolicy: <unsignedInt>
+
    chapUsername: <string>
+
    chapPassword: <string>
+
    clearSnapshotFlag: <boolean>
+
    enableCaching: <boolean>
+
    isActiveCheckpoint: <boolean>
+
    syncPolicy: <unsignedInt>
+
    compressionType: <string>
+
    copies: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeResize API ===
+
Resizes a storage volume to make it larger, volumes cannot be reduced in size.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    provisionableId: <string>
+
    newSizeInBytes: <unsignedLong>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeRestore API ===
+
Restores a storage volume to a previous point in time using a snapshot.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    snapshotVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeRollback API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageVolume: <string>
+
    snapshotVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeSnapshot API ===
+
Creates a space efficient copy of the source volume.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    snapshotName: <string>
+
    description: <string>
+
    provisionableId: <string>
+
    accessMode: <unsignedInt>
+
    count: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeUtilizationEnum API ===
+
Returns volume utilization information for a specific storage volume or all storage volumes if no volume is specified.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageVolume: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeUtilizationGet API ===
+
Returns a specific volume utilization metrics for a single volume and specific date.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    utilizationId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeUtilizationGetRetentionPeriod API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== storageVolumeUtilizationSetRetentionPeriod API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    daysToRetain: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortDisable API ===
+
Disables the specified target port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortEnable API ===
+
Enables the specified target port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortEnum API ===
+
Returns a list of all the target ports in the system.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortGet API ===
+
Returns information about the specified target port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortModify API ===
+
Modifies target port settings including IP address, gateway, mtu, etc.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    configType: <string>
+
    ipAddress: <string>
+
    netmask: <string>
+
    gateway: <string>
+
    mtu: <unsignedInt>
+
    iscsiEnabled: <boolean>
+
    description: <string>
+
    vportFloatList: <string[]>
+
    bondMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortRescan API ===
+
Discovers new target ports and/or any manual modifications made to the configuration of the target ports.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystem: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetPortRestart API ===
+
Restarts the specified target port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetVirtualInterfaceCreate API ===
+
Creates a new virtual network interface which is linked to a physical network port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    parentPortId: <string>
+
    ipAddress: <string>
+
    netmask: <string>
+
    gateway: <string>
+
    macAddress: <string>
+
    portList: <string[]>
+
    mtu: <unsignedInt>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetVirtualInterfaceMove API ===
+
Moves the specified virtual network interface to a different physical network port.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    virtualInterfaceId: <string>
+
    targetPortId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetVirtualPortCreate API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    storageSystemId: <string>
+
    ipAddress: <string>
+
    netmask: <string>
+
    gateway: <string>
+
    macAddress: <string>
+
    portList: <string[]>
+
    mtu: <unsignedInt>
+
    description: <string>
+
    bondMode: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetVirtualPortDelete API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    port: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== targetVlanInterfaceCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    storageSystemId: <string>
+
    parentPortId: <string>
+
    ipAddress: <string>
+
    netmask: <string>
+
    gateway: <string>
+
    vlanId: <unsignedInt>
+
    vlanQos: <unsignedInt>
+
    mtu: <unsignedInt>
+
    description: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== taskCancel API ===
+
Cancels the specified task that is in the queue or is running.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== taskClearAll API ===
+
Clears all the completed and/or failed tasks.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== taskEnum API ===
+
Returns a list of all the tasks including active, completed, and failed tasks.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    taskIdlist: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== taskGet API ===
+
Returns information about the specified task.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    id: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== taskUpdateProgress API ===
+
 
+
==== Argument List ====
+
<code>
+
    taskId: <string>
+
    description: <string>
+
    progress: <unsignedInt>
+
    state: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== traceLevelGet API ===
+
 
+
==== Argument List ====
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== traceLevelModify API ===
+
 
+
==== Argument List ====
+
<code>
+
    traceLevel: <unsignedInt>
+
    stdOut: <boolean>
+
    traceFilter: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userAdd API ===
+
Adds a new user to the system. User accounts can access QuantaStor via the web management interface, remote scripting and via the qstorapi RESTful API.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    username: <string>
+
    password: <string>
+
    role: <string>
+
    firstName: <string>
+
    lastName: <string>
+
    emailAddress: <string>
+
    description: <string>
+
    defaultChapUsername: <string>
+
    defaultChapPassword: <string>
+
    alertSubscriptions: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userEnum API ===
+
Returns a list of all the users.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGet API ===
+
Gets information about the specified user.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    userGroupId: <string>
+
    userId: <string>
+
</code>
+
 
+
=== userGroupCreate API ===
+
Creates a new storage user group comprised of the specified storage users.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    name: <string>
+
    description: <string>
+
    userList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupDelete API ===
+
Deletes a storage user group, the users are not deleted unless the delete-users flag is set.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    userGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupEnum API ===
+
Returns a list of all the storage user groups.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupGet API ===
+
Returns information about a specific storage user group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    userGroup: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupModify API ===
+
Modifies the name and/or description of a storage user group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    userGroup: <string>
+
    newName: <string>
+
    newDescription: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userGroupUserAddRemove API ===
+
Adds/Removes one or more users to the specified user group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    userGroup: <string>
+
    modType: <unsignedInt>
+
    userList: <string[]>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userModify API ===
+
Modifies the name and/or description of a storage user group.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    newName: <string>
+
    newRole: <string>
+
    newFirstName: <string>
+
    newLastName: <string>
+
    newEmailAddress: <string>
+
    newDescription: <string>
+
    newDefaultChapUsername: <string>
+
    newDefaultChapPassword: <string>
+
    alertSubscriptions: <unsignedInt>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userPasswordSet API ===
+
Sets a new password for specified user.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    oldPassword: <string>
+
    newPassword: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== userRemove API ===
+
Removes specified user.
+
 
+
==== Argument List ====
+
 
+
<code>
+
    user: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== virtualInterfaceAssocEnum API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== virtualInterfaceAssocGet API ===
+
 
+
==== Argument List ====
+
 
+
<code>
+
    virtualInterfaceId: <string>
+
    targetPortId: <string>
+
    flags: <unsignedInt>
+
</code>
+
 
+
=== widgetCreate API ===
+
 
+
==== Argument List ====
+
<code>
+
    name: <string>
+
    flags: <unsignedInt>
+
</code>
+
  
 
== Enumeration Types ==
 
== Enumeration Types ==
Line 5,644: Line 259:
 
For example, OSN_CMN_ACCESSTYPE_READWRITE should be specified as 0 and OSN_CMN_ACCESSTYPE_READONLY specified as a 1 to the storageVolumeModify API as the accessMode for changing the configuration of a storage volume.
 
For example, OSN_CMN_ACCESSTYPE_READWRITE should be specified as 0 and OSN_CMN_ACCESSTYPE_READONLY specified as a 1 to the storageVolumeModify API as the accessMode for changing the configuration of a storage volume.
  
=== Enumeration Definitions ===
+
* [[QS API Enumerations v5.2]]
 
+
<pre>
+
typedef enum osn__flags
+
{
+
    OSN_CMN_FLAG_NONE            = 0x0000,
+
    OSN_CMN_FLAG_ASYNC            = 0x0001,
+
    OSN_CMN_FLAG_FORCE            = 0x0002,
+
    OSN_CMN_FLAG_ASYNC_FORCE      = 0x0003,
+
    OSN_CMN_FLAG_RESCAN          = 0x0004,
+
    OSN_CMN_FLAG_ASYNC_RESCAN    = 0x0005,
+
    OSN_CMN_FLAG_FORCE_RESCAN    = 0x0006,
+
    OSN_CMN_FLAG_FORCE_ASYNC_RESCAN = 0x0007,
+
    OSN_CMN_FLAG_GENERATE_NAME    = 0x0008,
+
    OSN_CMN_FLAG_SYNC_PRIMARY    = 0x0010,
+
    OSN_CMN_FLAG_SYNC_SECONDARY  = 0x0020,
+
    OSN_CMN_FLAG_REDIRECT        = 0x0040,
+
    OSN_CMN_FLAG_SUPPRESS_ALARMS  = 0x0080,
+
    OSN_CMN_FLAG_STOP_VERIFY      = 0x0100,
+
    OSN_CMN_FLAG_USE_GUID_IQN    = 0x0200,
+
    OSN_CMN_FLAG_EXPORT          = 0x0400,
+
    OSN_CMN_FLAG_RESCUE_MODE      = 0x0800,
+
    OSN_CMN_FLAG_START_REPAIR    = 0x1000,
+
    OSN_CMN_FLAG_SPARES_ONLY      = 0x2000,
+
    OSN_CMN_FLAG_LAZY            = 0x4000,
+
    OSN_CMN_FLAG_MAX              = 0x8000
+
} osn__flags_t;
+
 
+
//--spares-only  args.hasArg("spares-only") ? flags | OSN_CMN_FLAG_SPARES_ONLY : flags
+
 
+
typedef enum osn__modifyType
+
{
+
    OSN_CMN_MOD_OP_ADD = 0,
+
    OSN_CMN_MOD_OP_REMOVE = 1,
+
    OSN_CMN_MOD_OP_SET = 2
+
} osn__modifyType_t;
+
 
+
typedef enum osn__nfsServiceMode
+
{
+
    OSN_CMN_NFS_MODE_V3 = 0,
+
    OSN_CMN_NFS_MODE_V4 = 1,
+
    OSN_CMN_NFS_MODE_GLUSTER = 2
+
} osn__nfsServiceMode_t;
+
 
+
typedef enum osn__accessType
+
{
+
    OSN_CMN_ACCESSTYPE_READWRITE,
+
    OSN_CMN_ACCESSTYPE_READONLY,
+
    OSN_CMN_ACCESSTYPE_NONE
+
} osn__accessType_t;
+
 
+
typedef enum osn__cifsUserAccessMode
+
{
+
    OSN_CMN_CIFS_USER_ACCESS_NONE,
+
    OSN_CMN_CIFS_USER_ACCESS_VALID,
+
    OSN_CMN_CIFS_USER_ACCESS_ADMIN,
+
    OSN_CMN_CIFS_USER_ACCESS_INVALID
+
} osn__cifsUserAccessMode_t;
+
 
+
typedef enum osn__cacheType
+
{
+
    OSN_CMN_ACCESSTYPE_WRITETHRU,
+
    OSN_CMN_ACCESSTYPE_WRITEBACK
+
} osn__cacheType_t;
+
 
+
typedef enum osn__syncPolicy
+
{
+
    OSN_CMN_SYNCTYPE_STANDARD,
+
    OSN_CMN_SYNCTYPE_ALWAYS,
+
    OSN_CMN_SYNCTYPE_DISABLED,
+
    OSN_CMN_SYNCTYPE_AUTO
+
} osn__syncPolicy_t;
+
 
+
typedef enum osn__chapPolicy
+
{
+
    OSN_CHAP_DISABLED=0,
+
    OSN_CHAP_USE_TARGET_CHAP=1,
+
    OSN_CHAP_USE_USER_CHAP_DEFAULTS=2,
+
    OSN_CHAP_USE_TARGET_AND_USER_CHAP=3,
+
    OSN_CHAP_USE_STORAGE_CLOUD_CHAP_DEFAULTS=4
+
} osn__chapPolicy_t;
+
 
+
typedef enum osn__alertTriggerDataType
+
{
+
    OSN_CMN_ALERT_DATATYPE_UNKNOWN,
+
    OSN_CMN_ALERT_DATATYPE_DURATION_IN_SEC,
+
    OSN_CMN_ALERT_DATATYPE_PERCENTAGE,
+
    OSN_CMN_ALERT_DATATYPE_BOOL_ON_OFF,
+
    OSN_CMN_ALERT_DATATYPE_COUNT,
+
    OSN_CMN_ALERT_DATATYPE_MAX
+
} osn__alertTriggerDataType_t;
+
 
+
typedef enum osn__quotaPolicy
+
{
+
    OSN_CMN_QUOTA_POLICY_SOFT,
+
    OSN_CMN_QUOTA_POLICY_HARD
+
} osn__quotaPolicy_t;
+
 
+
typedef enum osn__initiatorType
+
{
+
    OSN_CMN_INITIATOR_ISCSI=0,
+
    OSN_CMN_INITIATOR_FCP=1,
+
    OSN_CMN_INITIATOR_IB=2
+
} osn__initiatorType_t;
+
 
+
typedef enum osn__linkState
+
{
+
    OSN_CMN_LINKSTATE_UP,
+
    OSN_CMN_LINKSTATE_DOWN,
+
    OSN_CMN_LINKSTATE_UNKNOWN
+
} osn__linkState_t;
+
 
+
typedef enum osn__objectState
+
{
+
    OSN_CMN_OBJSTATE_NORMAL,
+
    OSN_CMN_OBJSTATE_WARNING,
+
    OSN_CMN_OBJSTATE_BUSY,
+
    OSN_CMN_OBJSTATE_ERROR,
+
    OSN_CMN_OBJSTATE_INITIALIZING,
+
    OSN_CMN_OBJSTATE_MISSING,
+
    OSN_CMN_OBJSTATE_OFFLINE,
+
    OSN_CMN_OBJSTATE_DISCONNECTED
+
} osn__objectState_t;
+
 
+
typedef enum osn__dataType
+
{
+
    OSN_CMN_DATATYPE_STRING,
+
    OSN_CMN_DATATYPE_INT,
+
    OSN_CMN_DATATYPE_TIME,
+
    OSN_CMN_DATATYPE_FLOAT
+
} osn__dataType_t;
+
 
+
typedef enum osn__eventType
+
{
+
    OSN_CMN_EVENTTYPE_ADD,
+
    OSN_CMN_EVENTTYPE_REMOVE,
+
    OSN_CMN_EVENTTYPE_MODIFY
+
} osn__eventType_t;
+
 
+
typedef enum osn__eventListenerType
+
{
+
    OSN_CMN_LISTENERTYPE_OBSERVER=0,
+
    OSN_CMN_LISTENERTYPE_SECONDARY=1,
+
    OSN_CMN_LISTENERTYPE_PRIMARY=2
+
} osn__eventListenerType_t;
+
 
+
typedef enum osn__eventListenerMode
+
{
+
    OSN_CMN_LISTENERMODE_ENQUEUE=0,
+
    OSN_CMN_LISTENERMODE_PROCESS=1,
+
    OSN_CMN_LISTENERMODE_FLUSH=2
+
} osn__eventListenerMode_t;
+
 
+
typedef enum osn__replicaAssocType
+
{
+
    OSN_CMN_REPLICA_CHILD,
+
    OSN_CMN_REPLICA_HEAD
+
} osn__replicaAssocType_t;
+
 
+
typedef enum osn__replicationActionType
+
{
+
    OSN_CMN_REPLICATION_SETUP,
+
    OSN_CMN_REPLICATION_CONNECT,
+
    OSN_CMN_REPLICATION_DISCONNECT,
+
    OSN_CMN_REPLICATION_RECONNECT,
+
    OSN_CMN_REPLICATION_ADJUST
+
} osn__replicationActionType_t;
+
 
+
typedef enum osn__replicationCongestionPolicy
+
{
+
    OSN_CMN_REPLICATION_CONGESTION_POLICY_SYNC,
+
    OSN_CMN_REPLICATION_CONGESTION_POLICY_PULL_AHEAD
+
} osn__replicationCongestionPolicy_t;
+
 
+
typedef enum osn__initPriorityType
+
{
+
    OSN_INITPRIORITY_DEFAULT,
+
    OSN_INITPRIORITY_LOW,
+
    OSN_INITPRIORITY_MEDIUM,
+
    OSN_INITPRIORITY_HIGH
+
} osn__initPriorityType_t;
+
 
+
typedef enum osn__objectType
+
{
+
    OSN_CMN_OBJECTTYPE_UNKNOWN,
+
    OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE,
+
    OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_STORAGE_VOLUME,
+
    OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_UTILIZATION,
+
    OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP,
+
    OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP_ASSOC,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM,
+
    OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_ACL,
+
    OSN_CMN_OBJECTTYPE_HOST,
+
    OSN_CMN_OBJECTTYPE_HOST_GROUP,
+
    OSN_CMN_OBJECTTYPE_INITIATOR_PORT,
+
    OSN_CMN_OBJECTTYPE_TARGET_PORT,
+
    OSN_CMN_OBJECTTYPE_PHYSICAL_DISK,
+
    OSN_CMN_OBJECTTYPE_TASK,
+
    OSN_CMN_OBJECTTYPE_AUDIT_ENTRY,
+
    OSN_CMN_OBJECTTYPE_AUDIT_SETTINGS,
+
    OSN_CMN_OBJECTTYPE_ALERT,
+
    OSN_CMN_OBJECTTYPE_ALERT_CONFIG_SETTINGS,
+
    OSN_CMN_OBJECTTYPE_LICENSE,
+
    OSN_CMN_OBJECTTYPE_LICENSE_ACTIVATION,
+
    OSN_CMN_OBJECTTYPE_USER,
+
    OSN_CMN_OBJECTTYPE_USER_PERMISSION_ASSIGNMENT,
+
    OSN_CMN_OBJECTTYPE_USER_GROUP,
+
    OSN_CMN_OBJECTTYPE_USER_GROUP_ASSOC,
+
    OSN_CMN_OBJECTTYPE_ROLE,
+
    OSN_CMN_OBJECTTYPE_ROLE_PERMISSION_ASSIGNMENT,
+
    OSN_CMN_OBJECTTYPE_ROLE_SUBJECT_ASSOC,
+
    OSN_CMN_OBJECTTYPE_PERMISSION_DEFINITION,
+
    OSN_CMN_OBJECTTYPE_STORAGE_CLOUD,
+
    OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_ASSOC,
+
    OSN_CMN_OBJECTTYPE_STORAGE_CLOUD_SUBJECT_ASSOC,
+
    OSN_CMN_OBJECTTYPE_SESSION,
+
    OSN_CMN_OBJECTTYPE_STORAGE_TIER,
+
    OSN_CMN_OBJECTTYPE_STORAGE_TIER_ASSOC,
+
    OSN_CMN_OBJECTTYPE_STORAGE_QUOTA,
+
    OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_ASSOC,
+
    OSN_CMN_OBJECTTYPE_ACL,
+
    OSN_CMN_OBJECTTYPE_OBJECT_PROPERTY,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP_ASSOC,
+
    OSN_CMN_OBJECTTYPE_REPLICA_ASSOC,
+
    OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_PATH_ASSOC,
+
    OSN_CMN_OBJECTTYPE_HW_ALARM,
+
    OSN_CMN_OBJECTTYPE_HW_BBU,
+
    OSN_CMN_OBJECTTYPE_HW_DISK,
+
    OSN_CMN_OBJECTTYPE_HW_UNIT,
+
    OSN_CMN_OBJECTTYPE_HW_ENCLOSURE,
+
    OSN_CMN_OBJECTTYPE_HW_CONTROLLER,
+
    OSN_CMN_OBJECTTYPE_HW_CONTROLLER_GROUP,
+
    OSN_CMN_OBJECTTYPE_NETWORK_SHARE,
+
    OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CLIENT,
+
    OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE,
+
    OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_HW_LOGICAL_DRIVE,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_RECOVERY_POINT,
+
    OSN_CMN_OBJECTTYPE_CLOUD_CONTAINER,
+
    OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER,
+
    OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_CREDENTIALS,
+
    OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE,
+
    OSN_CMN_OBJECTTYPE_CLOUD_BACKUP_SCHEDULE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_LOCATION,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER_ASSOC,
+
    OSN_CMN_OBJECTTYPE_CLUSTER_FAILOVER_GROUP,
+
    OSN_CMN_OBJECTTYPE_FC_TARGET_PORT,
+
    OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SERVICE_CONFIG,
+
    OSN_CMN_OBJECTTYPE_WIDGET,
+
    OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK_KEY,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_PROFILE,
+
    OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_SHARE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_SITE,
+
    OSN_CMN_OBJECTTYPE_SITE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_VIRTUAL_INTERFACE_ASSOC,
+
    OSN_CMN_OBJECTTYPE_IB_TARGET_PORT,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_ZONESET,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_ADAPTER,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_POOL_ASSOC,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_FAILOVER_GROUP_SYSTEM_ASSOC,
+
    OSN_CMN_OBJECTTYPE_HW_SWITCH_CREDENTIALS_SYSTEM_ASSOC,
+
    OSN_CMN_OBJECTTYPE_LIBRATO_METRICS_CONFIG,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_REPLICATION_CONFIG,
+
    OSN_CMN_OBJECTTYPE_GLUSTER_VOLUME,
+
    OSN_CMN_OBJECTTYPE_GLUSTER_BRICK,
+
    OSN_CMN_OBJECTTYPE_GLUSTER_PEER,
+
    OSN_CMN_OBJECTTYPE_NETWORK_SHARE_USER_ACCESS,
+
    OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CIFS_OPTION,
+
    OSN_CMN_OBJECTTYPE_ALERT_TRIGGER,
+
    OSN_CMN_OBJECTTYPE_HW_ENCLOSURE_LAYOUT,
+
    OSN_CMN_OBJECTTYPE_HW_UNIT_DISK_ASSOC,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_GROUP,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_INTERFACE,
+
    OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_MODULE,
+
    OSN_CMN_OBJECTTYPE_BACKUP_POLICY,
+
    OSN_CMN_OBJECTTYPE_BACKUP_JOB,
+
    OSN_CMN_OBJECTTYPE_GLUSTER_HA_FAILOVER_INTERFACE,
+
    OSN_CMN_OBJECTTYPE_CEPH_POOL,
+
    OSN_CMN_OBJECTTYPE_CEPH_OSD,
+
    OSN_CMN_OBJECTTYPE_CEPH_POOL_OSD_ASSOC,
+
    OSN_CMN_OBJECTTYPE_CEPH_CLUSTER,
+
    OSN_CMN_OBJECTTYPE_CEPH_MONITOR,
+
    OSN_CMN_OBJECTTYPE_CEPH_HA_FAILOVER_INTERFACE,
+
    OSN_CMN_OBJECTTYPE_CEPH_BLOCK_DEVICE,
+
    OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_HOTSPARE_MARKER,
+
    OSN_CMN_OBJECTTYPE_MAX
+
} osn__objectType_t;
+
 
+
typedef enum osn__backupJobStage {
+
    OSN_CMN_BACKUP_STAGE_INITIALIZING = 0x0000,
+
    OSN_CMN_BACKUP_STAGE_SCANNING = 0x0001,
+
    OSN_CMN_BACKUP_STAGE_COPYING = 0x0002,
+
    OSN_CMN_BACKUP_STAGE_PURGING = 0x0003,
+
    OSN_CMN_BACKUP_STAGE_COMPLETED = 0x0004,
+
    OSN_CMN_BACKUP_STAGE_FAILED = 0x0005,
+
} osn__backupJobStage_t;
+
 
+
typedef enum osn__backupPurgePolicy {
+
    OSN_CMN_BACKUP_PURGE_POLICY_NEVER = 0x0000,
+
    OSN_CMN_BACKUP_PURGE_POLICY_AFTER_BACKUP = 0x0001,
+
    OSN_CMN_BACKUP_PURGE_POLICY_DAILY = 0x0002,
+
    OSN_CMN_BACKUP_PURGE_POLICY_WEEKLY = 0x0003,
+
} osn__backupPurgePolicy_t;
+
 
+
typedef enum osn__backupPolicyType {
+
    OSN_CMN_BACKUP_POLICY_TYPE_INBOUND = 0x0000,
+
    OSN_CMN_BACKUP_POLICY_TYPE_OUTBOUND = 0x0001,
+
} osn__backupPolicyType_t;
+
 
+
typedef enum osn__backupPolicyMountType {
+
    OSN_CMN_BACKUP_POLICY_MOUNT_NFS = 0x0000,
+
    OSN_CMN_BACKUP_POLICY_MOUNT_GLUSTER = 0x0001,
+
    OSN_CMN_BACKUP_POLICY_MOUNT_OCFS2 = 0x0002,
+
    OSN_CMN_BACKUP_POLICY_MOUNT_CIFS = 0x0003,
+
} osn__backupPolicyMountType_t;
+
 
+
typedef enum osn__backupPolicyRetentionCriteria {
+
    OSN_CMN_BACKUP_POLICY_RETENTION_ACCESS_TIME = 0x0001,
+
    OSN_CMN_BACKUP_POLICY_RETENTION_MODIFY_TIME = 0x0002,
+
    OSN_CMN_BACKUP_POLICY_RETENTION_CREATE_TIME = 0x0004,
+
} osn__backupPolicyRetentionCriteria_t;
+
 
+
typedef enum osn__alertSubscription
+
{
+
    OSN_CMN_ALERT_SUBSCRIPTION_NONE      = 0,
+
    OSN_CMN_ALERT_SUBSCRIPTION_CRITICAL  = 1,
+
    OSN_CMN_ALERT_SUBSCRIPTION_ERROR      = 2,
+
    OSN_CMN_ALERT_SUBSCRIPTION_WARNING    = 4,
+
    OSN_CMN_ALERT_SUBSCRIPTION_INFO      = 8
+
} osn__alertSubscription_t;
+
 
+
typedef enum osn__errorLevel
+
{
+
    OSN_CMN_SEVERITY_ALWAYS  = 0,
+
    OSN_CMN_SEVERITY_CRITICAL = 1,
+
    OSN_CMN_SEVERITY_ERROR    = 2,
+
    OSN_CMN_SEVERITY_WARNING  = 3,
+
    OSN_CMN_SEVERITY_INFO    = 4,
+
    OSN_CMN_SEVERITY_DEBUG    = 5,
+
    OSN_CMN_SEVERITY_VERBOSE  = 6,
+
    OSN_CMN_SEVERITY_DEBUG2  = 7
+
} osn__errorLevel_t;
+
 
+
typedef enum osn__taskState
+
{
+
    OSN_TASKSTATE_INITIALIZING,
+
    OSN_TASKSTATE_QUEUED,
+
    OSN_TASKSTATE_RUNNING,
+
    OSN_TASKSTATE_FAILED,
+
    OSN_TASKSTATE_CANCELLED,
+
    OSN_TASKSTATE_COMPLETED
+
} osn__taskState_t;
+
 
+
typedef enum osn__hostType
+
{
+
    OSN_HOSTTYPE_UNKNOWN,
+
    OSN_HOSTTYPE_AIX,
+
    OSN_HOSTTYPE_HPUX,
+
    OSN_HOSTTYPE_LINUX,
+
    OSN_HOSTTYPE_SOLARIS,
+
    OSN_HOSTTYPE_VMWARE,
+
    OSN_HOSTTYPE_WINDOWS,
+
    OSN_HOSTTYPE_XENSERVER,
+
    OSN_HOSTTYPE_OTHER,
+
    OSN_HOSTTYPE_MAC,
+
    OSN_HOSTTYPE_MAX
+
} osn__hostType_t;
+
 
+
typedef enum osn__retentionTag
+
{
+
    OSN_RETENTIONTAG_NONE=0,
+
    OSN_RETENTIONTAG_DAY=1,
+
    OSN_RETENTIONTAG_WEEK=2,
+
    OSN_RETENTIONTAG_MONTH=4,
+
    OSN_RETENTIONTAG_YEARLY=8,
+
    OSN_RETENTIONTAG_MAX=9
+
} osn__retentionTag_t;
+
 
+
typedef enum osn__networkShareType
+
{
+
    OSN_NETWORKSHARETYPE_STANDARD,
+
    OSN_NETWORKSHARETYPE_SUBVOL_BTRFS,
+
    OSN_NETWORKSHARETYPE_S3QL,
+
    OSN_NETWORKSHARETYPE_SUBVOL_ZFS,
+
    OSN_NETWORKSHARETYPE_GLUSTER_VOLUME
+
} osn__networkShareType_t;
+
 
+
typedef enum osn__storageVolumeType
+
{
+
    OSN_STORAGEVOLUMETYPE_FILE,
+
    OSN_STORAGEVOLUMETYPE_FILE_BTRFS,
+
    OSN_STORAGEVOLUMETYPE_FILE_EXT3,
+
    OSN_STORAGEVOLUMETYPE_FILE_EXT4,
+
    OSN_STORAGEVOLUMETYPE_RAW_DEVICE,
+
    OSN_STORAGEVOLUMETYPE_FILE_ZFS,
+
    OSN_STORAGEVOLUMETYPE_FILE_XFS,
+
    OSN_STORAGEVOLUMETYPE_FILE_S3QL,
+
    OSN_STORAGEVOLUMETYPE_FILE_JFS,
+
    OSN_STORAGEVOLUMETYPE_CEPH_RBD
+
} osn__storageVolumeType_t;
+
 
+
typedef enum osn__hwEnclosureLayoutFlow
+
{
+
    OSN_ENCLOSURELAYOUT_FLOW_T2B_L2R,
+
    OSN_ENCLOSURELAYOUT_FLOW_T2B_R2L,
+
    OSN_ENCLOSURELAYOUT_FLOW_B2T_L2R,
+
    OSN_ENCLOSURELAYOUT_FLOW_B2T_R2L,
+
    OSN_ENCLOSURELAYOUT_FLOW_R2L_T2B,
+
    OSN_ENCLOSURELAYOUT_FLOW_R2L_B2T,
+
    OSN_ENCLOSURELAYOUT_FLOW_L2R_T2B,
+
    OSN_ENCLOSURELAYOUT_FLOW_L2R_B2T
+
} osn__hwEnclosureLayoutFlow_t;
+
 
+
typedef enum osn__replicationState
+
{
+
    OSN_CMN_REPLICATION_STATE_PREPARING,
+
    OSN_CMN_REPLICATION_STATE_INITIALIZING,
+
    OSN_CMN_REPLICATION_STATE_SYNCHRONIZING,
+
    OSN_CMN_REPLICATION_STATE_SYNCHRONIZED,
+
    OSN_CMN_REPLICATION_STATE_RESYNCHRONIZING,
+
    OSN_CMN_REPLICATION_STATE_PAUSED,
+
    OSN_CMN_REPLICATION_STATE_INIT_FAILED,
+
    OSN_CMN_REPLICATION_STATE_SYNC_FAILED,
+
    OSN_CMN_REPLICATION_STATE_RESYNC_FAILED
+
} osn__replicationState_t;
+
 
+
typedef enum osn__remoteReplicaFlags
+
{
+
    OSN_CMN_REPLICA_FLAG_NONE,
+
    OSN_CMN_REPLICA_FLAG_SOURCE,
+
    OSN_CMN_REPLICA_FLAG_TARGET,
+
    OSN_CMN_REPLICA_FLAG_SOURCE_AND_TARGET
+
} osn__remoteReplicaFlags_t;
+
 
+
typedef enum osn__raidType
+
{
+
    OSN_RAIDTYPE_RAID0=0,
+
    OSN_RAIDTYPE_RAID1=1,
+
    OSN_RAIDTYPE_RAID2=2,
+
    OSN_RAIDTYPE_RAID3=3,
+
    OSN_RAIDTYPE_RAID4=4,
+
    OSN_RAIDTYPE_RAID5=5,
+
    OSN_RAIDTYPE_RAID6=6,
+
    OSN_RAIDTYPE_RAID7=7,
+
    OSN_RAIDTYPE_RAID8=8,
+
    OSN_RAIDTYPE_RAID9=9,
+
    OSN_RAIDTYPE_RAID10=10,
+
    OSN_RAIDTYPE_RAID_AUTO=11,
+
    OSN_RAIDTYPE_SINGLE=12,
+
    OSN_RAIDTYPE_JBOD=13,
+
    OSN_RAIDTYPE_RAID50=14,
+
    OSN_RAIDTYPE_RAID60=15,
+
    OSN_RAIDTYPE_RAID70=16,
+
    OSN_RAIDTYPE_MAX=17
+
} osn__raidType_t;
+
 
+
typedef enum osn__storagePoolType
+
{
+
    OSN_STORAGEPOOLTYPE_BTRFS,
+
    OSN_STORAGEPOOLTYPE_EXT3,
+
    OSN_STORAGEPOOLTYPE_EXT4,
+
    OSN_STORAGEPOOLTYPE_XFS,
+
    OSN_STORAGEPOOLTYPE_S3QL,
+
    OSN_STORAGEPOOLTYPE_JFS,
+
    OSN_STORAGEPOOLTYPE_ZFS,
+
    OSN_STORAGEPOOLTYPE_CEPH
+
} osn__storagePoolType_t;
+
 
+
typedef enum osn__hotsparePoolRepairPolicy {
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_AND_GLOBAL = 0,
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY = 1,
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_EXACTMATCH = 2,
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY_EXACTMATCH = 3,
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_MANUAL_REPAIR = 4,
+
    OSN_HOTSPARE_POOL_REPAIR_POLICY_MAX = 5
+
} osn__hotsparePoolRepairPolicy_t;
+
 
+
typedef enum osn__hotsparePoolRepairState {
+
    OSN_HOTSPARE_POOL_REPAIR_STATE_HEALTHY = 0,
+
    OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED = 1,
+
    OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED_OPERATOR_APPROVAL_REQUIRED = 2,
+
    OSN_HOTSPARE_POOL_REPAIR_STATE_AUTO_REPAIR_IN_PROGRESS = 3,
+
    OSN_HOTSPARE_POOL_REPAIR_STATE_MAX = 4
+
} osn__hotsparePoolRepairState_t;
+
 
+
typedef enum osn__arpFilterStatus
+
{
+
    OSN_ARP_FILTERING_ENABLED,
+
    OSN_ARP_FILTERING_DISABLED
+
} osn__arpFilterStatus_t;
+
 
+
typedef enum osn__arpFilterMode
+
{
+
    OSN_ARP_FILTER_MODE_AUTO,
+
    OSN_ARP_FILTER_MODE_ENABLED,
+
    OSN_ARP_FILTER_MODE_DISABLED
+
} osn__arpFilterMode_t;
+
 
+
typedef enum osn__bondMode
+
{
+
    OSN_BOND_MODE_ROUND_ROBIN=0,
+
    OSN_BOND_MODE_ACTIVE_BACKUP=1,
+
    OSN_BOND_MODE_BALANCE_XOR=2,
+
    OSN_BOND_MODE_BROADCAST=3,
+
    OSN_BOND_MODE_LACP=4,
+
    OSN_BOND_MODE_BALANCE_TLB=5,
+
    OSN_BOND_MODE_BALANCE_TRLB=6
+
} osn__bondMode_t;
+
 
+
typedef enum osn__permissionScope
+
{
+
    OSN_SCOPE_NONE=0,
+
    OSN_SCOPE_USER=1,
+
    OSN_SCOPE_STORAGE_CLOUD=2,
+
    OSN_SCOPE_SYSTEM=3,
+
    OSN_SCOPE_GRID=4
+
} osn__permissionScope_t;
+
 
+
typedef enum osn__resourceAccessRequestType
+
{
+
    OSN_CMN_REQUEST_VIEW,
+
    OSN_CMN_REQUEST_UTILIZE,
+
    OSN_CMN_REQUEST_MODIFY
+
} osn__resourceRequestType_t;
+
 
+
//todo: needs to be refactored
+
typedef enum osn__resourceAccessMode
+
{
+
    OSN_CMN_RESOURCEACCESS_AUTO                        =0x0000,
+
    OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED            =0x0001,
+
    OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE              =0x0002,
+
    OSN_CMN_RESOURCEACCESS_IMMUTABLE                    =0x0004,
+
    OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED_IMMUTABLE  =0x0005,
+
    OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE_IMMUTABLE    =0x0006,
+
} osn__resourceAccessMode_t;
+
 
+
typedef enum osn__diskType
+
{
+
    OSN_DISKTYPE_UNKNOWN=0,
+
    OSN_DISKTYPE_IDE=1,
+
    OSN_DISKTYPE_SATA=2,
+
    OSN_DISKTYPE_SCSI=3,
+
    OSN_DISKTYPE_SSD=4,
+
    OSN_DISKTYPE_SSHD=5,
+
    OSN_DISKTYPE_AOE=6,
+
    OSN_DISKTYPE_MULTI=7,
+
} osn__diskType_t;
+
 
+
typedef enum osn__licenseEdition
+
{
+
    OSN_LICENSE_EDITION_FREE,
+
    OSN_LICENSE_EDITION_TRIAL,
+
    OSN_LICENSE_EDITION_STANDARD,
+
    OSN_LICENSE_EDITION_ENTERPRISE,
+
    OSN_LICENSE_EDITION_PLATINUM,
+
    OSN_LICENSE_EDITION_CLOUD
+
} osn__licenseEdition_t;
+
 
+
typedef enum osn__licenseDuration
+
{
+
    OSN_LICENSE_DURATION_PERPETUAL,
+
    OSN_LICENSE_DURATION_TIMELIMITED
+
} osn__licenseDuration_t;
+
 
+
typedef enum osn__licenseCategory
+
{
+
    OSN_LICENSE_CATEGORY_SYSTEM,
+
    OSN_LICENSE_CATEGORY_FEATURE,
+
    OSN_LICENSE_CATEGORY_FEATURE_TERABYTES,
+
    OSN_LICENSE_CATEGORY_FEATURE_VOLUMES,
+
    OSN_LICENSE_CATEGORY_FEATURE_SNAPSHOTS,
+
    OSN_LICENSE_CATEGORY_FEATURE_CLOUDS,
+
    OSN_LICENSE_CATEGORY_FEATURE_NODES,
+
    OSN_LICENSE_CATEGORY_FEATURE_USERS,
+
    OSN_LICENSE_CATEGORY_FEATURE_SSD,
+
    OSN_LICENSE_CATEGORY_FEATURE_REPLICATION
+
} osn__licenseCategory_t;
+
 
+
typedef enum osn__licenseType
+
{
+
    OSN_LICENSE_TYPE_NODE,
+
    OSN_LICENSE_TYPE_VOLUME,
+
    OSN_LICENSE_TYPE_SITE
+
} osn__licenseType_t;
+
 
+
typedef enum osn__lockType
+
{
+
    OSN_LOCK_SHARED,
+
    OSN_LOCK_PROTECTED,
+
    OSN_LOCK_EXCLUSIVE
+
} osn__lockType_t;
+
 
+
typedef enum osn__cloudProviderType
+
{
+
    OSN_CLOUD_PROVIDER_AMAZON_S3,
+
    OSN_CLOUD_PROVIDER_SFTP,
+
    OSN_CLOUD_PROVIDER_GOOGLE,
+
    OSN_CLOUD_PROVIDER_MICROSOFT_AZURE,
+
    OSN_CLOUD_PROVIDER_OPENSTACK_SWIFT
+
} osn__cloudProviderType_t;
+
 
+
typedef enum osn__hwControllerCapabilities
+
{
+
    HW_CONTROLLER_API_NONE=0,
+
    HW_CONTROLLER_API_RESCAN=1,
+
    HW_CONTROLLER_API_CREATE_UNIT=2,
+
    HW_CONTROLLER_API_NA3=3,
+
    HW_CONTROLLER_API_GROW_UNIT=4,
+
    HW_CONTROLLER_API_NA5=5,
+
    HW_CONTROLLER_API_NA6=6,
+
    HW_CONTROLLER_API_NA7=7,
+
    HW_CONTROLLER_API_GROW_UNIT_ADV_STRIPE=8,
+
    HW_CONTROLLER_API_NA9=9,
+
    HW_CONTROLLER_API_NA10=10,
+
    HW_CONTROLLER_API_NA11=11,
+
    HW_CONTROLLER_API_NA12=12,
+
    HW_CONTROLLER_API_NA13=13,
+
    HW_CONTROLLER_API_NA14=14,
+
    HW_CONTROLLER_API_NA15=15,
+
    HW_CONTROLLER_API_GROW_UNIT_ADV_PRIORITY=16,
+
    HW_CONTROLLER_API_NA17=17,
+
    HW_CONTROLLER_API_NA18=18,
+
    HW_CONTROLLER_API_NA19=19,
+
    HW_CONTROLLER_API_NA20=20,
+
    HW_CONTROLLER_API_NA21=21,
+
    HW_CONTROLLER_API_NA22=22,
+
    HW_CONTROLLER_API_NA23=23,
+
    HW_CONTROLLER_API_NA24=24,
+
    HW_CONTROLLER_API_NA25=25,
+
    HW_CONTROLLER_API_NA26=26,
+
    HW_CONTROLLER_API_NA27=27,
+
    HW_CONTROLLER_API_NA28=28,
+
    HW_CONTROLLER_API_NA29=29,
+
    HW_CONTROLLER_API_NA30=30,
+
    HW_CONTROLLER_API_NA31=31,
+
    HW_CONTROLLER_API_CREATE_SSD_CACHE=32,
+
    HW_CONTROLLER_API_SUPPORTS_SSD_CACHE_RAID=64,
+
    HW_CONTROLLER_API_SUPPORTS_UNIT_DISK_CORRELATION=128,
+
    HW_CONTROLLER_API_SUPPORTS_ENCRYPTION=256
+
} osn__hwControllerCapabilities_t;
+
 
+
typedef enum osn__hwDiskCapabilities
+
{
+
    HW_DISK_API_NONE=0,
+
    HW_DISK_API_MARK_HOT_SPARE=1,
+
    HW_DISK_API_IDENTIFY=2,
+
    HW_DISK_API_NA3=3,
+
    HW_DISK_API_REMOVE_DISK=4,
+
    HW_DISK_API_NA5=5,
+
    HW_DISK_API_NA6=6,
+
    HW_DISK_API_NA7=7,
+
    HW_DISK_API_SUPPORTS_ENCRYPTION=8
+
} osn__hwDiskCapabilities_t;
+
 
+
typedef enum osn__hwUnitCapabilities
+
{
+
    HW_UNIT_API_NONE=0,
+
    HW_UNIT_API_IDENTIFY=1,
+
    HW_UNIT_API_DELETE=2,
+
    HW_UNIT_API_NA3=3,
+
    HW_UNIT_API_NA4=4,
+
    HW_UNIT_API_NA5=5,
+
    HW_UNIT_API_NA6=6,
+
    HW_UNIT_API_NA7=7,
+
    HW_UNIT_API_SUPPORTS_ENCRYPTION=8
+
} osn__hwUnitCapabilities_t;
+
 
+
</pre>
+

Revision as of 15:40, 23 June 2019

Overview

QuantaStor was designed from the start with a service oriented architecture so that all aspects of system, cluster, and storage grid configuration may be automated. There are multiple ways to automate QuantaStor management operations including the REST API, CLI, Ansible modules, and SOAP. The Developer Guide focuses on integration with QuantaStor via the REST APIs.

Supported Languages

You can use just about any programming language you like to communicate with QuantaStor via our RESTful API. Recommended tools:

Browser Tools

We highly recommend installing a tool like JSONView or other similar browser tool so that you can view the JSON output from the various API calls in an easy to read format. When experimenting with various APIs you can then use your browser to call the API, see the results, and plan for how to integrate it into your script or application.

Examples

Here's are some examples of how to enumerate various objects using the RESTful API and the curl utility:

curl -u admin:password https://192.168.0.116:8153/qstorapi/hostEnum -k
curl -u admin:password https://192.168.0.116:8153/qstorapi/storageVolumeEnum -k
curl -u admin:password https://192.168.0.116:8153/qstorapi/storageSystemGet -k
curl -u admin:password https://192.168.0.116:8153/qstorapi/storagePoolEnum -k
curl -u admin:password https://192.168.0.116:8153/qstorapi/userEnum -k
curl -u admin:password https://192.168.0.116:8153/qstorapi/networkShareEnum -k

One quick way to test is to just enter one of these URLs (https://192.168.0.116:8153/qstorapi/hostEnum) into your web browser which will work as long as your system admin account is still using the default password. Pretty much every known language has a curl type library/module for it so the above technique will work everywhere, you just need to get up to speed with your preferred language's curl API mechanism.

Note you can even access APIs using wget which in this example will store the results into a file called hostEnum:

wget --no-check-certificate https://192.168.0.135:8153/qstorapi/hostEnum

Passing Args as a File

You can also call one of our RESTful APIs by passing a file instead of command line arguments. To do this your command will look something like this:

curl -k -u admin:password -d @file.json  https://192.168.0.116:8153/qstorapi/jsonrpc

An example of how the file should be formatted looks like this:

{
    "method": "echo",
    "params": {
        "inputMessage": "Message"
    }
}

The format being used is JSON. You specify the command you would like to call using the key "method". Then the parameters are passed in using the key "params". If more than one parameter is specified, separate them with a comma.

{
    "method": "command",
    "params": {
        "param1": "<value1>",
        "param2": "<value2>",
        "param3": "<value3>"
    }
}

Reflection

The RESTful API has basic support for reflection, meaning that you can learn about all the arguments for a given API just by calling it with the 'help' parameter like so:

curl -k -u admin:password https://192.168.0.116:8153/qstorapi/hostAdd?help

Calling APIs with Parameters

To call an API with parameters you'll need to add a & between each parameter you specify and a ? between the API name and the start of the parameters like so:

curl -k -u admin:password "https://192.168.0.116:8153/qstorapi/hostAdd?iqn=iqn.1991-05.com.microsoft:osn-mediaserver3&hostname=mediaserver3&flags=0"

Which will return JSON output like this (note the quotes so that the ampersand is not interpreted by the shell). Also note that sometimes it can be hard to read the JSON output so we recommend using a JSON Formatter when you're developing your integration code.

{
   "task":{
      "i18nDescription":{
         "messageText":null,
         "messageId":null
      },
      "operation":"add",
      "id":"ca54a531-6386-a4f7-b9de-30f505329bb1",
      "objectType":"Host",
      "finishTimeStamp":"1969-12-31 16:00:00",
      "isRemote":false,
      "createdTimeStamp":"2012-08-23 21:53:40",
      "state":0,
      "acls":[
         {
            "reserved":0,
            "objectId":"ca54a531-6386-a4f7-b9de-30f505329bb1",
            "ownerType":23,
            "ownerId":"252d4786-b19f-ae43-1ff6-453bee8a652e",
            "accessLevel":2,
            "objectType":16
         }
      ],
      "clientIpAddress":"127.0.0.1",
      "parentId":null,
      "modifiedByUserId":null,
      "progress":0,
      "customId":null,
      "type":16,
      "description":"Adding host 'mediaserver3' to service with iSCSI initiator IQN 'iqn.1991-05.com.microsoft:osn-mediaserver3'.",
      "errorMessage":{
         "function":null,
         "severity":0,
         "errorCode":0,
         "file":null,
         "message":{
            "messageText":null,
            "messageId":null
         },
         "line":0
      },
      "modifiedTimeStamp":"1969-12-31 16:00:00",
      "storageSystemId":"50ce62e6-6846-c5b3-d8a1-27061a696604",
      "createdByUserId":"252d4786-b19f-ae43-1ff6-453bee8a652e",
      "name":"Add Host",
      "startTimeStamp":"2012-08-23 21:53:40",
      "taskState":2
   },
   "obj":{
      "username":null,
      "storageSystemId":"50ce62e6-6846-c5b3-d8a1-27061a696604",
      "isRemote":false,
      "hostGroupId":null,
      "name":"mediaserver3",
      "ipAddress":null,
      "createdByUserId":"252d4786-b19f-ae43-1ff6-453bee8a652e",
      "modifiedTimeStamp":"1969-12-31 16:00:00",
      "createdTimeStamp":"2012-08-23 21:53:40",
      "state":0,
      "hostOsType":0,
      "initiatorPortList":[
         {
            "storageSystemId":"50ce62e6-6846-c5b3-d8a1-27061a696604",
            "isRemote":false,
            "hostId":"4fb8c2da-235a-18f9-2620-1d8aa5da89c5",
            "name":"iqn.1991-05.com.microsoft:osn-mediaserver3",
            "ipAddress":null,
            "createdByUserId":"252d4786-b19f-ae43-1ff6-453bee8a652e",
            "modifiedTimeStamp":"1969-12-31 16:00:00",
            "createdTimeStamp":"2012-08-23 21:53:40",
            "wwpn":null,
            "state":0,
            "iqn":"iqn.1991-05.com.microsoft:osn-mediaserver3",
            "initiatorType":0,
            "modifiedByUserId":null,
            "customId":null,
            "type":13,
            "id":"535abed2-830a-a437-d6fd-5af7c5b5c263"
         }
      ],
      "modifiedByUserId":null,
      "customId":null,
      "password":"********",
      "type":11,
      "id":"4fb8c2da-235a-18f9-2620-1d8aa5da89c5",
      "description":"None"
   }
}

Async vs. Sync (blocking vs non-blocking) API calls

All of the APIs for QuantaStor that modify the configuration in any way will start a task in the system. If you call any API with the flags parameter set to 0 it'll be treated as a blocking call which wait for the task to complete before returning. If you want to call the function and have it return immediately you can pass a 1 as the flags parameter which indicates to the server that the caller wants this to be an asynchronous non-blocking call. With asynchronous calls you'll get the task object back so that you can use the taskGet API to monitor the progress of the operation. When the task completes it will populate the customId property of the task to contain the ID(s) of the objects which were created/deleted/modified by the task.

Task Monitoring

As indicated above, sometimes you'll want to call an API asynchronously so that you can monitor the progress of the task and/or because you want to queue up multiple operations to run simultaneously. In such cases where you call an API asynchronously (flags=1) you can monitor the progress of the task using the tastGet API or the tastEnum API if you want to see all running tasks. When the task is completed you can check the customId property to see the ID(s) of the objects created/modified.

API Error Code Definitions

For all APIs a 0 is returned for SUCCESS and a non-zero error code is returned if there is a command failure along with a description of the error. Full list of error codes are available here.

Security

QuantaStor REST interface always uses SSL via HTTPS. You can change the pem keys on your system by replacing the qstorapi_server.pem file located in /opt/osnexus/quantastor/restsrv/ with your own. If you want to use plain HTTP without SSL you can rename or remove the qstorapi_server.pem and the RESTful service will automatically fall back to using HTTP. After removing the file just restart the RESTful service interface with:

service restsrv restart

If you want to block access to the restful interface you can stop the service and/or you can remove access to port 8153 by removing the entry associated with that port number from the /etc/init.d/iptables configuration file and then restart iptables like so:

service iptables restart

In a similar manner you can block access to the web management interface on port 80/8080.

Supported SOAP / WebServices Implementations

  • gSOAP (C++, all platforms)
  • Apache Axis (Java, all platforms)
  • .NET (C# & Visual Basic, Windows)

API List

The following represents the full API list for every API in QuantaStor. Nothing is left out, if you can do it from the web management interface or the CLI, it's here.

Examples

 
curl -u username:password -k https://hostname:8153/qstorapi/aclAdd?objectId=<id>&ownerType=<int>&ownerId=<id>&accessLevel=<int>&objectType=<int> 

curl -u username:password -k https://hostname:8153/userAdd?username=tiger&password=passWORD1&firstName=Tiger&lastName=Woods&role=Administrator

curl -u username:password -k -d @data.json https://hostname:8153/qstorapi/jsonrpc

Example Script

Here is an example script in python. To use this example replace the ip address with your QuantaStor boxes ip.


import json
import subprocess

print "I am getting the storage system info..."
#To get the data make an http request (such as a curl call)

proc = subprocess.Popen(["curl", "-k", "-u", "admin:password",
         "https://192.168.0.142:8153/qstorapi/storageSystemGet?"], stdout=subprocess.PIPE)

(out, err) = proc.communicate()

print
print "Here is what the returned data looks like when I get it:"
print
print str(out)
print

#call json.loads to turn it into a python dictionary
out = json.loads(out)
print "Here is how to get a single field from the output:"
print
storageSystemId = out["id"]
print storageSystemId

QuantaStor REST API Reference Guide

All efforts are made to keep existing REST API from changing but on rare occasions API changes to existing APIs and objects may change. As such the following sections document the APIs as per a specific released version of QuantaStor. New versions of QuantaStor generally introduce some new APIs and object types but these are added in a backwards compatible fashion.

Current Version

Archived Versions

Note, QS v4.1 and newer maintains compatibility with the previous versions of the REST API with some minor changes to optimize the storageVolume and networkShare objects to contain a snapshot ID list rather than the complete set of all snapshot objects with all their properties. Scripts using the old mode will need to be updated to use the snapshot ID to query for additional share/volume snapshot information if required.

QuantaStor REST API Reference v5.2

QuantaStor REST API Reference v4.2, v4.1

QuantaStor REST API Reference v4.0 and earlier

Enumeration Types

The enumeration types listed below are used with APIs noted above. Many of the enumerations have assigned values like "OSN_CMN_FLAG_ASYNC = 0x0001" but for those that do not have assigned values note that they are 0 indexed. For example, OSN_CMN_ACCESSTYPE_READWRITE should be specified as 0 and OSN_CMN_ACCESSTYPE_READONLY specified as a 1 to the storageVolumeModify API as the accessMode for changing the configuration of a storage volume.