+ Developer Guide Overview

From OSNEXUS Online Documentation Site
Revision as of 11:55, 21 January 2015 by Qadmin (Talk | contribs)

Jump to: navigation, search

QuantaStor REST API

QuantaStor was designed from the start with REST APIs to enable development of applications and extensions to remotely manage QuantaStor storage systems.

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.

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


Contents

aclAdd API

Enables access to the specific volume for a specific user.

Argument List

   ownerId: <string>
   ownerType: <unsignedInt>
   objectId: <string>
   objectType: <unsignedInt>
   accessLevel: <unsignedInt>
   flags: <unsignedInt>

aclModify API

Modifies the current acl assignment.

Argument List

   ownerId: <string>
   ownerType: <unsignedInt>
   objectId: <string>
   objectType: <unsignedInt>
   accessLevel: <unsignedInt>
   flags: <unsignedInt>

aclRemove API

Removes the acl assignment.

Argument List

   ownerId: <string>
   ownerType: <unsignedInt>
   objectId: <string>
   objectType: <unsignedInt>
   flags: <unsignedInt>

activeDirectoryUserAndGroupEnum API

Argument List

   storageSystemId: <string>
   networkShareId: <string>
   groupFilter: <string>
   userFilter: <string>
   refreshCache: <boolean>
   flags: <unsignedInt>

alertClear API

Deletes the alert with the specified ID.

Argument List

alertClear API

Clears all the alerts.

Argument List

<code>

   id: <string>
   flags: <unsignedInt>

alertClearAll API

Clears all the alerts.

Argument List

   flags: <unsignedInt>

alertConfigGet API

Alert configuration settings indicate where alert notifications should be sent.

Argument List

   flags: <unsignedInt>

alertConfigSet API

Sets the alert configuration settings such as the administrator email address.

Argument List

   senderEmailAddress: <string>
   smtpServerIpAddress: <string>
   smtpUsername: <string>
   smtpPassword: <string>
   smtpAuthType: <unsignedInt>
   customerSupportEmailAddress: <string>
   poolFreeSpaceWarningThreshold: <unsignedInt>
   poolFreeSpaceAlertThreshold: <unsignedInt>
   poolFreeSpaceCriticalAlertThreshold: <unsignedInt>
   pagerDutyServiceKey: <string>
   flags: <unsignedInt>

alertEnum API

Returns a list of all the alerts.

Argument List

   flags: <unsignedInt>

alertGet API

Gets information about a specific alert.

Argument List

   id: <string>
   flags: <unsignedInt>

alertRaise API

Allows one to raise a user generated alert for testing the SMTP server configuration settings.

Argument List

   message: <string>
   severity: <unsignedInt>
   flags: <unsignedInt>

auditLogClear API

Clears the audit log.

Argument List

   flags: <unsignedInt>

auditLogDisable API

Disables the audit log

Argument List

   flags: <unsignedInt>

auditLogEnable API

Enables the audit log.

Argument List

   flags: <unsignedInt>

auditLogGet API

Get an entry from the audit log.

Argument List

   user: <string>
   startDate: <dateTime>
   endDate: <dateTime>
   flags: <unsignedInt>

backupJobCancel API

Argument List

   backupJob: <string>
   flags: <unsignedInt>

backupJobEnum API

Argument List

   flags: <unsignedInt>

backupJobGet API

Argument List

   backupJob: <string>
   flags: <unsignedInt>

backupJobStart API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

backupJobStatusUpdate API

Argument List

   statusXml: <string>
   flags: <unsignedInt>

backupPolicyCreate API

Argument List

   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>

backupPolicyDelete API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

backupPolicyDisable API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

backupPolicyEnable API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

backupPolicyEnum API

Argument List

   flags: <unsignedInt>

backupPolicyGet API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

backupPolicyModify API

Argument List

   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>

backupPolicyTrigger API

Argument List

   backupPolicy: <string>
   flags: <unsignedInt>

cephBlockDeviceCreate API

Argument List

   name: <string>
   description: <string>
   cephPoolId: <string>
   size: <unsignedLong>
   flags: <unsignedInt>

cephBlockDeviceDelete API

Argument List

   cephBlockDevice: <string>
   flags: <unsignedInt>

cephBlockDeviceEnum API

Argument List

   flags: <unsignedInt>

cephBlockDeviceGet API

Argument List

   cephBlockDevice: <string>
   flags: <unsignedInt>

cephBlockDeviceModify API

Argument List

   cephBlockDevice: <string>
   name: <string>
   description: <string>
   flags: <unsignedInt>

cephBlockDeviceResize API

Argument List

   cephBlockDevice: <string>
   size: <unsignedLong>
   flags: <unsignedInt>

cephBlockDeviceSnapshot API

Argument List

   cephBlockDevice: <string>
   snapshotName: <string>
   snapshotDescription: <string>
   flags: <unsignedInt>

cephClusterEnum API

Argument List

   flags: <unsignedInt>

cephClusterGet API

Argument List

   cephCluster: <string>
   flags: <unsignedInt>

cephHaFailoverInterfaceEnum API

Argument List

   flags: <unsignedInt>

cephHaFailoverInterfaceGet API

Argument List

   cephPoolId: <string>
   failoverInterfaceId: <string>
   flags: <unsignedInt>

cephMonitorEnum API

Argument List

   flags: <unsignedInt>

cephMonitorGet API

Argument List

   cephMonitor: <string>
   flags: <unsignedInt>

cephOsdCreate API

Argument List

   name: <string>
   description: <string>
   cephClusterId: <string>
   storagePoolId: <string>
   weight: <unsignedInt>
   flags: <unsignedInt>

cephOsdDelete API

Argument List

   cephOsd: <string>
   deleteData: <boolean>
   flags: <unsignedInt>

cephOsdEnum API

Argument List

   flags: <unsignedInt>

cephOsdGet API

Argument List

   cephOsd: <string>
   flags: <unsignedInt>

cephPoolCreate API

Argument List

   name: <string>
   description: <string>
   placementGroupCount: <unsignedInt>
   maxReplicaCount: <unsignedInt>
   minReplicaCount: <unsignedInt>
   cephPoolType: <string>
   storagePoolList: <string[]>
   flags: <unsignedInt>

cephPoolDelete API

Argument List

   cephPool: <string>
   flags: <unsignedInt>

cephPoolEnum API

Argument List

   flags: <unsignedInt>

cephPoolGet API

Argument List

   cephPool: <string>
   flags: <unsignedInt>

cephPoolModify API

Argument List

   cephPool: <string>
   name: <string>
   description: <string>
   flags: <unsignedInt>

cephPoolOsdAssocEnum API

Argument List

   cephPool: <string>
   flags: <unsignedInt>

cephPoolOsdAssocGet API

Argument List

   cephPool: <string>
   cephOsd: <string>
   flags: <unsignedInt>

cloudBackupScheduleAssocEnum API

List the cloud backup schedule associations.

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleAssocGet API

Get a cloud backup schedule association.

Argument List

   scheduleId: <string>
   storageVolumeId: <string>

cloudBackupScheduleCreate API

Creates a new schedule to automate backups to a cloud backup container.

Argument List

   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>

cloudBackupScheduleDelete API

Deletes the specified cloud backup schedule.

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleDisable API

Disables a cloud backup schedule so that it does not trigger backups.

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleEnable API

Enables a cloud backup schedule that was previously disabled.

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleEnum API

Lists all the cloud backup schedules in the system.

Argument List

   flags: <unsignedInt>

cloudBackupScheduleGet API

Gets detailed information about a specific cloud backup schedule.

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleModify API

Modifies the settings for the specified cloud backup schedule.

Argument List

   schedule: <string>
   name: <string>
   description: <string>
   cloudContainerId: <string>
   setEnabled: <unsignedInt>
   startDate: <dateTime>
   maxBackups: <unsignedInt>
   daysOfWeek: <unsignedInt>
   hoursOfDay: <unsignedInt>
   scheduleType: <unsignedInt>
   delayInterval: <unsignedInt>
   flags: <unsignedInt>

cloudBackupScheduleTrigger API

Argument List

   schedule: <string>
   flags: <unsignedInt>

cloudBackupScheduleVolumeAddRemove API

Add/Remove storage volumes to an existing cloud backup schedule.

Argument List

   schedule: <string>
   modType: <unsignedInt>
   storageVolumeList: <string[]>
   flags: <unsignedInt>

cloudContainerAdd API

Recovers a cloud backup container that was previously removed or used with a prior installation.

Argument List

   credentialsId: <string>
   locationId: <string>
   encryptionKey: <string>
   storageUrl: <string>
   enableNfs: <boolean>
   flags: <unsignedInt>

cloudContainerCreate API

Creates a cloud backup container into which cloud backups of storage volumes can be made.

Argument List

   name: <string>
   description: <string>
   credentialsId: <string>
   locationId: <string>
   encryptionKey: <string>
   storageUrl: <string>
   enableNfs: <boolean>
   attachToStorageSystem: <string>
   flags: <unsignedInt>

cloudContainerDelete API

Deletes the specified cloud backup container. WARNING, all data in the container will be destroyed.

Argument List

   container: <string>
   flags: <unsignedInt>

cloudContainerDisable API

Disables access to the specified cloud container without having to remove it.

Argument List

   container: <string>
   flags: <unsignedInt>

cloudContainerEnable API

Enables a cloud container that was previously disabled or was inaccessible due to network connection issues.

Argument List

   container: <string>
   attachToStorageSystem: <string>
   flags: <unsignedInt>

cloudContainerEnum API

Returns a list of cloud backup containers in the system.

Argument List

   flags: <unsignedInt>

cloudContainerGet API

Retruns detailed information on a specific cloud backup container.

Argument List

   container: <string>
   flags: <unsignedInt>

cloudContainerModify API

Modifies the specified cloud backup container settings.

Argument List

   container: <string>
   name: <string>
   description: <string>
   encryptionKey: <string>
   enableNfs: <boolean>
   flags: <unsignedInt>

cloudContainerRemove API

Removes the specified cloud backup container from the system but does not delete any backup data in the cloud.

Argument List

   container: <string>
   flags: <unsignedInt>

cloudContainerRepair API

Repairs the specificed cloud backup container.

Argument List

   container: <string>
   flags: <unsignedInt>

cloudProviderCredentialsAdd API

Adds cloud provider credentials to enable cloud backup to cloud backup containers.

Argument List

   username: <string>
   password: <string>
   providerId: <string>
   machine: <string>
   flags: <unsignedInt>

cloudProviderCredentialsEnum API

Returns a list of all the cloud provider credentials in the system. Passwords are masked.

Argument List

   flags: <unsignedInt>

cloudProviderCredentialsGet API

Returns information about the specified cloud provider credential.

Argument List

   credentialId: <string>
   flags: <unsignedInt>

cloudProviderCredentialsRemove API

Removes the specified cloud provider credentials

Argument List

   credentialsId: <string>
   flags: <unsignedInt>

cloudProviderEnum API

Returns the list of supported cloud providers.

Argument List

   flags: <unsignedInt>

cloudProviderGet API

Returns detailed information about the specified cloud provider.

Argument List

   providerId: <string>
   flags: <unsignedInt>

cloudProviderLocationAdd API

Argument List

Argument List

cloudProviderLocationAdd API

<code>

Argument List

<code>

   providerId: <string>
   locationTag: <string>
   flags: <unsignedInt>

cloudProviderLocationEnum API

Argument List

Argument List

cloudProviderLocationEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

cloudProviderLocationGet API

Argument List

Argument List

cloudProviderLocationGet API

<code>

Argument List

<code>

   locationId: <string>
   flags: <unsignedInt>

cloudProviderLocationRemove API

Argument List

Argument List

cloudProviderLocationRemove API

<code>

Argument List

<code>

   locationId: <string>
   flags: <unsignedInt>

clusterFailoverGroupActivate API

Activate the cluster fail over group.

Argument List

clusterFailoverGroupActivate API

</p>


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>
   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

Argument List

<code>

eventListenerNotify API

<code>

Argument List

<code>

   storageSystemId: <string>

</code>

eventListenerRegister API

Argument List

Argument List

<code>

eventListenerRegister API

<code>

Argument List

<code> </code>

eventListenerUnregister API

Argument List

Argument List

<code>

eventListenerUnregister API

<code>

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

Argument List

<code>

getHardwareConfig API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

getLocalizedMessage API

Argument List

Argument List

<code>

getLocalizedMessage API

<code>

Argument List

<code>

   locale: <string>
   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

Argument List

<code>

hwControllerImportForeignUnits API

<code>

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>

hwControllerRescan API

Rescans all of the hardware controllers 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

Argument List

<code>

hwLogicalDriveEnum API

<code>

Argument List

<code>

   hwUnit: <string>
   flags: <unsignedInt>

</code>

hwLogicalDriveGet API

Argument List

Argument List

<code>

hwLogicalDriveGet API

<code>

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 pecific 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

Argument List

<code>

hwSwitchFailoverGroupPoolAssocEnum API

<code>

Argument List

<code>

   hwSwitchFailoverGroup: <string>
   flags: <unsignedInt>

</code>

hwSwitchFailoverGroupPoolAssocGet API

Argument List

Argument List

<code>

hwSwitchFailoverGroupPoolAssocGet API

<code>

Argument List

<code>

   hwSwitchFailoverGroupId: <string>
   storagePoolId: <string>
   flags: <unsignedInt>

</code>

hwSwitchFailoverGroupSetMode API

Argument List

Argument List

<code>

hwSwitchFailoverGroupSetMode API

<code>

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>

hwSwitchFailoverGroupSystemAssocAdd API


Argument List

<code>

   hwSwitchFailoverGroup: <string>
   storageSystemId: <string>
   zonesetId: <string>
   flags: <unsignedInt>

</code>

hwSwitchFailoverGroupSystemAssocEnum API

Argument List

Argument List

<code>

hwSwitchFailoverGroupSystemAssocEnum API

<code>

Argument List

<code>

   hwSwitchFailoverGroup: <string>
   flags: <unsignedInt>

</code>

hwSwitchFailoverGroupSystemAssocGet API

Argument List

Argument List

<code>

hwSwitchFailoverGroupSystemAssocGet API

<code>

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

Argument List

<code>

hwUnitSsdCacheCreate API

<code>

Argument List

<code>

   controllerId: <string>
   raidType: <unsignedInt>
   ssdDiskList: <string[]>
   flags: <unsignedInt>

</code>

hwUnitSsdCacheDisable API

Argument List

Argument List

<code>

hwUnitSsdCacheDisable API

<code>

Argument List

<code>

   unitId: <string>
   flags: <unsignedInt>

</code>

hwUnitSsdCacheEnable API

Argument List

Argument List

<code>

hwUnitSsdCacheEnable API

<code>

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>

ibTargetPortEnum API


Argument List

<code>

   flags: <unsignedInt>

</code>

ibTargetPortGet API

Returns information about the specified infiniband port.

Argument List

<code>

ibTargetPortGet API


Argument List

<code>

   port: <string>
   flags: <unsignedInt>

</code>

libratoMetricsConfigGet API

Get the current username, token, and interval settings for Librato Metrics.

Argument List

<code>

libratoMetricsConfigGet API


Argument List

<code>

   storageSystem: <string>
   flags: <unsignedInt>

</code>

libratoMetricsConfigSet API

Set the username, token, and interval for Librato Metrics posting.

Argument List

<code>

libratoMetricsConfigSet API


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>

licenseActivate API


Argument List

<code>

licenseActivate API

Requests automatic activation via the online activation service.

Argument List

<code>

licenseActivate API


Argument List

<code>

   activationKey: <string>
   flags: <unsignedInt>

</code>

licenseActivateOnline API

Requests automatic activation via the online activation service.

Argument List

<code>

licenseActivateOnline API


Argument List

<code>

   licenseKey: <string>
   flags: <unsignedInt>

</code>

licenseAdd API

Adds a license key using a license key block.

Argument List

<code>

licenseAdd API


Argument List

<code>

   storageSystem: <string>
   keyBlock: <string>
   flags: <unsignedInt>

</code>

licenseEnum API

Returns a list of all the registered license keys.

Argument List

<code>

licenseEnum API


Argument List

<code>

   flags: <unsignedInt>

</code>

licenseGet API

Shows the current license key info, and any activation request code.

Argument List

<code>

licenseGet API


Argument List

<code>

   license: <string>
   flags: <unsignedInt>

</code>

licenseRemove API

Removes the specified license key.

Argument List

<code>

licenseRemove API


Argument List

<code>

   license: <string>
   flags: <unsignedInt>

</code>

login API

Argument List

Argument List

<code>

login API

<code>

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

Argument List

<code>

networkShareNfsConfig API

<code>

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>
   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

Argument List

<code>

objectEnum API

<code>

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

Argument List

<code>

permissionDefinitionEnum API

<code>

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 cassis.

Argument List

<code>

   physicalDrive: <string>
   pattern: <string>
   duration: <unsignedInt>
   flags: <unsignedInt>

</code>

physicalDiskPathAssocEnum API

Argument List

Argument List

<code>

physicalDiskPathAssocEnum API

<code>

Argument List

<code>

   multipathDiskId: <string>
   flags: <unsignedInt>

</code>

physicalDiskPathAssocGet API

Argument List

Argument List

<code>

physicalDiskPathAssocGet API

<code>

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

Argument List

<code>

registerSecurityToken API

<code>

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

Argument List

<code>

replicaAssocDelete API

<code>

Argument List

<code>

   assocId: <string>
   deleteSourceReplicatable: <boolean>
   deleteTargetReplicatable: <boolean>
   deleteReplicaAssocHead: <boolean>
   flags: <unsignedInt>

</code>

replicaAssocEnum API

Argument List

Argument List

<code>

replicaAssocEnum API

<code>

Argument List

<code>

   replicatableId: <string>
   sourcesOnly: <boolean>
   targetsOnly: <boolean>
   flags: <unsignedInt>

</code>

replicaAssocGet API

Argument List

Argument List

<code>

replicaAssocGet API

<code>

Argument List

<code>

   assocId: <string>
   flags: <unsignedInt>

</code>

replicaAssocUpdate API

Argument List

Argument List

<code>

replicaAssocUpdate API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

replicaCreate API

Argument List

Argument List

<code>

replicaCreate API

<code>

Argument List

<code>

replicaCreate API

Argument List

Argument List

<code>

replicaCreate API

<code>

Argument List

<code>

replicaCreate API

Argument List

Argument List

<code>

replicaCreate API

<code>

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

Argument List

<code>

replicaCreateNetworkShareTarget API

<code>

Argument List

<code>

   replicaName: <string>
   replicaDescription: <string>
   targetStoragePoolId: <string>
   replicationPriority: <unsignedInt>
   smartSync: <boolean>
   forcePrimary: <boolean>
   reserved: <string>
   flags: <unsignedInt>

</code>

replicaCreateVolumeTarget API

Argument List

Argument List

<code>

replicaCreateVolumeTarget API

<code>

Argument List

<code>

   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

Argument List

<code>

replicaStop API

<code>

Argument List

<code>

   assocId: <string>
   flags: <unsignedInt>

</code>

replicaSync API

Argument List

Argument List

<code>

replicaSync API

<code>

Argument List

<code>

   assocId: <string>
   flags: <unsignedInt>

</code>

replicationScheduleAddRemove API

Argument List

Argument List

<code>

replicationScheduleAddRemove API

<code>

Argument List

<code>

   schedule: <string>
   modType: <unsignedInt>
   storageVolumeList: <string[]>
   networkShareList: <string[]>
   flags: <unsignedInt>

</code>

replicationScheduleAssocEnum API

Argument List

Argument List

<code>

replicationScheduleAssocEnum API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

replicationScheduleAssocGet API

Argument List

Argument List

<code>

replicationScheduleAssocGet API

<code>

Argument List

<code>

   scheduleId: <string>
   replicatableId: <string>

</code>

replicationScheduleCreate API

Argument List

Argument List

<code>

replicationScheduleCreate API

<code>

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

Argument List

<code>

replicationScheduleDelete API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

replicationScheduleDisable API

Argument List

Argument List

<code>

replicationScheduleDisable API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

replicationScheduleEnable API

Argument List

Argument List

<code>

replicationScheduleEnable API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

replicationScheduleEnum API

Argument List

Argument List

<code>

replicationScheduleEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

replicationScheduleGet API

Argument List

Argument List

<code>

replicationScheduleGet API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

replicationScheduleModify API

Argument List

Argument List

<code>

replicationScheduleModify API

<code>

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>
   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>
   flags: <unsignedInt>

</code>

roleSubjectAssocEnum API

Argument List

Argument List

<code>

roleSubjectAssocEnum API

<code>

Argument List

<code>

   role: <string>
   flags: <unsignedInt>

</code>

roleSubjectAssocGet API

Argument List

Argument List

<code>

roleSubjectAssocGet API

<code>

Argument List

<code>

   role: <string>
   subject: <string>
   flags: <unsignedInt>

</code>

sessionClose API

Forcably 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

Argument List

<code>

siteAssocEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

siteAssocGet API

Argument List

Argument List

<code>

siteAssocGet API

<code>

Argument List

<code>

   siteId: <string>
   storageSystemId: <string>
   flags: <unsignedInt>

</code>

siteCreate API

Argument List

Argument List

<code>

siteCreate API

<code>

Argument List

<code>

   name: <string>
   description: <string>
   location: <string>
   storageSystemList: <string[]>
   flags: <unsignedInt>

</code>

siteDelete API

Argument List

Argument List

<code>

siteDelete API

<code>

Argument List

<code>

   site: <string>
   flags: <unsignedInt>

</code>

siteEnum API

Argument List

Argument List

<code>

siteEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

siteGet API

Argument List

Argument List

<code>

siteGet API

<code>

Argument List

<code>

   site: <string>
   flags: <unsignedInt>

</code>

siteModify API

Argument List

Argument List

<code>

siteModify API

<code>

Argument List

<code>

   siteId: <string>
   name: <string>
   description: <string>
   location: <string>
   flags: <unsignedInt>

</code>

siteStorageSystemAddRemove API

Argument List

Argument List

<code>

siteStorageSystemAddRemove API

<code>

Argument List

<code>

   site: <string>
   modType: <unsignedInt>
   storageSystemList: <string[]>
   flags: <unsignedInt>

</code>

snapshotScheduleAssocEnum API

Argument List

Argument List

<code>

snapshotScheduleAssocEnum API

<code>

Argument List

<code>

   schedule: <string>
   flags: <unsignedInt>

</code>

snapshotScheduleAssocGet API

Argument List

Argument List

<code>

snapshotScheduleAssocGet API

<code>

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 compiresed of the specifed users, resources and chap information.

Argument List

<code>

   name: <string>
   description: <string>
   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

Modifys 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>
   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 in a storager 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>
   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 decription.

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

Argument List

<code>

storagePoolUpdateRedirect API

<code>

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>

   flags: <unsignedInt>

</code>

storageSystemClusterNodeJoin API

Joins the specified storage system to the management grid.

Argument List

<code>

   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

Argument List

<code>

storageSystemClusterNodeSync API

<code>

Argument List

<code>

   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 managment 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

Argument List

<code>

storageSystemGroupAddRemoveLinks API

<code>

Argument List

<code>

   groupId: <string>
   linkIdList: <string[]>
   modType: <unsignedInt>
   flags: <unsignedInt>

</code>

storageSystemGroupAssocEnum API

Argument List

Argument List

<code>

storageSystemGroupAssocEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

storageSystemGroupAssocGet API

Argument List

Argument List

<code>

storageSystemGroupAssocGet API

<code>

Argument List

<code>

   groupId: <string>
   linkId: <string>
   flags: <unsignedInt>

</code>

storageSystemGroupCreate API

Argument List

Argument List

<code>

storageSystemGroupCreate API

<code>

Argument List

<code>

   name: <string>
   description: <string>
   virtualIpAddress: <string>
   groupPassword: <string>
   flags: <unsignedInt>

</code>

storageSystemGroupDelete API

Argument List

Argument List

<code>

storageSystemGroupDelete API

<code>

Argument List

<code>

   groupId: <string>
   deleteAssociatedLinks: <boolean>
   flags: <unsignedInt>

</code>

storageSystemGroupEnum API

Argument List

Argument List

<code>

storageSystemGroupEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

storageSystemGroupGet API

Argument List

Argument List

<code>

storageSystemGroupGet API

<code>

Argument List

<code>

   groupId: <string>
   flags: <unsignedInt>

</code>

storageSystemGroupModify API

Argument List

Argument List

<code>

storageSystemGroupModify API

<code>

Argument List

<code>

   groupId: <string>
   name: <string>
   description: <string>
   virtualIpAddress: <string>
   flags: <unsignedInt>

</code>

storageSystemGroupSetPassword API

Argument List

Argument List

<code>

storageSystemGroupSetPassword API

<code>

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>

   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

Argument List

<code>

storageSystemLinkVerify API

<code>

Argument List

<code>

   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

Argument List

<code>

storageSystemRecover API

<code>

Argument List

<code>

storageSystemRecover API

Returns a list of all the available system metadata 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>
   recoveryPoint: <string>
   recoverNetworkConfig: <boolean>
   flags: <unsignedInt>

</code>

storageSystemRecoveryPointEnum API

Returns a list of all the available system metadata 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

Argument List

<code>

storageSystemSendLogs API

<code>

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>

storageVolumeAclAddRemove API

(List of hosts for specified volume)

Argument List

<code>

storageVolumeAclAddRemove API

Enables access to the specific volume from the specified host.

Argument List

<code>

storageVolumeAclAddRemove API

(List of volumes for 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>

storageVolumeAclAddRemoveEx API

(List of volumes for 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>

storageVolumeAclGet API


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

Argument List

<code>

storageVolumeCloudBackupCreate API

<code>

Argument List

<code>

   sourceVolumeId: <string>
   cloudContainerId: <string>
   backupVolumeName: <string>
   backupVolumeDescription: <string>
   priority: <unsignedInt>
   reserved: <string>
   flags: <unsignedInt>

</code>

storageVolumeCloudBackupRestore API

Argument List

Argument List

<code>

storageVolumeCloudBackupRestore API

<code>

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>

storageVolumeCreate API

Argument List

Argument List

<code>

storageVolumeCreate API

<code>

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

Argument List

<code>

storageVolumeCreateEx API

<code>

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

Argument List

<code>

storageVolumeGroupAssocEnum API

<code>

Argument List

<code>

   storageVolume: <string>
   flags: <unsignedInt>

</code>

storageVolumeGroupAssocGet API

Argument List

Argument List

<code>

storageVolumeGroupAssocGet API

<code>

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>

storageVolumeUtilizationGet API

Argument List

Argument List

<code>

storageVolumeUtilizationGet API

<code>

Argument List

<code>

   utilizationId: <string>
   flags: <unsignedInt>

</code>

storageVolumeUtilizationGetRetentionPeriod API

Argument List

Argument List

<code>

storageVolumeUtilizationGetRetentionPeriod API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

storageVolumeUtilizationSetRetentionPeriod API

Argument List

Argument List

<code>

storageVolumeUtilizationSetRetentionPeriod API

<code>

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 modifiations 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

Argument List

<code>

targetVirtualPortCreate API

<code>

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

Argument List

<code>

targetVirtualPortDelete API

<code>

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

Argument List

<code>

userGroupAssocEnum API

<code>

Argument List

<code>

   user: <string>
   flags: <unsignedInt>

</code>

userGroupAssocGet API

Argument List

Argument List

<code>

userGroupAssocGet API

<code>

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

Argument List

<code>

virtualInterfaceAssocEnum API

<code>

Argument List

<code>

   flags: <unsignedInt>

</code>

virtualInterfaceAssocGet API

Argument List

Argument List

<code>

virtualInterfaceAssocGet API

<code>

Argument List

<code>

   virtualInterfaceId: <string>
   targetPortId: <string>
   flags: <unsignedInt>

</code>

widgetCreate API

Argument List

<code>

   name: <string>
   flags: <unsignedInt>

</code>


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.

Enumeration Definitions

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;