<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osnexus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Umbe</id>
	<title>OSNEXUS Online Documentation Site - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osnexus.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Umbe"/>
	<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Special:Contributions/Umbe"/>
	<updated>2026-10-03T06:06:40Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=28163</id>
		<title>Security Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=28163"/>
		<updated>2026-09-28T20:33:17Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Multi-admin approvals from the CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor provides a layered set of security controls: grid-wide password and login policy, role based access control over every management operation, multi-factor authentication, an integrated firewall, TLS certificate management, and endpoint detection and response agent deployment.  This page covers each of them.&lt;br /&gt;
&lt;br /&gt;
Many industries require compliance with government security standards covering everything from audit logging to password policies.  These include Health and Human Services security standards [https://www.hhs.gov/hipaa/index.html (HIPAA)], federal law enforcement security standards [https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center (CJIS)], and the general standards outlined by NIST for Controlled Unclassified Information (CUI) in Non-Federal Information Systems and Organizations, covered in NIST 800-53 and [https://csrc.nist.gov/publications/detail/sp/800-171/rev-2/final 800-171].&lt;br /&gt;
&lt;br /&gt;
Nearly all of the settings on this page are reached from the &#039;&#039;&#039;Security&#039;&#039;&#039; tab of the QuantaStor web management interface, which contains these sections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Security tab section !! Covers !! On this page&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Users&#039;&#039;&#039; || User accounts, password policy, multi-factor authentication || [[#Security Settings Management|Security Settings]], [[#User Management|Users]], [[#Multi-factor Authentication|MFA]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Groups&#039;&#039;&#039; || User groups and their shared POSIX GID || [[#User Group Management|User Groups]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Roles&#039;&#039;&#039; || RBAC roles and their permission assignments || [[#Role Based Access Controls (RBAC)|RBAC]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Object Users &amp;amp; Tenants&#039;&#039;&#039; || S3/object storage users and tenants || [[#Multitenancy / Resource Group Management|Multitenancy]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scale-out File &amp;amp; Block Keyrings&#039;&#039;&#039; || Keyrings for scale-out storage || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Certificates&#039;&#039;&#039; || The grid-wide TLS certificate inventory || [[#Certificate Management|Certificate Management]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Key Server Profiles&#039;&#039;&#039; || External key server (KMIP) profiles || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EDR Agents&#039;&#039;&#039; || Endpoint detection and response agents || [[#Endpoint Detection &amp;amp; Response (EDR)|EDR]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Also on this page: [[#Firewall Configuration|Firewall Configuration]],&lt;br /&gt;
[[#SSL/TLS Certificate &amp;amp; Web Access Security|SSL/TLS and Web Access Security]],&lt;br /&gt;
[[#System Setup Security Checks|System Setup Security Checks]],&lt;br /&gt;
[[#Security Updates|Security Updates]] and&lt;br /&gt;
[[#Multi-admin Approvals|Multi-admin Approvals]].&lt;br /&gt;
&lt;br /&gt;
== Security Settings Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_general.png|thumb|right|530px|Security Manager, General tab -- grid-wide password and login policy.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Security Manager&#039;&#039;&#039; holds the password and login policy for the entire Storage Grid.  These settings apply to all user accounts on all systems in the grid, not per-system.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Choosing &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; automatically configures the password and lockout policies to meet the standards listed above.  This is the recommended starting point -- apply it first, then tune individual settings for the requirements of your deployment.  &#039;&#039;&#039;Discard Changes&#039;&#039;&#039; reverts the dialog to the currently saved policy.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab controls:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Password Complexity&#039;&#039;&#039; -- the required character-class mix.  The factory default is &#039;&#039;Weak&#039;&#039;; raise this for any production or compliance-bound deployment.&lt;br /&gt;
* &#039;&#039;&#039;Allowed Special Characters&#039;&#039;&#039; -- which non-alphanumeric characters are permitted in passwords.&lt;br /&gt;
* &#039;&#039;&#039;Minimum / Maximum Password Length&#039;&#039;&#039; -- both in the range 8 to 80.&lt;br /&gt;
* &#039;&#039;&#039;Login Attempts Until Short Lockout&#039;&#039;&#039; and &#039;&#039;&#039;Login Attempts Until Lockout&#039;&#039;&#039; -- consecutive failures before a temporary and then a permanent lockout.  Set the second to 0 to disable permanent lockout.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Sample Period&#039;&#039;&#039; (short and permanent) -- the window, in seconds, over which failed attempts are counted.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Short Lockout Duration&#039;&#039;&#039; -- how long, in seconds, a short lockout lasts.&lt;br /&gt;
* &#039;&#039;&#039;Days Until Password Expires&#039;&#039;&#039; -- 0 to 1000; 0 disables expiry.&lt;br /&gt;
* &#039;&#039;&#039;Unique Passwords Until Reuse&#039;&#039;&#039; -- 0 to 20; how many previous passwords are remembered and refused.&lt;br /&gt;
* &#039;&#039;&#039;Minimum Days Between Password Change&#039;&#039;&#039; -- prevents a user cycling straight back to a previous password.&lt;br /&gt;
* &#039;&#039;&#039;Maximum Days Account Inactive Until Lockout&#039;&#039;&#039; -- locks out dormant accounts.&lt;br /&gt;
* &#039;&#039;&#039;Auto Logout From N Minutes Of Inactivity&#039;&#039;&#039; -- idle timeout for the web interface; 0 disables it.&lt;br /&gt;
* &#039;&#039;&#039;Default Login Username&#039;&#039;&#039; -- the username pre-filled on the login page.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Multi-admin Approvals&#039;&#039;&#039; tab chooses which deletes are held until a set number of administrators approve them; see &#039;&#039;&#039;[[#Multi-admin Approvals|Multi-admin Approvals]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039; (see &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039;), an optional &#039;&#039;&#039;System Use Notification&#039;&#039;&#039; banner shown to users at login, and the LDAP single-sign-on settings described next.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; saving a change to the password or login policy prompts a confirmation that the change may log users out of the interface and cause passwords to expire.  Plan policy changes accordingly.  Changes made only on the &#039;&#039;&#039;Multi-admin Approvals&#039;&#039;&#039; tab save without this prompt.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Single-Sign-On Authentication ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_advanced.png|thumb|right|530px|Security Manager, Advanced Settings -- Web Access Mode and LDAP single sign-on.]]&lt;br /&gt;
&lt;br /&gt;
The Advanced Settings tab can connect the Storage Grid to an LDAP or Active Directory domain for &#039;&#039;&#039;management user&#039;&#039;&#039; authentication.&lt;br /&gt;
&lt;br /&gt;
To configure this:&lt;br /&gt;
&lt;br /&gt;
* In your LDAP/AD environment, create one or more groups for QuantaStor administration -- for example {{Code|1=QS-Administrator}} and {{Code|1=QS-Monitor}} -- and add the appropriate users to them.&lt;br /&gt;
* In QuantaStor, edit the Role you want each LDAP group to map to and set its &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; field.  For example set the &#039;&#039;&#039;Administrator&#039;&#039;&#039; role&#039;s LDAP Group to {{Code|1=QS-Administrator}}, and the &#039;&#039;&#039;System Monitor&#039;&#039;&#039; role&#039;s to {{Code|1=QS-Monitor}}.  The LDAP Group field is on the Create Role and Modify Role dialogs.&lt;br /&gt;
* Set your DNS and NTP servers to point at your AD server, in the Storage System Modify dialog.  Do this &#039;&#039;&#039;before&#039;&#039;&#039; enabling single sign-on.&lt;br /&gt;
* Return to Security Manager --&amp;gt; Advanced Settings, tick &#039;&#039;&#039;Enable Single Sign-on&#039;&#039;&#039;, and fill in the LDAP settings.  The two fields are greyed out until the checkbox is ticked.&lt;br /&gt;
&lt;br /&gt;
The LDAP fields are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server (FQDN)&#039;&#039;&#039; -- the fully qualified domain name of the LDAP/AD server, for example {{Code|1=dc01.example.com}}&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server Base DN for Users&#039;&#039;&#039; -- the base DN under which user accounts are searched, for example {{Code|1=dc=example,dc=com}}&lt;br /&gt;
&lt;br /&gt;
This integration provides single sign-on for &#039;&#039;&#039;administrative&#039;&#039;&#039; access to the Storage Grid via the QuantaStor web interface, CLI, and REST API.  It does &#039;&#039;&#039;not&#039;&#039;&#039; provide Active Directory integration for SMB network share access. For that, join each system to the domain via &#039;&#039;&#039;Storage Management --&amp;gt; Storage Systems --&amp;gt; Active Directory &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Join AD Domain&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Audit Logging ===&lt;br /&gt;
&lt;br /&gt;
Audit logging of management operations is on by default on all QuantaStor systems and cannot be disabled.  Every API, CLI, and web interface operation passes through the same core service and is recorded.&lt;br /&gt;
&lt;br /&gt;
The audit log is at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/log/qs/qs_audit.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is written in a NIST compliant CEE JSON format, one JSON object per line, so it can be ingested directly by a log aggregator or SIEM without custom parsing. Each record identifies the operation, the user account that invoked it, the source address, and the outcome.&lt;br /&gt;
&lt;br /&gt;
To ship the audit log to a central collector, point your syslog or log agent at this file; QuantaStor does not rotate it out from under a reader.&lt;br /&gt;
&lt;br /&gt;
=== Sending Logs to Support ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor can collect and upload system logs to OSNEXUS Support, scrubbing usernames and other security related information first so that no personally-identifiable information is transmitted, and never including data files from Storage Pools. That makes the collection GDPR compliant.&lt;br /&gt;
&lt;br /&gt;
Full detail is on its own page: &#039;&#039;&#039;[[Send System Log Report|Sending Logs to Support]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Multi-admin Approvals ==&lt;br /&gt;
&lt;br /&gt;
Multi-admin approvals stop a single administrator from destroying data on their own. When the policy covers an object type, a delete of that type does not run when it is requested. QuantaStor holds it as a pending request until enough other administrators approve it, and only then carries out the delete. A mistaken click, a compromised administrator account or a lone insider can therefore no longer remove a pool, volume, share or bucket unnoticed.&lt;br /&gt;
&lt;br /&gt;
The policy is part of the grid-wide password and login policy held by the [[#Security Settings Management|Security Manager]], so it applies to every system in the Storage Grid.&lt;br /&gt;
&lt;br /&gt;
=== Enabling multi-admin approvals ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_madm_policy.png|thumb|right|532px|Security Manager, Multi-admin Approvals tab -- the approval count, the expiry and the object types whose deletes need approval.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039; &amp;amp;rarr; Multi-admin Approvals &#039;&#039;(tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Tick &#039;&#039;&#039;Enable Multi-admin Approvals&#039;&#039;&#039;, then set the two fields under &#039;&#039;&#039;Approval Settings&#039;&#039;&#039; and choose the object types under &#039;&#039;&#039;Required Approval Types&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimum Approvals&#039;&#039;&#039; -- how many administrators must agree to a delete, &#039;&#039;&#039;counting the administrator who requested it&#039;&#039;&#039;. The default and the minimum are both 2, which means one other administrator has to approve. Set 3 to require two approvers besides the requester.&lt;br /&gt;
* &#039;&#039;&#039;Hours Until Auto-expiration&#039;&#039;&#039; -- how long a request stays open for approval. The default and the minimum are both 48 hours, so a request raised on a Friday is still open on Monday. An expired request can no longer be approved; request the delete again to start over.&lt;br /&gt;
* &#039;&#039;&#039;Required Approval Types&#039;&#039;&#039; -- the deletes that need approval. &#039;&#039;&#039;Select All&#039;&#039;&#039; and &#039;&#039;&#039;Clear All&#039;&#039;&#039; tick or clear the whole list.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Required Approval Type !! Held for approval&lt;br /&gt;
|-&lt;br /&gt;
| Storage Volume : Delete || Deleting a Storage Volume, including a volume snapshot&lt;br /&gt;
|-&lt;br /&gt;
| Network Share : Delete || Deleting a Network Share&lt;br /&gt;
|-&lt;br /&gt;
| Bucket : Delete || Deleting an object storage bucket&lt;br /&gt;
|-&lt;br /&gt;
| Scale-up Storage Pool : Delete || Deleting a ZFS-based [[Storage Pools|Storage Pool]]&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out Block Pool : Delete || Deleting a Ceph block storage pool&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out File Pool : Delete || Deleting a Ceph file system&lt;br /&gt;
|-&lt;br /&gt;
| Scale-out Object Pool : Delete || Deleting an object storage pool group&lt;br /&gt;
|-&lt;br /&gt;
| Object Storage Class : Delete || Deleting an object storage class&lt;br /&gt;
|-&lt;br /&gt;
| Ceph Cluster : Delete || Deleting a Ceph cluster&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Tick at least one type. With the checkbox enabled but no type ticked, nothing is held for approval, and the tab shows the feature as disabled the next time you open it.&lt;br /&gt;
&lt;br /&gt;
To turn the feature off, clear &#039;&#039;&#039;Enable Multi-admin Approvals&#039;&#039;&#039; and click &#039;&#039;&#039;OK&#039;&#039;&#039;. Requests that are already open stay in the list until they are approved, rejected or expire.&lt;br /&gt;
&lt;br /&gt;
Saving changes that touch only this tab does not raise the Security Manager&#039;s &amp;quot;may log users out&amp;quot; confirmation, because approval settings do not affect sessions or passwords.&lt;br /&gt;
&lt;br /&gt;
=== How a held delete proceeds ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;An administrator requests the delete&#039;&#039;&#039; in the usual way. Instead of deleting, the task completes with a description such as &#039;&#039;&amp;quot;Multi-admin approval pending for Storage Volume &#039;vol1&#039; (1 of 2 approvals met). The delete will proceed once the required number of approvals is met.&amp;quot;&#039;&#039; The object stays in place, and its state detail reads &#039;&#039;&amp;quot;Delete requested, pending approvals.&amp;quot;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Other administrators approve it&#039;&#039;&#039; from the &#039;&#039;&#039;Approve&#039;&#039;&#039; dialog described below. Each approval raises the count by one.&lt;br /&gt;
# &#039;&#039;&#039;When the count reaches Minimum Approvals&#039;&#039;&#039;, the request becomes approved and QuantaStor starts the delete straight away as a new task, run as the administrator who requested it. The options chosen with the original request carry through. For example, a Storage Pool delete keeps its &#039;&#039;&#039;Shred Encryption Keys&#039;&#039;&#039; and &#039;&#039;&#039;Shred Data&#039;&#039;&#039; choices.&lt;br /&gt;
# &#039;&#039;&#039;QuantaStor records the result.&#039;&#039;&#039; The request is marked completed once the object is gone, or failed if the object still exists after the delete task has finished.&lt;br /&gt;
&lt;br /&gt;
A few rules apply throughout:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;The requester cannot approve their own request&#039;&#039;&#039;, and each administrator can approve a request only once.&lt;br /&gt;
* &#039;&#039;&#039;One request per object.&#039;&#039;&#039; QuantaStor keeps a single open request for each object and operation. When a different administrator requests the same delete again, that counts as their approval rather than opening a second request. If the original requester issues the same delete again, it is refused, because they cannot approve their own request.&lt;br /&gt;
* &#039;&#039;&#039;Rejecting ends the request.&#039;&#039;&#039; Any administrator can reject an open request, and the delete does not happen. To delete the object later, start a new request.&lt;br /&gt;
* &#039;&#039;&#039;Expired requests are closed automatically.&#039;&#039;&#039; QuantaStor checks for expired requests periodically, so a request can still show as pending for a short time after its expiry time. It cannot be approved once it has expired.&lt;br /&gt;
&lt;br /&gt;
=== Approving and rejecting requests ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_madm_approve.png|thumb|right|800px|Multi-admin Approval Request. Select one or more pending requests, then click Approve.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; Multi-admin Approval &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Approve}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Approve&#039;&#039;&#039; dialog lists every request still waiting for approval under &#039;&#039;&#039;Pending Multi-admin Approval Requests&#039;&#039;&#039;. For each request it shows the object&#039;s name, type and ID, the &#039;&#039;&#039;Request Status&#039;&#039;&#039;, the &#039;&#039;&#039;Required Count&#039;&#039;&#039; and &#039;&#039;&#039;Current Count&#039;&#039;&#039;, the &#039;&#039;&#039;Request Originator&#039;&#039;&#039; and the &#039;&#039;&#039;Expires Time&#039;&#039;&#039;. Select one or more requests and click &#039;&#039;&#039;Approve&#039;&#039;&#039;, then confirm.&lt;br /&gt;
&lt;br /&gt;
To refuse a request instead, open &#039;&#039;&#039;Reject&#039;&#039;&#039; from the same toolbar group. It lists the same pending requests. Select the ones to stop and click &#039;&#039;&#039;Reject&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Approving and rejecting need the &#039;&#039;&#039;Administrator&#039;&#039;&#039; role, or a custom role granted the approve and reject operations on the &#039;&#039;PendingOperationRequest&#039;&#039; object type. The built-in &#039;&#039;&#039;Security Administrator&#039;&#039;&#039; role does not currently include them (see [[#Role Based Access Controls (RBAC)|Role Based Access Controls]]).&lt;br /&gt;
&lt;br /&gt;
You can approve from any system in the grid. QuantaStor forwards each approval to the system that owns the request, and the delete itself runs on the system that owns the object.&lt;br /&gt;
&lt;br /&gt;
=== Request status ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Pending || Waiting for approvals. It can be approved or rejected.&lt;br /&gt;
|-&lt;br /&gt;
| Approved || Enough approvals have been received. The delete is about to start.&lt;br /&gt;
|-&lt;br /&gt;
| Running || The delete task is running.&lt;br /&gt;
|-&lt;br /&gt;
| Completed Success || The delete finished and the object is gone.&lt;br /&gt;
|-&lt;br /&gt;
| Completed Failed || The delete ran but the object still exists, or the object or the requesting user no longer existed when the delete was due to run.&lt;br /&gt;
|-&lt;br /&gt;
| Rejected || An administrator rejected the request. The delete did not run.&lt;br /&gt;
|-&lt;br /&gt;
| Expired || The request reached its expiry time before it was approved.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
QuantaStor removes finished requests (completed, rejected and expired) automatically after 48 hours.&lt;br /&gt;
&lt;br /&gt;
=== Multi-admin approvals from the CLI ===&lt;br /&gt;
&lt;br /&gt;
Set the policy with &amp;lt;code&amp;gt;qs password-policy-set&amp;lt;/code&amp;gt;. The object types are the internal type names, comma separated: {{Code|1=StorageVolume}}, {{Code|1=NetworkShare}}, {{Code|1=Bucket}}, {{Code|1=StoragePool}}, {{Code|1=CephPool}}, {{Code|1=CephFilesystem}}, {{Code|1=CephObjectPoolGroup}}, {{Code|1=CephObjectStorageClass}} and {{Code|1=CephCluster}}. Give the count and expiry explicitly: the CLI does not apply the minimums the web interface enforces. To turn the feature off from the CLI, clear the type list and set the count and expiry to 0 in one command, which is what clearing &#039;&#039;&#039;Enable Multi-admin Approvals&#039;&#039;&#039; in the Security Manager does.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs password-policy-set --multiadmin-approval-types=StorageVolume,NetworkShare,StoragePool --multiadmin-approval-count=2 --multiadmin-approval-expiration-hours=48&lt;br /&gt;
qs password-policy-set --multiadmin-approval-types=&amp;quot;&amp;quot; --multiadmin-approval-count=0 --multiadmin-approval-expiration-hours=0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Manage requests with the {{Code|1=por-*}} (por refers to pending-object-request) commands. &amp;lt;code&amp;gt;qs por-list&amp;lt;/code&amp;gt; shows each request&#039;s object, status ({{Code|1=pending}}, {{Code|1=approved}}, {{Code|1=running}}, {{Code|1=completed-success}}, {{Code|1=completed-failed}}, {{Code|1=rejected}} or {{Code|1=expired}}), current and required counts, expiry time and request ID, and &amp;lt;code&amp;gt;qs por-approve&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;qs por-reject&amp;lt;/code&amp;gt; take a comma-separated list of request IDs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs por-list&lt;br /&gt;
qs por-get --request-id=&amp;lt;request-id&amp;gt;&lt;br /&gt;
qs por-approve --request-ids=&amp;lt;request-id&amp;gt;,&amp;lt;request-id&amp;gt;&lt;br /&gt;
qs por-reject --request-ids=&amp;lt;request-id&amp;gt;&lt;br /&gt;
qs por-clear-all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;qs por-clear-all&amp;lt;/code&amp;gt; removes every finished request (completed, rejected and expired) without waiting for the 48-hour automatic cleanup. It leaves pending requests alone.&lt;br /&gt;
&lt;br /&gt;
== Role Based Access Controls (RBAC) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_roles_section.png|thumb|right|800px|Management Roles section with the default roles.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s &#039;&#039;&#039;R&#039;&#039;&#039;ole &#039;&#039;&#039;B&#039;&#039;&#039;ased &#039;&#039;&#039;A&#039;&#039;&#039;ccess &#039;&#039;&#039;C&#039;&#039;&#039;ontrol system lets IT and security administrators grant access limited to a job function, following the [https://en.wikipedia.org/wiki/Principle_of_least_privilege principle of least privilege].&lt;br /&gt;
&lt;br /&gt;
The RBAC system is highly granular.  Each &#039;&#039;&#039;permission&#039;&#039;&#039; has three parts:&lt;br /&gt;
&lt;br /&gt;
* an &#039;&#039;&#039;object type&#039;&#039;&#039; -- for example Network Share, Storage Volume, Storage Pool&lt;br /&gt;
* an &#039;&#039;&#039;operation&#039;&#039;&#039; -- for example create, delete, modify, view&lt;br /&gt;
* a &#039;&#039;&#039;scope&#039;&#039;&#039; -- system, resource group, user, or none&lt;br /&gt;
&lt;br /&gt;
Every QuantaStor API, CLI, and web interface command goes through the same core service, and every call passes an authentication and an authorization check. Because of that shared path, RBAC applies uniformly no matter how the account connects -- web interface, {{Code|1=qs}} CLI, or REST API.&lt;br /&gt;
&lt;br /&gt;
This granularity is especially useful for automation: a dedicated account can be created for a script whose role permits only the task it performs, such as creating and deleting a nightly snapshot of a Network Share.&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with four default roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; -- full access to all functions on all systems in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Security Administrator&#039;&#039;&#039; -- full control over security-related functions.&lt;br /&gt;
* &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; -- for users managing object storage tenants.&lt;br /&gt;
* &#039;&#039;&#039;System Monitor&#039;&#039;&#039; -- view only; no configuration changes.&lt;br /&gt;
&lt;br /&gt;
=== Role Management ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_role_create.png|thumb|right|570px|Create Role, showing the permission assignment grid.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Roles &amp;amp;rarr; Role &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Each user is assigned a single Role, and a role change takes effect immediately.  If a user logged in as &#039;&#039;&#039;Administrator&#039;&#039;&#039; has their role changed to &#039;&#039;&#039;System Monitor&#039;&#039;&#039;, which has only view permissions, the new permissions apply to their next action.  Tasks already running -- a Storage Volume create, for example -- complete at the authorization level held when the task started.&lt;br /&gt;
&lt;br /&gt;
The Create Role dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, a &#039;&#039;&#039;Description&#039;&#039;&#039;, and an optional &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; used for &#039;&#039;&#039;[[#LDAP Single-Sign-On Authentication|single sign-on]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Because a role carries hundreds of individual permissions, the dialog provides two shortcuts:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Copy Permissions from Role&#039;&#039;&#039; -- start from an existing role&#039;s permission set (pick the source role in the adjacent dropdown) and adjust from there.  This is by far the fastest way to build a new role.&lt;br /&gt;
* &#039;&#039;&#039;Apply Permission Scope to Selected&#039;&#039;&#039; -- tick a set of rows in the grid, choose a scope, and apply it to all of them at once.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Web Interface Customization&#039;&#039;&#039; tab hides web interface tab panels and sections for every user holding the role -- the same mechanism described under &#039;&#039;&#039;[[#Web Interface Customization|Web Interface Customization]]&#039;&#039;&#039;, but applied per role rather than per user.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Object Types ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Permission Assignments&#039;&#039;&#039; grid lists every permission as a row of &#039;&#039;&#039;Object Type&#039;&#039;&#039;, &#039;&#039;&#039;Operation&#039;&#039;&#039;, and &#039;&#039;&#039;Permission Scope&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
There are &#039;&#039;&#039;207 object types&#039;&#039;&#039; and &#039;&#039;&#039;662 individual permissions&#039;&#039;&#039;, covering everything from the common types such as Storage Volume, Network Share, and Object Bucket through to internal types such as Acl, AlertConfiguration, and TargetPort.&lt;br /&gt;
&lt;br /&gt;
Because that list is long, use the &#039;&#039;&#039;&amp;lt;Show All Object Types&amp;gt;&#039;&#039;&#039; filter above the grid to narrow it to the object type you are working on, then set the operations for that type.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Types ===&lt;br /&gt;
&lt;br /&gt;
Every permission is a combination of an object type and an &#039;&#039;&#039;operation&#039;&#039;&#039; that can be performed on it.  Across the default Administrator role there are 120 distinct operations; the most common are &#039;&#039;&#039;view&#039;&#039;&#039;, &#039;&#039;&#039;modify&#039;&#039;&#039;, &#039;&#039;&#039;create&#039;&#039;&#039;, and &#039;&#039;&#039;delete&#039;&#039;&#039;, with more specific ones such as &#039;&#039;&#039;add&#039;&#039;&#039;, &#039;&#039;&#039;remove&#039;&#039;&#039;, &#039;&#039;&#039;rescan&#039;&#039;&#039;, &#039;&#039;&#039;enable&#039;&#039;&#039;, &#039;&#039;&#039;disable&#039;&#039;&#039;, &#039;&#039;&#039;identify&#039;&#039;&#039;, &#039;&#039;&#039;set&#039;&#039;&#039;, and &#039;&#039;&#039;clear&#039;&#039;&#039; on the object types that support them.&lt;br /&gt;
&lt;br /&gt;
This per-operation granularity is what lets a role fit a job function.  A &amp;quot;Provisioning Administrator&amp;quot; role, for example, can be given &#039;&#039;&#039;create&#039;&#039;&#039; but not &#039;&#039;&#039;delete&#039;&#039;&#039;, so the routine task of provisioning storage can be delegated without the risk of data deletion.&lt;br /&gt;
&lt;br /&gt;
All object types also have a &#039;&#039;&#039;view&#039;&#039;&#039; permission, and this one deserves attention: some parts of the web management interface require view permission on a type in order to function.  Removing &#039;&#039;&#039;view&#039;&#039;&#039; is useful when a role should have no visibility of a type at all -- an administrator responsible only for Network Shares could have &#039;&#039;&#039;view&#039;&#039;&#039; on &#039;&#039;&#039;StorageVolume&#039;&#039;&#039; set to &#039;&#039;&#039;None&#039;&#039;&#039;, so that no Storage Volumes are visible to them.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Scope ===&lt;br /&gt;
&lt;br /&gt;
Each permission&#039;s &#039;&#039;&#039;scope&#039;&#039;&#039; determines the breadth of the grant.  Click a &#039;&#039;&#039;Permission Scope&#039;&#039;&#039; cell in the grid to change it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Global/System&#039;&#039;&#039; -- grid-wide access to the operation on all systems.&lt;br /&gt;
* &#039;&#039;&#039;None&#039;&#039;&#039; -- access to the operation is blocked entirely.&lt;br /&gt;
* &#039;&#039;&#039;User&#039;&#039;&#039; -- access is limited to objects the user owns.  A role with the permission &#039;&#039;&#039;Storage Volume + delete + User&#039;&#039;&#039; allows deleting only Storage Volumes for which that user is the owner.&lt;br /&gt;
* &#039;&#039;&#039;Resource Group&#039;&#039;&#039; -- access is limited to the objects in the Resource Group the user is assigned to.  This is how QuantaStor implements multi-tenancy; see &#039;&#039;&#039;[[#Multitenancy / Resource Group Management|Multitenancy]]&#039;&#039;&#039;.&lt;br /&gt;
== User Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_users_section.png|thumb|right|800px|Security tab, Management Users section.]]&lt;br /&gt;
&lt;br /&gt;
Users in QuantaStor are &#039;&#039;&#039;management users&#039;&#039;&#039; -- accounts with access to the management interface under a specific Role.&lt;br /&gt;
&lt;br /&gt;
These accounts are also created as local (Linux/Unix) users on &#039;&#039;&#039;every&#039;&#039;&#039; Storage System in the grid, with the same POSIX UID and GID on each.  This enables management accounts to be used for SMB file access, which matters in environments where AD/LDAP is not configured, or where direct non-AD user access is needed.&lt;br /&gt;
&lt;br /&gt;
For security, the local accounts created for SMB access are given {{Code|1=/usr/sbin/nologin}} as their shell, so they cannot log in over SSH or at the console.  By default the only accounts with a login shell are &#039;&#039;&#039;qadmin&#039;&#039;&#039; and &#039;&#039;&#039;root&#039;&#039;&#039;, and those should be reserved for maintenance activities.  That restriction can be overridden with standard Linux user management commands, but doing so widens your attack surface and is not recommended.&lt;br /&gt;
&lt;br /&gt;
=== Adding New Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_add.png|thumb|right|610px|Add User dialog, General tab.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Add &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab takes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039; -- also becomes the local POSIX account name on every system in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039; and &#039;&#039;&#039;Repeat Password&#039;&#039;&#039; -- must satisfy the grid password policy set in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039;.  The factory default policy is deliberately permissive; raising it with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; is recommended.&lt;br /&gt;
* &#039;&#039;&#039;Role&#039;&#039;&#039; -- see &#039;&#039;&#039;[[#Role Based Access Controls (RBAC)|RBAC]]&#039;&#039;&#039;.  Assign &#039;&#039;&#039;System Monitor&#039;&#039;&#039; to an account that only needs to observe, rather than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; -- require a second factor for this account; see &#039;&#039;&#039;[[#Multi-factor Authentication|Multi-factor Authentication]]&#039;&#039;&#039;.  These are greyed out until at least one MFA configuration exists.&lt;br /&gt;
* &#039;&#039;&#039;User Information&#039;&#039;&#039; -- optional First Name, Last Name, and Description.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account can be modified but cannot be deleted, and cannot be assigned any role other than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A newly created user appears in the Users grid with its assigned Role and the POSIX User ID allocated to it, and the matching local account exists on every system in the grid immediately.&lt;br /&gt;
&lt;br /&gt;
==== Alert Subscriptions ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_alerts.png|thumb|right|610px|Add User, Alert Subscriptions tab.]]&lt;br /&gt;
&lt;br /&gt;
Entering a user&#039;s email address and selecting the alert severity levels to subscribe to routes email alerts to that administrator.  Several users can subscribe at different severities, so that (for example) only critical alerts page the on-call administrator while an operations mailbox receives everything.&lt;br /&gt;
&lt;br /&gt;
Once configured, use the &#039;&#039;&#039;Alert Manager&#039;&#039;&#039; to send a test alert and confirm delivery end to end.&lt;br /&gt;
&lt;br /&gt;
==== Web Interface Customization ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_webcustom.png|thumb|right|610px|Add User, Web Interface Customization tab.]]&lt;br /&gt;
&lt;br /&gt;
In larger deployments with many administrators, or on systems built for a narrow use case, it can help to hide the interface tab panels and sections a given user does not need.  This reduces complexity and makes the interface clearer for admins with a narrow remit.&lt;br /&gt;
&lt;br /&gt;
Un-check the panels and sections to hide them.  The user must &#039;&#039;&#039;log out and back in&#039;&#039;&#039; for the customized layout to take effect.&lt;br /&gt;
&lt;br /&gt;
The same customization can be applied to a Role instead of an individual user, which is usually preferable when several people share a job function -- see &#039;&#039;&#039;[[#Role Management|Role Management]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== User Account Advanced Settings ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_advanced.png|thumb|right|610px|Add User, Advanced Settings tab.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds three things:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;User Default CHAP settings&#039;&#039;&#039; -- a &#039;&#039;&#039;CHAP User&#039;&#039;&#039; and &#039;&#039;&#039;CHAP Password&#039;&#039;&#039; used as this account&#039;s defaults for iSCSI authentication.&lt;br /&gt;
* &#039;&#039;&#039;Customize UID/GID&#039;&#039;&#039; -- tick this to set an explicit &#039;&#039;&#039;POSIX UID&#039;&#039;&#039; and &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; rather than letting QuantaStor allocate them.  Set these deliberately when the account is used for SMB and NFS access and must match UIDs already in use elsewhere in your environment; the fields are greyed out until the box is ticked.&lt;br /&gt;
* &#039;&#039;&#039;Enable &#039;[QSCLITKN]&#039; token based authentication for QS CLI via &#039;root&#039; console account&#039;&#039;&#039; -- lets someone logged into a QuantaStor system as &#039;&#039;&#039;root&#039;&#039;&#039; run {{Code|1=qs}} CLI commands without supplying a password each time.&lt;br /&gt;
&lt;br /&gt;
To use the token authentication, tick that checkbox for the account, then, as &#039;&#039;&#039;root&#039;&#039;&#039; on the system, write a {{Code|1=~/.qs.cnf}} naming the account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;localhost,admin,[QSCLITKN]&amp;quot; &amp;gt; ~/.qs.cnf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace {{Code|1=admin}} with whichever account you enabled the option for.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the first one or two {{Code|1=qs}} commands after creating this file fail with &#039;&#039;&amp;quot;Service authentication token check failed ... remote caller will update token&amp;quot;&#039;&#039; while the token is being established.  This is expected -- retry and the command succeeds, after which authentication is transparent.&lt;br /&gt;
&lt;br /&gt;
The same mechanism can be used with a remote host rather than {{Code|1=localhost}} by changing the first field.&lt;br /&gt;
&lt;br /&gt;
=== Modifying Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_modify.png|thumb|right|610px|Modify User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Modify &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Modify User dialog exposes the same settings as Create User across the same four tabs, so a user&#039;s role, alert subscriptions, interface customization, and advanced settings can all be changed after the fact.  Changes take effect on the user&#039;s next action.&lt;br /&gt;
&lt;br /&gt;
To change only a password, use &#039;&#039;&#039;Set Password&#039;&#039;&#039; from the User group in the toolbar rather than the full Modify dialog.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Modify|Modify User]].&lt;br /&gt;
&lt;br /&gt;
=== Removing Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_remove.png|thumb|right|390px|Remove User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Remove &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The dialog confirms the &#039;&#039;&#039;Username&#039;&#039;&#039; and shows the account&#039;s properties before removal.&lt;br /&gt;
&lt;br /&gt;
Removal takes effect immediately and grid-wide.  A user who is logged into the web interface when their account is removed loses access to all systems in the grid at once, and the matching local POSIX account is deleted from every Storage System.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account cannot be removed.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Remove|Removing Users]].&lt;br /&gt;
&lt;br /&gt;
== User Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_usergroup_create.png|thumb|right|534px|Create User Group dialog.]]&lt;br /&gt;
&lt;br /&gt;
User Groups collect users under a common POSIX GID, which is useful when several users need to be owners of the same Network Share.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Groups &amp;amp;rarr; User Group &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Create User Group dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, an optional &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; (allocated automatically if left blank), and a grid from which to &#039;&#039;&#039;select one or more users for the group&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Group membership can be changed later with &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, and the group&#039;s other properties with &#039;&#039;&#039;Modify&#039;&#039;&#039;.  &#039;&#039;&#039;Delete&#039;&#039;&#039; removes the group; the user accounts themselves are unaffected.&lt;br /&gt;
&lt;br /&gt;
== Multitenancy / Resource Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_multitenancy.png|thumb|right|800px|Multitenancy tab.]]&lt;br /&gt;
&lt;br /&gt;
Resource Groups are multi-tenant containers that group users together with resources -- [[Storage Volumes]], [[Network Shares]] -- and with provisioning quotas for self-service provisioning from Storage Pools.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Multitenancy &#039;&#039;(main tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Resource Group&#039;&#039;&#039; toolbar group provides &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Tenants&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Service Configs&#039;&#039;&#039;, and &#039;&#039;&#039;Add Network Association&#039;&#039;&#039; / &#039;&#039;&#039;Remove Network Association&#039;&#039;&#039; for binding a group to specific networks.  The &#039;&#039;&#039;Provisioning Quota&#039;&#039;&#039; group provides &#039;&#039;&#039;Create&#039;&#039;&#039;, &#039;&#039;&#039;Modify&#039;&#039;&#039;, and &#039;&#039;&#039;Delete&#039;&#039;&#039; for quotas, plus &#039;&#039;&#039;Add/Remove Volumes&#039;&#039;&#039; and &#039;&#039;&#039;Add/Remove Shares&#039;&#039;&#039; to place resources into a group.&lt;br /&gt;
&lt;br /&gt;
Users assigned to a Resource Group should hold a role whose permissions are scoped to &#039;&#039;&#039;Resource Group&#039;&#039;&#039; rather than &#039;&#039;&#039;Global/System&#039;&#039;&#039;, so that their view of the grid is limited to the resources in their group.  The &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; role is the shipped starting point for object storage tenants; for file and block multi-tenancy, create a role with the permissions you want at &#039;&#039;&#039;Resource Group&#039;&#039;&#039; scope -- see &#039;&#039;&#039;[[#Role Permissions - Operation Scope|Operation Scope]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Further information: [[Create_Resource_Group|Create a Resource Group]].&lt;br /&gt;
== System Setup Security Checks ==&lt;br /&gt;
&lt;br /&gt;
The steps in this section are the minimum hardening pass for a newly deployed QuantaStor system.  All of them should be completed before the system carries production data.&lt;br /&gt;
&lt;br /&gt;
# Change the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default.&lt;br /&gt;
# Change the &#039;&#039;&#039;admin&#039;&#039;&#039; management password from its default.&lt;br /&gt;
# Apply &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039; to raise the password and lockout policy.&lt;br /&gt;
# Set &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; to &#039;&#039;HTTP redirects to HTTPS&#039;&#039; or &#039;&#039;HTTP disabled&#039;&#039;.&lt;br /&gt;
# Replace the shipped self-signed certificate -- see &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
# Block unused protocols in the &#039;&#039;&#039;[[#Firewall Configuration|firewall]]&#039;&#039;&#039;.&lt;br /&gt;
# Consider enabling &#039;&#039;&#039;[[#Multi-factor Authentication|multi-factor authentication]]&#039;&#039;&#039; for administrative accounts.&lt;br /&gt;
&lt;br /&gt;
=== Change Passwords ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with two default accounts that must both be changed.  They are separate accounts with separate passwords: &#039;&#039;&#039;qadmin&#039;&#039;&#039; is the console/SSH account, &#039;&#039;&#039;admin&#039;&#039;&#039; is the management interface account.&lt;br /&gt;
&lt;br /&gt;
==== Change SSH Console Administrator Account &#039;qadmin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
One of the most important steps in configuring a new QuantaStor system is changing the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default of &#039;&#039;&#039;qadmin&#039;&#039;&#039; on each Storage System.&lt;br /&gt;
&lt;br /&gt;
Log in at the console as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, or connect over &#039;&#039;&#039;SSH&#039;&#039;&#039; as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a strong password containing upper and lower case letters, numbers, and symbols.  Repeat this on every Storage System in the grid -- this is a local console account, so changing it on one system does not change it on the others.&lt;br /&gt;
&lt;br /&gt;
Note that this password is independent of the grid password policy configured in the Security Manager, which governs &#039;&#039;&#039;management&#039;&#039;&#039; users only.&lt;br /&gt;
&lt;br /&gt;
==== Change Management Administrator Account &#039;admin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_set_password.png|thumb|right|361px|Set Password dialog.]]&lt;br /&gt;
&lt;br /&gt;
Log in to the web management interface as &#039;&#039;&#039;admin&#039;&#039;&#039; and change the default password, which is &#039;&#039;&#039;password&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select the&#039;&#039; admin &#039;&#039;user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Set Password &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The new password must satisfy the grid password policy.  Use at least 10 characters with upper and lower case letters and numbers -- or raise the policy first with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; so the requirement is enforced for every account rather than relying on convention.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Old Password&#039;&#039;&#039; is disabled while the session is logged in as &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt;, so changing that account&#039;s password needs only the new password and its confirmation.  For every other account the field is required and the current password has to be entered as well.  The permitted length range comes from the grid password policy rather than being fixed by the dialog.&lt;br /&gt;
&lt;br /&gt;
Unlike &#039;&#039;&#039;qadmin&#039;&#039;&#039;, this is a grid-wide management account: changing it once changes it for the whole Storage Grid.&lt;br /&gt;
&lt;br /&gt;
== Firewall Configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_firewall.png|thumb|right|600px|Storage System Modify, Firewall tab.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor has an integrated firewall management system that controls protocol access both at the system level and per network port.  For high-security environments it is recommended to block every protocol that will not be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (system level):&#039;&#039;&#039; Storage Management --&amp;gt; &#039;&#039;select a Storage System&#039;&#039; --&amp;gt; Modify &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (per port):&#039;&#039;&#039; Storage Management --&amp;gt; Network Ports --&amp;gt; &#039;&#039;select a port&#039;&#039; --&amp;gt; Modify Network Port &#039;&#039;(toolbar or right-click)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Firewall tab lists each service with a description and an &#039;&#039;&#039;Allow&#039;&#039;&#039; checkbox.  The services managed are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; -- web management interface access&lt;br /&gt;
* &#039;&#039;&#039;QS REST API&#039;&#039;&#039; -- REST API access to management functions&lt;br /&gt;
* &#039;&#039;&#039;iSCSI Target&#039;&#039;&#039; -- iSCSI protocol access to Storage Volumes&lt;br /&gt;
* &#039;&#039;&#039;NVMeoF Target&#039;&#039;&#039; -- NVMe over Fabrics access&lt;br /&gt;
* &#039;&#039;&#039;SMB&#039;&#039;&#039; -- SMB/CIFS file access&lt;br /&gt;
* &#039;&#039;&#039;NFS&#039;&#039;&#039; and &#039;&#039;&#039;NFS Ganesha&#039;&#039;&#039; -- NFS file access, scale-up and scale-out respectively&lt;br /&gt;
* &#039;&#039;&#039;Ceph&#039;&#039;&#039; -- scale-out cluster communication&lt;br /&gt;
* &#039;&#039;&#039;Grafana&#039;&#039;&#039; -- Grafana monitoring and statistics&lt;br /&gt;
* &#039;&#039;&#039;Prometheus&#039;&#039;&#039; -- Prometheus monitoring and alerting&lt;br /&gt;
* &#039;&#039;&#039;Chronograf&#039;&#039;&#039; -- Chronograf monitoring&lt;br /&gt;
&lt;br /&gt;
Clear the &#039;&#039;&#039;Allow&#039;&#039;&#039; box for any service you do not use.  A common hardening pass on a file-only deployment, for example, is to leave SMB and NFS enabled and clear iSCSI Target, NVMeoF Target, and Ceph.&lt;br /&gt;
&lt;br /&gt;
Be careful not to block the protocol you are managing the system with: clearing &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; on the port you are connected through will cut off your own session.  Note also that &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; set to &#039;&#039;HTTP disabled&#039;&#039; installs its own rule dropping port 80, independently of these checkboxes.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;Apply&#039;&#039;&#039; to commit changes without closing the dialog.&lt;br /&gt;
== SSL/TLS Certificate &amp;amp; Web Access Security ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor serves the web management interface, the REST API, and the internal grid communication channels over TLS.  The web management interface is served by &#039;&#039;&#039;nginx&#039;&#039;&#039; and the TLS settings, ciphers, and certificates are all managed by QuantaStor.&lt;br /&gt;
&lt;br /&gt;
=== Web Access Mode ===&lt;br /&gt;
&lt;br /&gt;
The single most important web security setting is the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039;, which controls whether plain HTTP is served at all.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039; &amp;amp;rarr; Advanced Settings}}&lt;br /&gt;
&lt;br /&gt;
The three modes are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HTTP enabled (INSECURE)&#039;&#039;&#039; -- port 80 serves the interface over plain, unencrypted HTTP.  This is the factory default so that a newly-imaged appliance is reachable before certificates are in place; it is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for production.&lt;br /&gt;
* &#039;&#039;&#039;HTTP redirects to HTTPS (recommended)&#039;&#039;&#039; -- port 80 answers with a 301 redirect to HTTPS.  Nothing sensitive traverses the network in the clear, but a user who types the bare hostname still lands on the interface.&lt;br /&gt;
* &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039; -- port 80 is dropped at the firewall entirely.  Use this in high-security environments where an open port 80, even one that only redirects, is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Changing this setting switches the active nginx site configuration and, for &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039;, also installs a firewall rule that drops port 80.  The change applies immediately -- no reboot is required.&lt;br /&gt;
&lt;br /&gt;
The Web Access Mode affects &#039;&#039;&#039;port 80 only&#039;&#039;&#039;.  The HTTPS listener on port 443 uses the same TLS versions, cipher list, and certificate in every mode, so switching modes does not change the encryption offered to HTTPS clients -- it only determines whether an unencrypted alternative is reachable.  Setting the mode to &#039;&#039;&#039;HTTP redirects to HTTPS&#039;&#039;&#039; should nonetheless be treated as a required hardening step on every production deployment.&lt;br /&gt;
&lt;br /&gt;
Changing this setting prompts a confirmation warning that the change may log users out of the interface and cause passwords to expire; the mode change itself takes effect as soon as you confirm.&lt;br /&gt;
&lt;br /&gt;
=== Supported TLS Versions and Ciphers ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s nginx configuration accepts &#039;&#039;&#039;TLS 1.2 and TLS 1.3&#039;&#039;&#039; only, in all web access modes, with server cipher preference enabled and the cipher list restricted to modern AEAD suites: &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:&lt;br /&gt;
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:&lt;br /&gt;
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSLv3, TLS 1.0, and TLS 1.1 are not accepted. &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;  The interface also sends an HSTS header ({{Code|1=Strict-Transport-Security}}) with a one year max-age.&lt;br /&gt;
&lt;br /&gt;
The shipped defaults live in this file, which is replaced on upgrade and should &#039;&#039;&#039;not&#039;&#039;&#039; be edited in place:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/nginx_quantastor_ssl_default.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To customize the TLS settings or point nginx at your own certificate, use the {{Code|1=qs-util}} helper to copy the defaults to a user-editable location that upgrades will not overwrite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs-util wuicustomcerts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates the following file, which you then edit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cipher settings for the QuantaStor grid communication channels (separate from the web interface) are controlled by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That shipped file is replaced on upgrade, so it should not be edited in place. To customize the grid communication ciphers, place your own copy at the override location below.  The override does not exist by default -- create it only when you intend to depart from the shipped cipher list, and QuantaStor will use it in preference to the shipped file and leave it untouched across upgrades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Certificate ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with a common self-signed certificate that is pre-generated and included with all deployments.  Because it is self-signed and shared across all deployments, browsers will warn on first connection, and it provides no identity assurance.  Replacing it is recommended for any deployment reachable beyond a trusted management network.&lt;br /&gt;
&lt;br /&gt;
The certificate and key used by the web interface and REST service are here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsrestsrv.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grid communication uses a separate pair:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsserver.pem&lt;br /&gt;
/opt/osnexus/common/lib/qsclient.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of these are discovered and monitored automatically -- see &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; below, which is the recommended way to review and replace them.&lt;br /&gt;
&lt;br /&gt;
=== Installing a Custom Certificate ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;recommended&#039;&#039;&#039; way to install your own certificate is through &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; -- add the certificate as a template once, then apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case on each Storage System.  That keeps the certificate inventory, expiry monitoring, and alerting accurate, and avoids editing nginx configuration by hand.  See &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Use the manual procedure below only when you need to change nginx TLS directives themselves (for example to further restrict the cipher list), since those are not expressible as a certificate template:&lt;br /&gt;
&lt;br /&gt;
* Run {{Code|1=qs-util wuicustomcerts}} to copy the shipped defaults to an editable file that upgrades will not overwrite.&lt;br /&gt;
* Edit {{Code|1=/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf}}.&lt;br /&gt;
* Reload nginx to apply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify the negotiated protocol and cipher from a client:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | grep -E &#039;Protocol|Cipher is&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Repeat on each Storage System in the grid, or use the Certificate Management section to confirm all systems at once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if you are using Firefox and have previously accepted the old self-signed certificate, clear the cached certificate exception for the host or Firefox will continue to present the stale certificate warning.&lt;br /&gt;
=== [[Custom SSL_TLS Security|Custom SSL Certificates and TLS Security]] ===&lt;br /&gt;
* Generating and installing custom SSL certificates, and applying custom TLS security settings.  For most deployments the &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; section above is the better route, since it keeps the certificate inventory and expiry alerting accurate.&lt;br /&gt;
&lt;br /&gt;
=== [[Custom SSH Security|Custom SSH Ciphers and Key Exchange Algorithms]] ===&lt;br /&gt;
* Customizing the SSH service to enforce strong ciphers and key exchange algorithms for SSH communication.&lt;br /&gt;
== Certificate Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_certificates.png|thumb|right|800px|Certificates section showing every certificate on every Storage System in the grid.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor discovers, inventories, and monitors every TLS certificate in use across the Storage Grid, so administrators can see at a glance what is installed, what it is used for, and when it expires.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates}}&lt;br /&gt;
&lt;br /&gt;
The Certificates section lists certificates grouped by Storage System.  For each certificate the grid shows its file path, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Use Case&#039;&#039;&#039;, description, certificate modulus MD5, serial number, and the start and end of its validity period.  Because the view spans the whole grid, a single screen confirms that every system is using the certificate you expect.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Use Cases ===&lt;br /&gt;
&lt;br /&gt;
Each certificate is tagged with the service that consumes it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NGINX&#039;&#039;&#039; -- the certificate served to browsers for the web management interface.&lt;br /&gt;
* &#039;&#039;&#039;Rest Service&#039;&#039;&#039; -- the certificate presented by the QuantaStor REST API service.&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor Service [Grid Communication]&#039;&#039;&#039; -- the server-side certificate for inter-node grid communication.&lt;br /&gt;
* &#039;&#039;&#039;Client [Grid Communication]&#039;&#039;&#039; -- the client-side certificate a node presents to its peers.&lt;br /&gt;
* &#039;&#039;&#039;HAProxy&#039;&#039;&#039; -- the certificate used by the integrated load balancer, when configured.&lt;br /&gt;
* &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; -- the certificate used by the Ceph S3/Object Gateway.  Two use cases are available, for a first and second gateway instance ({{Code|1=cephrgw-1}} and {{Code|1=cephrgw-2}} on the CLI).&lt;br /&gt;
&lt;br /&gt;
Note that the same PEM file may appear more than once with different use cases when one certificate serves several roles -- for example {{Code|1=qsrestsrv.pem}} is used for both &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Expiration Alerts ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor monitors validity dates and raises alerts as a certificate approaches expiry, so a certificate never lapses unnoticed.  Alerts are raised at &#039;&#039;&#039;90, 60, 30, 7, and 2 days&#039;&#039;&#039; before expiry, and again once the certificate has actually expired.&lt;br /&gt;
&lt;br /&gt;
The longer-lead warnings are only raised for certificates with a correspondingly long lifetime -- the 90 day warning applies to certificates valid for more than 18 months, the 60 day warning to those valid for more than a year, and the 30 day warning to those valid for more than 90 days.  This prevents short-lived certificates from generating alerts the moment they are installed.  The 7 day, 2 day, and expired alerts always apply.&lt;br /&gt;
&lt;br /&gt;
Alerts are delivered through the standard QuantaStor alerting system, so they reach whatever email and SNMP destinations you have configured in the Alert Manager.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Templates ===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;certificate template&#039;&#039;&#039; holds a certificate (and its private key) that you have obtained from your CA, stored once in the grid so it can be applied to any service on any Storage System.  Templates are what make it possible to roll out your own certificate across the grid from the management interface instead of copying PEM files onto each node by hand.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; &#039;&#039;Certificate Templates&#039;&#039; &#039;&#039;(tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The toolbar provides &#039;&#039;&#039;Add Template&#039;&#039;&#039;, &#039;&#039;&#039;Update&#039;&#039;&#039;, &#039;&#039;&#039;Remove Template&#039;&#039;&#039;, and &#039;&#039;&#039;Certificate Template Manager&#039;&#039;&#039; for reviewing and maintaining templates.&lt;br /&gt;
&lt;br /&gt;
=== Installing Your Own Certificate ===&lt;br /&gt;
&lt;br /&gt;
This is the recommended way to replace any of QuantaStor&#039;s default self-signed certificates, including the one served by the web management interface.&lt;br /&gt;
&lt;br /&gt;
* Obtain a certificate and private key from your CA.&lt;br /&gt;
* &#039;&#039;&#039;Add a template&#039;&#039;&#039; from the certificate.  Supply a name, a description, and the PEM file containing the certificate and key block.  If the private key is in a separate file, supply it as well.&lt;br /&gt;
* &#039;&#039;&#039;Apply the template&#039;&#039;&#039; to the use case you want it to serve on a given Storage System -- for example apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case to change the certificate browsers see for the web management interface.&lt;br /&gt;
* Repeat the apply step for each Storage System, and for each use case the certificate should cover.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT -- the certificate must contain a Subject Alternative Name (SAN).&#039;&#039;&#039; QuantaStor validates certificates before accepting them as a template and rejects any certificate without a SAN extension, with the error &#039;&#039;&amp;quot;Certificate validation failed. Unable to create certificate template out of invalid certificate.&amp;quot;&#039;&#039;  A Common Name alone is not sufficient.  Include every name and address the systems will be reached by -- the FQDN, the short hostname, and the management IP.  When generating a self-signed certificate with {{Code|1=openssl req}}, add the SAN explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -newkey rsa:2048 -nodes -days 365 \&lt;br /&gt;
  -subj &amp;quot;/C=US/ST=&amp;amp;lt;state&amp;amp;gt;/L=&amp;amp;lt;city&amp;amp;gt;/O=&amp;amp;lt;org&amp;amp;gt;/CN=&amp;amp;lt;fqdn&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -addext &amp;quot;subjectAltName=DNS:&amp;amp;lt;fqdn&amp;amp;gt;,DNS:&amp;amp;lt;hostname&amp;amp;gt;,IP:&amp;amp;lt;system-ip&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -keyout mycert.key -out mycert.crt&lt;br /&gt;
&lt;br /&gt;
cat mycert.crt mycert.key &amp;gt; mycert.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a certificate against QuantaStor&#039;s validation rules before importing it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/bin/qs_certutil.sh validate --pem-file &amp;amp;lt;path-to-pem&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the CLI the two steps are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-add --name=&amp;amp;lt;template-name&amp;amp;gt; --description=&amp;amp;lt;text&amp;amp;gt; \&lt;br /&gt;
                 --certificate-pem-data=&amp;amp;lt;path-to-pem&amp;amp;gt; \&lt;br /&gt;
                 [--privatekey-pem-data=&amp;amp;lt;path-to-key-pem&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
qs cert-update --storage-system=&amp;amp;lt;system&amp;amp;gt; --cert-use-case=2 \&lt;br /&gt;
               --cert-tmpl=&amp;amp;lt;template-name&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; {{Code|1=--cert-use-case}} currently requires the numeric use case value rather than its name.  The values are &#039;&#039;0&#039;&#039; none, &#039;&#039;1&#039;&#039; haproxy, &#039;&#039;2&#039;&#039; nginx, &#039;&#039;3&#039;&#039; cephrgw-1, &#039;&#039;4&#039;&#039; cephrgw-2, &#039;&#039;5&#039;&#039; qsrest, &#039;&#039;6&#039;&#039; qsserver, &#039;&#039;7&#039;&#039; qsclient.&lt;br /&gt;
&lt;br /&gt;
QuantaStor reloads the affected service automatically once the certificate is applied, so the new certificate is served without further action -- nginx for the &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039; use cases, HAProxy for &#039;&#039;&#039;HAProxy&#039;&#039;&#039;, and the Object Gateway services for the gateway use cases.  nginx is reloaded rather than restarted, so applying a web interface certificate does not disconnect your own management session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for QuantaStor releases prior to 6.9:&#039;&#039;&#039; the nginx reload was not performed automatically, and the appliance would continue to present the previous certificate until nginx was reloaded by hand:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm what is actually being served, including the SAN:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | openssl x509 -noout -subject -dates -ext subjectAltName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rescanning Certificates ===&lt;br /&gt;
&lt;br /&gt;
If a certificate is replaced outside of QuantaStor -- for example by editing the nginx configuration directly, or by a external renewal process dropping in a new PEM -- use &#039;&#039;&#039;Rescan&#039;&#039;&#039; to re-read the certificates from disk and refresh the inventory, validity dates, and alert state.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; Rescan &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== Reviewing Certificates from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same inventory is available from the QuantaStor CLI, which is convenient for scripted compliance checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-list&lt;br /&gt;
qs cert-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-rescan --storage-system=&amp;amp;lt;system&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certificate templates have a matching set of commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-list&lt;br /&gt;
qs cert-tmpl-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-tmpl-rm --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For TLS version and cipher settings, see &#039;&#039;&#039;[[#Supported TLS Versions and Ciphers|Supported TLS Versions and Ciphers]]&#039;&#039;&#039;.&lt;br /&gt;
== Endpoint Detection &amp;amp; Response (EDR) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_agents.png|thumb|right|800px|EDR Agents section.  Agents are installed per Storage System and report vendor, status, version, and enabled features.]]&lt;br /&gt;
&lt;br /&gt;
Many security standards and cyber-insurance policies require an endpoint detection and response (EDR) agent on every server, including storage appliances.  QuantaStor can deploy and manage a vendor EDR agent on each Storage System in the grid directly from the web management interface, so the appliances are covered by the same endpoint security tooling as the rest of the fleet without hand-installing agents over SSH.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents}}&lt;br /&gt;
&lt;br /&gt;
The EDR Agents section lists the installed agents with their &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Storage System&#039;&#039;&#039;, &#039;&#039;&#039;Vendor&#039;&#039;&#039;, &#039;&#039;&#039;Status&#039;&#039;&#039;, &#039;&#039;&#039;Version&#039;&#039;&#039;, and the set of &#039;&#039;&#039;Features&#039;&#039;&#039; the agent has enabled.&lt;br /&gt;
&lt;br /&gt;
=== Supported EDR Vendors ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bitdefender GravityZone&#039;&#039;&#039; is the currently supported EDR platform, on Ubuntu 22.04, Ubuntu 24.04, RHEL 8, and RHEL 9.  Additional vendor modules use the same framework and are being added; contact OSNEXUS at info@osnexus.com if you need a specific EDR platform supported.&lt;br /&gt;
&lt;br /&gt;
Vendor modules are defined on the appliance in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/conf/qs_endpoint_security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing an EDR Agent ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_install.png|thumb|right|500px|Install EDR Security Agent dialog.]]&lt;br /&gt;
&lt;br /&gt;
Before starting, create an installation package for Linux servers in your Bitdefender GravityZone console and note either the &#039;&#039;&#039;package id&#039;&#039;&#039; or the full &#039;&#039;&#039;setup downloader URL&#039;&#039;&#039; the console provides.  The feature set of the agent (which protection modules are enabled) is chosen in the GravityZone console when the package is created, and QuantaStor reads that selection back from the installer.  Individual protection modules can optionally be overridden from the QuantaStor side at install time -- see the {{Code|1=--feature-flags}} argument in the CLI section below.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Install Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
You can also right-click a Storage System to install an agent on it.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Install EDR Security Agent&#039;&#039;&#039; dialog:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;EDR Module&#039;&#039;&#039; -- select the vendor module, e.g. &#039;&#039;Bitdefender&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Install Key / URL&#039;&#039;&#039; -- paste either the short GravityZone package id (e.g. {{Code|1=aabbccdd}}) or the full {{Code|1=setup_downloader.tar}} URL copied from the GravityZone console.  Both forms are accepted, which matters because the vendor&#039;s URL format changes from time to time.&lt;br /&gt;
* &#039;&#039;&#039;Storage Systems&#039;&#039;&#039; -- tick each system to install the agent on.  The grid shows the service, kernel, and distribution version of each system so you can confirm platform support before installing.&lt;br /&gt;
&lt;br /&gt;
QuantaStor then downloads the installer package from GravityZone onto each selected system, installs the agent, and registers it.  Because the appliance must reach the GravityZone service to download the package, ensure outbound access to your GravityZone endpoint is permitted -- see &#039;&#039;&#039;[[#Firewall Configuration|Firewall Configuration]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that the registration key is supplied at install time and stored per node; it is not kept in the vendor module configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring and Removing Agents ===&lt;br /&gt;
&lt;br /&gt;
Once installed, an agent&#039;s &#039;&#039;&#039;Status&#039;&#039;&#039; and &#039;&#039;&#039;Version&#039;&#039;&#039; are refreshed automatically and shown in the EDR Agents grid, so an agent that has stopped running is visible from the management interface rather than only from the vendor console.&lt;br /&gt;
&lt;br /&gt;
To remove an agent, select it and choose &#039;&#039;&#039;Uninstall Agent&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Uninstall Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== EDR Management from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same operations are available from the QuantaStor CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-list&lt;br /&gt;
qs edr-agent-get --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=&amp;amp;lt;systems&amp;amp;gt; --module=bitdefender \&lt;br /&gt;
                    --registration-key=&amp;amp;lt;package-id-or-url&amp;amp;gt;&lt;br /&gt;
qs edr-agent-delete --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-rescan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The create command also accepts an optional {{Code|1=--feature-flags}} argument taking a JSON object, to override individual protection modules without changing the GravityZone package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=qs-node-a --module=bitdefender \&lt;br /&gt;
                    --registration-key=aabbccdd \&lt;br /&gt;
                    --feature-flags=&#039;{&amp;quot;FileScan&amp;quot;:1,&amp;quot;Firewall&amp;quot;:0}&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To review the available vendor modules and their supported platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-module-list&lt;br /&gt;
qs edr-agent-module-get --module=bitdefender&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] ==&lt;br /&gt;
* Installing a custom certificate for the S3/Object Gateway endpoint.  See also the &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; certificate use cases under &#039;&#039;&#039;[[#Certificate Use Cases|Certificate Use Cases]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Multi-factor Authentication ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_mfa_manager.png|thumb|right|615px|Multi-Factor Authentication Manager.]]&lt;br /&gt;
&lt;br /&gt;
Multi-factor authentication (MFA) requires a user to present a second factor, such as a device, in addition to their password.  QuantaStor supports MFA for management logins.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Multi-Factor Auth Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
An MFA &#039;&#039;&#039;configuration&#039;&#039;&#039; must exist before MFA can be enabled on any account. The manager lists the existing configurations by &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Provider&#039;&#039;&#039; and provides &#039;&#039;&#039;Create...&#039;&#039;&#039;, &#039;&#039;&#039;Modify...&#039;&#039;&#039;, &#039;&#039;&#039;Delete...&#039;&#039;&#039;, and &#039;&#039;&#039;Assign/Unassign...&#039;&#039;&#039; for attaching a configuration to user accounts.&lt;br /&gt;
&lt;br /&gt;
The supported providers are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cisco Duo&#039;&#039;&#039; -- see [[Duo Multi-Factor Authentication|Cisco Duo Multi-Factor Authentication]] for the full setup walkthrough&lt;br /&gt;
* &#039;&#039;&#039;OKTA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Creating a configuration takes a &#039;&#039;&#039;Provider&#039;&#039;&#039;, a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, the &#039;&#039;&#039;API Host&#039;&#039;&#039; for your tenant, and the &#039;&#039;&#039;Integration Key&#039;&#039;&#039; and &#039;&#039;&#039;Secret Key&#039;&#039;&#039; issued by the provider.  Obtain those values from your Duo or Okta administration console.&lt;br /&gt;
&lt;br /&gt;
Once a configuration exists, enable MFA per account with &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; on the Add User or Modify User dialog.  The &#039;&#039;&#039;Force (required when in use)&#039;&#039;&#039; option in the manager makes the second factor mandatory rather than optional.&lt;br /&gt;
&lt;br /&gt;
Contact OSNEXUS at info@osnexus.com for guidance on additional MFA options.&lt;br /&gt;
&lt;br /&gt;
== Security Updates ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor supports automatic security updates through the &#039;&#039;&#039;[[Upgrade Manager]]&#039;&#039;&#039; in the web management interface.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Upgrade Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Applying security updates through the Upgrade Manager is the supported path -- it applies the updates OSNEXUS has qualified against the running QuantaStor release, in the correct order, across the systems you select.  Installing distribution packages directly with {{Code|1=apt}} is not recommended, as it can introduce package versions that have not been qualified against the release.&lt;br /&gt;
&lt;br /&gt;
== Encrypting NFS/SMB/iSCSI via IPsec ==&lt;br /&gt;
&lt;br /&gt;
Protocols such as NFSv3 do not encrypt data on the wire.  Where the storage network is not itself trusted, set up an encrypted tunnel between the client and the QuantaStor system so that protocol traffic is protected in transit.&lt;br /&gt;
&lt;br /&gt;
More information on configuring IPsec on QuantaStor systems is available [[IPSec|here]].&lt;br /&gt;
&lt;br /&gt;
Note that IPsec protects data &#039;&#039;&#039;in transit&#039;&#039;&#039;.  For data &#039;&#039;&#039;at rest&#039;&#039;&#039;, QuantaStor provides [[Storage Pools|Storage Pool]] encryption, which is configured when the pool is created and is covered separately in the administrator guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Send System Log Report]] -- collecting and sending a scrubbed log bundle to support&lt;br /&gt;
* [[Duo Multi-Factor Authentication]] -- setting up the Cisco Duo MFA provider&lt;br /&gt;
* [[Custom SSH Security]] -- hardening the SSH service and managing key access&lt;br /&gt;
* [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] -- certificates for the S3 gateway&lt;br /&gt;
* [[IPSec]] -- encrypting protocol traffic in transit between client and appliance&lt;br /&gt;
* [[Storage Pools]] -- pool encryption, which protects data at rest&lt;br /&gt;
* [[Upgrade Manager]] -- applying security patches and QuantaStor updates&lt;br /&gt;
* [[Call-home / Alerting|Alert Manager]] -- alert delivery, including certificate expiry alerts&lt;br /&gt;
* [[Storage System]] -- system-level configuration and the Modify dialog&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28161</id>
		<title>Clustered SCSI-3 Persistent Reservations</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28161"/>
		<updated>2026-09-28T20:29:18Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Disabling clustered reservations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
Clustered SCSI-3 persistent reservations let the reservations a client cluster places on QuantaStor [[Storage Volumes]] survive an HA failover. Windows Server Failover Clustering -- including Hyper-V with Cluster Shared Volumes and SQL Server Failover Cluster Instances -- depends on them. This page explains why those clusters need the feature, how to turn it on for an HA pool, and what QuantaStor does when you do.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The feature is off by default. If you present HA pool volumes to a Windows failover cluster, turn it on in the HA group&#039;s Modify Group dialog before the cluster starts using the disks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#Why Windows failover clusters need it|Why Windows failover clusters need it]] || What persistent reservations do for WSFC, and what goes wrong without this feature&lt;br /&gt;
|-&lt;br /&gt;
| [[#How it works|How it works]] || How reservations are shared between the appliances of an HA group&lt;br /&gt;
|-&lt;br /&gt;
| [[#Requirements|Requirements]] || Pool type, protocols, operating system, release and cluster prerequisites&lt;br /&gt;
|-&lt;br /&gt;
| [[#Enabling clustered reservations|Enabling clustered reservations]] || The HA group setting, in the web interface and from the CLI&lt;br /&gt;
|-&lt;br /&gt;
| [[#Setting up a Hyper-V or WSFC cluster|Setting up a Hyper-V or WSFC cluster]] || End-to-end walkthrough from HA group to Cluster Shared Volume&lt;br /&gt;
|-&lt;br /&gt;
| [[#When to leave it disabled|When to leave it disabled]] || What the feature costs, and why it is not on by default&lt;br /&gt;
|-&lt;br /&gt;
| [[#Disabling clustered reservations|Disabling clustered reservations]] || What turning it off does to a running cluster&lt;br /&gt;
|-&lt;br /&gt;
| [[#Allow Reboot / Lock Recovery|Allow Reboot / Lock Recovery]] || The companion setting in the same dialog&lt;br /&gt;
|-&lt;br /&gt;
| [[#Checking the state on an appliance|Checking the state on an appliance]] || Confirming every volume is sharing its reservations&lt;br /&gt;
|-&lt;br /&gt;
| [[#Troubleshooting|Troubleshooting]] || When the setting is on but reservations are not shared&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Why Windows failover clusters need it ==&lt;br /&gt;
&lt;br /&gt;
A Windows Server Failover Cluster arbitrates ownership of its shared disks with SCSI-3 persistent reservations (PR). Each cluster node registers a key with every clustered LUN, and the node that owns a disk holds a reservation on it. When a node stops responding, the surviving nodes remove its registration, which fences it off the disk so it cannot keep writing to storage the cluster has handed to someone else. Cluster Shared Volumes, where every node reads and writes the same LUN at once, rely on this to keep a failed node away from the volume. SQL Server Failover Cluster Instances use the same cluster disks and depend on it in the same way.&lt;br /&gt;
&lt;br /&gt;
Because the whole cluster depends on reservations behaving correctly, Microsoft&#039;s &#039;&#039;&#039;Validate a Configuration&#039;&#039;&#039; wizard tests them. Its storage tests register, reserve, preempt and release keys against every candidate disk, and a disk that fails the SCSI-3 persistent reservation test cannot be used as a supported cluster disk.&lt;br /&gt;
&lt;br /&gt;
A reservation is state held by the SCSI target, not data on the disk. On a QuantaStor HA pool the target that recorded the reservation is the appliance that currently owns the pool. Without clustered reservations, that record exists only on that appliance. When the pool fails over, the receiving appliance starts serving the same LUNs with an empty reservation table: every key the Windows nodes registered, and the reservation that says which node owns each disk, is gone. The pool came back, but from the cluster&#039;s point of view the disks no longer carry the registrations it placed on them, and it treats them as failed. Cluster disks go offline and Cluster Shared Volumes stop, which is exactly the outage an HA pool is meant to prevent.&lt;br /&gt;
&lt;br /&gt;
With &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; enabled, every appliance in the HA group holds the same reservation state for every volume in the pool, so the appliance that takes the pool over already knows every registration and reservation, and the Windows cluster sees no change.&lt;br /&gt;
&lt;br /&gt;
This is a different thing from the persistent reservations QuantaStor places on the pool&#039;s own disks. Those are I/O fencing: QuantaStor arbitrating which appliance may import the pool, described in [[HA Cluster Setup (JBODs)#I/O fencing and SCSI-3 persistent reservations|I/O fencing and SCSI-3 persistent reservations]]. Clustered reservations concern the reservations that &#039;&#039;&#039;clients&#039;&#039;&#039; place on the storage volumes QuantaStor exports, and the two are independent.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor shares reservation state between the appliances of an HA group through the Linux distributed lock manager (DLM), which runs as a resource of the site cluster&#039;s Corosync and Pacemaker stack.&lt;br /&gt;
&lt;br /&gt;
* Every exported storage volume in the pool gets its own DLM lockspace, named after the volume&#039;s SCSI device identifier. The reservation state lives in that lockspace rather than in a single appliance&#039;s memory.&lt;br /&gt;
* The appliance that owns the pool serves the volume and is a member of its lockspace.&lt;br /&gt;
* Every other appliance in the HA group -- the secondary, and the tertiary if the group has one -- holds a placeholder device with the same identity, which keeps it a member of the same lockspace. It carries no data; its job is to hold a copy of the reservation state.&lt;br /&gt;
* During a failover the appliances swap roles device by device, so at every moment at least one appliance is holding each volume&#039;s reservations. The appliance taking over joins with the state already in place.&lt;br /&gt;
&lt;br /&gt;
Setting the HA group to Enabled is the whole of the configuration. QuantaStor installs the DLM, creates and starts the Pacemaker DLM resource, and switches the pool&#039;s volumes into clustered mode on every appliance in the group. Appliances that did not run the operation converge on their own shortly afterwards, and an appliance that was down or rebuilt catches up when it returns. Volumes created in the pool later pick the setting up when they are created.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor scale-up Storage Pool (ZFS) protected by an HA group.&#039;&#039;&#039; Clustered reservations are a property of the HA group, so a pool without one cannot use them. See [[HA Cluster Setup (JBODs)]] and [[HA Cluster Setup (external SAN)]].&lt;br /&gt;
* &#039;&#039;&#039;iSCSI or Fibre Channel.&#039;&#039;&#039; The feature applies to storage volumes exported over iSCSI and Fibre Channel. It does not apply to NVMe over Fabrics.&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor 6.9 or newer&#039;&#039;&#039; The DLM and SCSI target driver changes the feature depends on are built for standard QuantaStor installs on 6.9 and newer and is not yet available on RHEL based configurations. Non-Ubuntu based QuantaStor configurations will refuse to put volumes into clustered mode rather than risk the target stack.&lt;br /&gt;
* &#039;&#039;&#039;Every appliance in the HA group at QuantaStor 6.9.0 or newer, and rebooted onto its current target driver.&#039;&#039;&#039; Enabling the setting is refused, naming the appliance, if any member of the group is on an older release, or if an appliance has had new target drivers installed but has not rebooted since. Complete the upgrade on every node, including the reboot, before turning the feature on.&lt;br /&gt;
* &#039;&#039;&#039;A healthy site cluster.&#039;&#039;&#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;br /&gt;
&lt;br /&gt;
The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor.&lt;br /&gt;
&lt;br /&gt;
== Enabling clustered reservations ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Pools &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; &#039;&#039;select the pool&#039;&#039; &amp;amp;rarr; Storage Pool HA Resource Group &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Modify Group}}&lt;br /&gt;
&lt;br /&gt;
[[File:hagroup_modify_clusterpr.png|thumb|right|470px|The General tab of Modify Storage Pool High-Availability Group. Clustered SCSI3-PR Reservations shows Disabled, the default for a new HA group; Allow Reboot / Lock Recovery sits directly below it.]]&lt;br /&gt;
&lt;br /&gt;
On the &#039;&#039;&#039;General&#039;&#039;&#039; tab of the &#039;&#039;&#039;Modify Storage Pool High-Availability Group&#039;&#039;&#039; dialog, set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039; and click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The same field is on the Create Group dialog, so you can enable it when you first create the HA group. On both dialogs it offers &#039;&#039;&#039;Enabled&#039;&#039;&#039; and &#039;&#039;&#039;Disabled&#039;&#039;&#039;, and a new HA group starts at &#039;&#039;&#039;Disabled&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The change applies to the running pool. No failover, service restart or reboot is needed: existing volumes are switched into clustered mode in place, and the other appliances in the group converge within a short time. The Modify Group task reports &amp;quot;Enabling SCSI3-PR distributed locking&amp;quot; while it works. On an appliance that has never had the DLM installed, the first enable includes the package install and takes longer.&lt;br /&gt;
&lt;br /&gt;
If the DLM cannot be configured -- the site cluster is not running, for example -- the HA group is still created or modified, because it is useful without clustered reservations. QuantaStor records the reason in the service log -- and, on a create, raises a warning on the group -- and keeps retrying on its own, and the volumes take up clustered mode once the condition is cleared.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable it before the Windows cluster takes reservations on the volumes.&#039;&#039;&#039; The walkthrough below does it first for that reason.&lt;br /&gt;
&lt;br /&gt;
=== From the command line ===&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor CLI Command Reference#ha-group-modify|qs ha-group-modify]] and [[QuantaStor CLI Command Reference#ha-group-create|qs ha-group-create]] take {{Code|1=--enable-cluster-pr}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs ha-group-modify --ha-group=pool-1-ha-group --enable-cluster-pr=enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It accepts {{Code|1=enabled}}, {{Code|1=disabled}} and {{Code|1=auto}}, and {{Code|1=auto}} is what you get when you leave the argument out. On a modify, {{Code|1=auto}} leaves the current setting unchanged, so a command that changes some other property of the group never switches clustered reservations off as a side effect. On a create, {{Code|1=auto}} resolves to disabled unless the pool&#039;s volumes are already in clustered mode. Pass {{Code|1=enabled}} explicitly when you want the feature.&lt;br /&gt;
&lt;br /&gt;
== Setting up a Hyper-V or WSFC cluster ==&lt;br /&gt;
&lt;br /&gt;
This is the order to follow when presenting QuantaStor volumes to a new Windows Server Failover Cluster, whether for Hyper-V Cluster Shared Volumes or for a SQL Server Failover Cluster Instance.&lt;br /&gt;
&lt;br /&gt;
=== 1. Enable clustered reservations on the HA group ===&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039; on the pool&#039;s HA group, as described in [[#Enabling clustered reservations|Enabling clustered reservations]]. Do this first, so that every reservation the cluster ever takes is shared between the appliances from the start.&lt;br /&gt;
&lt;br /&gt;
=== 2. Create the volumes ===&lt;br /&gt;
&lt;br /&gt;
Create the volumes the cluster will use in the HA pool -- see [[Storage Volumes#Creating a Storage Volume|Creating a Storage Volume]]. A small volume for the cluster&#039;s disk witness, if you intend to use one, belongs in the same pool.&lt;br /&gt;
&lt;br /&gt;
=== 3. Present the volumes to every cluster node ===&lt;br /&gt;
&lt;br /&gt;
Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;br /&gt;
&lt;br /&gt;
For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby.&lt;br /&gt;
&lt;br /&gt;
=== 4. Bring the disks online on one node ===&lt;br /&gt;
&lt;br /&gt;
On one cluster node, rescan storage, bring the new disks online, initialize them and create the volumes you intend to use, in the usual way for disks that will become cluster disks. The other nodes see the same LUNs through the host group and need no preparation of their own.&lt;br /&gt;
&lt;br /&gt;
=== 5. Run cluster validation ===&lt;br /&gt;
&lt;br /&gt;
Run the &#039;&#039;&#039;Validate a Configuration&#039;&#039;&#039; wizard in Failover Cluster Manager, or the {{Code|1=Test-Cluster}} PowerShell cmdlet, against all of the nodes and include the storage tests. The SCSI-3 persistent reservation test should pass on every QuantaStor disk.&lt;br /&gt;
&lt;br /&gt;
If you want proof that reservations survive a failover before going into production, fail the pool over to the other appliance with &#039;&#039;&#039;Manual Failover&#039;&#039;&#039; (see [[HA Cluster Setup (JBODs)#Deliberate failover|Deliberate failover]]) and run the storage validation again, or confirm in Failover Cluster Manager that the cluster disks stayed online throughout.&lt;br /&gt;
&lt;br /&gt;
=== 6. Add the disks to the cluster and to Cluster Shared Volumes ===&lt;br /&gt;
&lt;br /&gt;
Add the validated disks to the cluster as cluster disks, then add the ones Hyper-V will use to Cluster Shared Volumes. For a SQL Server Failover Cluster Instance, select the cluster disks during SQL Server&#039;s failover cluster setup instead.&lt;br /&gt;
&lt;br /&gt;
== When to leave it disabled ==&lt;br /&gt;
&lt;br /&gt;
Leave the setting Disabled on HA groups whose clients never take SCSI-3 reservations -- VMware vSphere datastores, Linux hosts, file shares, and single Windows servers. The feature is off by default because it has a cost:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;One DLM lockspace for every exported volume&#039;&#039;&#039;, held on every appliance in the HA group, including the ones not serving the pool. A pool whose clients never reserve a LUN gains nothing from that.&lt;br /&gt;
* &#039;&#039;&#039;A dependency on the cluster&#039;s lock manager.&#039;&#039;&#039; A volume in clustered mode relies on the DLM being able to form and recover its lockspace. QuantaStor gates every step on the DLM being verified healthy on the appliance, precisely because a lockspace that cannot be joined or recovered can stall the appliance&#039;s SCSI target. That is a risk worth taking for a Windows cluster that needs the feature, and not one to take by default.&lt;br /&gt;
&lt;br /&gt;
== Disabling clustered reservations ==&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; back to &#039;&#039;&#039;Disabled&#039;&#039;&#039; in Modify Group. The dialog asks you to confirm, and means it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Disabling Clustered Persistent Reservations is disruptive to connected clustered clients such as Windows Server with Hyper-V. Reservations are no longer shared across the HA cluster, so any reservation a client is holding will be LOST the next time this pool fails over. Are you sure you want to do this?&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The pool&#039;s volumes are taken back out of clustered mode straight away but note that the Pacemaker DLM resource itself is left in place as HA groups can be recreated as part of maintenance operations. &lt;br /&gt;
&lt;br /&gt;
Deleting the HA group does &#039;&#039;&#039;not&#039;&#039;&#039; turn the feature off. Removing an HA group is a routine step in HA pool maintenance, and tearing the DLM down with it would drop the reservations a running Windows cluster is holding, so the lockspaces and the devices holding them are deliberately left as they are. Removing the DLM configuration entirely is a support operation; contact OSNEXUS support if you need it.&lt;br /&gt;
&lt;br /&gt;
== Allow Reboot / Lock Recovery ==&lt;br /&gt;
&lt;br /&gt;
The General tab carries a second, related checkbox: &#039;&#039;&#039;Allow Reboot / Lock Recovery&#039;&#039;&#039;. It is off by default, and it applies to HA pools whether or not clustered reservations are enabled.&lt;br /&gt;
&lt;br /&gt;
It exists for one situation. When an appliance has been fenced away from a pool -- its peer took the pool over and preempted its reservations on the pool&#039;s disks -- the pool on the fenced appliance goes SUSPENDED or FAILED, and ZFS cannot bring a suspended pool back without a reboot. Until that reboot the appliance serves nothing, and it cannot always be shut down cleanly either, because I/O already submitted to the suspended pool never completes. Left alone, the appliance sits in that state until an administrator restarts it by hand.&lt;br /&gt;
&lt;br /&gt;
Ticking the checkbox allows the appliance to restart itself to recover. QuantaStor does not otherwise reboot appliances on its own, so the restart is hedged with three conditions, all of which must hold:&lt;br /&gt;
&lt;br /&gt;
# at least one pool imported on the appliance is SUSPENDED or FAILED;&lt;br /&gt;
# every such pool&#039;s HA group has &#039;&#039;&#039;Allow Reboot / Lock Recovery&#039;&#039;&#039; ticked -- one group that has not opted in vetoes the restart;&lt;br /&gt;
# the appliance holds no other healthy pool, so an appliance that is still serving storage is never restarted.&lt;br /&gt;
&lt;br /&gt;
When the conditions hold, QuantaStor raises an alert and starts a three-minute countdown task before restarting. Cancel the task to stop the restart; the veto lasts until the appliance next reboots. The conditions are checked again just before the restart, so failing a pool back to the appliance during the countdown also stops it. The appliance does not re-import the pool when it comes back -- the pool belongs to its peer by then -- which is why the restart cannot loop.&lt;br /&gt;
&lt;br /&gt;
From the command line the equivalent is {{Code|1=--allow-lock-recovery-reboot=enabled}} on [[QuantaStor CLI Command Reference#ha-group-modify|qs ha-group-modify]] or [[QuantaStor CLI Command Reference#ha-group-create|qs ha-group-create]]; as with {{Code|1=--enable-cluster-pr}}, leaving it out leaves the setting unchanged.&lt;br /&gt;
&lt;br /&gt;
== Checking the state on an appliance ==&lt;br /&gt;
&lt;br /&gt;
Two read-only commands, run as root (with {{Code|1=sudo}}) from a shell on an appliance in the HA group, show whether reservations are being shared.&lt;br /&gt;
&lt;br /&gt;
{{Code|1=qs-scstdlm check}} reports whether the appliance&#039;s distributed lock manager is ready, and if not, the first thing standing in the way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
sudo qs-scstdlm check&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ready appliance prints lines beginning {{Code|1=READY:}}. A line beginning {{Code|1=NOTREADY:}} names the problem -- the DLM daemon not installed, the Pacemaker DLM resource not created, Corosync with no cluster name, and so on. On an HA group that has never had the feature enabled it reports the following, which is expected until you enable the setting and is not a fault:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
NOTREADY: the Pacemaker &#039;dlm&#039; resource has not been created in the cluster.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Code|1=qs-scstdlm inspect}} lists every SCSI target device on the appliance with its clustered-mode flag, whether the appliance has joined that device&#039;s lockspace, and the persistent reservations the device currently holds:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
sudo qs-scstdlm inspect&lt;br /&gt;
sudo qs-scstdlm inspect --no-prs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add {{Code|1=--no-prs}} to list the devices without their reservations, which keeps the output short on an appliance exporting many volumes.&lt;br /&gt;
&lt;br /&gt;
In the {{Code|1=CLM}} column, {{Code|1=1}} means the device is in clustered mode. The {{Code|1=LOCKSPACE}} column should read {{Code|1=joined}} for every such device. {{Code|1=NOT-JOINED}} alongside {{Code|1=CLM}} 1 means that volume&#039;s reservations are not being shared and would not survive a failover. An appliance with no volumes in clustered mode prints {{Code|1=(no SCST devices with a cluster_mode attribute on this node)}}. On the appliance that does not own the pool, the devices are the placeholders described in [[#How it works|How it works]] and show no backing file. Run it on both appliances: after the Windows cluster has taken its reservations, both should list the same registrations for each volume.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabling is refused with a version error.&#039;&#039;&#039; The message names the appliance holding it up. Either it is on a release older than 6.9.0, or it has had new target drivers installed and has not rebooted onto them. Finish upgrading that appliance, including the reboot, and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The setting is Enabled but volumes are not in clustered mode.&#039;&#039;&#039; Run {{Code|1=qs-scstdlm check}} on each appliance. QuantaStor holds volumes out of clustered mode until the appliance is running a supported platform, is a member of a site cluster, has Corosync and Pacemaker running with a named cluster, and has a running DLM daemon, and it records which condition is missing in the service log. Once the condition clears, the volumes switch over on their own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Validation fails the SCSI-3 persistent reservation test.&#039;&#039;&#039; Confirm the setting is Enabled on the pool&#039;s HA group, and that {{Code|1=qs-scstdlm inspect}} shows every volume in clustered mode and joined on both appliances. A disk presented from a pool that is not in an HA group, or through an appliance&#039;s own address rather than the HA virtual interface, is not covered by the feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster disks went offline after a failover.&#039;&#039;&#039; Check whether the setting was Enabled at the time. Reservations taken while it was Disabled are not shared, and are lost when the pool moves. Enable the setting, then bring the cluster disks back online in Failover Cluster Manager.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Storage Volumes]] -- creating volumes, assigning them to hosts, and the multi-host caution&lt;br /&gt;
* [[Hosts and Host Groups]] -- host records, initiators, and Host Groups for clusters&lt;br /&gt;
* [[Fibre Channel Target Port Management]] -- presenting volumes over Fibre Channel&lt;br /&gt;
* [[HA Cluster Setup (JBODs)]] -- HA groups, failover, and I/O fencing on the pool&#039;s own disks&lt;br /&gt;
* [[HA Cluster Setup (external SAN)]] -- HA pools on LUNs from a back-end array&lt;br /&gt;
* [[Site Cluster Setup]] -- the Corosync and Pacemaker cluster the DLM runs on&lt;br /&gt;
* [[Multipath Configuration]] -- multipath on the client&lt;br /&gt;
* [[QuantaStor CLI Command Reference]] -- full argument lists for the commands above&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28160</id>
		<title>Clustered SCSI-3 Persistent Reservations</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Clustered_SCSI-3_Persistent_Reservations&amp;diff=28160"/>
		<updated>2026-09-28T20:27:58Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
Clustered SCSI-3 persistent reservations let the reservations a client cluster places on QuantaStor [[Storage Volumes]] survive an HA failover. Windows Server Failover Clustering -- including Hyper-V with Cluster Shared Volumes and SQL Server Failover Cluster Instances -- depends on them. This page explains why those clusters need the feature, how to turn it on for an HA pool, and what QuantaStor does when you do.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The feature is off by default. If you present HA pool volumes to a Windows failover cluster, turn it on in the HA group&#039;s Modify Group dialog before the cluster starts using the disks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[#Why Windows failover clusters need it|Why Windows failover clusters need it]] || What persistent reservations do for WSFC, and what goes wrong without this feature&lt;br /&gt;
|-&lt;br /&gt;
| [[#How it works|How it works]] || How reservations are shared between the appliances of an HA group&lt;br /&gt;
|-&lt;br /&gt;
| [[#Requirements|Requirements]] || Pool type, protocols, operating system, release and cluster prerequisites&lt;br /&gt;
|-&lt;br /&gt;
| [[#Enabling clustered reservations|Enabling clustered reservations]] || The HA group setting, in the web interface and from the CLI&lt;br /&gt;
|-&lt;br /&gt;
| [[#Setting up a Hyper-V or WSFC cluster|Setting up a Hyper-V or WSFC cluster]] || End-to-end walkthrough from HA group to Cluster Shared Volume&lt;br /&gt;
|-&lt;br /&gt;
| [[#When to leave it disabled|When to leave it disabled]] || What the feature costs, and why it is not on by default&lt;br /&gt;
|-&lt;br /&gt;
| [[#Disabling clustered reservations|Disabling clustered reservations]] || What turning it off does to a running cluster&lt;br /&gt;
|-&lt;br /&gt;
| [[#Allow Reboot / Lock Recovery|Allow Reboot / Lock Recovery]] || The companion setting in the same dialog&lt;br /&gt;
|-&lt;br /&gt;
| [[#Checking the state on an appliance|Checking the state on an appliance]] || Confirming every volume is sharing its reservations&lt;br /&gt;
|-&lt;br /&gt;
| [[#Troubleshooting|Troubleshooting]] || When the setting is on but reservations are not shared&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Why Windows failover clusters need it ==&lt;br /&gt;
&lt;br /&gt;
A Windows Server Failover Cluster arbitrates ownership of its shared disks with SCSI-3 persistent reservations (PR). Each cluster node registers a key with every clustered LUN, and the node that owns a disk holds a reservation on it. When a node stops responding, the surviving nodes remove its registration, which fences it off the disk so it cannot keep writing to storage the cluster has handed to someone else. Cluster Shared Volumes, where every node reads and writes the same LUN at once, rely on this to keep a failed node away from the volume. SQL Server Failover Cluster Instances use the same cluster disks and depend on it in the same way.&lt;br /&gt;
&lt;br /&gt;
Because the whole cluster depends on reservations behaving correctly, Microsoft&#039;s &#039;&#039;&#039;Validate a Configuration&#039;&#039;&#039; wizard tests them. Its storage tests register, reserve, preempt and release keys against every candidate disk, and a disk that fails the SCSI-3 persistent reservation test cannot be used as a supported cluster disk.&lt;br /&gt;
&lt;br /&gt;
A reservation is state held by the SCSI target, not data on the disk. On a QuantaStor HA pool the target that recorded the reservation is the appliance that currently owns the pool. Without clustered reservations, that record exists only on that appliance. When the pool fails over, the receiving appliance starts serving the same LUNs with an empty reservation table: every key the Windows nodes registered, and the reservation that says which node owns each disk, is gone. The pool came back, but from the cluster&#039;s point of view the disks no longer carry the registrations it placed on them, and it treats them as failed. Cluster disks go offline and Cluster Shared Volumes stop, which is exactly the outage an HA pool is meant to prevent.&lt;br /&gt;
&lt;br /&gt;
With &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; enabled, every appliance in the HA group holds the same reservation state for every volume in the pool, so the appliance that takes the pool over already knows every registration and reservation, and the Windows cluster sees no change.&lt;br /&gt;
&lt;br /&gt;
This is a different thing from the persistent reservations QuantaStor places on the pool&#039;s own disks. Those are I/O fencing: QuantaStor arbitrating which appliance may import the pool, described in [[HA Cluster Setup (JBODs)#I/O fencing and SCSI-3 persistent reservations|I/O fencing and SCSI-3 persistent reservations]]. Clustered reservations concern the reservations that &#039;&#039;&#039;clients&#039;&#039;&#039; place on the storage volumes QuantaStor exports, and the two are independent.&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor shares reservation state between the appliances of an HA group through the Linux distributed lock manager (DLM), which runs as a resource of the site cluster&#039;s Corosync and Pacemaker stack.&lt;br /&gt;
&lt;br /&gt;
* Every exported storage volume in the pool gets its own DLM lockspace, named after the volume&#039;s SCSI device identifier. The reservation state lives in that lockspace rather than in a single appliance&#039;s memory.&lt;br /&gt;
* The appliance that owns the pool serves the volume and is a member of its lockspace.&lt;br /&gt;
* Every other appliance in the HA group -- the secondary, and the tertiary if the group has one -- holds a placeholder device with the same identity, which keeps it a member of the same lockspace. It carries no data; its job is to hold a copy of the reservation state.&lt;br /&gt;
* During a failover the appliances swap roles device by device, so at every moment at least one appliance is holding each volume&#039;s reservations. The appliance taking over joins with the state already in place.&lt;br /&gt;
&lt;br /&gt;
Setting the HA group to Enabled is the whole of the configuration. QuantaStor installs the DLM, creates and starts the Pacemaker DLM resource, and switches the pool&#039;s volumes into clustered mode on every appliance in the group. Appliances that did not run the operation converge on their own shortly afterwards, and an appliance that was down or rebuilt catches up when it returns. Volumes created in the pool later pick the setting up when they are created.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor scale-up Storage Pool (ZFS) protected by an HA group.&#039;&#039;&#039; Clustered reservations are a property of the HA group, so a pool without one cannot use them. See [[HA Cluster Setup (JBODs)]] and [[HA Cluster Setup (external SAN)]].&lt;br /&gt;
* &#039;&#039;&#039;iSCSI or Fibre Channel.&#039;&#039;&#039; The feature applies to storage volumes exported over iSCSI and Fibre Channel. It does not apply to NVMe over Fabrics.&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor 6.9 or newer&#039;&#039;&#039; The DLM and SCSI target driver changes the feature depends on are built for standard QuantaStor installs on 6.9 and newer and is not yet available on RHEL based configurations. Non-Ubuntu based QuantaStor configurations will refuse to put volumes into clustered mode rather than risk the target stack.&lt;br /&gt;
* &#039;&#039;&#039;Every appliance in the HA group at QuantaStor 6.9.0 or newer, and rebooted onto its current target driver.&#039;&#039;&#039; Enabling the setting is refused, naming the appliance, if any member of the group is on an older release, or if an appliance has had new target drivers installed but has not rebooted since. Complete the upgrade on every node, including the reboot, before turning the feature on.&lt;br /&gt;
* &#039;&#039;&#039;A healthy site cluster.&#039;&#039;&#039; The appliances must be members of a [[Site Cluster Setup|site cluster]] with Corosync and Pacemaker running. QuantaStor gives the Corosync cluster a name if it does not have one, because the DLM cannot start without it; this is done across the cluster under maintenance mode, and needs no action from you.&lt;br /&gt;
&lt;br /&gt;
The operating system on the Windows side needs nothing beyond what a failover cluster already requires: multipath I/O configured for the iSCSI or Fibre Channel paths to the QuantaStor appliances, and the cluster nodes&#039; initiators registered as hosts on QuantaStor.&lt;br /&gt;
&lt;br /&gt;
== Enabling clustered reservations ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage Pools &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; &#039;&#039;select the pool&#039;&#039; &amp;amp;rarr; Storage Pool HA Resource Group &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Modify Group}}&lt;br /&gt;
&lt;br /&gt;
[[File:hagroup_modify_clusterpr.png|thumb|right|470px|The General tab of Modify Storage Pool High-Availability Group. Clustered SCSI3-PR Reservations shows Disabled, the default for a new HA group; Allow Reboot / Lock Recovery sits directly below it.]]&lt;br /&gt;
&lt;br /&gt;
On the &#039;&#039;&#039;General&#039;&#039;&#039; tab of the &#039;&#039;&#039;Modify Storage Pool High-Availability Group&#039;&#039;&#039; dialog, set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039; and click &#039;&#039;&#039;OK&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The same field is on the Create Group dialog, so you can enable it when you first create the HA group. On both dialogs it offers &#039;&#039;&#039;Enabled&#039;&#039;&#039; and &#039;&#039;&#039;Disabled&#039;&#039;&#039;, and a new HA group starts at &#039;&#039;&#039;Disabled&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The change applies to the running pool. No failover, service restart or reboot is needed: existing volumes are switched into clustered mode in place, and the other appliances in the group converge within a short time. The Modify Group task reports &amp;quot;Enabling SCSI3-PR distributed locking&amp;quot; while it works. On an appliance that has never had the DLM installed, the first enable includes the package install and takes longer.&lt;br /&gt;
&lt;br /&gt;
If the DLM cannot be configured -- the site cluster is not running, for example -- the HA group is still created or modified, because it is useful without clustered reservations. QuantaStor records the reason in the service log -- and, on a create, raises a warning on the group -- and keeps retrying on its own, and the volumes take up clustered mode once the condition is cleared.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable it before the Windows cluster takes reservations on the volumes.&#039;&#039;&#039; The walkthrough below does it first for that reason.&lt;br /&gt;
&lt;br /&gt;
=== From the command line ===&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor CLI Command Reference#ha-group-modify|qs ha-group-modify]] and [[QuantaStor CLI Command Reference#ha-group-create|qs ha-group-create]] take {{Code|1=--enable-cluster-pr}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs ha-group-modify --ha-group=pool-1-ha-group --enable-cluster-pr=enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It accepts {{Code|1=enabled}}, {{Code|1=disabled}} and {{Code|1=auto}}, and {{Code|1=auto}} is what you get when you leave the argument out. On a modify, {{Code|1=auto}} leaves the current setting unchanged, so a command that changes some other property of the group never switches clustered reservations off as a side effect. On a create, {{Code|1=auto}} resolves to disabled unless the pool&#039;s volumes are already in clustered mode. Pass {{Code|1=enabled}} explicitly when you want the feature.&lt;br /&gt;
&lt;br /&gt;
== Setting up a Hyper-V or WSFC cluster ==&lt;br /&gt;
&lt;br /&gt;
This is the order to follow when presenting QuantaStor volumes to a new Windows Server Failover Cluster, whether for Hyper-V Cluster Shared Volumes or for a SQL Server Failover Cluster Instance.&lt;br /&gt;
&lt;br /&gt;
=== 1. Enable clustered reservations on the HA group ===&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; to &#039;&#039;&#039;Enabled&#039;&#039;&#039; on the pool&#039;s HA group, as described in [[#Enabling clustered reservations|Enabling clustered reservations]]. Do this first, so that every reservation the cluster ever takes is shared between the appliances from the start.&lt;br /&gt;
&lt;br /&gt;
=== 2. Create the volumes ===&lt;br /&gt;
&lt;br /&gt;
Create the volumes the cluster will use in the HA pool -- see [[Storage Volumes#Creating a Storage Volume|Creating a Storage Volume]]. A small volume for the cluster&#039;s disk witness, if you intend to use one, belongs in the same pool.&lt;br /&gt;
&lt;br /&gt;
=== 3. Present the volumes to every cluster node ===&lt;br /&gt;
&lt;br /&gt;
Add each Windows cluster node as a host with its iSCSI IQN or Fibre Channel WWPNs, put all of the nodes in one Host Group, and assign the volumes to that Host Group. [[Hosts and Host Groups#Host Groups|Host Groups]] covers why a group assignment is the right tool for a cluster; for Fibre Channel, [[Fibre Channel Target Port Management#Assigning a storage volume over FC|Assigning a storage volume over FC]] covers zoning and WWPNs.&lt;br /&gt;
&lt;br /&gt;
For iSCSI, have each node log in to the pool&#039;s HA virtual interface rather than an appliance&#039;s own address, so its sessions follow the pool when it fails over. For Fibre Channel, configure multipath on each node; QuantaStor advertises the paths through the owning appliance as active and the others as standby.&lt;br /&gt;
&lt;br /&gt;
=== 4. Bring the disks online on one node ===&lt;br /&gt;
&lt;br /&gt;
On one cluster node, rescan storage, bring the new disks online, initialize them and create the volumes you intend to use, in the usual way for disks that will become cluster disks. The other nodes see the same LUNs through the host group and need no preparation of their own.&lt;br /&gt;
&lt;br /&gt;
=== 5. Run cluster validation ===&lt;br /&gt;
&lt;br /&gt;
Run the &#039;&#039;&#039;Validate a Configuration&#039;&#039;&#039; wizard in Failover Cluster Manager, or the {{Code|1=Test-Cluster}} PowerShell cmdlet, against all of the nodes and include the storage tests. The SCSI-3 persistent reservation test should pass on every QuantaStor disk.&lt;br /&gt;
&lt;br /&gt;
If you want proof that reservations survive a failover before going into production, fail the pool over to the other appliance with &#039;&#039;&#039;Manual Failover&#039;&#039;&#039; (see [[HA Cluster Setup (JBODs)#Deliberate failover|Deliberate failover]]) and run the storage validation again, or confirm in Failover Cluster Manager that the cluster disks stayed online throughout.&lt;br /&gt;
&lt;br /&gt;
=== 6. Add the disks to the cluster and to Cluster Shared Volumes ===&lt;br /&gt;
&lt;br /&gt;
Add the validated disks to the cluster as cluster disks, then add the ones Hyper-V will use to Cluster Shared Volumes. For a SQL Server Failover Cluster Instance, select the cluster disks during SQL Server&#039;s failover cluster setup instead.&lt;br /&gt;
&lt;br /&gt;
== When to leave it disabled ==&lt;br /&gt;
&lt;br /&gt;
Leave the setting Disabled on HA groups whose clients never take SCSI-3 reservations -- VMware vSphere datastores, Linux hosts, file shares, and single Windows servers. The feature is off by default because it has a cost:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;One DLM lockspace for every exported volume&#039;&#039;&#039;, held on every appliance in the HA group, including the ones not serving the pool. A pool whose clients never reserve a LUN gains nothing from that.&lt;br /&gt;
* &#039;&#039;&#039;A dependency on the cluster&#039;s lock manager.&#039;&#039;&#039; A volume in clustered mode relies on the DLM being able to form and recover its lockspace. QuantaStor gates every step on the DLM being verified healthy on the appliance, precisely because a lockspace that cannot be joined or recovered can stall the appliance&#039;s SCSI target. That is a risk worth taking for a Windows cluster that needs the feature, and not one to take by default.&lt;br /&gt;
&lt;br /&gt;
== Disabling clustered reservations ==&lt;br /&gt;
&lt;br /&gt;
Set &#039;&#039;&#039;Clustered SCSI3-PR Reservations&#039;&#039;&#039; back to &#039;&#039;&#039;Disabled&#039;&#039;&#039; in Modify Group. The dialog asks you to confirm, and means it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Disabling Clustered Persistent Reservations is disruptive to connected clustered clients such as Windows Server with Hyper-V. Reservations are no longer shared across the HA cluster, so any reservation a client is holding will be LOST the next time this pool fails over. Are you sure you want to do this?&#039;&#039;&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The pool&#039;s volumes are taken back out of clustered mode straight away. The Pacemaker DLM resource itself is left in place.&lt;br /&gt;
&lt;br /&gt;
Deleting the HA group does &#039;&#039;&#039;not&#039;&#039;&#039; turn the feature off. Removing an HA group is a routine step in HA pool maintenance, and tearing the DLM down with it would drop the reservations a running Windows cluster is holding, so the lockspaces and the devices holding them are deliberately left as they are. Removing the DLM configuration entirely is a support operation; contact OSNEXUS support if you need it.&lt;br /&gt;
&lt;br /&gt;
== Allow Reboot / Lock Recovery ==&lt;br /&gt;
&lt;br /&gt;
The General tab carries a second, related checkbox: &#039;&#039;&#039;Allow Reboot / Lock Recovery&#039;&#039;&#039;. It is off by default, and it applies to HA pools whether or not clustered reservations are enabled.&lt;br /&gt;
&lt;br /&gt;
It exists for one situation. When an appliance has been fenced away from a pool -- its peer took the pool over and preempted its reservations on the pool&#039;s disks -- the pool on the fenced appliance goes SUSPENDED or FAILED, and ZFS cannot bring a suspended pool back without a reboot. Until that reboot the appliance serves nothing, and it cannot always be shut down cleanly either, because I/O already submitted to the suspended pool never completes. Left alone, the appliance sits in that state until an administrator restarts it by hand.&lt;br /&gt;
&lt;br /&gt;
Ticking the checkbox allows the appliance to restart itself to recover. QuantaStor does not otherwise reboot appliances on its own, so the restart is hedged with three conditions, all of which must hold:&lt;br /&gt;
&lt;br /&gt;
# at least one pool imported on the appliance is SUSPENDED or FAILED;&lt;br /&gt;
# every such pool&#039;s HA group has &#039;&#039;&#039;Allow Reboot / Lock Recovery&#039;&#039;&#039; ticked -- one group that has not opted in vetoes the restart;&lt;br /&gt;
# the appliance holds no other healthy pool, so an appliance that is still serving storage is never restarted.&lt;br /&gt;
&lt;br /&gt;
When the conditions hold, QuantaStor raises an alert and starts a three-minute countdown task before restarting. Cancel the task to stop the restart; the veto lasts until the appliance next reboots. The conditions are checked again just before the restart, so failing a pool back to the appliance during the countdown also stops it. The appliance does not re-import the pool when it comes back -- the pool belongs to its peer by then -- which is why the restart cannot loop.&lt;br /&gt;
&lt;br /&gt;
From the command line the equivalent is {{Code|1=--allow-lock-recovery-reboot=enabled}} on [[QuantaStor CLI Command Reference#ha-group-modify|qs ha-group-modify]] or [[QuantaStor CLI Command Reference#ha-group-create|qs ha-group-create]]; as with {{Code|1=--enable-cluster-pr}}, leaving it out leaves the setting unchanged.&lt;br /&gt;
&lt;br /&gt;
== Checking the state on an appliance ==&lt;br /&gt;
&lt;br /&gt;
Two read-only commands, run as root (with {{Code|1=sudo}}) from a shell on an appliance in the HA group, show whether reservations are being shared.&lt;br /&gt;
&lt;br /&gt;
{{Code|1=qs-scstdlm check}} reports whether the appliance&#039;s distributed lock manager is ready, and if not, the first thing standing in the way:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
sudo qs-scstdlm check&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ready appliance prints lines beginning {{Code|1=READY:}}. A line beginning {{Code|1=NOTREADY:}} names the problem -- the DLM daemon not installed, the Pacemaker DLM resource not created, Corosync with no cluster name, and so on. On an HA group that has never had the feature enabled it reports the following, which is expected until you enable the setting and is not a fault:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
NOTREADY: the Pacemaker &#039;dlm&#039; resource has not been created in the cluster.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Code|1=qs-scstdlm inspect}} lists every SCSI target device on the appliance with its clustered-mode flag, whether the appliance has joined that device&#039;s lockspace, and the persistent reservations the device currently holds:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
sudo qs-scstdlm inspect&lt;br /&gt;
sudo qs-scstdlm inspect --no-prs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add {{Code|1=--no-prs}} to list the devices without their reservations, which keeps the output short on an appliance exporting many volumes.&lt;br /&gt;
&lt;br /&gt;
In the {{Code|1=CLM}} column, {{Code|1=1}} means the device is in clustered mode. The {{Code|1=LOCKSPACE}} column should read {{Code|1=joined}} for every such device. {{Code|1=NOT-JOINED}} alongside {{Code|1=CLM}} 1 means that volume&#039;s reservations are not being shared and would not survive a failover. An appliance with no volumes in clustered mode prints {{Code|1=(no SCST devices with a cluster_mode attribute on this node)}}. On the appliance that does not own the pool, the devices are the placeholders described in [[#How it works|How it works]] and show no backing file. Run it on both appliances: after the Windows cluster has taken its reservations, both should list the same registrations for each volume.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enabling is refused with a version error.&#039;&#039;&#039; The message names the appliance holding it up. Either it is on a release older than 6.9.0, or it has had new target drivers installed and has not rebooted onto them. Finish upgrading that appliance, including the reboot, and try again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The setting is Enabled but volumes are not in clustered mode.&#039;&#039;&#039; Run {{Code|1=qs-scstdlm check}} on each appliance. QuantaStor holds volumes out of clustered mode until the appliance is running a supported platform, is a member of a site cluster, has Corosync and Pacemaker running with a named cluster, and has a running DLM daemon, and it records which condition is missing in the service log. Once the condition clears, the volumes switch over on their own.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Validation fails the SCSI-3 persistent reservation test.&#039;&#039;&#039; Confirm the setting is Enabled on the pool&#039;s HA group, and that {{Code|1=qs-scstdlm inspect}} shows every volume in clustered mode and joined on both appliances. A disk presented from a pool that is not in an HA group, or through an appliance&#039;s own address rather than the HA virtual interface, is not covered by the feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluster disks went offline after a failover.&#039;&#039;&#039; Check whether the setting was Enabled at the time. Reservations taken while it was Disabled are not shared, and are lost when the pool moves. Enable the setting, then bring the cluster disks back online in Failover Cluster Manager.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Storage Volumes]] -- creating volumes, assigning them to hosts, and the multi-host caution&lt;br /&gt;
* [[Hosts and Host Groups]] -- host records, initiators, and Host Groups for clusters&lt;br /&gt;
* [[Fibre Channel Target Port Management]] -- presenting volumes over Fibre Channel&lt;br /&gt;
* [[HA Cluster Setup (JBODs)]] -- HA groups, failover, and I/O fencing on the pool&#039;s own disks&lt;br /&gt;
* [[HA Cluster Setup (external SAN)]] -- HA pools on LUNs from a back-end array&lt;br /&gt;
* [[Site Cluster Setup]] -- the Corosync and Pacemaker cluster the DLM runs on&lt;br /&gt;
* [[Multipath Configuration]] -- multipath on the client&lt;br /&gt;
* [[QuantaStor CLI Command Reference]] -- full argument lists for the commands above&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Product_EOL_Notifications&amp;diff=28117</id>
		<title>Product EOL Notifications</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Product_EOL_Notifications&amp;diff=28117"/>
		<updated>2026-09-22T23:32:47Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* End-Of-Life EOL Version Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[CATEGORY:support_guide]]&lt;br /&gt;
&lt;br /&gt;
== What Does EOL Mean? ==&lt;br /&gt;
EOL, or End-of-Life for a given version means that that version should no longer be used for new installations.  &#039;&#039;&#039;OSNexus supports all systems with active licenses irrespective of what version there on.&#039;&#039;&#039;  That said, QuantaStor is Linux based and systems must be periodically upgraded to ensure we can keep your system up to date with the latest QuantaStor software and Linux security patches.  As such if a system is on an older EOL version of QuantaStor we may require the system to be upgraded to resolve a given support ticket.  OSNexus provides assistance with upgrades and we recommend getting a support ticket opened if you&#039;re system is running an older Linux distro where a distro upgrade is required.&lt;br /&gt;
&lt;br /&gt;
== What Determines EOL? ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor product Security Updates EOL timeline follows the Ubuntu Server LTS EOL timelines.  When a given underlying Linux distro no longer has security updates available for it we move that series of QuantaStor releases over to EOL so that we don&#039;t get any new deployments using those versions.   One should always setup new systems with the latest version of QuantaStor as there is compatibility for having newer and older versions of QuantaStor in the same storage grid.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re running QuantaStor on a different distro like RHEL or a RHEL derivative your EOL timeline may be different.  Again, OSNEXUS supports QuantaStor installations through their full subscription term irrespective of the QuantaStor version but EOL versions may require an upgrade to address a given support ticket.  We urge customers to upgrade at least annually to keep their QuantaStor deployments current and assistance is available for upgrades, simply email support to schedule a Zoom call to get assistance.  Some deployments may require a maintenance windows for upgrades especially when moving up from very old Linux distributions. Keeping current with releases also keeps a deployment current with the latest security updates from the Linux community.&lt;br /&gt;
&lt;br /&gt;
== End-Of-Life EOL Version Information ==&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v7.0 [ETA October 2026]&#039;&#039;&#039; &lt;br /&gt;
** Derivative of Ubuntu 24.04.x LTS w/ Ceph v20/Tentacle&lt;br /&gt;
** ETA Tech Preview June, 2026&lt;br /&gt;
** ETA General Availability August, 2026&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v6.7 and newer releases [CURRENT RELEASE]&#039;&#039;&#039; &lt;br /&gt;
** Derivative of Ubuntu 22.04.x LTS with Ubuntu 24.04 LTS Hardware Enablement Kernel&lt;br /&gt;
** Distro upgrade support for moving forward from Ubuntu 20.04 (Focal) to Ubuntu 22.04 (Jammy) is now available with QuantaStor 6.5.1 and newer.&lt;br /&gt;
** EOL July, 2027&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v6.x releases [EOL - UPGRADE REQUIRED]&#039;&#039;&#039; &lt;br /&gt;
** Derivative of Ubuntu 20.04.x LTS with Ubuntu 22.04 LTS Hardware Enablement Kernel&lt;br /&gt;
** EOL July, 2025&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v5.x releases [EOL - UPGRADE REQUIRED]&#039;&#039;&#039; &lt;br /&gt;
** Derivative of Ubuntu 18.04.x LTS&lt;br /&gt;
** EOL April, 2023&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v5.x releases [EOL - UPGRADE REQUIRED]&#039;&#039;&#039; &lt;br /&gt;
** Derivative of Ubuntu 16.04.x LTS&lt;br /&gt;
** EOL April, 2021&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor v4.x and older releases [EOL - UPGRADE REQUIRED]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
QuantaStor Systems refer to the Ubuntu LTS security package servers so that important security updates can be quickly applied as they are made available by the community.&lt;br /&gt;
To maintain support on proper security compliance of QuantaStor Systems they should be upgraded on a regular basis using the QuantaStor Upgrade Manager dialog via the web management interface (alternatively upgrades can be run using SSH/console using &#039;sudo qs-upgrade&#039;).&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
== Hardware Enablement Kernel Updates ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor releases occasionally include new kernel updates to support the latest storage and networking hardware.  Kernel updates come out typically once or twice a year at most and generally align with the Ubuntu LTS Kernel [https://wiki.ubuntu.com/Kernel/Support?action=AttachFile&amp;amp;do=get&amp;amp;target=LTS+Kernel+Support+Schedule.png releases].&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=QuantaStor_REST_API_Reference_v6.8&amp;diff=28116</id>
		<title>QuantaStor REST API Reference v6.8</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=QuantaStor_REST_API_Reference_v6.8&amp;diff=28116"/>
		<updated>2026-09-22T18:45:45Z</updated>

		<summary type="html">&lt;p&gt;Umbe: Created page with &amp;quot;OSNEXUS QuantaStor REST API / JSON RPC Reference Guide 6.8.0 Copyright (c) 2009-2026 OSNEXUS Corporation.  All rights reserved.  The following API reference guide provides a list of all the QuantaStor service APIs presented out via the storage grid SOA from all QuantaStor nodes.  These same APIs are used by all QuantaStor clients including the QuantaStor web management interface, QuantaStor CLI, QuantaStor Python Library, QuantaStor PowerShell Module, and others.  Though...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OSNEXUS QuantaStor REST API / JSON RPC Reference Guide 6.8.0&lt;br /&gt;
Copyright (c) 2009-2026 OSNEXUS Corporation.  All rights reserved.&lt;br /&gt;
&lt;br /&gt;
The following API reference guide provides a list of all the QuantaStor service APIs presented out via the storage grid SOA from all QuantaStor nodes.  These same APIs are used by all QuantaStor clients including the QuantaStor web management interface, QuantaStor CLI, QuantaStor Python Library, QuantaStor PowerShell Module, and others.  Though you can use the REST API directly via utilities like curl for any extensive scripting we recommend using the Python Client library and for simple automation tasks you might find the QuantaStor CLI to be the easiest route.  When calling an API you can use any IP address of any node within a storage grid to run any command, the QuantaStor grid will take care of call routing as needed to the appropriate node to run the task. &lt;br /&gt;
&lt;br /&gt;
= Service API Definitions =&lt;br /&gt;
&lt;br /&gt;
== aclAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;aclAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;ownerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ownerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;accessLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/aclAdd?ownerId=val0&amp;amp;ownerType=0&amp;amp;objectId=val2&amp;amp;objectType=0&amp;amp;accessLevel=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @aclAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aclModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;aclModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;ownerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ownerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;accessLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/aclModify?ownerId=val0&amp;amp;ownerType=0&amp;amp;objectId=val2&amp;amp;objectType=0&amp;amp;accessLevel=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @aclModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== aclRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;aclRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;ownerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ownerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/aclRemove?ownerId=val0&amp;amp;ownerType=0&amp;amp;objectId=val2&amp;amp;objectType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @aclRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== activeDirectoryDomainEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;activeDirectoryDomainEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:activeDirDomain|osn:activeDirDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/activeDirectoryDomainEnum?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @activeDirectoryDomainEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== activeDirectoryUserAndGroupEnumEx ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;activeDirectoryUserAndGroupEnumEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isGroup&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;organizationalUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:activeDirUserGroup|osn:activeDirUserGroup]]&lt;br /&gt;
    &amp;quot;activeDirStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/activeDirectoryUserAndGroupEnumEx?storageSystemId=val0&amp;amp;isGroup=val1&amp;amp;domain=val2&amp;amp;filter=val3&amp;amp;organizationalUnit=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @activeDirectoryUserAndGroupEnumEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertClear ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertClear&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;filter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;acknowledgeOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;closeOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertClear?filter=val0&amp;amp;acknowledgeOnly=val1&amp;amp;closeOnly=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertClear.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertClearAll ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertClearAll&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;acknowledgeOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;closeOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertClearAll?acknowledgeOnly=val0&amp;amp;closeOnly=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertClearAll.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertConfigEndpointEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertConfigEndpointEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:alertConfigEndpoint|osn:alertConfigEndpoint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertConfigEndpointEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertConfigEndpointEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertConfigEndpointGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertConfigEndpointGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;alertConfigEndpoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alertConfigEndpoint|osn:alertConfigEndpoint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertConfigEndpointGet?alertConfigEndpoint=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertConfigEndpointGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertConfigGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertConfigGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alertConfigSettings|osn:alertConfigSettings]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertConfigGet?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertConfigGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertConfigSet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertConfigSet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;senderEmailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smtpServerIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smtpServerPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;smtpUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smtpPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smtpAuthType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;customerSupportEmailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;poolFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolFreeSpaceCriticalAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;shareQuotaFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;shareQuotaFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;shareQuotaFreeSpaceCriticalThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableSyslogAlerts&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;alertEndpoints&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableAlertTypes&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableAlertTypes&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;pauseAlertTypes&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snmpUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snmpPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectUserQuotaFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectUserQuotaFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectUserQuotaFreeSpaceCriticalThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alertConfigSettings|osn:alertConfigSettings]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertConfigSet?senderEmailAddress=val0&amp;amp;smtpServerIpAddress=val1&amp;amp;smtpServerPort=0&amp;amp;smtpUsername=val3&amp;amp;smtpPassword=val4&amp;amp;smtpAuthType=0&amp;amp;customerSupportEmailAddress=val6&amp;amp;poolFreeSpaceWarningThreshold=0&amp;amp;poolFreeSpaceAlertThreshold=0&amp;amp;poolFreeSpaceCriticalAlertThreshold=0&amp;amp;shareQuotaFreeSpaceWarningThreshold=0&amp;amp;shareQuotaFreeSpaceAlertThreshold=0&amp;amp;shareQuotaFreeSpaceCriticalThreshold=0&amp;amp;enableSyslogAlerts=val13&amp;amp;alertEndpoints=val14&amp;amp;enableAlertTypes=val15&amp;amp;disableAlertTypes=val16&amp;amp;pauseAlertTypes=val17&amp;amp;snmpUsername=val18&amp;amp;snmpPassword=val19&amp;amp;objectUserQuotaFreeSpaceWarningThreshold=0&amp;amp;objectUserQuotaFreeSpaceAlertThreshold=0&amp;amp;objectUserQuotaFreeSpaceCriticalThreshold=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertConfigSet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;filter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertEnum?filter=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertGet?id=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertRaise ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertRaise&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;title&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;message&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;severity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertRaise?title=val0&amp;amp;message=val1&amp;amp;severity=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertRaise.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertTypeEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertTypeEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:alertType|osn:alertType]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertTypeEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertTypeEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== alertTypeGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;alertTypeGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;alertType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:alertType|osn:alertType]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/alertTypeGet?alertType=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @alertTypeGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== auditLogEntryEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;auditLogEntryEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filterUserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filterAuditEntryTypes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;entryCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:auditLogEntry|osn:auditLogEntry]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/auditLogEntryEnum?storageSystem=val0&amp;amp;filterUserId=val1&amp;amp;filterAuditEntryTypes=0&amp;amp;entryCount=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @auditLogEntryEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupJobCancel ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupJobCancel&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupJob&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupJobCancel?backupJob=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupJobCancel.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupJobEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupJobEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupJobEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupJobEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupJobGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupJobGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupJob&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupJobGet?backupJob=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupJobGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupJobStart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupJobStart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupJobStart?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupJobStart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupJobStatusUpdate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupJobStatusUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;statusXml&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupJobStatusUpdate?statusXml=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupJobStatusUpdate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteHostname&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteExportPath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteMountType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCriteria&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;policyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;scanThreads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;purgePolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;createBackupLogs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;backupToShareRoot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeeklies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;remoteSmbUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteSmbPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;minFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;createLinks&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;remoteExportSubPath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;includeFilterStr&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;excludeFilterStr&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;minSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;minStubThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;autoCopy&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;forceRemoveTiered&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyCreate?name=val0&amp;amp;description=val1&amp;amp;networkShareId=val2&amp;amp;remoteHostname=val3&amp;amp;remoteExportPath=val4&amp;amp;remoteMountType=0&amp;amp;maxSnapshots=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;retentionCriteria=0&amp;amp;startDate=val10&amp;amp;policyType=0&amp;amp;scanThreads=0&amp;amp;retentionDays=0&amp;amp;purgePolicy=0&amp;amp;createBackupLogs=val15&amp;amp;backupToShareRoot=val16&amp;amp;setEnabled=val17&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourlies=0&amp;amp;retentionCountDailies=0&amp;amp;retentionCountWeeklies=0&amp;amp;retentionCountMonthlies=0&amp;amp;retentionCountQuarterlies=0&amp;amp;remoteSmbUsername=val26&amp;amp;remoteSmbPassword=val27&amp;amp;minFileAgeDays=0&amp;amp;maxFileAgeDays=0&amp;amp;createLinks=val30&amp;amp;remoteExportSubPath=val31&amp;amp;includeFilterStr=val32&amp;amp;excludeFilterStr=val33&amp;amp;minSizeThreshold=val34&amp;amp;maxSizeThreshold=val35&amp;amp;minStubThreshold=val36&amp;amp;autoCopy=val37&amp;amp;forceRemoveTiered=val38&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyDelete?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyDisable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyDisable?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyEnable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyEnable?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyGet?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteHostname&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteExportPath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteMountType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCriteria&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;policyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;scanThreads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;purgePolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;createBackupLogs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;backupToShareRoot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeeklies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;remoteSmbUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteSmbPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;minFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;createLinks&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;remoteExportSubPath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;includeFilterStr&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;excludeFilterStr&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;minSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;minAutoTierThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;autoCopy&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;forceRemoveTiered&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyModify?backupPolicy=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;networkShareId=val3&amp;amp;remoteHostname=val4&amp;amp;remoteExportPath=val5&amp;amp;remoteMountType=0&amp;amp;maxSnapshots=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;retentionCriteria=0&amp;amp;startDate=val11&amp;amp;policyType=0&amp;amp;scanThreads=0&amp;amp;retentionDays=0&amp;amp;purgePolicy=0&amp;amp;createBackupLogs=val16&amp;amp;backupToShareRoot=val17&amp;amp;setEnabled=val18&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourlies=0&amp;amp;retentionCountDailies=0&amp;amp;retentionCountWeeklies=0&amp;amp;retentionCountMonthlies=0&amp;amp;retentionCountQuarterlies=0&amp;amp;remoteSmbUsername=val27&amp;amp;remoteSmbPassword=val28&amp;amp;minFileAgeDays=0&amp;amp;maxFileAgeDays=0&amp;amp;createLinks=val31&amp;amp;remoteExportSubPath=val32&amp;amp;includeFilterStr=val33&amp;amp;excludeFilterStr=val34&amp;amp;minSizeThreshold=val35&amp;amp;maxSizeThreshold=val36&amp;amp;minAutoTierThreshold=val37&amp;amp;autoCopy=val38&amp;amp;forceRemoveTiered=val39&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== backupPolicyTrigger ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;backupPolicyTrigger&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/backupPolicyTrigger?backupPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @backupPolicyTrigger.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketCreate ==&lt;br /&gt;
Creates a new S3 compatible bucket in the specified Ceph Cluster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;quotaSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userAccessEntry&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucketAclType&amp;quot;: xsd:unsignedInt  {{Note|see osn__bucketAclType|inline=1}}&lt;br /&gt;
      &amp;quot;enableVersioning&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;objectLockMode&amp;quot;: xsd:unsignedInt  {{Note|see osn__bucketObjectLockMode|inline=1}}&lt;br /&gt;
      &amp;quot;objectLockRetentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableLifecyclePolicy&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;lifecyclePolicyDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableNetworkShareAccess&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;estNumObjects&amp;quot;: xsd:unsignedInt  {{Note|estimated number of objects in the bucket|inline=1}}&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;integrationOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketCreate?name=val0&amp;amp;cephClusterId=val1&amp;amp;quotaSize=val2&amp;amp;userAccessEntry=val3&amp;amp;bucketAclType=0&amp;amp;enableVersioning=val5&amp;amp;objectLockMode=0&amp;amp;objectLockRetentionDays=0&amp;amp;enableLifecyclePolicy=val8&amp;amp;lifecyclePolicyDays=0&amp;amp;enableNetworkShareAccess=val10&amp;amp;estNumObjects=0&amp;amp;count=0&amp;amp;integrationOptions=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketDelete ==&lt;br /&gt;
Deletes the specified S3 compatible bucket&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucketList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketDelete?cephClusterId=val0&amp;amp;bucketList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketEnum ==&lt;br /&gt;
Returns a list of all the buckets, optionally filtered by Ceph Cluster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketGet ==&lt;br /&gt;
Returns detailed info of the specified bucket&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucket&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketGet?cephClusterId=val0&amp;amp;bucket=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketModify ==&lt;br /&gt;
Modifies S3 compatible bucket with passed arguments&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;bucketId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableVersioning&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;objectLockMode&amp;quot;: xsd:unsignedInt  {{Note|see osn__bucketObjectLockMode|inline=1}}&lt;br /&gt;
      &amp;quot;objectLockRetentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableLifecyclePolicy&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;lifecyclePolicyDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableNetworkShareAccess&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;integrationOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketModify?bucketId=val0&amp;amp;enableVersioning=val1&amp;amp;objectLockMode=0&amp;amp;objectLockRetentionDays=0&amp;amp;enableLifecyclePolicy=val4&amp;amp;lifecyclePolicyDays=0&amp;amp;enableNetworkShareAccess=val6&amp;amp;integrationOptions=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketRescan ==&lt;br /&gt;
Starts an immediate scan for S3 compatible buckets that have been added or removed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scanOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketRescan?cephClusterId=val0&amp;amp;scanOptions=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== bucketSearch ==&lt;br /&gt;
Returns a list of buckets based on a set of search parameters&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;bucketSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxResults&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:bucket|osn:bucket]]&lt;br /&gt;
    &amp;quot;objCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/bucketSearch?searchParams=val0&amp;amp;maxResults=0&amp;amp;offset=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @bucketSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientConfExport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientConfExport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;outfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
    &amp;quot;msg&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientConfExport?cephCluster=val0&amp;amp;outfile=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientConfExport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientKeyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;resourceList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClientKeyring|osn:cephClientKeyring]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringCreate?name=val0&amp;amp;clientKeyType=0&amp;amp;resourceList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClient&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClientKeyring|osn:cephClientKeyring]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringDelete?cephClient=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephClientKeyring|osn:cephClientKeyring]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringExport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringExport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClient&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;outfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClientKeyring|osn:cephClientKeyring]]&lt;br /&gt;
    &amp;quot;msg&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringExport?cephClient=val0&amp;amp;outfile=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringExport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClient&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClientKeyring|osn:cephClientKeyring]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringGet?cephClient=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringResourceAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringResourceAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClient&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephClientKeyringResourceAssoc|osn:cephClientKeyringResourceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringResourceAssocEnum?cephClient=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringResourceAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClientKeyringResourceAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClientKeyringResourceAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClientId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClientKeyringResourceAssoc|osn:cephClientKeyringResourceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClientKeyringResourceAssocGet?cephClientId=val0&amp;amp;resourceId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClientKeyringResourceAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterAddNode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterAddNode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;interfacePortId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;publicnetwork&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clusternetwork&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableObjectStore&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterAddNode?clusterId=val0&amp;amp;storageSystemId=val1&amp;amp;interfacePortId=val2&amp;amp;publicnetwork=val3&amp;amp;clusternetwork=val4&amp;amp;enableObjectStore=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterAddNode.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;domainSuffix&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientInterfacePortList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;backendInterfacePortList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientNetwork&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;backendNetwork&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clusterAuthMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;osdOutSubtreeLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableOsdEncryption&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;encryptionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableOsdCompression&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;osdDownTimeoutSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;osdOutTimeoutSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterCreate?name=val0&amp;amp;description=val1&amp;amp;domainSuffix=val2&amp;amp;clientInterfacePortList=val3&amp;amp;backendInterfacePortList=val4&amp;amp;clientNetwork=val5&amp;amp;backendNetwork=val6&amp;amp;clusterAuthMode=0&amp;amp;osdOutSubtreeLimit=0&amp;amp;enableOsdEncryption=val9&amp;amp;encryptionMode=0&amp;amp;enableOsdCompression=val11&amp;amp;osdDownTimeoutSec=0&amp;amp;osdOutTimeoutSec=0&amp;amp;keyServerProfileId=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterDelete?cluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterFixClockSkew ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterFixClockSkew&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterFixClockSkew?cephCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterFixClockSkew.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterGet?cephCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterHealthEventEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterHealthEventEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephClusterHealthEvent|osn:cephClusterHealthEvent]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterHealthEventEnum?cephCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterHealthEventEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterHealthEventGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterHealthEventGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterHealthEvent&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClusterHealthEvent|osn:cephClusterHealthEvent]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterHealthEventGet?cephClusterHealthEvent=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterHealthEventGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterImport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterImport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterImport?name=val0&amp;amp;description=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterImport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterMemberEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterMemberEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephClusterMember|osn:cephClusterMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterMemberEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterMemberEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterMemberGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterMemberGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClusterMember|osn:cephClusterMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterMemberGet?cephCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterMemberGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;osdDownTimeoutSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;osdOutTimeoutSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;nearFillFullPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;backFillFullPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;fullPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;confOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterModify?cephCluster=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;osdDownTimeoutSec=0&amp;amp;osdOutTimeoutSec=0&amp;amp;nearFillFullPercent=0&amp;amp;backFillFullPercent=0&amp;amp;fullPercent=0&amp;amp;keyServerProfileId=val8&amp;amp;confOptions=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterOsdKeyReplace ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterOsdKeyReplace&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephOsdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;skipLockboxChange&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterOsdKeyReplace?cephCluster=val0&amp;amp;cephOsdList=val1&amp;amp;skipLockboxChange=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterOsdKeyReplace.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterRemoveNode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterRemoveNode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;memberNodeId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterRemoveNode?clusterId=val0&amp;amp;memberNodeId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterRemoveNode.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterServiceEventDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterServiceEventDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;prune&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;crashIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterServiceEventDelete?clusterId=val0&amp;amp;prune=val1&amp;amp;crashIdList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterServiceEventDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterServiceEventEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterServiceEventEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;includeOld&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephClusterServiceEvent|osn:cephClusterServiceEvent]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterServiceEventEnum?clusterId=val0&amp;amp;includeOld=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterServiceEventEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterSetCoordinator ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterSetCoordinator&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;designatedCoordinatorId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterSetCoordinator?cephCluster=val0&amp;amp;designatedCoordinatorId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterSetCoordinator.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephClusterSetGlobalS3Quota ==&lt;br /&gt;
Modifies the global default quota settings for the cluster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephClusterSetGlobalS3Quota&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucketMaxObjectCountEnable&amp;quot;: xsd:boolean  {{Note|enforce per bucket max object count for this user|inline=1}}&lt;br /&gt;
      &amp;quot;bucketMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;bucketMaxSizeEnable&amp;quot;: xsd:boolean  {{Note|enforce per bucket max capacity for this user|inline=1}}&lt;br /&gt;
      &amp;quot;bucketMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxObjectCountEnable&amp;quot;: xsd:boolean  {{Note|enforce max object count for this user|inline=1}}&lt;br /&gt;
      &amp;quot;userMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxSizeEnable&amp;quot;: xsd:boolean  {{Note|enforce max total capacity for this user|inline=1}}&lt;br /&gt;
      &amp;quot;userMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCluster|osn:cephCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephClusterSetGlobalS3Quota?cephClusterId=val0&amp;amp;bucketMaxObjectCountEnable=val1&amp;amp;bucketMaxObjectCount=val2&amp;amp;bucketMaxSizeEnable=val3&amp;amp;bucketMaxSize=val4&amp;amp;userMaxObjectCountEnable=val5&amp;amp;userMaxObjectCount=val6&amp;amp;userMaxSizeEnable=val7&amp;amp;userMaxSize=val8&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephClusterSetGlobalS3Quota.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephCrushRuleCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephCrushRuleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushRuleType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;failureDomain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushRoot&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deviceClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushPoolProfileId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCrushRule|osn:cephCrushRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephCrushRuleCreate?name=val0&amp;amp;description=val1&amp;amp;cephClusterId=val2&amp;amp;crushRuleType=val3&amp;amp;failureDomain=val4&amp;amp;crushRoot=val5&amp;amp;deviceClass=val6&amp;amp;crushPoolProfileId=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephCrushRuleCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephCrushRuleDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephCrushRuleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCrushRuleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCrushRule|osn:cephCrushRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephCrushRuleDelete?cephCrushRuleId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephCrushRuleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephCrushRuleEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephCrushRuleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephCrushRule|osn:cephCrushRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephCrushRuleEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephCrushRuleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephCrushRuleGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephCrushRuleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCrushRule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephCrushRule|osn:cephCrushRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephCrushRuleGet?cephCrushRule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephCrushRuleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scalingFactor&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cephPoolType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;activeMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;standbyMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;autoConfigNfs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;compressionAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemCreate?name=val0&amp;amp;description=val1&amp;amp;cephClusterId=val2&amp;amp;scalingFactor=0&amp;amp;maxReplicaCount=0&amp;amp;minReplicaCount=0&amp;amp;cephPoolType=val6&amp;amp;crushProfile=val7&amp;amp;activeMdsCount=0&amp;amp;standbyMdsCount=0&amp;amp;autoConfigNfs=val10&amp;amp;compressionAlgorithm=val11&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemDelete?cephFilesystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemGet?cephFilesystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;activeMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;standbyMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemModify?cephFilesystemId=val0&amp;amp;description=val1&amp;amp;activeMdsCount=0&amp;amp;standbyMdsCount=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephFilesystemPoolAdd ==&lt;br /&gt;
Adds a new data pool to the specified Ceph filesystem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephFilesystemPoolAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystem&amp;quot;: xsd:string  {{Note|The Ceph filesystem to add the pool to|inline=1}}&lt;br /&gt;
      &amp;quot;dataPoolSuffix&amp;quot;: xsd:string  {{Note|The suffix for the data pool|inline=1}}&lt;br /&gt;
      &amp;quot;scalingFactor&amp;quot;: xsd:unsignedInt  {{Note|The scaling factor for the data pool|inline=1}}&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt  {{Note|The maximum replica count for the data pool|inline=1}}&lt;br /&gt;
      &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt  {{Note|The minimum replica count for the data pool|inline=1}}&lt;br /&gt;
      &amp;quot;cephPoolType&amp;quot;: xsd:string  {{Note|The type of the Ceph pool (replicated, erasure)|inline=1}}&lt;br /&gt;
      &amp;quot;crushProfile&amp;quot;: xsd:string  {{Note|The crush profile for the Ceph pool|inline=1}}&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string  {{Note|The Ceph cluster to add the pool to|inline=1}}&lt;br /&gt;
      &amp;quot;compressionAlgorithm&amp;quot;: xsd:string  {{Note|The compression algorithm for the Ceph pool|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|Flags for the operation|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephFilesystem|osn:cephFilesystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephFilesystemPoolAdd?cephFilesystem=val0&amp;amp;dataPoolSuffix=val1&amp;amp;scalingFactor=0&amp;amp;maxReplicaCount=0&amp;amp;minReplicaCount=0&amp;amp;cephPoolType=val5&amp;amp;crushProfile=val6&amp;amp;cephCluster=val7&amp;amp;compressionAlgorithm=val8&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephFilesystemPoolAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalDeviceCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalDeviceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephJournalGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;mirrorJournals&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalDevice|osn:cephJournalDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalDeviceCreate?cephJournalGroup=val0&amp;amp;size=val1&amp;amp;mirrorJournals=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalDeviceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalDeviceDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalDeviceDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephJournalDevice&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalDevice|osn:cephJournalDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalDeviceDelete?cephJournalDevice=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalDeviceDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalDeviceEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalDeviceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephJournalDevice|osn:cephJournalDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalDeviceEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalDeviceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalDeviceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalDeviceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephJournalDevice&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalDevice|osn:cephJournalDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalDeviceGet?cephJournalDevice=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalDeviceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalDeviceMigrate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalDeviceMigrate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephJournalDevice&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newJournalGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalDevice|osn:cephJournalDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalDeviceMigrate?cephCluster=val0&amp;amp;cephJournalDevice=val1&amp;amp;newJournalGroup=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalDeviceMigrate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;primaryDisk&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secondaryDisk&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalGroup|osn:cephJournalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalGroupCreate?primaryDisk=val0&amp;amp;secondaryDisk=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephJournalGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalGroup|osn:cephJournalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalGroupDelete?cephJournalGroupId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephJournalGroup|osn:cephJournalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalGroupEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephJournalGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephJournalGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephJournalGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephJournalGroup|osn:cephJournalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephJournalGroupGet?cephJournalGroupId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephJournalGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMdsAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMdsAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephMemberIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephMds|osn:cephMds]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMdsAdd?cephMemberIdList=val0&amp;amp;clusterId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMdsAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMdsEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMdsEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephMds|osn:cephMds]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMdsEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMdsEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMdsGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMdsGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephMds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephMds|osn:cephMds]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMdsGet?cephMds=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMdsGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMdsRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMdsRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;mdsNodeId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephMds|osn:cephMds]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMdsRemove?clusterId=val0&amp;amp;mdsNodeId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMdsRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMonitorAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMonitorAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephMemberId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;monitorIPAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;monitorPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephMonitor|osn:cephMonitor]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMonitorAdd?clusterId=val0&amp;amp;cephMemberId=val1&amp;amp;monitorIPAddress=val2&amp;amp;monitorPort=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMonitorAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMonitorEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMonitorEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephMonitor|osn:cephMonitor]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMonitorEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMonitorEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMonitorGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMonitorGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephMonitor&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephMonitor|osn:cephMonitor]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMonitorGet?cephMonitor=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMonitorGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMonitorRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMonitorRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;monitorNodeId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephMonitor|osn:cephMonitor]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMonitorRemove?clusterId=val0&amp;amp;monitorNodeId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMonitorRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMultiOsdCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMultiOsdCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;journalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;useExistingJournalGroups&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;mirrorJournals&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;quickFormat&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;allowedMixedSizeJournalMedia&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;forceExternalJDev&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableDynamicWeighting&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;sizeWAL&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;sizeDB&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;osdType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMultiOsdCreate?cephClusterId=val0&amp;amp;physicalDiskList=val1&amp;amp;journalDiskList=val2&amp;amp;useExistingJournalGroups=val3&amp;amp;mirrorJournals=val4&amp;amp;quickFormat=val5&amp;amp;allowedMixedSizeJournalMedia=val6&amp;amp;forceExternalJDev=val7&amp;amp;enableDynamicWeighting=val8&amp;amp;sizeWAL=val9&amp;amp;sizeDB=val10&amp;amp;osdType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMultiOsdCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephMultiOsdDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephMultiOsdDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;osdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephMultiOsdDelete?cephClusterId=val0&amp;amp;osdList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephMultiOsdDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;zone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;zoneGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;dataPoolType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scalingFactor&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;autoConfigNfs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;compressionAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupCreate?cephClusterId=val0&amp;amp;description=val1&amp;amp;zone=val2&amp;amp;zoneGroup=val3&amp;amp;dataPoolType=val4&amp;amp;maxReplicaCount=0&amp;amp;minReplicaCount=0&amp;amp;poolProfile=val7&amp;amp;scalingFactor=0&amp;amp;autoConfigNfs=val9&amp;amp;compressionAlgorithm=val10&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStoragePoolGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupDelete?cephObjectStoragePoolGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStoragePoolGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupGet?cephObjectStoragePoolGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStoragePoolGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;zoneName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;zoneGroupName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupModify?cephObjectStoragePoolGroupId=val0&amp;amp;description=val1&amp;amp;zoneName=val2&amp;amp;zoneGroupName=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupMultiSiteSetup ==&lt;br /&gt;
Configure multi-site replication between two object storage pool groups&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupMultiSiteSetup&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;primaryObjectStoragePoolGroupId&amp;quot;: xsd:string  {{Note|the primary object storage pool group to configure|inline=1}}&lt;br /&gt;
      &amp;quot;primaryGatewayId&amp;quot;: xsd:string  {{Note|the primary gateway to configure|inline=1}}&lt;br /&gt;
      &amp;quot;secondaryObjectStoragePoolGroupId&amp;quot;: xsd:string  {{Note|the secondary object storage pool group to configure|inline=1}}&lt;br /&gt;
      &amp;quot;secondaryGatewayId&amp;quot;: xsd:string  {{Note|the secondary gateway to configure|inline=1}}&lt;br /&gt;
      &amp;quot;symmetrical&amp;quot;: xsd:boolean  {{Note|if true, primary and secondary will be configured to replicate entire zone|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupMultiSiteSetup?primaryObjectStoragePoolGroupId=val0&amp;amp;primaryGatewayId=val1&amp;amp;secondaryObjectStoragePoolGroupId=val2&amp;amp;secondaryGatewayId=val3&amp;amp;symmetrical=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupMultiSiteSetup.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupMultiSiteUnconfigure ==&lt;br /&gt;
Remove from multi-site&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupMultiSiteUnconfigure&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStoragePoolGroupId&amp;quot;: xsd:string  {{Note|the object storage pool group to unconfigure. This should be the secondary pool group|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectPoolGroup|osn:cephObjectPoolGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupMultiSiteUnconfigure?cephObjectStoragePoolGroupId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupMultiSiteUnconfigure.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectPoolGroupStorageClassCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectPoolGroupStorageClassCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPoolGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClassName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scalingFactor&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cephPoolType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;customStorageClassName&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;compressionAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectStorageClass|osn:cephObjectStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectPoolGroupStorageClassCreate?cephPoolGroup=val0&amp;amp;storageClassName=val1&amp;amp;scalingFactor=0&amp;amp;maxReplicaCount=0&amp;amp;minReplicaCount=0&amp;amp;cephPoolType=val5&amp;amp;crushProfile=val6&amp;amp;cephCluster=val7&amp;amp;customStorageClassName=val8&amp;amp;compressionAlgorithm=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectPoolGroupStorageClassCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectStorageClassEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectStorageClassEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectStorageClass|osn:cephObjectStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectStorageClassEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectStorageClassEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectStorageClassGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectStorageClassGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStorageStorageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectStorageClass|osn:cephObjectStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectStorageClassGet?cephObjectStorageStorageClass=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectStorageClassGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectStorageClassRuleAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectStorageClassRuleAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;ruleList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectStorageClassRule|osn:cephObjectStorageClassRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectStorageClassRuleAddRemove?cephClusterId=val0&amp;amp;modType=0&amp;amp;ruleList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectStorageClassRuleAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectStorageClassRuleEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectStorageClassRuleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectStorageClassRule|osn:cephObjectStorageClassRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectStorageClassRuleEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectStorageClassRuleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectStorageClassRuleGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectStorageClassRuleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageClassRule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectStorageClassRule|osn:cephObjectStorageClassRule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectStorageClassRuleGet?storageClassRule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectStorageClassRuleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectZoneEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectZoneEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectZone|osn:cephObjectZone]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectZoneEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectZoneEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectZoneGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectZoneGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStorageZone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectZone|osn:cephObjectZone]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectZoneGet?cephObjectStorageZone=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectZoneGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectZoneGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectZoneGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephObjectZoneGroup|osn:cephObjectZoneGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectZoneGroupEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectZoneGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectZoneGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectZoneGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephObjectStorageZoneGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectZoneGroup|osn:cephObjectZoneGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectZoneGroupGet?cephObjectStorageZoneGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectZoneGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephObjectZoneGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephObjectZoneGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephObjectStorageZoneGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hostnameList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephObjectZoneGroup|osn:cephObjectZoneGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephObjectZoneGroupModify?cephClusterId=val0&amp;amp;cephObjectStorageZoneGroup=val1&amp;amp;hostnameList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephObjectZoneGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;datastoragePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;journalGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableWAL&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableDB&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;walSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;dbSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;osdType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdCreate?description=val0&amp;amp;cephClusterId=val1&amp;amp;datastoragePoolId=val2&amp;amp;journalGroupId=val3&amp;amp;enableWAL=val4&amp;amp;enableDB=val5&amp;amp;walSize=val6&amp;amp;dbSize=val7&amp;amp;osdType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephOsd&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdGet?cephOsd=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;osdIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdIdentify?osdIdList=val0&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;cephClusterId=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdKeyReplace ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdKeyReplace&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterMember&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephOsdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;skipLockboxChange&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephClusterMember|osn:cephClusterMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdKeyReplace?cephClusterMember=val0&amp;amp;cephOsdList=val1&amp;amp;skipLockboxChange=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdKeyReplace.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephOsd&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdModify?cephClusterId=val0&amp;amp;cephOsd=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdReplace ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdReplace&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;disk&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephOsd&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagesystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;recreateJournalDevices&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdReplace?disk=val0&amp;amp;cephOsd=val1&amp;amp;storagesystem=val2&amp;amp;recreateJournalDevices=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdReplace.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdReplacePrepare ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdReplacePrepare&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephOsd&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagesystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;allowOnNoDegraded&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdReplacePrepare?cephOsd=val0&amp;amp;storagesystem=val1&amp;amp;allowOnNoDegraded=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdReplacePrepare.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdReweight ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdReweight&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;osdIdToCapacityList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdReweight?cephClusterId=val0&amp;amp;osdIdToCapacityList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdReweight.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephOsdServiceUpdate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephOsdServiceUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;osdIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;mode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephOsd|osn:cephOsd]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephOsdServiceUpdate?osdIdList=val0&amp;amp;mode=0&amp;amp;cephClusterId=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephOsdServiceUpdate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPgSetEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPgSetEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephPgSet|osn:cephPgSet]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPgSetEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPgSetEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPgSetGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPgSetGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPgSet&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPgSet|osn:cephPgSet]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPgSetGet?cephPgSet=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPgSetGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scalingFactor&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cephPoolType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;crushProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPoolUseCase&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableCacheTier&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;compressionAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPool|osn:cephPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolCreate?name=val0&amp;amp;description=val1&amp;amp;cephClusterId=val2&amp;amp;scalingFactor=0&amp;amp;maxReplicaCount=0&amp;amp;minReplicaCount=0&amp;amp;cephPoolType=val6&amp;amp;crushProfile=val7&amp;amp;cephPoolUseCase=0&amp;amp;enableCacheTier=val9&amp;amp;compressionAlgorithm=val10&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPool|osn:cephPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolDelete?cephClusterId=val0&amp;amp;cephPool=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephPool|osn:cephPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPool|osn:cephPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolGet?cephPool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolGroupAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolGroupAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephPoolGroupAssoc|osn:cephPoolGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolGroupAssocEnum?cephFilesystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolGroupAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolGroupAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolGroupAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephFilesystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolGroupAssoc|osn:cephPoolGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolGroupAssocGet?cephFilesystemId=val0&amp;amp;cephPoolId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolGroupAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolCrushRule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPool|osn:cephPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolModify?cephClusterId=val0&amp;amp;cephPool=val1&amp;amp;name=val2&amp;amp;description=val3&amp;amp;maxReplicaCount=0&amp;amp;poolCrushRule=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolNamespaceCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolNamespaceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolNamespace|osn:cephPoolNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolNamespaceCreate?name=val0&amp;amp;description=val1&amp;amp;cephClusterId=val2&amp;amp;cephPoolId=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolNamespaceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolNamespaceDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolNamespaceDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephPoolNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolNamespace|osn:cephPoolNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolNamespaceDelete?cephClusterId=val0&amp;amp;cephPool=val1&amp;amp;cephPoolNamespace=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolNamespaceDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolNamespaceEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolNamespaceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephPoolNamespace|osn:cephPoolNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolNamespaceEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolNamespaceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolNamespaceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolNamespaceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPoolNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolNamespace|osn:cephPoolNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolNamespaceGet?cephPoolNamespace=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolNamespaceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolProfileCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolProfileCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;dataChunkCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;codeChunkCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;failureDomain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;technique&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;plugin&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolProfile|osn:cephPoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolProfileCreate?name=val0&amp;amp;description=val1&amp;amp;cephClusterId=val2&amp;amp;dataChunkCount=0&amp;amp;codeChunkCount=0&amp;amp;failureDomain=val5&amp;amp;technique=val6&amp;amp;plugin=val7&amp;amp;storageClass=val8&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolProfileCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolProfileDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolProfileDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPoolProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolProfile|osn:cephPoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolProfileDelete?cephPoolProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolProfileDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolProfileEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephPoolProfile|osn:cephPoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolProfileEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephPoolProfileGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephPoolProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephPoolProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephPoolProfile|osn:cephPoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephPoolProfileGet?cephPoolProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephPoolProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephRadosGatewayIPAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephRadosGatewayPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;serviceEngine&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;serviceMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;certificatePemData&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;redirect&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;loadbalance&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;loadBalancerMappingMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;useTcpChecks&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayAdd?clusterId=val0&amp;amp;cephRadosGatewayIPAddress=val1&amp;amp;cephRadosGatewayPort=0&amp;amp;serviceEngine=0&amp;amp;serviceMode=0&amp;amp;options=val5&amp;amp;certificatePemData=val6&amp;amp;redirect=val7&amp;amp;loadbalance=val8&amp;amp;loadBalancerMappingMode=0&amp;amp;useTcpChecks=val10&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephGatewayId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayGet?cephGatewayId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephRadosGatewayId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableLoadBalancing&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableActiveMonitoring&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;cephRgwSettings&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayModify?cephRadosGatewayId=val0&amp;amp;enableLoadBalancing=val1&amp;amp;enableActiveMonitoring=val2&amp;amp;cephRgwSettings=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephRadosGatewayId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayRemove?clusterId=val0&amp;amp;cephRadosGatewayId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cephRadosGatewayStartStopRestart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cephRadosGatewayStartStopRestart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephRadosGatewayId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cephRadosGateway|osn:cephRadosGateway]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cephRadosGatewayStartStopRestart?cephRadosGatewayId=val0&amp;amp;modType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cephRadosGatewayStartStopRestart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:certificate|osn:certificate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;certificateId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:certificate|osn:certificate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateGet?certificateId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateRescan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:certificate|osn:certificate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateRescan?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateTemplateAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateTemplateAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;pemFileContentCertificate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;pemFileContentPrivateKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:certificateTemplate|osn:certificateTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateTemplateAdd?name=val0&amp;amp;description=val1&amp;amp;pemFileContentCertificate=val2&amp;amp;pemFileContentPrivateKey=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateTemplateAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateTemplateEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateTemplateEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:certificateTemplate|osn:certificateTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateTemplateEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateTemplateEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateTemplateGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateTemplateGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;certificateId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:certificateTemplate|osn:certificateTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateTemplateGet?certificateId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateTemplateGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateTemplateRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateTemplateRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;certificateId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:certificateTemplate|osn:certificateTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateTemplateRemove?certificateId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateTemplateRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== certificateUpdate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;certificateUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;useCase&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;certificateTemplateId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:certificate|osn:certificate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/certificateUpdate?storageSystemId=val0&amp;amp;useCase=0&amp;amp;certificateTemplateId=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @certificateUpdate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clientConnectionEnum ==&lt;br /&gt;
Returns a list of all the client connections tot he specified storage system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clientConnectionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:clientConnection|osn:clientConnection]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clientConnectionEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clientConnectionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;credentialsId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageUrl&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableNfs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;attachToStorageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;containerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;mountOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;dirCacheTime&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bufferSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;vfsCacheMaxAge&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;vfsCacheMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerAdd?credentialsId=val0&amp;amp;locationId=val1&amp;amp;encryptionKey=val2&amp;amp;storageUrl=val3&amp;amp;enableNfs=val4&amp;amp;attachToStorageSystem=val5&amp;amp;containerType=0&amp;amp;mountOptions=val7&amp;amp;storageClass=val8&amp;amp;cacheMode=0&amp;amp;dirCacheTime=val10&amp;amp;cacheShareId=val11&amp;amp;bufferSize=val12&amp;amp;vfsCacheMaxAge=val13&amp;amp;vfsCacheMaxSize=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerBucketScan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerBucketScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;credentialsId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerBucketScan?credentialsId=val0&amp;amp;locationId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerBucketScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerCacheSettingsGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerCacheSettingsGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainerCacheSettings|osn:cloudContainerCacheSettings]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerCacheSettingsGet?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerCacheSettingsGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerCacheSettingsModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerCacheSettingsModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cloudSettingsId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;dirCacheTime&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bufferSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;vfsCacheMaxAge&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;vfsCacheMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainerCacheSettings|osn:cloudContainerCacheSettings]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerCacheSettingsModify?cloudSettingsId=val0&amp;amp;cacheMode=0&amp;amp;dirCacheTime=val2&amp;amp;cacheShareId=val3&amp;amp;bufferSize=val4&amp;amp;vfsCacheMaxAge=val5&amp;amp;vfsCacheMaxSize=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerCacheSettingsModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;credentialsId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageUrl&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enableNfs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;attachToStorageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;containerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;mountOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;dirCacheTime&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cacheShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bufferSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;vfsCacheMaxAge&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;vfsCacheMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerCreate?name=val0&amp;amp;description=val1&amp;amp;credentialsId=val2&amp;amp;locationId=val3&amp;amp;encryptionKey=val4&amp;amp;storageUrl=val5&amp;amp;enableNfs=val6&amp;amp;attachToStorageSystem=val7&amp;amp;containerType=0&amp;amp;mountOptions=val9&amp;amp;storageClass=val10&amp;amp;cacheMode=0&amp;amp;dirCacheTime=val12&amp;amp;cacheShareId=val13&amp;amp;bufferSize=val14&amp;amp;vfsCacheMaxAge=val15&amp;amp;vfsCacheMaxSize=val16&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerDelete?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerDisable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerDisable?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerEnable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;attachToStorageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerEnable?container=val0&amp;amp;attachToStorageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerGet?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerRepair ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerRepair&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerRepair?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerRepair.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudContainerRescan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudContainerRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudContainerRescan?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudContainerRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationEndpoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;credUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;credPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;credProjectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;authFile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProvider|osn:cloudProvider]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderAdd?name=val0&amp;amp;description=val1&amp;amp;locationName=val2&amp;amp;locationTag=val3&amp;amp;locationEndpoint=val4&amp;amp;credUsername=val5&amp;amp;credPassword=val6&amp;amp;credProjectId=val7&amp;amp;authFile=val8&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderCredentialsAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderCredentialsAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;machine&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;projectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;authFile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderCredentials|osn:cloudProviderCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderCredentialsAdd?username=val0&amp;amp;password=val1&amp;amp;providerId=val2&amp;amp;machine=val3&amp;amp;projectId=val4&amp;amp;authFile=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderCredentialsAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderCredentialsEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderCredentialsEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cloudProviderCredentials|osn:cloudProviderCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderCredentialsEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderCredentialsEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderCredentialsGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderCredentialsGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;credentialId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderCredentials|osn:cloudProviderCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderCredentialsGet?credentialId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderCredentialsGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderCredentialsRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderCredentialsRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;credentialsId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderCredentials|osn:cloudProviderCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderCredentialsRemove?credentialsId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderCredentialsRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cloudProvider|osn:cloudProvider]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProvider|osn:cloudProvider]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderGet?providerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderLocationAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderLocationAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;endpoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderLocation|osn:cloudProviderLocation]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderLocationAdd?providerId=val0&amp;amp;name=val1&amp;amp;locationTag=val2&amp;amp;endpoint=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderLocationAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderLocationEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderLocationEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cloudProviderLocation|osn:cloudProviderLocation]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderLocationEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderLocationEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderLocationGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderLocationGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderLocation|osn:cloudProviderLocation]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderLocationGet?locationId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderLocationGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderLocationRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderLocationRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderLocation|osn:cloudProviderLocation]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderLocationRemove?locationId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderLocationRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProvider|osn:cloudProvider]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderRemove?providerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderStorageClassAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderStorageClassAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClassTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderStorageClass|osn:cloudProviderStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderStorageClassAdd?providerId=val0&amp;amp;storageClassTag=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderStorageClassAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderStorageClassEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderStorageClassEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:cloudProviderStorageClass|osn:cloudProviderStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderStorageClassEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderStorageClassEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderStorageClassGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderStorageClassGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderStorageClass|osn:cloudProviderStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderStorageClassGet?storageClass=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderStorageClassGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== cloudProviderStorageClassRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;cloudProviderStorageClassRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:cloudProviderStorageClass|osn:cloudProviderStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/cloudProviderStorageClassRemove?storageClass=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @cloudProviderStorageClassRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ring&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;mcastPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;bindNetAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;memberAddresses&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:clusterRing|osn:clusterRing]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingCreate?siteClusterId=val0&amp;amp;ring=0&amp;amp;mcastPort=0&amp;amp;bindNetAddress=val3&amp;amp;memberAddresses=val4&amp;amp;options=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterRing&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:clusterRing|osn:clusterRing]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingDelete?clusterRing=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:clusterRing|osn:clusterRing]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterRing&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:clusterRing|osn:clusterRing]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingGet?clusterRing=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingMemberEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingMemberEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:clusterRingMember|osn:clusterRingMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingMemberEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingMemberEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== clusterRingMemberGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;clusterRingMemberGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;clusterRingMember&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:clusterRingMember|osn:clusterRingMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/clusterRingMemberGet?clusterRingMember=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @clusterRingMemberGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigCreate ==&lt;br /&gt;
Creates a new containerConfig for a specific instance of a container&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|tag of the containerServiceDef|inline=1}}&lt;br /&gt;
      &amp;quot;containerServiceDefTag&amp;quot;: xsd:string  {{Note|tag of the containerServiceDef|inline=1}}&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerConfig|osn:containerConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigCreate?name=val0&amp;amp;containerServiceDefTag=val1&amp;amp;options=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;containerConfig&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerConfig|osn:containerConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigDelete?containerConfig=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigEnum ==&lt;br /&gt;
Lists all the container configs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:containerConfig|osn:containerConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigGet ==&lt;br /&gt;
returns a specific containerConfig&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;containerConfig&amp;quot;: xsd:string  {{Note|id or containerServiceDefTag of the containerConfig to be returned|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerConfig|osn:containerConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigGet?containerConfig=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigOptionAddRemove ==&lt;br /&gt;
adds/removes a set of container config options (key=value pairs) to/from a specificied containerConfig&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigOptionAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;containerConfig&amp;quot;: xsd:string  {{Note|id or containerServiceDefTag of the containerConfig to be modified|inline=1}}&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerConfig|osn:containerConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigOptionAddRemove?containerConfig=val0&amp;amp;modType=0&amp;amp;options=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigOptionAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigOptionEnum ==&lt;br /&gt;
returns a list of all containerConfigOptions&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigOptionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;containerConfig&amp;quot;: xsd:string  {{Note|id or containerServiceDefTag of the containerConfig where the option is applied|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:containerConfigOption|osn:containerConfigOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigOptionEnum?containerConfig=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigOptionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerConfigOptionGet ==&lt;br /&gt;
returns the specified containerConfigOption&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerConfigOptionGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;containerConfig&amp;quot;: xsd:string  {{Note|id or containerServiceDefTag of the containerConfig where the option is applied|inline=1}}&lt;br /&gt;
      &amp;quot;key&amp;quot;: xsd:string  {{Note|the key of the containerConfigOption to be returned|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerConfigOption|osn:containerConfigOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerConfigOptionGet?containerConfig=val0&amp;amp;key=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerConfigOptionGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerEnum ==&lt;br /&gt;
returns a list of all containers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:container|osn:container]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerGet ==&lt;br /&gt;
returns the specified container&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;container&amp;quot;: xsd:string  {{Note|containerServiceDefTag or id of the containerConfig or of the container|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:container|osn:container]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerGet?container=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerServiceDefEnum ==&lt;br /&gt;
returns a list of all containerServiceDefs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerServiceDefEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:containerServiceDef|osn:containerServiceDef]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerServiceDefEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerServiceDefEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== containerServiceDefGet ==&lt;br /&gt;
returns the specified containerServiceDef&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;containerServiceDefGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: xsd:string  {{Note|name or id of the containerServiceDef|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:containerServiceDef|osn:containerServiceDef]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/containerServiceDefGet?id=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @containerServiceDefGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== customApi ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;customApi&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;method&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;params&amp;quot;: [[#osn:keyValuePair|osn:keyValuePair]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;resultOutput&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;url&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboard|osn:dashboard]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardCreate?name=val0&amp;amp;description=val1&amp;amp;url=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboard&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboard|osn:dashboard]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardDelete?dashboard=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:dashboard|osn:dashboard]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboard&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboard|osn:dashboard]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGet?dashboard=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;dashboardIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboardGroup|osn:dashboardGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGroupCreate?name=val0&amp;amp;description=val1&amp;amp;dashboardIdList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboardGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboardGroup|osn:dashboardGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGroupDelete?dashboardGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:dashboardGroup|osn:dashboardGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboardGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboardGroup|osn:dashboardGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGroupGet?dashboardGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboardGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;dashboardIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboardGroup|osn:dashboardGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardGroupModify?dashboardGroup=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;dashboardIdList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== dashboardModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;dashboardModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;dashboard&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;url&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:dashboard|osn:dashboard]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/dashboardModify?dashboard=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;url=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @dashboardModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== eventEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;eventEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;startingIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxEvents&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;serviceTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:event|osn:event]]&lt;br /&gt;
    &amp;quot;endingIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/eventEnum?startingIndex=0&amp;amp;maxEvents=0&amp;amp;serviceTimeStamp=val2&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @eventEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== eventListenerNotify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;eventListenerNotify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;list&amp;quot;: [[#osn:event|osn:event]]      &amp;quot;epoch&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:eventListener|osn:eventListener]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== eventListenerRegister ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;eventListenerRegister&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;eventListenerObj&amp;quot;: [[#osn:eventListener|osn:eventListener]]    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:eventListener|osn:eventListener]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== eventListenerUnregister ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;eventListenerUnregister&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;listenerId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:eventListener|osn:eventListener]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/eventListenerUnregister?listenerId=val0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @eventListenerUnregister.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== eventPulse ==&lt;br /&gt;
updates object time stamps of all objects of type objectType.  This pulses a series of events into the grid for load testing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;eventPulse&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/eventPulse?storageSystemId=val0&amp;amp;objectType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @eventPulse.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemControllerEnum ==&lt;br /&gt;
Enumerate all external system controllers on a specified discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemControllerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemController|osn:externalSystemController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemControllerEnum?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemControllerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemControllerGet ==&lt;br /&gt;
Get a specified external system controller&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemControllerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemController&amp;quot;: xsd:string  {{Note|name or id of the desired external system controller|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of the desired external system (required if only name of es controller given)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemController|osn:externalSystemController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemControllerGet?externalSystemController=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemControllerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemCredentialsAddRemove ==&lt;br /&gt;
Add credentials for external system discovery&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemCredentialsAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|user specified name of the external system creds obj|inline=1}}&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string  {{Note|username used in the curl call to discover the external system|inline=1}}&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string  {{Note|password used in the curl call to discover the external system|inline=1}}&lt;br /&gt;
      &amp;quot;primaryIp&amp;quot;: xsd:string  {{Note|primary ip used for calls to external system discovery scripts|inline=1}}&lt;br /&gt;
      &amp;quot;secondaryIp&amp;quot;: xsd:string  {{Note|secondary ip used for calls to external system discovery scripts|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:externalSystemType]] where 0=WesternDigitalOpenFlex, 1=Unknown|inline=1}}&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string  {{Note|name or id of the storage system to redirect the external system ownership to (mutualally exclusive with siteCluster)|inline=1}}&lt;br /&gt;
      &amp;quot;siteCluster&amp;quot;: xsd:string  {{Note|name or id of site cluster associated with external system ownership (if &#039;none&#039;, ext sys objs owned by local system or storageSystem specified)|inline=1}}&lt;br /&gt;
      &amp;quot;portNumber&amp;quot;: xsd:unsignedInt  {{Note|the port number to make curl calls against|inline=1}}&lt;br /&gt;
      &amp;quot;insecure&amp;quot;: xsd:boolean  {{Note|use insecure http for discovery if true, else default to secure https|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemCredentials|osn:externalSystemCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemCredentialsAddRemove?modType=0&amp;amp;name=val1&amp;amp;username=val2&amp;amp;password=val3&amp;amp;primaryIp=val4&amp;amp;secondaryIp=val5&amp;amp;externalSystemType=0&amp;amp;storageSystem=val7&amp;amp;siteCluster=val8&amp;amp;portNumber=0&amp;amp;insecure=val10&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemCredentialsAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemCredentialsEnum ==&lt;br /&gt;
Enumerate credentials for external system discovery&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemCredentialsEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemCredentials|osn:externalSystemCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemCredentialsEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemCredentialsEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemCredentialsGet ==&lt;br /&gt;
Get credentials for external system discovery&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemCredentialsGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemCredentials&amp;quot;: xsd:string  {{Note|id or name of the external system credentials object|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemCredentials|osn:externalSystemCredentials]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemCredentialsGet?externalSystemCredentials=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemCredentialsGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemEnum ==&lt;br /&gt;
Enumerate all discovered external systems&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemGet ==&lt;br /&gt;
Get a specified discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|either name or id of desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemGet?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemHostEnum ==&lt;br /&gt;
lists the existing external system hosts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemHostEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|id of the external system to list hosts from, lists all local external system hosts if not specified|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemHost|osn:externalSystemHost]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemHostEnum?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemHostEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemHostGet ==&lt;br /&gt;
returns the specified external system hosts&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemHostGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemHost&amp;quot;: xsd:string  {{Note|name or id of the externalSystemHost to return|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemHost|osn:externalSystemHost]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemHostGet?externalSystemHost=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemHostGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemHostVolumeAssocEnum ==&lt;br /&gt;
returns a list of all host &amp;lt;-&amp;gt; volume mappings&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemHostVolumeAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|id of the external system to list host volume assocs from, lists all local external system host volume assocs if not specified|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemHostVolumeAssoc|osn:externalSystemHostVolumeAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemHostVolumeAssocEnum?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemHostVolumeAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemMediaEnum ==&lt;br /&gt;
Enumerate all external system media devices on a given discovered external system or port group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemMediaEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemPortGroup&amp;quot;: xsd:string  {{Note|name or id of desired external system port group|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemMedia|osn:externalSystemMedia]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemMediaEnum?externalSystem=val0&amp;amp;externalSystemPortGroup=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemMediaEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemMediaGet ==&lt;br /&gt;
Get a specified external system media device&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemMediaGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemMedia&amp;quot;: xsd:string  {{Note|name or id of the desired external system media device|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of the desired external system (required if only the name of the desired es media specified)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemMedia|osn:externalSystemMedia]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemMediaGet?externalSystemMedia=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemMediaGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemModify ==&lt;br /&gt;
Modify fields of an existing external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;altName&amp;quot;: xsd:string  {{Note|user specified human friendly name|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|user specified description for the external system|inline=1}}&lt;br /&gt;
      &amp;quot;enclosureLayoutId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemModify?externalSystem=val0&amp;amp;altName=val1&amp;amp;description=val2&amp;amp;enclosureLayoutId=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPoolEnum ==&lt;br /&gt;
Enumerate all pools for a given discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPoolEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemPool|osn:externalSystemPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPoolEnum?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPoolEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPoolGet ==&lt;br /&gt;
Get a specified external system pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPoolGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemPool&amp;quot;: xsd:string  {{Note|name or id of the desired external system pool|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system (required if only name of es pool given)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemPool|osn:externalSystemPool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPoolGet?externalSystemPool=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPoolGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPortEnum ==&lt;br /&gt;
Enumerate all ports for a given external system port group or discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPortEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemPortGroup&amp;quot;: xsd:string  {{Note|name or id of desired external system port group|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemPort|osn:externalSystemPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPortEnum?externalSystem=val0&amp;amp;externalSystemPortGroup=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPortEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPortGet ==&lt;br /&gt;
Get a specified external system port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPortGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemPort&amp;quot;: xsd:string  {{Note|name or id of the desired external system port|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of the desired external system (required if only name of es port specified)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemPort|osn:externalSystemPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPortGet?externalSystemPort=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPortGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPortGroupEnum ==&lt;br /&gt;
Enumerate all port groups for a given discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPortGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemPortGroup|osn:externalSystemPortGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPortGroupEnum?externalSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPortGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPortGroupGet ==&lt;br /&gt;
Get a specified external system port group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPortGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemPortGroup&amp;quot;: xsd:string  {{Note|name or id of the desired external system port group|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system (required if only name of es port group given)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemPortGroup|osn:externalSystemPortGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPortGroupGet?externalSystemPortGroup=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPortGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemPortModify ==&lt;br /&gt;
change the ip address on external system ports&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemPortModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemPort&amp;quot;: xsd:string  {{Note|the port to configure|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|the external system the port is on|inline=1}}&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string  {{Note|the ip to be applied to the port|inline=1}}&lt;br /&gt;
      &amp;quot;subnet&amp;quot;: xsd:string  {{Note|the subnet to be applied to the port|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemPort|osn:externalSystemPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemPortModify?externalSystemPort=val0&amp;amp;externalSystem=val1&amp;amp;ipAddress=val2&amp;amp;subnet=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemPortModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemProfileApply ==&lt;br /&gt;
configures the external system according to the selected profile (dg+pool+volumes+host+assign volumes to host)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemProfileApply&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemId&amp;quot;: xsd:string  {{Note|id of the external system to configure|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemProfileId&amp;quot;: xsd:string  {{Note|id/name of the external system profile to be applied|inline=1}}&lt;br /&gt;
      &amp;quot;volCount&amp;quot;: xsd:unsignedInt  {{Note|number of volumes to batch create|inline=1}}&lt;br /&gt;
      &amp;quot;useMaxVolSize&amp;quot;: xsd:boolean  {{Note|if true, calculate the max vol size based on pool capacity and vol count|inline=1}}&lt;br /&gt;
      &amp;quot;volSize&amp;quot;: xsd:unsignedLong  {{Note|size of batch created volumes|inline=1}}&lt;br /&gt;
      &amp;quot;assignToHosts&amp;quot;: xsd:boolean  {{Note|true to assign batch created volumes to given hosts|inline=1}}&lt;br /&gt;
      &amp;quot;hostList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemProfile|osn:externalSystemProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemProfileApply?externalSystemId=val0&amp;amp;externalSystemProfileId=val1&amp;amp;volCount=0&amp;amp;useMaxVolSize=val3&amp;amp;volSize=val4&amp;amp;assignToHosts=val5&amp;amp;hostList=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemProfileApply.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemProfileEnum ==&lt;br /&gt;
list all external system profiles&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemProfile|osn:externalSystemProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemProfileEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemProfileGet ==&lt;br /&gt;
get detailed info on the external system profile&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemProfileId&amp;quot;: xsd:string  {{Note|name or id of the external system profile|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemProfile|osn:externalSystemProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemProfileGet?externalSystemProfileId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemScan ==&lt;br /&gt;
Force External System discovery cycle&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemCredentials&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemScan?externalSystemCredentials=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemSendLogs ==&lt;br /&gt;
downloads the External System logs to a local zip file. used for support.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemSendLogs&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|id of the external system to take logs from|inline=1}}&lt;br /&gt;
      &amp;quot;disableUpload&amp;quot;: xsd:boolean  {{Note|if true, only downloads the logs from the external system and does not send logs to OSNEXUS support|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemSendLogs?externalSystem=val0&amp;amp;disableUpload=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemSendLogs.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemSwAdapterConfigAdd ==&lt;br /&gt;
create a new software adapter to assign specified external system media devices to a storage system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemSwAdapterConfigAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string  {{Note|the storage system to add the software adapter to|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemMediaList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemSwAdapterConfigAdd?storageSystem=val0&amp;amp;externalSystemMediaList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemSwAdapterConfigAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemVolumeCreate ==&lt;br /&gt;
Batch create External System Volumes of the given External System Pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemVolumeCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemPoolId&amp;quot;: xsd:string  {{Note|id of the external system pool to create volumes on|inline=1}}&lt;br /&gt;
      &amp;quot;volPrefix&amp;quot;: xsd:string  {{Note|prefix for naming the volumes|inline=1}}&lt;br /&gt;
      &amp;quot;volCount&amp;quot;: xsd:unsignedInt  {{Note|number of volumes to batch create|inline=1}}&lt;br /&gt;
      &amp;quot;useMaxVolSize&amp;quot;: xsd:boolean  {{Note|if true, calculate the max vol size based on pool capacity and vol count|inline=1}}&lt;br /&gt;
      &amp;quot;volSize&amp;quot;: xsd:unsignedLong  {{Note|size of batch created volumes|inline=1}}&lt;br /&gt;
      &amp;quot;assignToHosts&amp;quot;: xsd:boolean  {{Note|true to assign batch created volumes to given hosts|inline=1}}&lt;br /&gt;
      &amp;quot;hostList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemVolume|osn:externalSystemVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemVolumeCreate?externalSystemPoolId=val0&amp;amp;volPrefix=val1&amp;amp;volCount=0&amp;amp;useMaxVolSize=val3&amp;amp;volSize=val4&amp;amp;assignToHosts=val5&amp;amp;hostList=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemVolumeCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemVolumeDelete ==&lt;br /&gt;
Delete a given list of External System Volumes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemVolumeDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemVolumeIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemVolume|osn:externalSystemVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemVolumeDelete?externalSystemVolumeIdList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemVolumeDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemVolumeEnum ==&lt;br /&gt;
Enumerate all external system volume on a given discovered external system or pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemVolumeEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of a desired external system|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystemPool&amp;quot;: xsd:string  {{Note|name or id of desired external system pool|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:externalSystemVolume|osn:externalSystemVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemVolumeEnum?externalSystem=val0&amp;amp;externalSystemPool=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemVolumeEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== externalSystemVolumeGet ==&lt;br /&gt;
Get a specified external system volume&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;externalSystemVolumeGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;externalSystemVolume&amp;quot;: xsd:string  {{Note|name or id of the desired external system volume|inline=1}}&lt;br /&gt;
      &amp;quot;externalSystem&amp;quot;: xsd:string  {{Note|name or id of the desired external system (required if only the name of the desired es volume specified)|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:externalSystemVolume|osn:externalSystemVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/externalSystemVolumeGet?externalSystemVolume=val0&amp;amp;externalSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @externalSystemVolumeGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcRemotePortEnum ==&lt;br /&gt;
Returns a list of all the FC ports&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcRemotePortEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:fcRemotePort|osn:fcRemotePort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcRemotePortEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcRemotePortEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcRemotePortGet ==&lt;br /&gt;
Returns information about a specific FC port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcRemotePortGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:fcRemotePort|osn:fcRemotePort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcRemotePortGet?port=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcRemotePortGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcTargetPortDisable ==&lt;br /&gt;
Disabling a FC port changes it from Target mode to Initiator mode&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcTargetPortDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcTargetPortDisable?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcTargetPortDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcTargetPortEnable ==&lt;br /&gt;
Enabling a FC port changes it from Initiator mode to Target mode, only QLogic FC cards can be put into target mode&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcTargetPortEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcTargetPortEnable?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcTargetPortEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcTargetPortEnum ==&lt;br /&gt;
Returns a list of all the FC ports&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcTargetPortEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcTargetPortEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcTargetPortEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcTargetPortGet ==&lt;br /&gt;
Returns information about a specific FC port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcTargetPortGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcTargetPortGet?port=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcTargetPortGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== fcTargetPortIssueLip ==&lt;br /&gt;
Enabling a FC port changes it from Initiator mode to Target mode, only QLogic FC cards can be put into target mode&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;fcTargetPortIssueLip&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/fcTargetPortIssueLip?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @fcTargetPortIssueLip.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== getLocalizedMessage ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getLocalizedMessage&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;locale&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;i18nStr&amp;quot;: [[#osn:i18nString|osn:i18nString]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;msgLocale&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;msgLocalized&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== getMultiFactorAuthDevices ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;getMultiFactorAuthDevices&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;authRequestCode&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;deviceList&amp;quot;: [[#osn:multiFactorAuthDevice|osn:multiFactorAuthDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/getMultiFactorAuthDevices?authRequestCode=val0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @getMultiFactorAuthDevices.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostAdd ==&lt;br /&gt;
Adds a new Host entry so that Storage Volumes may be assigned to them.  The iqn field bay be a iSCSI IQN or a FC WWPN.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hostname&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hostType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;iqn&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostAdd?hostname=val0&amp;amp;ipAddress=val1&amp;amp;username=val2&amp;amp;password=val3&amp;amp;hostType=0&amp;amp;description=val5&amp;amp;iqn=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostEnum ==&lt;br /&gt;
Returns a list of all the [[#osn:host]] entries.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGet ==&lt;br /&gt;
Returns detailed information about a specific [[#osn:host]] entry.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string  {{Note|UUID or name of the Host to gather information about|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGet?host=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupCreate ==&lt;br /&gt;
Creates a [[#osn:hostGroup]] which simplifies assignment of Storage Volumes to groups of [[#osn:host]]s which typically constitue a cluster.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hostList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupCreate?name=val0&amp;amp;description=val1&amp;amp;hostList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupDelete ==&lt;br /&gt;
Deletes the specified Host Group and all Storage Volume assignments associated with the group.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hostGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteAssociatedHosts&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupDelete?hostGroup=val0&amp;amp;deleteAssociatedHosts=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupEnum ==&lt;br /&gt;
Returns a list of all the Host Groups&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupGet ==&lt;br /&gt;
Returns detailed information about a specific Host Group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hostGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupGet?hostGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupHostAddRemove ==&lt;br /&gt;
Add or removes entries to/from a Host Group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupHostAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hostGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;hostList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupHostAddRemove?hostGroup=val0&amp;amp;modType=0&amp;amp;hostList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupHostAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostGroupModify ==&lt;br /&gt;
Modifies the specified [[#osn:hostGroup]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hostGroup&amp;quot;: xsd:string  {{Note|name or UUID of the Host Group|inline=1}}&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hostGroup|osn:hostGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostGroupModify?hostGroup=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostInitiatorAdd ==&lt;br /&gt;
Adds a [[#osn:host]] with the specified IQN or WWPN&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostInitiatorAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string  {{Note|hostname or UUID of a [[#osn:host]]|inline=1}}&lt;br /&gt;
      &amp;quot;iqn&amp;quot;: xsd:string  {{Note|IQN or WWPN|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostInitiatorAdd?host=val0&amp;amp;iqn=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostInitiatorAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostInitiatorEnum ==&lt;br /&gt;
Returns the list of [[#osn:initatorPort]] entries associated with the [[#osn:host]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostInitiatorEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string  {{Note|host name or UUID of the Host entry or  to get all entries for all hosts|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:initiatorPort|osn:initiatorPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostInitiatorEnum?host=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostInitiatorEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostInitiatorGet ==&lt;br /&gt;
Returns information about a specific [[#osn:initiatorPort]] entry associated with a host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostInitiatorGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;initiator&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:initiatorPort|osn:initiatorPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostInitiatorGet?initiator=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostInitiatorGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostInitiatorRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostInitiatorRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;iqn&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostInitiatorRemove?host=val0&amp;amp;iqn=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostInitiatorRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostModify ==&lt;br /&gt;
Modifies the specified host entry to change it&#039;s properties.  See [[#hostInitiatorAdd]] to add additional WWPNs and IQNs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string  {{Note|Host name or UUID of the [[osn:host]] entry to modify|inline=1}}&lt;br /&gt;
      &amp;quot;newIpAddress&amp;quot;: xsd:string  {{Note|IP address of the Host|inline=1}}&lt;br /&gt;
      &amp;quot;newUsername&amp;quot;: xsd:string  {{Note|username to associate with the host (optional)|inline=1}}&lt;br /&gt;
      &amp;quot;newPassword&amp;quot;: xsd:string  {{Note|password to associate with the host (optional)|inline=1}}&lt;br /&gt;
      &amp;quot;newHostType&amp;quot;: xsd:unsignedInt  {{Note|host type, see [[#enum:hostType]]|inline=1}}&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newHostName&amp;quot;: xsd:string  {{Note|new hostname for this Host entry|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostModify?host=val0&amp;amp;newIpAddress=val1&amp;amp;newUsername=val2&amp;amp;newPassword=val3&amp;amp;newHostType=0&amp;amp;newDescription=val5&amp;amp;newHostName=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hostRemove ==&lt;br /&gt;
Removes a [[#osn:host]] entry and removes all Storage Volume assignments associated with this host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hostRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string  {{Note|hostname or UUID of a [[#osn:host]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hostRemove?host=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hostRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwAlarmEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwAlarmEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwAlarm|osn:hwAlarm]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwAlarmEnum?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwAlarmEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwAlarmGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwAlarmGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwAlarm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwAlarm|osn:hwAlarm]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwAlarmGet?hwAlarm=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwAlarmGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwBatteryBackupUnitEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwBatteryBackupUnitEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwBatteryBackupUnit|osn:hwBatteryBackupUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwBatteryBackupUnitEnum?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwBatteryBackupUnitEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwBatteryBackupUnitGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwBatteryBackupUnitGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwBatteryBackupUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwBatteryBackupUnit|osn:hwBatteryBackupUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwBatteryBackupUnitGet?hwBatteryBackupUnit=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwBatteryBackupUnitGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerChangeSecurityKey ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerChangeSecurityKey&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;oldSecurityKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newSecurityKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerChangeSecurityKey?controllerId=val0&amp;amp;oldSecurityKey=val1&amp;amp;newSecurityKey=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerChangeSecurityKey.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerClearAlarms ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerClearAlarms&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerClearAlarms?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerClearAlarms.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerCreateSecurityKey ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerCreateSecurityKey&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;securityKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerCreateSecurityKey?controllerId=val0&amp;amp;securityKey=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerCreateSecurityKey.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwControllerGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerEnum?hwControllerGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerGet?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwControllerGroup|osn:hwControllerGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwControllerGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwControllerGroup|osn:hwControllerGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerGroupGet?hwControllerGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerImportForeignUnits ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerImportForeignUnits&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerImportForeignUnits?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerImportForeignUnits.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerModify?controllerId=val0&amp;amp;altName=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerRescan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerRescan?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerRescanAll ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerRescanAll&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerRescanAll?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerRescanAll.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwControllerSilenceAlarms ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwControllerSilenceAlarms&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwControllerSilenceAlarms?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwControllerSilenceAlarms.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskClearMissing ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskClearMissing&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskClearMissing?storageSystemId=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskClearMissing.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskEnum?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwDisk&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskGet?hwDisk=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskIdentify?diskIdList=val0&amp;amp;controllerId=val1&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskMarkGood ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskMarkGood&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskMarkGood?diskIdList=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskMarkGood.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskMarkHotSpare ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskMarkHotSpare&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskMarkHotSpare?diskIdList=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskMarkHotSpare.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskModify?diskId=val0&amp;amp;altName=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskRemove?diskIdList=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwDiskUnmarkHotSpare ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwDiskUnmarkHotSpare&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwDiskUnmarkHotSpare?diskIdList=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwDiskUnmarkHotSpare.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureClearMissing ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureClearMissing&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureClearMissing?storageSystemId=val0&amp;amp;controllerId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureClearMissing.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureEnum?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwEnclosure&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureGet?hwEnclosure=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureLayoutEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureLayoutEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwEnclosureLayout|osn:hwEnclosureLayout]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureLayoutEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureLayoutEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureLayoutGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureLayoutGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwEnclosureLayout&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwEnclosureLayout|osn:hwEnclosureLayout]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureLayoutGet?hwEnclosureLayout=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureLayoutGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureLayoutVendorGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureLayoutVendorGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwEnclosureLayoutVendorGroup|osn:hwEnclosureLayoutVendorGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureLayoutVendorGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureLayoutVendorGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureLayoutVendorGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureLayoutVendorGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwEnclosureLayoutVendorGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwEnclosureLayoutVendorGroup|osn:hwEnclosureLayoutVendorGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureLayoutVendorGroupGet?hwEnclosureLayoutVendorGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureLayoutVendorGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;diskId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enclosureLayout&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chassisTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureModify?diskId=val0&amp;amp;altName=val1&amp;amp;description=val2&amp;amp;enclosureLayout=val3&amp;amp;chassisTag=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwEnclosureSlotIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwEnclosureSlotIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;enclosureId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;slotList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;allSlots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwEnclosureSlotIdentify?enclosureId=val0&amp;amp;slotList=val1&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;allSlots=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwEnclosureSlotIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwLogicalDriveEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwLogicalDriveEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwLogicalDrive|osn:hwLogicalDrive]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwLogicalDriveEnum?hwUnit=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwLogicalDriveEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwLogicalDriveGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwLogicalDriveGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwLogicalDrive&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwLogicalDrive|osn:hwLogicalDrive]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwLogicalDriveGet?hwLogicalDrive=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwLogicalDriveGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitAutoCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitAutoCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hwControllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;disksPerUnit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;diskCategory&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;diskSizeMinimum&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;diskSizeMaximum&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;unitCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitAutoCreate?storageSystemId=val0&amp;amp;hwControllerId=val1&amp;amp;raidType=0&amp;amp;disksPerUnit=0&amp;amp;blockSizeKb=0&amp;amp;diskCategory=0&amp;amp;diskSizeMinimum=val6&amp;amp;diskSizeMaximum=val7&amp;amp;unitCount=0&amp;amp;options=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitAutoCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;legLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;logicalVolumeCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;diskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitCreate?controllerId=val0&amp;amp;raidType=0&amp;amp;legLength=0&amp;amp;blockSizeKb=0&amp;amp;logicalVolumeCount=0&amp;amp;diskList=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitDelete?unitId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitDiskAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitDiskAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwUnitDiskAssoc|osn:hwUnitDiskAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitDiskAssocEnum?hwUnit=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitDiskAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitDiskAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitDiskAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hwDisk&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnitDiskAssoc|osn:hwUnitDiskAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitDiskAssocGet?hwUnit=val0&amp;amp;hwDisk=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitDiskAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitEnableEncryption ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitEnableEncryption&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitEnableEncryption?unitId=val0&amp;amp;options=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitEnableEncryption.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitEnum?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwUnit&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitGet?hwUnit=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitGrow ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitGrow&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;diskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;stripeSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;initPriority&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitGrow?unitId=val0&amp;amp;diskList=val1&amp;amp;stripeSizeKb=0&amp;amp;initPriority=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitGrow.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitIdentify?unitId=val0&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitModify?unitId=val0&amp;amp;altName=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitSsdCacheCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitSsdCacheCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;ssdDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitSsdCacheCreate?controllerId=val0&amp;amp;raidType=0&amp;amp;ssdDiskList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitSsdCacheCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitSsdCacheDisable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitSsdCacheDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitSsdCacheDisable?unitId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitSsdCacheDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== hwUnitSsdCacheEnable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;hwUnitSsdCacheEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;unitSsdCacheId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/hwUnitSsdCacheEnable?unitId=val0&amp;amp;unitSsdCacheId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @hwUnitSsdCacheEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ibTargetPortEnum ==&lt;br /&gt;
Returns a list of all the Infiniband ports&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;ibTargetPortEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:ibTargetPort|osn:ibTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/ibTargetPortEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @ibTargetPortEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ibTargetPortGet ==&lt;br /&gt;
Returns detailed information on a specific Infiniband port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;ibTargetPortGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:ibTargetPort|osn:ibTargetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/ibTargetPortGet?port=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @ibTargetPortGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;serverType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;caCert&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientCert&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;kmipConnectionPort&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;protocol&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;connectionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;timeout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfile|osn:keyServerProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileCreate?name=val0&amp;amp;description=val1&amp;amp;serverType=0&amp;amp;username=val3&amp;amp;password=val4&amp;amp;caCert=val5&amp;amp;clientCert=val6&amp;amp;clientKey=val7&amp;amp;host=val8&amp;amp;kmipConnectionPort=val9&amp;amp;protocol=0&amp;amp;connectionMode=0&amp;amp;timeout=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfile|osn:keyServerProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileDelete?keyServerProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:keyServerProfile|osn:keyServerProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfile|osn:keyServerProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileGet?keyServerProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileKeyAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileKeyAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyData&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encoding&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;keyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;resourceId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfileKey|osn:keyServerProfileKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileKeyAdd?keyServerProfile=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;keyData=val3&amp;amp;encoding=0&amp;amp;keyType=0&amp;amp;resourceId=val6&amp;amp;resourceType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileKeyAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileKeyEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileKeyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:keyServerProfileKey|osn:keyServerProfileKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileKeyEnum?keyServerProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileKeyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileKeyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileKeyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfileKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfileKey|osn:keyServerProfileKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileKeyGet?keyServerProfileKey=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileKeyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileKeyModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileKeyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfileKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfileKey|osn:keyServerProfileKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileKeyModify?keyServerProfileKey=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileKeyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileKeyRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileKeyRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfileKey|osn:keyServerProfileKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileKeyRemove?keyServerProfile=val0&amp;amp;name=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileKeyRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== keyServerProfileModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;keyServerProfileModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;keyServerProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;serverType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;caCert&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientCert&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clientKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;kmipConnectionPort&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;protocol&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;connectionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;timeout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:keyServerProfile|osn:keyServerProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/keyServerProfileModify?keyServerProfile=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;serverType=0&amp;amp;username=val4&amp;amp;password=val5&amp;amp;caCert=val6&amp;amp;clientCert=val7&amp;amp;clientKey=val8&amp;amp;host=val9&amp;amp;kmipConnectionPort=val10&amp;amp;protocol=0&amp;amp;connectionMode=0&amp;amp;timeout=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @keyServerProfileModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseActivate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseActivate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;activationKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseActivate?activationKey=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseActivate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseActivateOnline ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseActivateOnline&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;licenseKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;leaseRenewal&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseActivateOnline?licenseKey=val0&amp;amp;leaseRenewal=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseActivateOnline.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyBlock&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseAdd?storageSystem=val0&amp;amp;keyBlock=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;license&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseGet?license=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseModifySupportInfo ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseModifySupportInfo&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;licenseKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resellerName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resellerContactNumber&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resellerEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;supportContractRef&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseModifySupportInfo?licenseKey=val0&amp;amp;resellerName=val1&amp;amp;resellerContactNumber=val2&amp;amp;resellerEmail=val3&amp;amp;supportContractRef=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseModifySupportInfo.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== licenseRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;licenseRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;license&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:license|osn:license]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/licenseRemove?license=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @licenseRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loadBalancerCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loadBalancerCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:loadBalancer|osn:loadBalancer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loadBalancerCreate?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loadBalancerCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loadBalancerDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loadBalancerDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;loadBalancerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:loadBalancer|osn:loadBalancer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loadBalancerDelete?loadBalancerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loadBalancerDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loadBalancerEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loadBalancerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:loadBalancer|osn:loadBalancer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loadBalancerEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loadBalancerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loadBalancerGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loadBalancerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;loadBalancerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:loadBalancer|osn:loadBalancer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loadBalancerGet?loadBalancerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loadBalancerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== login ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;reserved&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;multiFactorAuthToken&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;authObj&amp;quot;: [[#osn:mfaLogin|osn:mfaLogin]]&lt;br /&gt;
    &amp;quot;roleObj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
    &amp;quot;userObj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
    &amp;quot;devMode&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;resourceGroupList&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/login?reserved=val0&amp;amp;multiFactorAuthToken=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @login.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loginPrecheck ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loginPrecheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;defaultUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;progressPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;progressMessage&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemUseNotification&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loginPrecheck?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loginPrecheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== loginVerify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;loginVerify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;authRequestCode&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;passcode&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;authObj&amp;quot;: [[#osn:mfaLogin|osn:mfaLogin]]&lt;br /&gt;
    &amp;quot;userObj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/loginVerify?authRequestCode=val0&amp;amp;passcode=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @loginVerify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== logout ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;logout&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/logout?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @logout.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleAddRemove ==&lt;br /&gt;
Used to add/remove Storage Pools to/from a given maintenance schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;storagePoolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleAddRemove?schedule=val0&amp;amp;modType=0&amp;amp;storagePoolList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:maintenanceScheduleAssoc|osn:maintenanceScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleAssocEnum?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;scheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceScheduleAssoc|osn:maintenanceScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleAssocGet?scheduleId=val0&amp;amp;storagePoolId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleCreate ==&lt;br /&gt;
Creates a new Maintenance Schedule to automatically scrub, SSD trim, or S3 compatible object orphan cleanup of selected Storage Pools&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;initialStartDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;minDaysBetweenMaintenance&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeekAllowStart&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDayAllowStart&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDayOffsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maintenanceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storagePoolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleCreate?name=val0&amp;amp;description=val1&amp;amp;setEnabled=0&amp;amp;initialStartDate=val3&amp;amp;minDaysBetweenMaintenance=0&amp;amp;daysOfWeekAllowStart=0&amp;amp;hoursOfDayAllowStart=0&amp;amp;hoursOfDayOffsetMinutes=0&amp;amp;maintenanceType=0&amp;amp;storagePoolList=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleDelete ==&lt;br /&gt;
Deletes the specified maintenance schedule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleDelete?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleDisable ==&lt;br /&gt;
Disables the specified maintenance schedule. The schedule will not run again until it is re-enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleDisable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleEnable ==&lt;br /&gt;
Enables a maintenance schedule that is offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleEnable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleEnum ==&lt;br /&gt;
Returns a list of all the Maintenance Schedules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleGet ==&lt;br /&gt;
Returns detail on a specific Maintenance Schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleGet?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleModify ==&lt;br /&gt;
Modifies the properties and settings for a Maintenance Schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string  {{Note|Name or ID of a [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|specify a new name to rename the schedule to|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt  {{Note|schedules may be enabled/disabled and will not start if disabled|inline=1}}&lt;br /&gt;
      &amp;quot;initialStartDate&amp;quot;: xsd:dateTime  {{Note|used to have a delayed start for the initial run of the schedule|inline=1}}&lt;br /&gt;
      &amp;quot;minDaysBetweenMaintenance&amp;quot;: xsd:unsignedInt  {{Note|SSD TRIM should typically be done daily, Storage Pool scrub can be done monthly or quarterly, orphan cleanup is usually not needed but can be employed for special use cases where the Ceph RGW GC is not properly doing cleanup|inline=1}}&lt;br /&gt;
      &amp;quot;daysOfWeekAllowStart&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDayAllowStart&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDayOffsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maintenanceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleModify?schedule=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;setEnabled=0&amp;amp;initialStartDate=val4&amp;amp;minDaysBetweenMaintenance=0&amp;amp;daysOfWeekAllowStart=0&amp;amp;hoursOfDayAllowStart=0&amp;amp;hoursOfDayOffsetMinutes=0&amp;amp;maintenanceType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== maintenanceScheduleTrigger ==&lt;br /&gt;
Signals the schedule manager to run the selected schedule immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;maintenanceScheduleTrigger&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:maintenanceSchedule|osn:maintenanceSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/maintenanceScheduleTrigger?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @maintenanceScheduleTrigger.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;apiHost&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;integrationKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:multiFactorAuthConfig|osn:multiFactorAuthConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigCreate?apiHost=val0&amp;amp;integrationKey=val1&amp;amp;secretKey=val2&amp;amp;name=val3&amp;amp;description=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;mfaConfigList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:multiFactorAuthConfig|osn:multiFactorAuthConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigDelete?mfaConfigList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:multiFactorAuthConfig|osn:multiFactorAuthConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;mfaConfig&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:multiFactorAuthConfig|osn:multiFactorAuthConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigGet?mfaConfig=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;mfaConfig&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newIntegrationKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newSecretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:multiFactorAuthConfig|osn:multiFactorAuthConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigModify?mfaConfig=val0&amp;amp;newIntegrationKey=val1&amp;amp;newSecretKey=val2&amp;amp;newName=val3&amp;amp;newDescription=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== multiFactorAuthConfigUserAssignUnassign ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;multiFactorAuthConfigUserAssignUnassign&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;configMappings&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/multiFactorAuthConfigUserAssignUnassign?configMappings=val0&amp;amp;modType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @multiFactorAuthConfigUserAssignUnassign.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareAddGroupQuota ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareAddGroupQuota&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;group&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;quota&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareAddGroupQuota?networkShare=val0&amp;amp;group=val1&amp;amp;quota=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareAddGroupQuota.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareAddUserQuota ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareAddUserQuota&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;quota&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareAddUserQuota?networkShare=val0&amp;amp;user=val1&amp;amp;quota=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareAddUserQuota.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCifsOptionEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCifsOptionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareCifsOption|osn:networkShareCifsOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCifsOptionEnum?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCifsOptionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCifsOptionGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCifsOptionGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareCifsOption|osn:networkShareCifsOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCifsOptionGet?networkShareId=val0&amp;amp;key=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCifsOptionGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClientAdd ==&lt;br /&gt;
adds an NFS access entry to the share with the specified settings&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClientAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string  {{Note|name or UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;clientFilter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isAsync&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;secure&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;subtreeCheck&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;customOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filterPriority&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClientAdd?networkShareId=val0&amp;amp;clientFilter=val1&amp;amp;isAsync=val2&amp;amp;secure=val3&amp;amp;subtreeCheck=val4&amp;amp;readOnly=val5&amp;amp;customOptions=val6&amp;amp;filterPriority=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClientAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClientEnum ==&lt;br /&gt;
Lists all NFS access entries associated with the [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClientEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareClient|osn:networkShareClient]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClientEnum?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClientEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClientGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClientGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareClientId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareClient|osn:networkShareClient]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClientGet?networkShareId=val0&amp;amp;networkShareClientId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClientGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClientModify ==&lt;br /&gt;
modifies the specified NFS access entry associated with the [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClientModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;networkShareClientId&amp;quot;: xsd:string  {{Note|name or UUID of the access entry|inline=1}}&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;secure&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;isAsync&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;subtreeCheck&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;customOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filterPriority&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClientModify?networkShareId=val0&amp;amp;networkShareClientId=val1&amp;amp;readOnly=val2&amp;amp;secure=val3&amp;amp;isAsync=val4&amp;amp;subtreeCheck=val5&amp;amp;customOptions=val6&amp;amp;filterPriority=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClientModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClientRemove ==&lt;br /&gt;
removes an NFS access entry from the share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClientRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;networkShareClientId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;retainClientConnections&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClientRemove?networkShareId=val0&amp;amp;networkShareClientId=val1&amp;amp;retainClientConnections=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClientRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareClone ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareClone&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cloneName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareClone?networkShare=val0&amp;amp;cloneName=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;readOnly=val4&amp;amp;isActive=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareClone.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCopySettings ==&lt;br /&gt;
Copy settings from one share to the another&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCopySettings&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name or UUID of the share for which settings are changed|inline=1}}&lt;br /&gt;
      &amp;quot;copyFromnetworkShare&amp;quot;: xsd:string  {{Note|name or UUID of the share from which the settings are copied|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCopySettings?networkShare=val0&amp;amp;copyFromnetworkShare=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCopySettings.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isPublic&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;parentShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCreate?name=val0&amp;amp;description=val1&amp;amp;provisionableId=val2&amp;amp;isPublic=val3&amp;amp;isActive=val4&amp;amp;parentShareId=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCreateAlias ==&lt;br /&gt;
Aliases are alternate names for Network Shares that can also have an alternate set of access permissions.  If a subSharePath is specified then the alias will map to a subdirectory within the specified share rather than to the root of the share.  Aliases do not support snapshots are they are simple pointers into an existing share.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCreateAlias&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;subSharePath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;inheritParentSettings&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;isPublic&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;forceCreateSubDir&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCreateAlias?name=val0&amp;amp;description=val1&amp;amp;parentShareId=val2&amp;amp;subSharePath=val3&amp;amp;inheritParentSettings=0&amp;amp;isPublic=val5&amp;amp;isActive=val6&amp;amp;forceCreateSubDir=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCreateAlias.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCreateEx ==&lt;br /&gt;
Create new Network Shares with this method using the provisionableId to specify the name or ID of the Storage Pool to provision from.  Storage Tiers which are groups of Storage Pools may also be specified in the provisionableId field.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCreateEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|name of the share, cannot contain spaces or special characters|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|user specified description field saved in UTF8 format|inline=1}}&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:storagePool]] to create the share within|inline=1}}&lt;br /&gt;
      &amp;quot;isPublic&amp;quot;: xsd:boolean  {{Note|enable NFS public access on creation|inline=1}}&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean  {{Note|indicates the share is active/online and can be presented via NFS/SMB if access is configured|inline=1}}&lt;br /&gt;
      &amp;quot;enableCifs&amp;quot;: xsd:boolean  {{Note|indicates SMB access is enabled|inline=1}}&lt;br /&gt;
      &amp;quot;userAccessList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cifsOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Disable VSS (SMB) Browsing|inline=1}}&lt;br /&gt;
      &amp;quot;spaceQuota&amp;quot;: xsd:unsignedLong  {{Note|sets a share space quota (bytes)|inline=1}}&lt;br /&gt;
      &amp;quot;spaceQuotaExcludeSnapshots&amp;quot;: xsd:boolean  {{Note|if true the space quota ignores space used by snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt  {{Note|indicates the sync mode see [[#enum:syncPolicy]]|inline=1}}&lt;br /&gt;
      &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
      &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the L2ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
      &amp;quot;compressionType&amp;quot;: xsd:string  {{Note|select one of on,off,lzjb,zstd,gzip,zle,lz4|inline=1}}&lt;br /&gt;
      &amp;quot;copies&amp;quot;: xsd:unsignedInt  {{Note|number of copies of the data, default is 1, this is additional replica copies of the data on top of the RAIDZ/RAID10 pool layout protection already in place so it is generally not recommended.|inline=1}}&lt;br /&gt;
      &amp;quot;shareOwner&amp;quot;: xsd:string  {{Note|UID of share owner &#039;system&#039; level permission|inline=1}}&lt;br /&gt;
      &amp;quot;shareOwnerGroup&amp;quot;: xsd:string  {{Note|GID of share owner &#039;system&#039; level permission|inline=1}}&lt;br /&gt;
      &amp;quot;permissions&amp;quot;: xsd:string  {{Note|specified in octal format such as 755755755 for owner, group, other permissions or just 755 to only specify owner permissions.|inline=1}}&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt  {{Note|if 0 inerhits the default record size set on the pool, typically 128K|inline=1}}&lt;br /&gt;
      &amp;quot;spaceReserved&amp;quot;: xsd:unsignedLong  {{Note|pre-reserved capacity in bytes, used to thick-provision space for the share|inline=1}}&lt;br /&gt;
      &amp;quot;vvolType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;protocolEndPointId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isCloudContainerCache&amp;quot;: xsd:boolean  {{Note|used to reserve the share as caching space for Cloud Storage Containers which provide NAS gateway to object storage|inline=1}}&lt;br /&gt;
      &amp;quot;nfsSecurityPolicy&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:nfsSecurityPolicy]]|inline=1}}&lt;br /&gt;
      &amp;quot;parentShareId&amp;quot;: xsd:string  {{Note|when creating a nested share, this is the parent under which the share should be created|inline=1}}&lt;br /&gt;
      &amp;quot;enableEncryption&amp;quot;: xsd:boolean  {{Note|enables share level encryption, this is separate from pool level encryption which is done at the block device level under the pool.|inline=1}}&lt;br /&gt;
      &amp;quot;encryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt  {{Note|for batch creation of a group of shares|inline=1}}&lt;br /&gt;
      &amp;quot;disableSmbSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables SMB _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;disableNfsSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables NFS _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Enables explicit NFS share/.zfs snapshot visibility|inline=1}}&lt;br /&gt;
      &amp;quot;immutabilityMode&amp;quot;: xsd:unsignedInt  {{Note|Enables immutability so that files cannot be deleted after they&#039;re created|inline=1}}&lt;br /&gt;
      &amp;quot;daysOfImmutability&amp;quot;: xsd:unsignedInt  {{Note|Disables immutability after specified number of days|inline=1}}&lt;br /&gt;
      &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt  {{Note|used to indicate the size below which IO is stored in the special metadata VDEV, 32K is recommended/default|inline=1}}&lt;br /&gt;
      &amp;quot;fileQuota&amp;quot;: xsd:unsignedLong  {{Note|file count quota, only applies to CephFS / scale-out storage pools|inline=1}}&lt;br /&gt;
      &amp;quot;permissionMask&amp;quot;: xsd:string  {{Note|specified in octal format such as 755755755 for owner, group, other|inline=1}}&lt;br /&gt;
      &amp;quot;enableRansomwareDetection&amp;quot;: xsd:boolean  {{Note|if true then the share will be monitored for anomolous activity|inline=1}}&lt;br /&gt;
      &amp;quot;ransomwareThresholds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;autoCalibrationDuration&amp;quot;: xsd:unsignedInt  {{Note|include rules for ransomware detection, directories and files that match any of these strings are included|inline=1}}&lt;br /&gt;
      &amp;quot;includeRules&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;excludeRules&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean  {{Note|indicates the share access is read-only via all protocols (NFS/SMB)|inline=1}}&lt;br /&gt;
      &amp;quot;caseSensitivity&amp;quot;: xsd:unsignedInt  {{Note|indicates the case sensitivity mode see [[#enum:caseSensitivity]]|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsCrossmount&amp;quot;: xsd:boolean  {{Note|Enables NFS crossmount option on the share|inline=1}}&lt;br /&gt;
      &amp;quot;subPool&amp;quot;: xsd:string  {{Note|The sub-pool associated with the cephFS pool|inline=1}}&lt;br /&gt;
      &amp;quot;templateId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCreateEx?name=val0&amp;amp;description=val1&amp;amp;provisionableId=val2&amp;amp;isPublic=val3&amp;amp;isActive=val4&amp;amp;enableCifs=val5&amp;amp;userAccessList=val6&amp;amp;cifsOptions=val7&amp;amp;disableSnapBrowsing=val8&amp;amp;spaceQuota=val9&amp;amp;spaceQuotaExcludeSnapshots=val10&amp;amp;syncPolicy=0&amp;amp;cachePolicyPrimary=0&amp;amp;cachePolicySecondary=0&amp;amp;compressionType=val14&amp;amp;copies=0&amp;amp;shareOwner=val16&amp;amp;shareOwnerGroup=val17&amp;amp;permissions=val18&amp;amp;blockSizeKb=0&amp;amp;spaceReserved=val20&amp;amp;vvolType=0&amp;amp;protocolEndPointId=val22&amp;amp;isCloudContainerCache=val23&amp;amp;nfsSecurityPolicy=0&amp;amp;parentShareId=val25&amp;amp;enableEncryption=val26&amp;amp;encryptionKeyPassphrase=val27&amp;amp;count=0&amp;amp;disableSmbSnapsDir=val29&amp;amp;disableNfsSnapsDir=val30&amp;amp;enableNfsSnapBrowsing=val31&amp;amp;immutabilityMode=0&amp;amp;daysOfImmutability=0&amp;amp;smallBlockThreshold=0&amp;amp;fileQuota=val35&amp;amp;permissionMask=val36&amp;amp;enableRansomwareDetection=val37&amp;amp;ransomwareThresholds=val38&amp;amp;autoCalibrationDuration=0&amp;amp;includeRules=val40&amp;amp;excludeRules=val41&amp;amp;readOnly=val42&amp;amp;caseSensitivity=0&amp;amp;enableNfsCrossmount=val44&amp;amp;subPool=val45&amp;amp;templateId=val46&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCreateEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareCreateFromTemplate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareCreateFromTemplate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;pool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;shareTemplate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;settingsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareCreateFromTemplate?name=val0&amp;amp;description=val1&amp;amp;pool=val2&amp;amp;shareTemplate=val3&amp;amp;settingsMask=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareCreateFromTemplate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareDataPoolLayoutModify ==&lt;br /&gt;
Updates the Data Pool Layout of the specified Network Share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareDataPoolLayoutModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|Name or UUID of the share to modify|inline=1}}&lt;br /&gt;
      &amp;quot;subPool&amp;quot;: xsd:string  {{Note|Name or UUID of the sub-pool to modify|inline=1}}&lt;br /&gt;
      &amp;quot;recursive&amp;quot;: xsd:boolean  {{Note|Whether to apply changes recursively. If recursive is false, any new files written to the share will be placed in the new layout, but existing files will remain in the old layout.|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareDataPoolLayoutModify?networkShare=val0&amp;amp;subPool=val1&amp;amp;recursive=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareDataPoolLayoutModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareDelete ==&lt;br /&gt;
destroys / deletes the specified share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareDelete?networkShareId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareDeleteEx ==&lt;br /&gt;
destroys / deletes the specified share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareDeleteEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareDeleteEx?networkShareList=val0&amp;amp;searchParams=val1&amp;amp;deleteOptions=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareDeleteEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareDisable ==&lt;br /&gt;
used disable all access to a [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareDisable?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareEnable ==&lt;br /&gt;
used enable a [[#osn:networkShare]], when enabled it can be accessed via NFS/SMB as configured&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareEnable?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareEncryptionKeyExport ==&lt;br /&gt;
Exports encryption keys into a key block that can be easily saved to a text file and restored later&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareEncryptionKeyExport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
    &amp;quot;keyBlock&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareEncryptionKeyExport?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareEncryptionKeyExport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareEncryptionKeyImport ==&lt;br /&gt;
Imports previously exported encryption keys so that they may be used to unlock media and activate a pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareEncryptionKeyImport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyBlock&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareEncryptionKeyImport?networkShare=val0&amp;amp;keyBlock=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareEncryptionKeyImport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareEnum ==&lt;br /&gt;
returns information about all Network Shares in the the storage grid, use networkShareSearch on larger grids with many [[#osn:networkShare]]s&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|list of shares to limit the enumeration to, recommend using networkShareSearch for more advanced fast searching and filtering|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareEnum?networkShareList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareEnumQuotas ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareEnumQuotas&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;userSpaceList&amp;quot;: [[#osn:networkShareQuota|osn:networkShareQuota]]&lt;br /&gt;
    &amp;quot;groupSpaceList&amp;quot;: [[#osn:networkShareQuota|osn:networkShareQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareEnumQuotas?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareEnumQuotas.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareFileCopy ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareFileCopy&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sourceFilePath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetFilePath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareFile|osn:networkShareFile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareFileCopy?networkShare=val0&amp;amp;sourceFilePath=val1&amp;amp;targetFilePath=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareFileCopy.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareFileCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareFileCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filePath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;thinProvisioned&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareFile|osn:networkShareFile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareFileCreate?networkShare=val0&amp;amp;filePath=val1&amp;amp;size=val2&amp;amp;thinProvisioned=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareFileCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareFileDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareFileDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;filePath&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareFile|osn:networkShareFile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareFileDelete?networkShare=val0&amp;amp;filePath=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareFileDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareFileLockEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareFileLockEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareFileLock|osn:networkShareFileLock]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareFileLockEnum?networkShareId=val0&amp;amp;storageSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareFileLockEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareGet ==&lt;br /&gt;
returns the object associated with the specified share name or UUID&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareGet?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareHealthCheck ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareHealthCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceHealthCheck|osn:resourceHealthCheck]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareHealthCheck?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareHealthCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareHoldAdd ==&lt;br /&gt;
holds are used to prevent a given snapshot from being deleted.  When immutability is enabled a snapshot with a hold is created automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareHoldAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;holdTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareHoldAdd?networkShare=val0&amp;amp;holdTag=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareHoldAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareHoldRemove ==&lt;br /&gt;
removes the hold with the specified name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareHoldRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name of UUID of the [[#osn:networkShare]]|inline=1}}&lt;br /&gt;
      &amp;quot;holdTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareHoldRemove?networkShare=val0&amp;amp;holdTag=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareHoldRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareJoinDomain ==&lt;br /&gt;
used to join the specified Storage System to the specified Active Directory Domain&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareJoinDomain&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;realm&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;kdc&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;domainAdmin&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;idmapMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;allowTrustedDomains&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;computerActOrgUnit&amp;quot;: xsd:string  {{Note|Create the computer account in the specified OU|inline=1}}&lt;br /&gt;
      &amp;quot;minUid&amp;quot;: xsd:unsignedLong  {{Note|Min value for custom UID range|inline=1}}&lt;br /&gt;
      &amp;quot;maxUid&amp;quot;: xsd:unsignedLong  {{Note|Max value for custom UID range|inline=1}}&lt;br /&gt;
      &amp;quot;minDefaultUid&amp;quot;: xsd:unsignedLong  {{Note|Min value for custom UID range|inline=1}}&lt;br /&gt;
      &amp;quot;maxDefaultUid&amp;quot;: xsd:unsignedLong  {{Note|Max value for custom UID range|inline=1}}&lt;br /&gt;
      &amp;quot;rangeSize&amp;quot;: xsd:unsignedLong  {{Note|range size for a domain when in autorid|inline=1}}&lt;br /&gt;
      &amp;quot;adJoinMode&amp;quot;: xsd:unsignedInt  {{Note|Join in winbind, SSSD or SSSD with Winbind mode|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareServiceConfig|osn:networkShareServiceConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareJoinDomain?storageSystemId=val0&amp;amp;domain=val1&amp;amp;realm=val2&amp;amp;kdc=val3&amp;amp;domainAdmin=val4&amp;amp;password=val5&amp;amp;idmapMode=0&amp;amp;allowTrustedDomains=val7&amp;amp;computerActOrgUnit=val8&amp;amp;minUid=val9&amp;amp;maxUid=val10&amp;amp;minDefaultUid=val11&amp;amp;maxDefaultUid=val12&amp;amp;rangeSize=val13&amp;amp;adJoinMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareJoinDomain.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareLeaveDomain ==&lt;br /&gt;
used to have the specified [[#osn:storageSystem]] leave the Active Directory Domain&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareLeaveDomain&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;domainAdmin&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;preserveAdUserAccessEntries&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareServiceConfig|osn:networkShareServiceConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareLeaveDomain?storageSystemId=val0&amp;amp;domainAdmin=val1&amp;amp;password=val2&amp;amp;preserveAdUserAccessEntries=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareLeaveDomain.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareLoadEncryptionKey ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareLoadEncryptionKey&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareLoadEncryptionKey?networkShare=val0&amp;amp;encryptionKeyPassphrase=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareLoadEncryptionKey.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareModify ==&lt;br /&gt;
used to modify the settings of a [[#osn:networkShare]], all fields must be specified as leaving an argument blank  will clear it on the object rather than preserve it&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name or UUID of the share to be modified|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|name of the share, cannot contain spaces or special characters|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|user specified description field saved in UTF8 format|inline=1}}&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean  {{Note|indicates the share is active/online and can be presented via NFS/SMB if access is configured|inline=1}}&lt;br /&gt;
      &amp;quot;enableCifs&amp;quot;: xsd:boolean  {{Note|indicates SMB access is enabled|inline=1}}&lt;br /&gt;
      &amp;quot;userAccessList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cifsOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Disable VSS (SMB) Browsing|inline=1}}&lt;br /&gt;
      &amp;quot;spaceQuota&amp;quot;: xsd:unsignedLong  {{Note|sets a share space quota (bytes)|inline=1}}&lt;br /&gt;
      &amp;quot;spaceQuotaExcludeSnapshots&amp;quot;: xsd:boolean  {{Note|if true the space quota ignores space used by snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt  {{Note|indicates the sync mode see [[#enum:syncPolicy]]|inline=1}}&lt;br /&gt;
      &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
      &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the L2ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
      &amp;quot;compressionType&amp;quot;: xsd:string  {{Note|select one of on,off,lzjb,zstd,gzip,zle,lz4|inline=1}}&lt;br /&gt;
      &amp;quot;copies&amp;quot;: xsd:unsignedInt  {{Note|number of copies of the data, default is 1, this is additional replica copies of the data on top of the RAIDZ/RAID10 pool layout protection already in place so it is generally not recommended.|inline=1}}&lt;br /&gt;
      &amp;quot;shareOwner&amp;quot;: xsd:string  {{Note|UID of share owner &#039;system&#039; level permission|inline=1}}&lt;br /&gt;
      &amp;quot;shareOwnerGroup&amp;quot;: xsd:string  {{Note|GID of share owner &#039;system&#039; level permission|inline=1}}&lt;br /&gt;
      &amp;quot;permissions&amp;quot;: xsd:string  {{Note|specified in octal format such as 755755755 for owner, group, other permissions or just 755 to only specify owner permissions.|inline=1}}&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt  {{Note|if 0 inerhits the default record size set on the pool, typically 128K|inline=1}}&lt;br /&gt;
      &amp;quot;isActiveCheckpoint&amp;quot;: xsd:boolean  {{Note|is automatically set to true if the DR site _checkpoint this share is specified is active. Set to &#039;false&#039; to clear active checkpoint state so that replication can resume.|inline=1}}&lt;br /&gt;
      &amp;quot;spaceReserved&amp;quot;: xsd:unsignedLong  {{Note|pre-reserved capacity in bytes, used to thick-provision space for the share|inline=1}}&lt;br /&gt;
      &amp;quot;modifyShareQuota&amp;quot;: xsd:boolean  {{Note|true shareQuota is modified, otherwise the values specified in spaceQuota are ignored|inline=1}}&lt;br /&gt;
      &amp;quot;nfsSecurityPolicy&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:nfsSecurityPolicy]]|inline=1}}&lt;br /&gt;
      &amp;quot;disableSmbSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables SMB _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;disableNfsSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables NFS _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Enables explicit NFS share/.zfs snapshot visibility|inline=1}}&lt;br /&gt;
      &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt  {{Note|used to indicate the size below which IO is stored in the special metadata VDEV, 32K is recommended/default|inline=1}}&lt;br /&gt;
      &amp;quot;fileQuota&amp;quot;: xsd:unsignedLong  {{Note|file count quota, only applies to CephFS / scale-out storage pools|inline=1}}&lt;br /&gt;
      &amp;quot;permissionMask&amp;quot;: xsd:string  {{Note|specified in octal format such as 755755755 for owner, group, other|inline=1}}&lt;br /&gt;
      &amp;quot;enableRansomwareDetection&amp;quot;: xsd:boolean  {{Note|if true then the share will be monitored for anomolous activity|inline=1}}&lt;br /&gt;
      &amp;quot;ransomwareThresholds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;autoCalibrationDuration&amp;quot;: xsd:unsignedInt  {{Note|if 0, no ransomeware detection auto calibration is enabled|inline=1}}&lt;br /&gt;
      &amp;quot;includeRules&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;excludeRules&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean  {{Note|indicates the share access is read-only via all protocols (NFS/SMB)|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsCrossmount&amp;quot;: xsd:boolean  {{Note|Enables NFS crossmount option on the share|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareModify?networkShare=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;isActive=val3&amp;amp;enableCifs=val4&amp;amp;userAccessList=val5&amp;amp;cifsOptions=val6&amp;amp;disableSnapBrowsing=val7&amp;amp;spaceQuota=val8&amp;amp;spaceQuotaExcludeSnapshots=val9&amp;amp;syncPolicy=0&amp;amp;cachePolicyPrimary=0&amp;amp;cachePolicySecondary=0&amp;amp;compressionType=val13&amp;amp;copies=0&amp;amp;shareOwner=val15&amp;amp;shareOwnerGroup=val16&amp;amp;permissions=val17&amp;amp;blockSizeKb=0&amp;amp;isActiveCheckpoint=val19&amp;amp;spaceReserved=val20&amp;amp;modifyShareQuota=val21&amp;amp;nfsSecurityPolicy=0&amp;amp;disableSmbSnapsDir=val23&amp;amp;disableNfsSnapsDir=val24&amp;amp;enableNfsSnapBrowsing=val25&amp;amp;smallBlockThreshold=0&amp;amp;fileQuota=val27&amp;amp;permissionMask=val28&amp;amp;enableRansomwareDetection=val29&amp;amp;ransomwareThresholds=val30&amp;amp;autoCalibrationDuration=0&amp;amp;includeRules=val32&amp;amp;excludeRules=val33&amp;amp;readOnly=val34&amp;amp;enableNfsCrossmount=val35&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareMove ==&lt;br /&gt;
used to move a nested Network Share (eg homes/math/jane) to another location (eg homes/physics/jane) in the share hierarchy for a given Storage Pool.  This can only be done with nested Network Shares on scale-up pools.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareMove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name or UUID of the share to be moved|inline=1}}&lt;br /&gt;
      &amp;quot;newParent&amp;quot;: xsd:string  {{Note|new parent share location for the share. Share will be moved inside this dataset.|inline=1}}&lt;br /&gt;
      &amp;quot;newShareName&amp;quot;: xsd:string  {{Note|Optionally rename the share as part of the move|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareMove?networkShare=val0&amp;amp;newParent=val1&amp;amp;newShareName=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareMove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceAddRemove ==&lt;br /&gt;
adds one or more shares to the specified [[#osn:networkShareNamespace]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;preferredPortList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;shareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceAddRemove?networkShareNamespace=val0&amp;amp;modType=0&amp;amp;preferredPortList=val2&amp;amp;shareList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceCreate ==&lt;br /&gt;
Network Share Namespaces use NFS redirects and SMB DFS in order to present a group of shares from more than one Storage System even if the specified Storage System does not serve the share.  This makes it easier for users to find Network Shares especially in large environments with many Storage Systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|name for the namespace|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|description for the namespace|inline=1}}&lt;br /&gt;
      &amp;quot;enableMicrosoftDfs&amp;quot;: xsd:boolean  {{Note|if true the namespace appears when SMB browsing|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsRefferals&amp;quot;: xsd:boolean  {{Note|if true the namespace appears when NFS browsing|inline=1}}&lt;br /&gt;
      &amp;quot;dfsMode&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:dfsNamespaceModeType]]|inline=1}}&lt;br /&gt;
      &amp;quot;preferredPortList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;shareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|list of [[#osn:networkShare]]s idenfied by UUID to be included in the [[#osn:networkShareNamespace]]|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceCreate?name=val0&amp;amp;description=val1&amp;amp;enableMicrosoftDfs=val2&amp;amp;enableNfsRefferals=val3&amp;amp;dfsMode=0&amp;amp;preferredPortList=val5&amp;amp;shareList=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceDelete ==&lt;br /&gt;
deletes the specified [[#osn:networkShareNamespace]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceDelete?networkShareNamespace=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceEnum ==&lt;br /&gt;
enumerates a list of all the [[#osn:networkShareNamespace]] in the storage grid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceGet?networkShareNamespace=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceModify ==&lt;br /&gt;
modifies the settings of the specified [[#osn:networkShareNamespace]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string  {{Note|name or UUID of the namespace|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|new name for the namespace|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|new description for the namespace|inline=1}}&lt;br /&gt;
      &amp;quot;enableMicrosoftDfs&amp;quot;: xsd:boolean  {{Note|if true the namespace appears when SMB browsing|inline=1}}&lt;br /&gt;
      &amp;quot;enableNfsRefferals&amp;quot;: xsd:boolean  {{Note|if true the namespace appears when NFS browsing|inline=1}}&lt;br /&gt;
      &amp;quot;dfsMode&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:dfsNamespaceModeType]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceModify?networkShareNamespace=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;enableMicrosoftDfs=val3&amp;amp;enableNfsRefferals=val4&amp;amp;dfsMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceShareAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceShareAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareNamespaceShareAssoc|osn:networkShareNamespaceShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceShareAssocEnum?networkShareNamespace=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceShareAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceShareAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceShareAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespaceShareAssoc|osn:networkShareNamespaceShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceShareAssocGet?networkShareNamespace=val0&amp;amp;networkShare=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceShareAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceSystemAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceSystemAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareNamespaceSystemAssoc|osn:networkShareNamespaceSystemAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceSystemAssocEnum?networkShareNamespace=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceSystemAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNamespaceSystemAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNamespaceSystemAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareNamespace&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareNamespaceSystemAssoc|osn:networkShareNamespaceSystemAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNamespaceSystemAssocGet?networkShareNamespace=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNamespaceSystemAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareNfsConfig ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareNfsConfig&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nfsMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableKerberos&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;defaultOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reserved&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nfsKerberosMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;disableBrowsing&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;defaultNfsSecurityPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;nfsServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;nfsManageGids&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareServiceConfig|osn:networkShareServiceConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareNfsConfig?storageSystem=val0&amp;amp;nfsMode=0&amp;amp;enableKerberos=val2&amp;amp;defaultOptions=val3&amp;amp;reserved=val4&amp;amp;nfsKerberosMode=0&amp;amp;disableBrowsing=val6&amp;amp;defaultNfsSecurityPolicy=0&amp;amp;nfsServerType=0&amp;amp;nfsManageGids=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareNfsConfig.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkSharePromote ==&lt;br /&gt;
Used to promote a GMT snapshot to a fast clone and promote it. Also used to promote the demoted share back to the original share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkSharePromote&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|name or UUID of the share to be promoted|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkSharePromote?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkSharePromote.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareRemoveGroupQuota ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareRemoveGroupQuota&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;group&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareRemoveGroupQuota?networkShare=val0&amp;amp;group=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareRemoveGroupQuota.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareRemoveUserQuota ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareRemoveUserQuota&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareRemoveUserQuota?networkShare=val0&amp;amp;user=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareRemoveUserQuota.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareRestore ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareRestore&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareRestore?networkShare=val0&amp;amp;snapshotShare=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareRestore.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareRollback ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareRollback&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareRollback?networkShare=val0&amp;amp;snapshotShare=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareRollback.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareRollbackClone ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareRollbackClone&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;snapshotShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareRollbackClone?snapshotShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareRollbackClone.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSearch ==&lt;br /&gt;
similar to networkShareEnum but enables fast searching of shares by attribute and cursor base gathering of results&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxResults&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
    &amp;quot;objCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareSearch?searchParams=val0&amp;amp;maxResults=0&amp;amp;offset=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareServicesRestart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareServicesRestart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;restartNfs&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;restartSamba&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareServicesRestart?storageSystem=val0&amp;amp;restartNfs=val1&amp;amp;restartSamba=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareServicesRestart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSessionEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSessionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareSession|osn:networkShareSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareSessionEnum?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareSessionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSessionGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSessionGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;sessionId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareSession|osn:networkShareSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareSessionGet?sessionId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareSessionGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSetPassphrase ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSetPassphrase&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;oldEncryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newEncryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareSetPassphrase?networkShare=val0&amp;amp;oldEncryptionKeyPassphrase=val1&amp;amp;newEncryptionKeyPassphrase=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareSetPassphrase.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSetQuotas ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSetQuotas&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;list&amp;quot;: [[#osn:networkShareQuota|osn:networkShareQuota]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareSnapshot ==&lt;br /&gt;
Creates a snapshot of the specified Network Share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareSnapshot&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string  {{Note|Name or UUID of the Network Share|inline=1}}&lt;br /&gt;
      &amp;quot;snapshotName&amp;quot;: xsd:string  {{Note|snapshot name, if left blank a @GMT stamped snapshot will be created which is accessible via &#039;Previous Versions&#039; in Windows|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|optional description|inline=1}}&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string  {{Note|UUID or name of the storage pool, if blank uses the pool associated with the source share|inline=1}}&lt;br /&gt;
      &amp;quot;readOnly&amp;quot;: xsd:boolean  {{Note|snapshot to be marked read-only|inline=1}}&lt;br /&gt;
      &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;uuid&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareSnapshot?networkShare=val0&amp;amp;snapshotName=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;readOnly=val4&amp;amp;isActive=val5&amp;amp;uuid=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareSnapshot.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateApply ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateApply&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareTemplate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;settingsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateApply?networkShareTemplate=val0&amp;amp;networkShare=val1&amp;amp;settingsMask=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateApply.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;settingsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateCreate?networkShareId=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;isDefault=val3&amp;amp;settingsMask=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareTemplate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateDelete?networkShareTemplate=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateEnum ==&lt;br /&gt;
returns information about all Network Share Templates in the the storage grid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareTemplate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateGet?networkShareTemplate=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareTemplateModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareTemplateModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareTemplate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;settingsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareTemplate|osn:networkShareTemplate]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareTemplateModify?networkShareTemplate=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;isDefault=val3&amp;amp;settingsMask=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareTemplateModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareUnloadEncryptionKey ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareUnloadEncryptionKey&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareUnloadEncryptionKey?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareUnloadEncryptionKey.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareUserAccessEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareUserAccessEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:networkShareUserAccess|osn:networkShareUserAccess]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareUserAccessEnum?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareUserAccessEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== networkShareUserAccessGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;networkShareUserAccessGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShareUserAccessId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:networkShareUserAccess|osn:networkShareUserAccess]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/networkShareUserAccessGet?networkShareUserAccessId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @networkShareUserAccessGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;propKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propValue&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectEnum?propKey=val0&amp;amp;propValue=val1&amp;amp;propType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:object|osn:object]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectGet?objectId=val0&amp;amp;objectType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectPropertyDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectPropertyDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectProperty|osn:objectProperty]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectPropertyDelete?objectId=val0&amp;amp;propKey=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectPropertyDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectPropertyEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectPropertyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:objectProperty|osn:objectProperty]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectPropertyEnum?objectId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectPropertyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectPropertyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectPropertyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectProperty|osn:objectProperty]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectPropertyGet?objectId=val0&amp;amp;propKey=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectPropertyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectPropertySet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectPropertySet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;propKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propValue&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;propType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectProperty|osn:objectProperty]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectPropertySet?objectId=val0&amp;amp;objectType=0&amp;amp;propKey=val2&amp;amp;propValue=val3&amp;amp;propType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectPropertySet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectSyncPolicyCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectSyncPolicyCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;srcCephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;destCephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;policyName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;policyDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;policyStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flowDirection&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flowSourceZone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flowDestZone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;srcBucket&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;destBucket&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectSyncPolicy|osn:objectSyncPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectSyncPolicyCreate?srcCephCluster=val0&amp;amp;destCephCluster=val1&amp;amp;policyName=val2&amp;amp;policyDescription=val3&amp;amp;policyStatus=0&amp;amp;flowDirection=0&amp;amp;flowSourceZone=val6&amp;amp;flowDestZone=val7&amp;amp;srcBucket=val8&amp;amp;destBucket=val9&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectSyncPolicyCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectSyncPolicyDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectSyncPolicyDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectSyncPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectSyncPolicy|osn:objectSyncPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectSyncPolicyDelete?objectSyncPolicy=val0&amp;amp;cephCluster=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectSyncPolicyDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectSyncPolicyEnum ==&lt;br /&gt;
If neither bucket nor zone are specified, all object sync policies in the cluster are returned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectSyncPolicyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucket&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;zone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:objectSyncPolicy|osn:objectSyncPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectSyncPolicyEnum?cephCluster=val0&amp;amp;bucket=val1&amp;amp;zone=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectSyncPolicyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectSyncPolicyGet ==&lt;br /&gt;
Returns detailed info of the specified object sync policy.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectSyncPolicyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectSyncPolicy&amp;quot;: xsd:string  {{Note|Name or ID of the sync group|inline=1}}&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string  {{Note|Ceph cluster ID|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectSyncPolicy|osn:objectSyncPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectSyncPolicyGet?objectSyncPolicy=val0&amp;amp;cephCluster=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectSyncPolicyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== objectSyncPolicyModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;objectSyncPolicyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;objectSyncPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cephCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;policyStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:objectSyncPolicy|osn:objectSyncPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/objectSyncPolicyModify?objectSyncPolicy=val0&amp;amp;cephCluster=val1&amp;amp;policyStatus=0&amp;amp;description=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @objectSyncPolicyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== passwordPolicyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;passwordPolicyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:passwordPolicy|osn:passwordPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/passwordPolicyGet?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @passwordPolicyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== passwordPolicySet ==&lt;br /&gt;
Sets the policy for user password complexity enforcement.  Use [[#passwordPolicyGet]] to get current settings then call Set to modify with adjusted values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;passwordPolicySet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;allowedSpecialChars&amp;quot;: xsd:string  {{Note|set of allowed special characters|inline=1}}&lt;br /&gt;
      &amp;quot;complexityReq&amp;quot;: xsd:unsignedInt  {{Note|see [[enum:passwordComplexityReq]]|inline=1}}&lt;br /&gt;
      &amp;quot;minLength&amp;quot;: xsd:unsignedInt  {{Note|Minimum password length, should always be &amp;gt;= 8|inline=1}}&lt;br /&gt;
      &amp;quot;maxLength&amp;quot;: xsd:unsignedInt  {{Note|Maximum allowed password length|inline=1}}&lt;br /&gt;
      &amp;quot;allowedLoginAttemptsUntilShortLockout&amp;quot;: xsd:unsignedInt  {{Note|Number of bad logins until account hits 2 min temporary lockout, 0 indicates no lockout|inline=1}}&lt;br /&gt;
      &amp;quot;allowedLoginAttemptsUntilPermLockout&amp;quot;: xsd:unsignedInt  {{Note|Number of bad logins until account is locked, 0 indicates no lockout|inline=1}}&lt;br /&gt;
      &amp;quot;shortLockoutSamplePeriod&amp;quot;: xsd:unsignedInt  {{Note|Sample period over which bad logins are collected to determine if a short lockout should be applied|inline=1}}&lt;br /&gt;
      &amp;quot;permLockoutSamplePeriod&amp;quot;: xsd:unsignedInt  {{Note|Sample period over which bad logins are collected to determine if a perm lockout should be applied|inline=1}}&lt;br /&gt;
      &amp;quot;shortLockoutDuration&amp;quot;: xsd:unsignedInt  {{Note|Duration of temporary/short login due to bad password attempts|inline=1}}&lt;br /&gt;
      &amp;quot;daysUntilExpiration&amp;quot;: xsd:unsignedInt  {{Note|Number of days until user password expires, 0 indicates no expiration.|inline=1}}&lt;br /&gt;
      &amp;quot;uniquePasswordsUntilReuse&amp;quot;: xsd:unsignedInt  {{Note|prevents users from reusing passwords by recording previously used password hashes|inline=1}}&lt;br /&gt;
      &amp;quot;minDaysBetweenPasswordChange&amp;quot;: xsd:unsignedInt  {{Note|minimum days between password change makes it so that passwords cannot be frequently modified, 0 indicates no min days|inline=1}}&lt;br /&gt;
      &amp;quot;minutesUntilWebAutoLogout&amp;quot;: xsd:unsignedInt  {{Note|Time elapsed until automatic web logout from the WUI if user is idle|inline=1}}&lt;br /&gt;
      &amp;quot;systemUseNotification&amp;quot;: xsd:string  {{Note|arbitrary notice to present in the WUI when users login|inline=1}}&lt;br /&gt;
      &amp;quot;webAccessMode&amp;quot;: xsd:unsignedInt  {{Note|0 allow HTTP &amp;amp; HTTPS, 1 disable HTTP, 2 redirect HTTP port to HTTPS|inline=1}}&lt;br /&gt;
      &amp;quot;accountInactiveDaysUntilLockout&amp;quot;: xsd:unsignedInt  {{Note|locks out inactive accounts not used for a given amount of time, set to 0 for no lockout|inline=1}}&lt;br /&gt;
      &amp;quot;defaultLoginUsername&amp;quot;: xsd:string  {{Note|default username to present on login|inline=1}}&lt;br /&gt;
      &amp;quot;multiAdminApprovalTypes&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;multiAdminApprovalCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;multiAdminApprovalExpirationHours&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:passwordPolicy|osn:passwordPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/passwordPolicySet?allowedSpecialChars=val0&amp;amp;complexityReq=0&amp;amp;minLength=0&amp;amp;maxLength=0&amp;amp;allowedLoginAttemptsUntilShortLockout=0&amp;amp;allowedLoginAttemptsUntilPermLockout=0&amp;amp;shortLockoutSamplePeriod=0&amp;amp;permLockoutSamplePeriod=0&amp;amp;shortLockoutDuration=0&amp;amp;daysUntilExpiration=0&amp;amp;uniquePasswordsUntilReuse=0&amp;amp;minDaysBetweenPasswordChange=0&amp;amp;minutesUntilWebAutoLogout=0&amp;amp;systemUseNotification=val13&amp;amp;webAccessMode=0&amp;amp;accountInactiveDaysUntilLockout=0&amp;amp;defaultLoginUsername=val16&amp;amp;multiAdminApprovalTypes=val17&amp;amp;multiAdminApprovalCount=0&amp;amp;multiAdminApprovalExpirationHours=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @passwordPolicySet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pendingOperationRequestApprove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pendingOperationRequestApprove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;requestIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:pendingOperationRequest|osn:pendingOperationRequest]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pendingOperationRequestApprove?requestIdList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pendingOperationRequestApprove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pendingOperationRequestClearAll ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pendingOperationRequestClearAll&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:pendingOperationRequest|osn:pendingOperationRequest]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pendingOperationRequestClearAll?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pendingOperationRequestClearAll.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pendingOperationRequestEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pendingOperationRequestEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:pendingOperationRequest|osn:pendingOperationRequest]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pendingOperationRequestEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pendingOperationRequestEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pendingOperationRequestGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pendingOperationRequestGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;requestId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:pendingOperationRequest|osn:pendingOperationRequest]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pendingOperationRequestGet?requestId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pendingOperationRequestGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pendingOperationRequestReject ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pendingOperationRequestReject&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;requestIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:pendingOperationRequest|osn:pendingOperationRequest]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pendingOperationRequestReject?requestIdList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pendingOperationRequestReject.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== permissionDefinitionEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;permissionDefinitionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:permissionDefinition|osn:permissionDefinition]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/permissionDefinitionEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @permissionDefinitionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskCopy ==&lt;br /&gt;
Provide a way for 3rd party SAN FC/iSCSI LUNs (Block Device) or Storage Volume to be copied to a new Storage Volume, Network Share, or Block Device&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskCopy&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;sourceId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sourceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;targetType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;targetName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;targetImageFileType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;storageVolumeObj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;networkShareObj&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
    &amp;quot;physicalDiskObj&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskCopy?sourceId=val0&amp;amp;targetId=val1&amp;amp;sourceType=0&amp;amp;targetType=0&amp;amp;targetName=val4&amp;amp;blockSizeKb=0&amp;amp;targetImageFileType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskCopy.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskEnum ==&lt;br /&gt;
Returns a list of all disk/storage media devices. Optionally specific disks or filter criteria may be passed into the physical disk list including, [nopaths], [paths], [spares], [nospares], [local], [used], [unused], [N] where N is some number of unused disks to be selected, [gt:SIZE] indicating the disk size must be greater than some value SIZE, [lt:SIZE] for disks less than a specific size, and [eq:SIZE] for disks that are a specific size. Other APIs including [[#storagePoolCreate]], [[#storagePoolGrow]], [[#storagePoolSpareAddRemove]], and [[#storagePoolCacheAddRemove]] also support this filtering / disk search syntax.  Other supported filter parameters includ storage system IDs, friendly disk names, device names like &#039;sdc&#039;, device paths, device scsiId, device serialNumber, and property filters like [vendor:VVVV], [product:PPPP], and [disktype:N].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|supports the NORMALIZE flag to reduce results so that multiple instances of the same disk (from different systems and/or controllers) is reduced to a unique instance of each disk|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskEnum?physicalDiskList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskFormat ==&lt;br /&gt;
Formats the specified physical disk with optional data shreding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskFormat&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDriveIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;quickFormat&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;shredMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;releaseIoFence&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskFormat?physicalDriveIdList=val0&amp;amp;quickFormat=0&amp;amp;shredMode=0&amp;amp;releaseIoFence=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskFormat.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDrive&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskGet?physicalDrive=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskGlobalSpareAddRemove ==&lt;br /&gt;
Add/Removes the specified disks to the pool of global hot-spares.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskGlobalSpareAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDriveList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskGlobalSpareAddRemove?physicalDriveList=val0&amp;amp;modType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskGlobalSpareAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskGlobalSpareEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskGlobalSpareEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskGlobalSpareEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskGlobalSpareEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskHotspareMarkerCleanup ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskHotspareMarkerCleanup&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDiskHotspareMarker|osn:physicalDiskHotspareMarker]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskHotspareMarkerCleanup?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskHotspareMarkerCleanup.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskHotspareMarkerDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskHotspareMarkerDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;markerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:physicalDiskHotspareMarker|osn:physicalDiskHotspareMarker]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskHotspareMarkerDelete?markerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskHotspareMarkerDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskHotspareMarkerEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskHotspareMarkerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDiskHotspareMarker|osn:physicalDiskHotspareMarker]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskHotspareMarkerEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskHotspareMarkerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskHotspareMarkerGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskHotspareMarkerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;markerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:physicalDiskHotspareMarker|osn:physicalDiskHotspareMarker]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskHotspareMarkerGet?markerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskHotspareMarkerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskIdentify ==&lt;br /&gt;
Activates the LED beacon on the specified drive.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDrive&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;pattern&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;duration&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskIdentify?physicalDrive=val0&amp;amp;pattern=val1&amp;amp;duration=0&amp;amp;blinkType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskMultipathConfigAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskMultipathConfigAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;deviceTagList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:multipathConfig|osn:multipathConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskMultipathConfigAddRemove?storageSystemId=val0&amp;amp;modType=0&amp;amp;deviceTagList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskMultipathConfigAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskMultipathConfigEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskMultipathConfigEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:multipathConfig|osn:multipathConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskMultipathConfigEnum?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskMultipathConfigEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskMultipathConfigScan ==&lt;br /&gt;
Forces an immediate scan and configuration of multipath devices on the specified system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskMultipathConfigScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:multipathConfig|osn:multipathConfig]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskMultipathConfigScan?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskMultipathConfigScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskPerfTest ==&lt;br /&gt;
Performance tests the specified physical disk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskPerfTest&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDriveIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;perfTestType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blockSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;blockCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskPerfTest?physicalDriveIdList=val0&amp;amp;perfTestType=0&amp;amp;blockSize=val2&amp;amp;blockCount=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskPerfTest.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskScan ==&lt;br /&gt;
Forces an immediate rescan to discover disk devices&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskScan?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== physicalDiskSecureEraseHardReset ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;physicalDiskSecureEraseHardReset&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;physicalDriveList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;psidPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/physicalDiskSecureEraseHardReset?physicalDriveList=val0&amp;amp;psidPassphrase=val1&amp;amp;options=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @physicalDiskSecureEraseHardReset.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== pingCheck ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;pingCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;verifyClientIps&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/pingCheck?storageSystem=val0&amp;amp;verifyClientIps=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @pingCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portalGroupOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;portIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:portalGroup|osn:portalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupCreate?name=val0&amp;amp;storagePoolId=val1&amp;amp;description=val2&amp;amp;portalGroupOptions=0&amp;amp;portIdList=val4&amp;amp;storageVolumeIdList=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;portalGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:portalGroup|osn:portalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupDelete?portalGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:portalGroup|osn:portalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;portalGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:portalGroup|osn:portalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupGet?portalGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;portalGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portalGroupOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;portIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:portalGroup|osn:portalGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupModify?portalGroup=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;portalGroupOptions=0&amp;amp;portIdList=val4&amp;amp;storageVolumeIdList=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupPortAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupPortAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;portalGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:portalGroupPortAssoc|osn:portalGroupPortAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupPortAssocEnum?portalGroupId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupPortAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== portalGroupPortAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;portalGroupPortAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;portalGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:portalGroupPortAssoc|osn:portalGroupPortAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/portalGroupPortAssocGet?portalGroupId=val0&amp;amp;portId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @portalGroupPortAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== providerAppEnum ==&lt;br /&gt;
Returns a list of registered Provider Apps (ex: VMware VASA).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;providerAppEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:providerApp|osn:providerApp]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/providerAppEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @providerAppEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== providerAppGet ==&lt;br /&gt;
Returns details of a specific Provider App registered on a Storage System&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;providerAppGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:providerApp|osn:providerApp]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/providerAppGet?storageSystem=val0&amp;amp;providerType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @providerAppGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== providerAppRegister ==&lt;br /&gt;
Registers an external provider component with the Storage Grid (ex: VASA)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;providerAppRegister&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:providerApp|osn:providerApp]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/providerAppRegister?storageSystem=val0&amp;amp;providerType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @providerAppRegister.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== providerAppUnregister ==&lt;br /&gt;
Unreigsters a provider (ex: VMware VASA)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;providerAppUnregister&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;providerApp&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:providerApp|osn:providerApp]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/providerAppUnregister?providerApp=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @providerAppUnregister.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== qosPolicyCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;qosPolicyCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;qosReadIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosReadBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:qosPolicy|osn:qosPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/qosPolicyCreate?name=val0&amp;amp;description=val1&amp;amp;qosReadIops=val2&amp;amp;qosWriteIops=val3&amp;amp;qosReadBandwidth=val4&amp;amp;qosWriteBandwidth=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @qosPolicyCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== qosPolicyDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;qosPolicyDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:qosPolicy|osn:qosPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/qosPolicyDelete?qosPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @qosPolicyDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== qosPolicyEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;qosPolicyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:qosPolicy|osn:qosPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/qosPolicyEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @qosPolicyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== qosPolicyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;qosPolicyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:qosPolicy|osn:qosPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/qosPolicyGet?qosPolicy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @qosPolicyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== qosPolicyModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;qosPolicyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;qosReadIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosReadBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:qosPolicy|osn:qosPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/qosPolicyModify?qosPolicy=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;qosReadIops=val3&amp;amp;qosWriteIops=val4&amp;amp;qosReadBandwidth=val5&amp;amp;qosWriteBandwidth=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @qosPolicyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== remoteNfsExportsEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;remoteNfsExportsEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nfsHostname&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;backupPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/remoteNfsExportsEnum?networkShare=val0&amp;amp;nfsHostname=val1&amp;amp;backupPolicy=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @remoteNfsExportsEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== remoteStoragePoolEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;remoteStoragePoolEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;remoteStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/remoteStoragePoolEnum?remoteStorageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @remoteStoragePoolEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaAssocDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaAssocDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteSourceReplicatable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;deleteTargetReplicatable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;deleteReplicaAssocHead&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaAssocDelete?assocId=val0&amp;amp;deleteSourceReplicatable=val1&amp;amp;deleteTargetReplicatable=val2&amp;amp;deleteReplicaAssocHead=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaAssocDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;replicatableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sourcesOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;targetsOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaAssocEnum?replicatableId=val0&amp;amp;sourcesOnly=val1&amp;amp;targetsOnly=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaAssocGet?assocId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaAssocUpdate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaAssocUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocObj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;replicatableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemLinkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;replicaName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;replicaDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetStoragePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smartSync&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;forcePrimary&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;reserved&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaCreate?replicatableId=val0&amp;amp;storageSystemLinkId=val1&amp;amp;replicaName=val2&amp;amp;replicaDescription=val3&amp;amp;targetStoragePoolId=val4&amp;amp;smartSync=val5&amp;amp;forcePrimary=val6&amp;amp;reserved=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaReportEntryEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaReportEntryEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;summaryId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:replicaReportEntry|osn:replicaReportEntry]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaReportEntryEnum?summaryId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaReportEntryEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaReportEntryGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaReportEntryGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;entryId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaReportEntry|osn:replicaReportEntry]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaReportEntryGet?entryId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaReportEntryGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaReportSummaryDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaReportSummaryDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;summaryId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaReportSummary|osn:replicaReportSummary]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaReportSummaryDelete?summaryId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaReportSummaryDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaReportSummaryEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaReportSummaryEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;scheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:replicaReportSummary|osn:replicaReportSummary]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaReportSummaryEnum?scheduleId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaReportSummaryEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaReportSummaryGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaReportSummaryGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;entryId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaReportSummary|osn:replicaReportSummary]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaReportSummaryGet?entryId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaReportSummaryGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaRollback ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaRollback&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaRollback?assocId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaRollback.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaStop ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaStop&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaStop?assocId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaStop.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicaSync ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicaSync&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;assocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicaSync?assocId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicaSync.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleActivateCheckpoints ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleActivateCheckpoints&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;autoCreateAliases&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleActivateCheckpoints?schedule=val0&amp;amp;storageVolumeList=val1&amp;amp;networkShareList=val2&amp;amp;autoCreateAliases=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleActivateCheckpoints.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleAddRemove?schedule=val0&amp;amp;modType=0&amp;amp;storageVolumeList=val2&amp;amp;networkShareList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:replicationScheduleAssocEx|osn:replicationScheduleAssocEx]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleAssocEnum?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;scheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;replicatableId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationScheduleAssocEx|osn:replicationScheduleAssocEx]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleAssocGet?scheduleId=val0&amp;amp;replicatableId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemLinkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetResourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetProvisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;priority&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;maxReplicas&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailiesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeekliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailiesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeekliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;reuseSourceSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;reuseTargetChkpnt&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;scheduleActivationVifId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;retentionCountSumReports&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableResumableReplication&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;absorbOldSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;copyShareSettings&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleCreate?name=val0&amp;amp;description=val1&amp;amp;resourceGroupId=val2&amp;amp;storageSystemLinkId=val3&amp;amp;targetResourceGroupId=val4&amp;amp;targetProvisionableId=val5&amp;amp;priority=0&amp;amp;setEnabled=0&amp;amp;startDate=val8&amp;amp;maxReplicas=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;storageVolumeList=val12&amp;amp;networkShareList=val13&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourliesSrc=0&amp;amp;retentionCountDailiesSrc=0&amp;amp;retentionCountWeekliesSrc=0&amp;amp;retentionCountMonthliesSrc=0&amp;amp;retentionCountQuarterliesSrc=0&amp;amp;retentionCountHourliesDst=0&amp;amp;retentionCountDailiesDst=0&amp;amp;retentionCountWeekliesDst=0&amp;amp;retentionCountMonthliesDst=0&amp;amp;retentionCountQuarterliesDst=0&amp;amp;reuseSourceSnapshot=val27&amp;amp;reuseTargetChkpnt=val28&amp;amp;scheduleActivationVifId=val29&amp;amp;retentionCountSumReports=0&amp;amp;enableRecursiveNestedShares=val31&amp;amp;enableResumableReplication=val32&amp;amp;absorbOldSnapshots=val33&amp;amp;copyShareSettings=val34&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleDeactivateCheckpoints ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleDeactivateCheckpoints&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reenableSchedule&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleDeactivateCheckpoints?schedule=val0&amp;amp;storageVolumeList=val1&amp;amp;networkShareList=val2&amp;amp;reenableSchedule=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleDeactivateCheckpoints.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleDelete?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleDisable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleDisable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleEnable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleEnable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleGet?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;maxReplicas&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailiesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeekliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailiesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeekliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterliesDst&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;reuseSourceSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;reuseTargetChkpnt&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;scheduleActivationVifId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;retentionCountSumReports&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableResumableReplication&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;absorbOldSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;oldScheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;copyShareSettings&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleModify?schedule=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;resourceGroupId=val3&amp;amp;setEnabled=0&amp;amp;startDate=val5&amp;amp;maxReplicas=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourliesSrc=0&amp;amp;retentionCountDailiesSrc=0&amp;amp;retentionCountWeekliesSrc=0&amp;amp;retentionCountMonthliesSrc=0&amp;amp;retentionCountQuarterliesSrc=0&amp;amp;retentionCountHourliesDst=0&amp;amp;retentionCountDailiesDst=0&amp;amp;retentionCountWeekliesDst=0&amp;amp;retentionCountMonthliesDst=0&amp;amp;retentionCountQuarterliesDst=0&amp;amp;reuseSourceSnapshot=val22&amp;amp;reuseTargetChkpnt=val23&amp;amp;scheduleActivationVifId=val24&amp;amp;retentionCountSumReports=0&amp;amp;enableRecursiveNestedShares=val26&amp;amp;enableResumableReplication=val27&amp;amp;absorbOldSnapshots=val28&amp;amp;oldScheduleId=val29&amp;amp;copyShareSettings=val30&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleTrigger ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleTrigger&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reuseSourceSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;reuseTargetChkpnt&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;copyShareSettings&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleTrigger?schedule=val0&amp;amp;reuseSourceSnapshot=val1&amp;amp;reuseTargetChkpnt=val2&amp;amp;copyShareSettings=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleTrigger.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== replicationScheduleTriggerRollback ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;replicationScheduleTriggerRollback&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:replicationSchedule|osn:replicationSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/replicationScheduleTriggerRollback?schedule=val0&amp;amp;storageVolumeList=val1&amp;amp;networkShareList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @replicationScheduleTriggerRollback.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportGenerate ==&lt;br /&gt;
Does analysis of the configuration of each Storage System and the grid as a whole and returns a report.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportGenerate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;reportType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;categories&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;reportToEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportToAlertEmails&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveReport&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveLocation&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;outputFormat&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storagePoolIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxDepth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSubdirs&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minSubdirUsedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxBuckets&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per tenant|inline=1}}&lt;br /&gt;
      &amp;quot;maxUsers&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per user|inline=1}}&lt;br /&gt;
      &amp;quot;minUserUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to users with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;minBucketUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to buckets with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:report|osn:report]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportGenerate?reportType=0&amp;amp;categories=0&amp;amp;reportToEmail=val2&amp;amp;reportToAlertEmails=val3&amp;amp;saveReport=val4&amp;amp;saveLocation=val5&amp;amp;outputFormat=0&amp;amp;storagePoolIdList=val7&amp;amp;maxDepth=0&amp;amp;maxSubdirs=0&amp;amp;minSubdirUsedSpace=val10&amp;amp;maxBuckets=0&amp;amp;maxUsers=0&amp;amp;minUserUtilizedSpace=val13&amp;amp;minBucketUtilizedSpace=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportGenerate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleAddRemove ==&lt;br /&gt;
Used to add/remove Storage Pools to/from a given report schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;reportableIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|Pool ID list for pool capacity and share usage reports|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleAddRemove?schedule=val0&amp;amp;modType=0&amp;amp;reportableIdList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:reportScheduleAssoc|osn:reportScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleAssocEnum?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;scheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportableId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportScheduleAssoc|osn:reportScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleAssocGet?scheduleId=val0&amp;amp;reportableId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleCreate ==&lt;br /&gt;
Creates a new report schedule to email/notify of health status and pool usage&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportToEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportToAlertEmails&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveReport&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveLocation&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportTypes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;outputFormat&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;initialStartDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSubdirDepth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSubdirsPerShare&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minSubdirUsedSpace&amp;quot;: xsd:unsignedLong  {{Note|Pool ID list for pool capacity and share usage reports. Only one object pool per schedule|inline=1}}&lt;br /&gt;
      &amp;quot;reportableIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxBuckets&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per tenant|inline=1}}&lt;br /&gt;
      &amp;quot;maxUsers&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per user|inline=1}}&lt;br /&gt;
      &amp;quot;minUserUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to users with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;minBucketUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to buckets with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleCreate?name=val0&amp;amp;description=val1&amp;amp;reportToEmail=val2&amp;amp;reportToAlertEmails=val3&amp;amp;saveReport=val4&amp;amp;saveLocation=val5&amp;amp;reportTypes=0&amp;amp;outputFormat=0&amp;amp;setEnabled=0&amp;amp;scheduleType=0&amp;amp;initialStartDate=val10&amp;amp;delayInterval=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;offsetMinutes=0&amp;amp;maxSubdirDepth=0&amp;amp;maxSubdirsPerShare=0&amp;amp;minSubdirUsedSpace=val17&amp;amp;reportableIdList=val18&amp;amp;maxBuckets=0&amp;amp;maxUsers=0&amp;amp;minUserUtilizedSpace=val21&amp;amp;minBucketUtilizedSpace=val22&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleDelete ==&lt;br /&gt;
Deletes the specified report schedule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleDelete?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleDisable ==&lt;br /&gt;
Disables the specified report schedule. The schedule will not run again until it is re-enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleDisable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleEnable ==&lt;br /&gt;
Enables a report schedule that is offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleEnable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleEnum ==&lt;br /&gt;
Returns a list of all the Report Schedules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleGet ==&lt;br /&gt;
Returns detail on a specific Report Schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleGet?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleModify ==&lt;br /&gt;
Modifies the properties and replication interval schedule for a specific schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string  {{Note|Name or ID of a report schedule|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportToEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportToAlertEmails&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveReport&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;saveLocation&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reportTypes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;outputFormat&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;initialStartDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSubdirDepth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxSubdirsPerShare&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;minSubdirUsedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxBuckets&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per tenant|inline=1}}&lt;br /&gt;
      &amp;quot;maxUsers&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per user|inline=1}}&lt;br /&gt;
      &amp;quot;minUserUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to users with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;minBucketUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to buckets with minimum utilized space.|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleModify?schedule=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;reportToEmail=val3&amp;amp;reportToAlertEmails=val4&amp;amp;saveReport=val5&amp;amp;saveLocation=val6&amp;amp;reportTypes=0&amp;amp;outputFormat=0&amp;amp;setEnabled=0&amp;amp;scheduleType=0&amp;amp;initialStartDate=val11&amp;amp;delayInterval=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;offsetMinutes=0&amp;amp;maxSubdirDepth=0&amp;amp;maxSubdirsPerShare=0&amp;amp;minSubdirUsedSpace=val18&amp;amp;maxBuckets=0&amp;amp;maxUsers=0&amp;amp;minUserUtilizedSpace=val21&amp;amp;minBucketUtilizedSpace=val22&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== reportScheduleTrigger ==&lt;br /&gt;
Signals the schedule manager to run the selected schedule immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;reportScheduleTrigger&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:reportSchedule|osn:reportSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/reportScheduleTrigger?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @reportScheduleTrigger.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceDomainAssoc|osn:resourceDomainAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainAssocEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceDomainAssocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomainAssoc|osn:resourceDomainAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainAssocGet?resourceDomainAssocId=val0&amp;amp;storageSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceDomainType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;resourceDomainParentId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainCreate?name=val0&amp;amp;description=val1&amp;amp;resourceDomainType=0&amp;amp;resourceDomainParentId=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceDomain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainDelete?resourceDomain=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceDomain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainGet?resourceDomain=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceDomainId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceDomainType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;resourceDomainParentId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainModify?resourceDomainId=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;resourceDomainType=0&amp;amp;resourceDomainParentId=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceDomainStorageSystemAddRemove ==&lt;br /&gt;
see [[#enum:modifyType]] where 0=add, 1=remove, 2=set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceDomainStorageSystemAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceDomain&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceDomain|osn:resourceDomain]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceDomainStorageSystemAddRemove?resourceDomain=val0&amp;amp;modType=0&amp;amp;storageSystemList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceDomainStorageSystemAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;userList&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]      &amp;quot;resourceList&amp;quot;: [[#osn:resourceGroupResourceAssoc|osn:resourceGroupResourceAssoc]]      &amp;quot;networkList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentResourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;organization&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scope&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scopeType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupDelete?resourceGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupGet?resourceGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentResourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;organization&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupModify?resourceGroup=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;parentResourceGroup=val3&amp;amp;tier=val4&amp;amp;organization=val5&amp;amp;defaultChapUsername=val6&amp;amp;defaultChapPassword=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupNetworkAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupNetworkAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;networkList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupNetworkAddRemove?resourceGroup=val0&amp;amp;modType=0&amp;amp;networkList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupNetworkAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupNetworkEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupNetworkEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceGroupNetwork|osn:resourceGroupNetwork]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupNetworkEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupNetworkEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupNetworkGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupNetworkGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroupNetwork&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroupNetwork|osn:resourceGroupNetwork]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupNetworkGet?resourceGroupNetwork=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupNetworkGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupResourceAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupResourceAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;resourceList&amp;quot;: [[#osn:resourceGroupResourceAssoc|osn:resourceGroupResourceAssoc]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupResourceAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupResourceAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceGroupResourceAssoc|osn:resourceGroupResourceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupResourceAssocEnum?resource=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupResourceAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupResourceAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupResourceAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroupResourceAssoc|osn:resourceGroupResourceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupResourceAssocGet?resourceGroup=val0&amp;amp;resource=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupResourceAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupResourceSetMode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupResourceSetMode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupResourceSetMode?resourceGroup=val0&amp;amp;resource=val1&amp;amp;accessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupResourceSetMode.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupSubjectAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupSubjectAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;subject&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupSubjectAssocEnum?subject=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupSubjectAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupSubjectAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupSubjectAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;subject&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/resourceGroupSubjectAssocGet?resourceGroup=val0&amp;amp;subject=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @resourceGroupSubjectAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== resourceGroupUserAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;resourceGroupUserAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;resourceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;userList&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceGroup|osn:resourceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;permissionList&amp;quot;: [[#osn:permissionAssignment|osn:permissionAssignment]]      &amp;quot;inheritsFrom&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ldapGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleDelete?role=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleGet?role=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ldapGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleModify?role=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;ldapGroup=val3&amp;amp;wuiTabDisable=0&amp;amp;wuiSectionDisable=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rolePermissionAssignmentEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;rolePermissionAssignmentEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;roleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:rolePermissionAssignment|osn:rolePermissionAssignment]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/rolePermissionAssignmentEnum?roleId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @rolePermissionAssignmentEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rolePermissionAssignmentGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;rolePermissionAssignmentGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;objectType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:rolePermissionAssignment|osn:rolePermissionAssignment]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/rolePermissionAssignmentGet?role=val0&amp;amp;objectType=val1&amp;amp;operation=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @rolePermissionAssignmentGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== rolePermissionsAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;rolePermissionsAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;permissionList&amp;quot;: [[#osn:permissionAssignment|osn:permissionAssignment]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:role|osn:role]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleSubjectAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleSubjectAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:roleSubjectAssoc|osn:roleSubjectAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleSubjectAssocEnum?role=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleSubjectAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== roleSubjectAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;roleSubjectAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;subject&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:roleSubjectAssoc|osn:roleSubjectAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/roleSubjectAssocGet?role=val0&amp;amp;subject=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @roleSubjectAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ObjectEnum ==&lt;br /&gt;
Returns a list of objects contained within the specified bucket&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ObjectEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucket&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;startingIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxEntries&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3Object|osn:s3Object]]&lt;br /&gt;
    &amp;quot;bucketStartingIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bucketObjectCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ObjectEnum?cephClusterId=val0&amp;amp;bucket=val1&amp;amp;startingIndex=0&amp;amp;maxEntries=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ObjectEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ProxyCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ProxyCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyServerName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyLocationEndpoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sslCertificate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sslCertificateKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portNums&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Proxy|osn:s3Proxy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ProxyCreate?storageSystem=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;proxyServerName=val3&amp;amp;proxyLocationEndpoint=val4&amp;amp;sslCertificate=val5&amp;amp;sslCertificateKey=val6&amp;amp;portNums=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ProxyCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ProxyDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ProxyDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3Proxy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Proxy|osn:s3Proxy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ProxyDelete?s3Proxy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ProxyDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ProxyEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ProxyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3Proxy|osn:s3Proxy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ProxyEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ProxyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ProxyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ProxyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3Proxy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Proxy|osn:s3Proxy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ProxyGet?s3Proxy=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ProxyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3ProxyModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3ProxyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3Proxy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyServerName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyLocationEndpoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sslCertificate&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sslCertificateKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portNums&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Proxy|osn:s3Proxy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3ProxyModify?s3Proxy=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;proxyServerName=val3&amp;amp;proxyLocationEndpoint=val4&amp;amp;sslCertificate=val5&amp;amp;sslCertificateKey=val6&amp;amp;portNums=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3ProxyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3TenantCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3TenantCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;displayName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Tenant|osn:s3Tenant]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3TenantCreate?cephClusterId=val0&amp;amp;name=val1&amp;amp;displayName=val2&amp;amp;description=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3TenantCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3TenantDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3TenantDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;tenantId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Tenant|osn:s3Tenant]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3TenantDelete?tenantId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3TenantDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3TenantEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3TenantEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3Tenant|osn:s3Tenant]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3TenantEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3TenantEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3TenantGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3TenantGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;tenant&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3Tenant|osn:s3Tenant]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3TenantGet?tenant=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3TenantGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserAccessKeyAdd ==&lt;br /&gt;
Returns detailed info of the specified bucket access key with the added key&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserAccessKeyAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserAccessKeyAdd?s3UserId=val0&amp;amp;accessKey=val1&amp;amp;secretKey=val2&amp;amp;keyType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserAccessKeyAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserAccessKeyEnum ==&lt;br /&gt;
Returns a list of all the bucket access keys, optionally filtered by Ceph Cluster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserAccessKeyEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3UserAccessKey|osn:s3UserAccessKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserAccessKeyEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserAccessKeyEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserAccessKeyGet ==&lt;br /&gt;
Returns detailed info of the specified bucket access key&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserAccessKeyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;accessKeyId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3UserAccessKey|osn:s3UserAccessKey]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserAccessKeyGet?accessKeyId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserAccessKeyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserAccessKeyModify ==&lt;br /&gt;
Returns detailed info of the specified bucket access key with the added key&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserAccessKeyModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newSecretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserAccessKeyModify?s3UserId=val0&amp;amp;accessKey=val1&amp;amp;newSecretKey=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserAccessKeyModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserAccessKeyRemove ==&lt;br /&gt;
Returns detailed info of the specified bucket access key with the removed key&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserAccessKeyRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserAccessKeyRemove?s3UserId=val0&amp;amp;accessKey=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserAccessKeyRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tenant&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;displayName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;emailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;operationMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;bucketMaxObjectCountEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;bucketMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;bucketMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;bucketMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxObjectCountEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;userMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;userMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxBucketCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserCreate?cephClusterId=val0&amp;amp;tenant=val1&amp;amp;name=val2&amp;amp;displayName=val3&amp;amp;emailAddress=val4&amp;amp;accessKey=val5&amp;amp;secretKey=val6&amp;amp;operationMask=0&amp;amp;bucketMaxObjectCountEnable=val8&amp;amp;bucketMaxObjectCount=val9&amp;amp;bucketMaxSizeEnable=val10&amp;amp;bucketMaxSize=val11&amp;amp;userMaxObjectCountEnable=val12&amp;amp;userMaxObjectCount=val13&amp;amp;userMaxSizeEnable=val14&amp;amp;userMaxSize=val15&amp;amp;maxBucketCount=0&amp;amp;count=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;s3UserList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteData&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;deleteKey&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserDelete?cephClusterId=val0&amp;amp;s3UserList=val1&amp;amp;deleteData=val2&amp;amp;deleteKey=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserDisable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserDisable?s3UserId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserEnable ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserEnable?s3UserId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserEnum?cephClusterId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserGet?userId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== s3UserModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;s3UserModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;displayName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;emailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bucketMaxObjectCountEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;bucketMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;bucketMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;bucketMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxObjectCountEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;userMaxObjectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;userMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;userMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxBucketCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:s3User|osn:s3User]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/s3UserModify?cephClusterId=val0&amp;amp;s3UserId=val1&amp;amp;displayName=val2&amp;amp;emailAddress=val3&amp;amp;bucketMaxObjectCountEnable=val4&amp;amp;bucketMaxObjectCount=val5&amp;amp;bucketMaxSizeEnable=val6&amp;amp;bucketMaxSize=val7&amp;amp;userMaxObjectCountEnable=val8&amp;amp;userMaxObjectCount=val9&amp;amp;userMaxSizeEnable=val10&amp;amp;userMaxSize=val11&amp;amp;maxBucketCount=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @s3UserModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== serviceFirewallDefEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;serviceFirewallDefEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:serviceFirewallDef|osn:serviceFirewallDef]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/serviceFirewallDefEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @serviceFirewallDefEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== sessionClose ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;sessionClose&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;sessionList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:session|osn:session]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/sessionClose?storageVolume=val0&amp;amp;sessionList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @sessionClose.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== sessionEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;sessionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:session|osn:session]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/sessionEnum?host=val0&amp;amp;storageVolume=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @sessionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== sessionGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;sessionGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;sessionId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:session|osn:session]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/sessionGet?sessionId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @sessionGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== setAuthMode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;setAuthMode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;authRequestCode&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;authMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;device&amp;quot;: [[#osn:multiFactorAuthDevice|osn:multiFactorAuthDevice]]      &amp;quot;passcode&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;requestStatus&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== singleSignOnPolicyGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;singleSignOnPolicyGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:singleSignOnPolicy|osn:singleSignOnPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/singleSignOnPolicyGet?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @singleSignOnPolicyGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== singleSignOnPolicySet ==&lt;br /&gt;
Sets the policy for user password complexity enforcement.  Use [[#singleSignPolicyGet]] to get current settings then call Set to modify with adjusted values.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;singleSignOnPolicySet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;isEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;ldapServer&amp;quot;: xsd:string  {{Note|Ldap server FQDN|inline=1}}&lt;br /&gt;
      &amp;quot;ldapBaseDn&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:singleSignOnPolicy|osn:singleSignOnPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/singleSignOnPolicySet?isEnabled=val0&amp;amp;ldapServer=val1&amp;amp;ldapBaseDn=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @singleSignOnPolicySet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:siteClusterAssoc|osn:siteClusterAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterAssocEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteAssocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteClusterAssoc|osn:siteClusterAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterAssocGet?siteAssocId=val0&amp;amp;storageSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;location&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterCreate?name=val0&amp;amp;description=val1&amp;amp;location=val2&amp;amp;storageSystemList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;site&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterDelete?site=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;site&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterGet?site=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;location&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterModify?siteClusterId=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;location=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterRescan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterRescan?siteCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterRestartServices ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterRestartServices&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterRestartServices?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterRestartServices.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterSetMaintenanceMode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterSetMaintenanceMode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;enable&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterSetMaintenanceMode?siteCluster=val0&amp;amp;enable=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterSetMaintenanceMode.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteClusterSetStandbyMode ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteClusterSetStandbyMode&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;siteClusterAssocId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;standbyMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteClusterAssoc|osn:siteClusterAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteClusterSetStandbyMode?siteCluster=val0&amp;amp;siteClusterAssocId=val1&amp;amp;standbyMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteClusterSetStandbyMode.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteStorageSystemAddRemove ==&lt;br /&gt;
see [[#enum:modifyType]] where 0=add, 1=remove, 2=set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteStorageSystemAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;site&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteCluster|osn:siteCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteStorageSystemAddRemove?site=val0&amp;amp;modType=0&amp;amp;storageSystemList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteStorageSystemAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifLocationConstraintEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifLocationConstraintEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:siteVifLocationConstraint|osn:siteVifLocationConstraint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifLocationConstraintEnum?siteVifResource=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifLocationConstraintEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifLocationConstraintGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifLocationConstraintGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResourceId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifLocationConstraint|osn:siteVifLocationConstraint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifLocationConstraintGet?siteVifResourceId=val0&amp;amp;nodeSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifLocationConstraintGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentInterfaceName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;subnetMask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationConfigList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;useCaseObjId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;useCase&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;iscsiEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;nvmeEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;fqdn&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;convertVif&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceCreate?siteClusterId=val0&amp;amp;parentInterfaceName=val1&amp;amp;ipAddress=val2&amp;amp;gateway=val3&amp;amp;subnetMask=val4&amp;amp;macAddress=val5&amp;amp;description=val6&amp;amp;locationConfigList=val7&amp;amp;useCaseObjId=val8&amp;amp;useCase=0&amp;amp;iscsiEnabled=val10&amp;amp;nvmeEnabled=val11&amp;amp;mtu=0&amp;amp;fqdn=val13&amp;amp;convertVif=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;convertToVif&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceDelete?siteVifResource=val0&amp;amp;convertToVif=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceGet?siteVifResource=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationConfigList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceModify?siteVifResource=val0&amp;amp;description=val1&amp;amp;locationConfigList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== siteVifResourceMove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;siteVifResourceMove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;siteVifResource&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;moveToSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/siteVifResourceMove?siteVifResource=val0&amp;amp;moveToSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @siteVifResourceMove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:snapshotScheduleAssoc|osn:snapshotScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleAssocEnum?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;scheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotScheduleAssoc|osn:snapshotScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleAssocGet?scheduleId=val0&amp;amp;storageVolumeId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleCreate ==&lt;br /&gt;
Creates a new Snapshot Schedule to automatically create snapshots of the specified Storage Volumes and/or Network Shares&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountHourlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountDailies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountWeeklies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountMonthlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;retentionCountQuarterlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;absorbOldSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleCreate?name=val0&amp;amp;description=val1&amp;amp;resourceGroupId=val2&amp;amp;setEnabled=0&amp;amp;startDate=val4&amp;amp;maxSnapshots=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;storageVolumeList=val8&amp;amp;networkShareList=val9&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourlies=0&amp;amp;retentionCountDailies=0&amp;amp;retentionCountWeeklies=0&amp;amp;retentionCountMonthlies=0&amp;amp;retentionCountQuarterlies=0&amp;amp;enableRecursiveNestedShares=val18&amp;amp;absorbOldSnapshots=val19&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleDelete ==&lt;br /&gt;
Deletes the specified snapshot schedule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleDelete?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleDisable ==&lt;br /&gt;
Disables the specified snapshot schedule. The schedule will not run again until it is re-enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleDisable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleEnable ==&lt;br /&gt;
Enables a snapshot schedule that is offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleEnable?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleEnum ==&lt;br /&gt;
Returns a list of all the Snapshot Schedules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleGet ==&lt;br /&gt;
Returns detail on a specific Snapshot Schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleGet?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleModify ==&lt;br /&gt;
Modifies the properties and replication interval schedule for a specific schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string  {{Note|Name or ID of a snapshot schedule|inline=1}}&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|New name for the snapshot schedule|inline=1}}&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string  {{Note|Description of the snapshot schedule|inline=1}}&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string  {{Note|Resource Group to assocate the snapshot schedule with|inline=1}}&lt;br /&gt;
      &amp;quot;setEnabled&amp;quot;: xsd:unsignedInt  {{Note|enables/disables the schedule|inline=1}}&lt;br /&gt;
      &amp;quot;startDate&amp;quot;: xsd:dateTime  {{Note|start date after which the schedule is active|inline=1}}&lt;br /&gt;
      &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt  {{Note|Number of snapshots used in a rotation.  Note this exludes the snapshots marked for long term rention|inline=1}}&lt;br /&gt;
      &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt  {{Note|Calendar based, days of the week to do snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt  {{Note|Calendar based, hours of the day to take snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt  {{Note|Calendar based or Interval Based|inline=1}}&lt;br /&gt;
      &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt  {{Note|Delay interval in seconds between snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt  {{Note|Calendar based, offset in minutes for the scheduled hour(S) to take snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;retentionCountHourlies&amp;quot;: xsd:unsignedInt  {{Note|Long term snapshot retention rule for how many hourly snapshots to be retained.|inline=1}}&lt;br /&gt;
      &amp;quot;retentionCountDailies&amp;quot;: xsd:unsignedInt  {{Note|Long term snapshot retention rule for daily snapshots|inline=1}}&lt;br /&gt;
      &amp;quot;retentionCountWeeklies&amp;quot;: xsd:unsignedInt  {{Note|Long term snapshot retention rule for weekly snapshot count to be retained.|inline=1}}&lt;br /&gt;
      &amp;quot;retentionCountMonthlies&amp;quot;: xsd:unsignedInt  {{Note|Long term snapshot retention rule for monthly snapshot count to be retained.|inline=1}}&lt;br /&gt;
      &amp;quot;retentionCountQuarterlies&amp;quot;: xsd:unsignedInt  {{Note|Long term snapshot retention rule for quarterly snapshots to be retained.|inline=1}}&lt;br /&gt;
      &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;absorbOldSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;oldScheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleModify?schedule=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;resourceGroupId=val3&amp;amp;setEnabled=0&amp;amp;startDate=val5&amp;amp;maxSnapshots=0&amp;amp;daysOfWeek=0&amp;amp;hoursOfDay=0&amp;amp;scheduleType=0&amp;amp;delayInterval=0&amp;amp;offsetMinutes=0&amp;amp;retentionCountHourlies=0&amp;amp;retentionCountDailies=0&amp;amp;retentionCountWeeklies=0&amp;amp;retentionCountMonthlies=0&amp;amp;retentionCountQuarterlies=0&amp;amp;enableRecursiveNestedShares=val17&amp;amp;absorbOldSnapshots=val18&amp;amp;oldScheduleId=val19&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleTrigger ==&lt;br /&gt;
Signals the schedule manager to run the selected schedule immediately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleTrigger&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleTrigger?schedule=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleTrigger.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== snapshotScheduleVolumeAddRemove ==&lt;br /&gt;
Used to add/remove Storage Volumes and Network Shares to/from a given Snapshot Schedule&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;snapshotScheduleVolumeAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;networkShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:snapshotSchedule|osn:snapshotSchedule]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/snapshotScheduleVolumeAddRemove?schedule=val0&amp;amp;modType=0&amp;amp;storageVolumeList=val2&amp;amp;networkShareList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @snapshotScheduleVolumeAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolCacheAddRemove ==&lt;br /&gt;
Adds SSDs to the specified Storage Pool to boost read and write performance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolCacheAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;readCacheDeviceList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;writeLogDeviceList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;specialOffloadDeviceList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;dedupOffloadDeviceList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt  {{Note|see API [[#physicalDiskEnum]] for information on supported disk selection filters|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolCacheAddRemove?storagePool=val0&amp;amp;modType=0&amp;amp;readCacheDeviceList=val2&amp;amp;writeLogDeviceList=val3&amp;amp;specialOffloadDeviceList=val4&amp;amp;dedupOffloadDeviceList=val5&amp;amp;smallBlockThreshold=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolCacheAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolCheckpointCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolCheckpointCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;expirationDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolCheckpointCreate?storagePool=val0&amp;amp;expirationDays=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolCheckpointCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolCheckpointDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolCheckpointDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolCheckpointDelete?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolCheckpointDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolCheckpointModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolCheckpointModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;expirationDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolCheckpointModify?storagePool=val0&amp;amp;expirationDays=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolCheckpointModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolClearMissing ==&lt;br /&gt;
Clear all missing shares and volumes from the specified storage pool. This is useful when missing shares and volumes are no longer needed in the database.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolClearMissing&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolClearMissing?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolClearMissing.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolCreate ==&lt;br /&gt;
Creates a new Storage Pool using the specified disk/device list.  System will automatically configure the pool for enclosure redundancy where possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string  {{Note|see API [[#physicalDiskEnum]] for information on supported disk selection filters|inline=1}}&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableCompression&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableAutoTrim&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidSetSize&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableEncryption&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;encryptionType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ashift&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolCreate?name=val0&amp;amp;physicalDiskList=val1&amp;amp;description=val2&amp;amp;raidType=0&amp;amp;poolType=0&amp;amp;isDefault=val5&amp;amp;enableCompression=val6&amp;amp;enableAutoTrim=val7&amp;amp;profile=val8&amp;amp;raidSetSize=0&amp;amp;enableEncryption=val10&amp;amp;encryptionType=val11&amp;amp;encryptionKeyPassphrase=val12&amp;amp;keyServerType=0&amp;amp;keyServerProfileId=val14&amp;amp;ashift=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDestroy ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDestroy&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteKeys&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;dataShredMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDestroy?storagePool=val0&amp;amp;deleteKeys=val1&amp;amp;dataShredMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDestroy.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolDevice|osn:storagePoolDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceEnum?storagePoolId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolDevice&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolDevice|osn:storagePoolDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceGet?storagePoolDevice=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolDeviceGroup|osn:storagePoolDeviceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceGroupEnum?storagePoolId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolDeviceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolDeviceGroup|osn:storagePoolDeviceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceGroupGet?storagePoolDeviceGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceGroupIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceGroupIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolDeviceGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolDeviceGroup|osn:storagePoolDeviceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceGroupIdentify?storagePoolDeviceGroup=val0&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceGroupIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceGroupSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceGroupSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolDeviceGroup|osn:storagePoolDeviceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceGroupSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceGroupSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolDeviceSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolDeviceSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolDevice|osn:storagePoolDevice]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolDeviceSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolDeviceSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolEncryptionKeyExport ==&lt;br /&gt;
Exports encryption keys into a key block that can be easily saved to a text file and restored later&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolEncryptionKeyExport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
    &amp;quot;keyBlock&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolEncryptionKeyExport?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolEncryptionKeyExport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolEncryptionKeyImport ==&lt;br /&gt;
Imports previously exported encryption keys so that they may be used to unlock media and activate a pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolEncryptionKeyImport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyBlock&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolEncryptionKeyImport?storageSystem=val0&amp;amp;keyBlock=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolEncryptionKeyImport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolExpand ==&lt;br /&gt;
Expands the specified storage pool using available unused space on the disk devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolExpand&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolExpand?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolExpand.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolExport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolExport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;releaseIoFence&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;clearCrypttabEntries&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolExport?storagePool=val0&amp;amp;releaseIoFence=val1&amp;amp;clearCrypttabEntries=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolExport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolGet?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolGrow ==&lt;br /&gt;
Grows the specified pool by adding the specified devices to create and add a new Storage Pool Device Gruops (vdevs) to the storage pool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolGrow&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string  {{Note|see API [[#physicalDiskEnum]] for information on supported disk selection filters|inline=1}}&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolGrow?storagePool=val0&amp;amp;physicalDiskList=val1&amp;amp;raidType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolGrow.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupActivate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupActivate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupActivate?failoverGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupActivate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupCheckHealthStatus ==&lt;br /&gt;
perform failover health checks and return the various healthStatusEntries from the primary, secondary, and tertiary nodes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupCheckHealthStatus&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;poolIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:healthStatusEvent|osn:healthStatusEvent]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupCheckHealthStatus?poolIdList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupCheckHealthStatus.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;primaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secondaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tertiaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;settleTimeInSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;verifyClientIps&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;haClientFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;haLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;haFcLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;exportTimeout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enforceSmbHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enforceNfsHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupCreate?storagePoolId=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;primaryStorageSystemId=val3&amp;amp;secondaryStorageSystemId=val4&amp;amp;tertiaryStorageSystemId=val5&amp;amp;settleTimeInSec=0&amp;amp;verifyClientIps=val7&amp;amp;haClientFailoverPolicy=0&amp;amp;haLinkStateFailoverPolicy=0&amp;amp;haFcLinkStateFailoverPolicy=0&amp;amp;exportTimeout=0&amp;amp;enforceSmbHostsAllow=val12&amp;amp;enforceNfsHostsAllow=val13&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupDeactivate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupDeactivate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupDeactivate?failoverGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupDeactivate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupDelete?failoverGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupFailover ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupFailover&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetStorageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;failoverReason&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;importHealthChecks&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;exportHealthChecks&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupFailover?failoverGroup=val0&amp;amp;targetStorageSystem=val1&amp;amp;failoverReason=0&amp;amp;importHealthChecks=val3&amp;amp;exportHealthChecks=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupFailover.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupGet?failoverGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupGetHealthStatus ==&lt;br /&gt;
Analyze the failover ability of the given storage pool by reading the various healthStatusEntries objects from the primary, secondary, and tertiary nodes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupGetHealthStatus&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;poolIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:healthStatusEvent|osn:healthStatusEvent]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupGetHealthStatus?poolIdList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupGetHealthStatus.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;primaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;secondaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tertiaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;settleTimeInSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;verifyClientIps&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;haClientFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;haLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;haFcLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;exportTimeout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enforceSmbHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enforceNfsHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverGroupModify?failoverGroup=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;primaryStorageSystemId=val3&amp;amp;secondaryStorageSystemId=val4&amp;amp;tertiaryStorageSystemId=val5&amp;amp;settleTimeInSec=0&amp;amp;verifyClientIps=val7&amp;amp;haClientFailoverPolicy=0&amp;amp;haLinkStateFailoverPolicy=0&amp;amp;haFcLinkStateFailoverPolicy=0&amp;amp;exportTimeout=0&amp;amp;enforceSmbHostsAllow=val12&amp;amp;enforceNfsHostsAllow=val13&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverInterfaceCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverInterfaceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentInterfaceName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;subnetMask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;locationConfigList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;iscsiEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;nvmeofEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;fqdn&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;convertVif&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverInterfaceCreate?failoverGroup=val0&amp;amp;tag=val1&amp;amp;parentInterfaceName=val2&amp;amp;description=val3&amp;amp;ipAddress=val4&amp;amp;subnetMask=val5&amp;amp;macAddress=val6&amp;amp;locationConfigList=val7&amp;amp;iscsiEnabled=val8&amp;amp;nvmeofEnabled=val9&amp;amp;fqdn=val10&amp;amp;convertVif=val11&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverInterfaceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverInterfaceDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverInterfaceDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;failoverInterface&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;convertToVif&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverInterfaceDelete?failoverGroup=val0&amp;amp;failoverInterface=val1&amp;amp;convertToVif=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverInterfaceDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverInterfaceEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverInterfaceEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverInterfaceEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverInterfaceEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHaFailoverInterfaceGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHaFailoverInterfaceGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;failoverGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;failoverInterface&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHaFailoverInterfaceGet?failoverGroup=val0&amp;amp;failoverInterface=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHaFailoverInterfaceGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolHealthCheck ==&lt;br /&gt;
Returns a health check report for the specified Storage Pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolHealthCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceHealthCheck|osn:resourceHealthCheck]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolHealthCheck?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolHealthCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolIdentify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolIdentify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;durationInSeconds&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blinkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolIdentify?storagePool=val0&amp;amp;durationInSeconds=0&amp;amp;blinkType=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolIdentify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolImport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolImport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolImport?storageSystem=val0&amp;amp;storagePoolList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolImport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolImportEncrypted ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolImportEncrypted&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolImportEncrypted?storageSystem=val0&amp;amp;storagePoolList=val1&amp;amp;encryptionKeyPassphrase=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolImportEncrypted.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableCompression&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableAutoTrim&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;compressionType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hotspareRepairPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;copies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;keyServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolModify?storagePool=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;isDefault=val3&amp;amp;enableCompression=val4&amp;amp;enableAutoTrim=val5&amp;amp;profile=val6&amp;amp;syncPolicy=0&amp;amp;cachePolicyPrimary=0&amp;amp;cachePolicySecondary=0&amp;amp;compressionType=val10&amp;amp;hotspareRepairPolicy=0&amp;amp;copies=0&amp;amp;keyServerProfileId=val13&amp;amp;keyServerType=0&amp;amp;smallBlockThreshold=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolPortalEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolPortalEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;fcPortList&amp;quot;: [[#osn:fcTargetPort|osn:fcTargetPort]]&lt;br /&gt;
    &amp;quot;haPortList&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
    &amp;quot;svPortList&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolPortalEnum?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolPortalEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolPreimportScan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolPreimportScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolPreimportScan?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolPreimportScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolProfileEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePoolProfile|osn:storagePoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolProfileEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolProfileGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePoolProfile|osn:storagePoolProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolProfileGet?storagePoolProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolPropertiesUpdate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolPropertiesUpdate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bRequiresReboot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolPropertiesUpdate?storagePoolId=val0&amp;amp;bRequiresReboot=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolPropertiesUpdate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolRekey ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolRekey&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolRekey?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolRekey.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolRescan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolRescan?storageSystem=val0&amp;amp;options=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolScrubStart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolScrubStart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolScrubStart?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolScrubStart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolScrubStop ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolScrubStop&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolScrubStop?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolScrubStop.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolSearch?searchParams=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolSetPassphrase ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolSetPassphrase&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;oldEncryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newEncryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolSetPassphrase?storagePool=val0&amp;amp;oldEncryptionKeyPassphrase=val1&amp;amp;newEncryptionKeyPassphrase=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolSetPassphrase.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolSpareAddRemove ==&lt;br /&gt;
Adds a dedicated hot-spare to the specified Storage Pool.  In general it is better to mark spares are global hot-spares so that any pool in the cluster may use the spare.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolSpareAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|see API [[#physicalDiskEnum]] for information on supported disk selection filters|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolSpareAddRemove?storagePool=val0&amp;amp;modType=0&amp;amp;physicalDiskList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolSpareAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolStart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolStart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;encryptionKeyPassphrase&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolStart?storagePool=val0&amp;amp;encryptionKeyPassphrase=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolStart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolStop ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolStop&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolStop?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolStop.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolTrim ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolTrim&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolTrim?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolTrim.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storagePoolUpdateRedirect ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storagePoolUpdateRedirect&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storagePoolUpdateRedirect?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storagePoolUpdateRedirect.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaCreate ==&lt;br /&gt;
Storage Quotas are provisioning quotas associated with a Resource Group (see [[#osn:resourceGroup]]) for multi-tenant configurations.  For quotas on [[#osn:networkShare]]s please see the [[#networkShareModify]] API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;utilizableSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxVolumes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxShares&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;policyFlags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaCreate?name=val0&amp;amp;description=val1&amp;amp;storagePoolId=val2&amp;amp;resourceGroupId=val3&amp;amp;provisionableSize=val4&amp;amp;utilizableSpace=val5&amp;amp;maxVolumes=0&amp;amp;maxShares=0&amp;amp;policyFlags=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaDelete ==&lt;br /&gt;
Deletes teh specified provisioning quota&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuota&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaDelete?storageQuota=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuota&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaGet?storageQuota=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaModify ==&lt;br /&gt;
Modifies the specified provisioning quota to limit how much capacity may be provisioned from the pool associated with the quota&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuota&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;utilizableSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;maxVolumes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;maxShares&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;policyFlags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaModify?storageQuota=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;resourceGroupId=val3&amp;amp;provisionableSize=val4&amp;amp;utilizableSpace=val5&amp;amp;maxVolumes=0&amp;amp;maxShares=0&amp;amp;policyFlags=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaShareAddRemove ==&lt;br /&gt;
Add/remove shares from the quota so that they&#039;re counted against the provisionable capacity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaShareAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuota&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;storageShareList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaShareAddRemove?storageQuota=val0&amp;amp;modType=0&amp;amp;storageShareList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaShareAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaShareAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaShareAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;networkShare&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageQuotaShareAssoc|osn:storageQuotaShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaShareAssocEnum?networkShare=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaShareAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaShareAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaShareAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuotaId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;shareId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuotaShareAssoc|osn:storageQuotaShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaShareAssocGet?storageQuotaId=val0&amp;amp;shareId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaShareAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaVolumeAddRemove ==&lt;br /&gt;
Add/remove volumes from the quota so that they&#039;re counted against the provisionable capacity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaVolumeAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuota&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuota|osn:storageQuota]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaVolumeAddRemove?storageQuota=val0&amp;amp;modType=0&amp;amp;storageVolumeList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaVolumeAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaVolumeAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaVolumeAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageQuotaVolumeAssoc|osn:storageQuotaVolumeAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaVolumeAssocEnum?storageVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaVolumeAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageQuotaVolumeAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageQuotaVolumeAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageQuotaId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageQuotaVolumeAssoc|osn:storageQuotaVolumeAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageQuotaVolumeAssocGet?storageQuotaId=val0&amp;amp;storageVolumeId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageQuotaVolumeAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemBeep ==&lt;br /&gt;
Beeps in a &#039;Close Encounters&#039;-like pattern to help identify the server [[#osn:storageSystem]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemBeep&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;duration&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemBeep?storageSystem=val0&amp;amp;duration=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemBeep.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemClusterAssoc|osn:storageSystemClusterAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterAssocEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemClusterId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemClusterAssoc|osn:storageSystemClusterAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterAssocGet?storageSystemClusterId=val0&amp;amp;storageSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemIds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterCreate?name=val0&amp;amp;description=val1&amp;amp;storageSystemIds=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterDelete?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemCluster&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterGet?storageSystemCluster=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterMerge ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterMerge&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;masterNodeIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nodeAdminUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nodeAdminPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterMerge?masterNodeIpAddress=val0&amp;amp;nodeAdminUsername=val1&amp;amp;nodeAdminPassword=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterMerge.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterModify?name=val0&amp;amp;description=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;nodeIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nodeAdminUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;nodeAdminPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterNodeAdd?nodeIpAddress=val0&amp;amp;nodeAdminUsername=val1&amp;amp;nodeAdminPassword=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterNodeAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeEject ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeEject&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemClusterObj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeJoin ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeJoin&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemClusterObj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]      &amp;quot;masterNode&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterNodeRemove?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterNodeRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeSetMaster ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeSetMaster&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterNodeSetMaster?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterNodeSetMaster.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterNodeSync ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterNodeSync&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemClusterObj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]      &amp;quot;masterNode&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterSendSupportLogs ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterSendSupportLogs&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;memberIds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableLogScrub&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;disableLogUpload&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;disableLogTruncation&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;supportTicketId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;supportReplyToEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;supportMessage&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterSendSupportLogs?memberIds=val0&amp;amp;disableLogScrub=val1&amp;amp;disableLogUpload=val2&amp;amp;disableLogTruncation=val3&amp;amp;supportTicketId=val4&amp;amp;supportReplyToEmail=val5&amp;amp;supportMessage=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterSendSupportLogs.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemClusterSplit ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemClusterSplit&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;newGridName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemIds&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemCluster|osn:storageSystemCluster]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemClusterSplit?newGridName=val0&amp;amp;storageSystemIds=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemClusterSplit.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemEnum ==&lt;br /&gt;
Returns a list of all the storage systems in the grid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemGet ==&lt;br /&gt;
Returns details of a specific [[#osn:storageSystem]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemGet?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;localIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bandwidthLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;linkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkCreate?storageSystemId=val0&amp;amp;remoteSystemId=val1&amp;amp;localIpAddress=val2&amp;amp;remoteIpAddress=val3&amp;amp;bandwidthLimit=0&amp;amp;linkType=0&amp;amp;description=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkDelete?linkId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkDisconnect ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkDisconnect&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;remoteStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkDisconnect?remoteStorageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkDisconnect.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkEstablish ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkEstablish&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkObj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkGet?linkId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;localIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bandwidthLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;linkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkModify?linkId=val0&amp;amp;remoteIpAddress=val1&amp;amp;localIpAddress=val2&amp;amp;bandwidthLimit=0&amp;amp;linkType=0&amp;amp;description=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkRefresh ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkRefresh&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkRefresh?linkId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkRefresh.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkSetCredentials ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkSetCredentials&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteAdminUser&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;remoteAdminPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemLinkSetCredentials?linkId=val0&amp;amp;remoteAdminUser=val1&amp;amp;remoteAdminPassword=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemLinkSetCredentials.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemLinkVerify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemLinkVerify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;linkObj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemLink|osn:storageSystemLink]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemMaintenance ==&lt;br /&gt;
Puts specific services into maintenance mode&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemMaintenance&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maintenanceFlags&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:enterMaintenanceModeMask]] and [[#enum:exitMaintenanceModeMask]]|inline=1}}&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemMaintenance?storageSystemList=val0&amp;amp;maintenanceFlags=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemMaintenance.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemModify ==&lt;br /&gt;
Modifies the network and other configuration settings of the storage system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newLocation&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newEnclosureLayoutId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;domainSuffix&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;searchSuffix&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;arpFilterMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;bondMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;newDnsServerList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;externalHostName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gridPreferredPort&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newNTPServerList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;multipathConfigMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hwAutoMaintenanceMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;logCollectionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;ethPortNaming&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:ethPortNaming]]|inline=1}}&lt;br /&gt;
      &amp;quot;firewallMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;disableIoFencing&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;wwnEmulationMode&amp;quot;: xsd:unsignedInt  {{Note|0=none, 1=OSNexus QuantaStor (IEEE CID), 2=PURE FlashArray, 3=IBM 2145 (Storwize)|inline=1}}&lt;br /&gt;
      &amp;quot;proxyUrlHttp&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyUrlHttps&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;proxyUrlNoProxy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;serviceOptionsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableTelemetry&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemModify?storageSystem=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;newLocation=val3&amp;amp;newEnclosureLayoutId=val4&amp;amp;domainSuffix=val5&amp;amp;searchSuffix=val6&amp;amp;arpFilterMode=0&amp;amp;bondMode=0&amp;amp;newDnsServerList=val9&amp;amp;externalHostName=val10&amp;amp;gridPreferredPort=val11&amp;amp;newNTPServerList=val12&amp;amp;multipathConfigMode=0&amp;amp;hwAutoMaintenanceMode=0&amp;amp;logCollectionMode=0&amp;amp;ethPortNaming=0&amp;amp;firewallMask=0&amp;amp;disableIoFencing=val18&amp;amp;wwnEmulationMode=0&amp;amp;proxyUrlHttp=val20&amp;amp;proxyUrlHttps=val21&amp;amp;proxyUrlNoProxy=val22&amp;amp;serviceOptionsMask=0&amp;amp;enableTelemetry=val24&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemNetworkCheck ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemNetworkCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;verifyClientIps&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:pingData|osn:pingData]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemNetworkCheck?storageSystem=val0&amp;amp;verifyClientIps=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemNetworkCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemRecover ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemRecover&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;recoveryPoint&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;recoverNetworkConfig&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemRecoveryPoint|osn:storageSystemRecoveryPoint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemRecover?storageSystem=val0&amp;amp;recoveryPoint=val1&amp;amp;recoverNetworkConfig=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemRecover.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemRecoveryPointEnum ==&lt;br /&gt;
returns a list of all the internal database recovery points available for the specified [[osn:storageSystem]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemRecoveryPointEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemRecoveryPoint|osn:storageSystemRecoveryPoint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemRecoveryPointEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemRecoveryPointEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemRestart ==&lt;br /&gt;
Requests a restart of the specified list of systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemRestart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reason&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemRestart?storageSystemIdList=val0&amp;amp;reason=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemRestart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemSendLogs ==&lt;br /&gt;
Sends support logs for the specified system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemSendLogs&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableLogScrub&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;disableLogUpload&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;disableLogTruncation&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;supportTicketId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;supportReplyToEmail&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;supportMessage&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemSendLogs?storageSystemId=val0&amp;amp;disableLogScrub=val1&amp;amp;disableLogUpload=val2&amp;amp;disableLogTruncation=val3&amp;amp;supportTicketId=val4&amp;amp;supportReplyToEmail=val5&amp;amp;supportMessage=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemSendLogs.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemServicesRestart ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemServicesRestart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;servicesList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemServicesRestart?storageSystem=val0&amp;amp;servicesList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemServicesRestart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemShutdown ==&lt;br /&gt;
Requests a shutdown of the specified list of systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemShutdown&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;reason&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemShutdown?storageSystemIdList=val0&amp;amp;reason=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemShutdown.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemSignalManager ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemSignalManager&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;managerClass&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemSignalManager?storageSystem=val0&amp;amp;managerClass=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemSignalManager.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTimeZoneEnum ==&lt;br /&gt;
Returns information about the available time zones.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTimeZoneEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchFilter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:timeZone|osn:timeZone]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTimeZoneEnum?searchFilter=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTimeZoneEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTimeZoneSet ==&lt;br /&gt;
Sets the time zone for a specific system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTimeZoneSet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;timeZone&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTimeZoneSet?storageSystem=val0&amp;amp;timeZone=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTimeZoneSet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableEnum ==&lt;br /&gt;
Returns a list of all the storage system tunables (includes ZFS adjustable paramters)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemTunable|osn:storageSystemTunable]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tunableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunable|osn:storageSystemTunable]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableGet?storageSystem=val0&amp;amp;tunableId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileApply ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileApply&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tunableProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileApply?storageSystem=val0&amp;amp;tunableProfile=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileApply.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tunableList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileCreate?name=val0&amp;amp;description=val1&amp;amp;tunableList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;tunableProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileDelete?tunableProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileEnum ==&lt;br /&gt;
Returns a list of storage system tunable profiles. These enables setting all the tunable parameters as a set for a given use case.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;tunableProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileGet?tunableProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableProfileModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableProfileModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;tunableProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tunableList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystemTunableProfile|osn:storageSystemTunableProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableProfileModify?tunableProfile=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;tunableList=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableProfileModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemTunableSet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemTunableSet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tunableList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;option&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystemTunable|osn:storageSystemTunable]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemTunableSet?storageSystem=val0&amp;amp;tunableList=val1&amp;amp;option=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemTunableSet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemUpdateCheck ==&lt;br /&gt;
Does an update check on the specified system to see if there are newer packages to upgrade to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemUpdateCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;qstorManagerVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorManagerVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorServiceVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorServiceVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorTargetVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorTargetVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorWebServerVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorWebServerVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorRestVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qstorRestVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;kernelVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;kernelVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;distroVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephVersionCurrent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephVersionAvailable&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemUpdateCheck?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemUpdateCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemUpgrade ==&lt;br /&gt;
Starts the upgrade process on the specified list of storage systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemUpgrade&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemIdList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;includeKernel&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;distroUpgrade&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;allowReboot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;coreOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;cephUpgrade&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;workerTask&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;timeoutPaddingSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageSystem|osn:storageSystem]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemUpgrade?storageSystemIdList=val0&amp;amp;includeKernel=val1&amp;amp;distroUpgrade=val2&amp;amp;allowReboot=val3&amp;amp;coreOnly=val4&amp;amp;cephUpgrade=val5&amp;amp;workerTask=val6&amp;amp;timeoutPaddingSec=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemUpgrade.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageSystemVersion ==&lt;br /&gt;
Provides system name, id, and version without authentication.  This API provides a discovery mechanism that can be used by various service discovery methods.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageSystemVersion&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageSystemName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageSystemVersion&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageSystemVersion?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageSystemVersion.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageTierAssoc|osn:storageTierAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierAssocEnum?storagePool=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageTierId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTierAssoc|osn:storageTierAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierAssocGet?storageTierId=val0&amp;amp;storagePoolId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierCreate ==&lt;br /&gt;
Creates a new storage provisioning tier which is essentially a group of pools with similar characteristics.  Storage Tiers my be used in place of specific Storage Pool IDs when calling APIs requiring a provisionable UUID such as [[storageVolumeCreate]] and [[networkShareCreate]].  The system will intelligently select a pool within a specified tier based on the available resources when a tier is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;performanceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierCreate?name=val0&amp;amp;description=val1&amp;amp;storageClass=val2&amp;amp;storageType=0&amp;amp;performanceLevel=0&amp;amp;poolList=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageTier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierDelete?storageTier=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageTier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierGet?storageTier=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageTier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;performanceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierModify?storageTier=val0&amp;amp;newName=val1&amp;amp;description=val2&amp;amp;storageClass=val3&amp;amp;storageType=0&amp;amp;performanceLevel=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageTierPoolAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageTierPoolAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageTier&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;poolList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageTier|osn:storageTier]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageTierPoolAddRemove?storageTier=val0&amp;amp;modType=0&amp;amp;poolList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageTierPoolAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeAclAddRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeAclAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;hostList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;lun&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeAclAddRemove?storageVolume=val0&amp;amp;modType=0&amp;amp;hostList=val2&amp;amp;lun=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeAclAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeAclAddRemoveEx ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeAclAddRemoveEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeAclAddRemoveEx?host=val0&amp;amp;modType=0&amp;amp;storageVolumeList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeAclAddRemoveEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeAclEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeAclEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeAclEnum?host=val0&amp;amp;storageVolume=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeAclEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeAclGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeAclGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeAclGet?host=val0&amp;amp;storageVolume=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeAclGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeClone ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeClone&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cloneName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeClone?storageVolume=val0&amp;amp;cloneName=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;accessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeClone.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;thinProvisioned&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;disableMapping&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;lun&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;namespaceName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeCreate?name=val0&amp;amp;description=val1&amp;amp;provisionableId=val2&amp;amp;size=val3&amp;amp;thinProvisioned=val4&amp;amp;accessMode=0&amp;amp;chapPolicy=0&amp;amp;chapUsername=val7&amp;amp;chapPassword=val8&amp;amp;count=0&amp;amp;qosPolicy=val10&amp;amp;profile=val11&amp;amp;disableMapping=val12&amp;amp;lun=0&amp;amp;namespaceName=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeCreateEx ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeCreateEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;percentReserved&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;stripeSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;stripeCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;compressionType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;copies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;spaceReserved&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;disableMapping&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;lun&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;namespaceName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeCreateEx?name=val0&amp;amp;description=val1&amp;amp;provisionableId=val2&amp;amp;size=val3&amp;amp;percentReserved=0&amp;amp;accessMode=0&amp;amp;chapPolicy=0&amp;amp;chapUsername=val7&amp;amp;chapPassword=val8&amp;amp;count=0&amp;amp;blockSizeKb=0&amp;amp;stripeSizeKb=0&amp;amp;stripeCount=0&amp;amp;syncPolicy=0&amp;amp;cachePolicyPrimary=0&amp;amp;cachePolicySecondary=0&amp;amp;compressionType=val16&amp;amp;copies=0&amp;amp;qosPolicy=val18&amp;amp;profile=val19&amp;amp;spaceReserved=val20&amp;amp;disableMapping=val21&amp;amp;lun=0&amp;amp;namespaceName=val23&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeCreateEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeCreatePassthru ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeCreatePassthru&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;physicalDiskList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;passthruMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeCreatePassthru?name=val0&amp;amp;description=val1&amp;amp;physicalDiskList=val2&amp;amp;accessMode=0&amp;amp;chapPolicy=0&amp;amp;chapUsername=val5&amp;amp;chapPassword=val6&amp;amp;blockSizeKb=0&amp;amp;qosPolicy=val8&amp;amp;profile=val9&amp;amp;passthruMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeCreatePassthru.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeDelete?storageVolumeList=val0&amp;amp;searchParams=val1&amp;amp;deleteOptions=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeDeleteEx ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeDeleteEx&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeDeleteEx?storageVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeDeleteEx.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeEnum?storageVolumeList=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGet?storageVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeGroupAssoc|osn:storageVolumeGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupAssocEnum?storageVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroupAssoc|osn:storageVolumeGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupAssocGet?storageVolumeGroupId=val0&amp;amp;storageVolumeId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupClone ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupClone&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;cloneNamePrefix&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupClone?storageVolumeGroup=val0&amp;amp;cloneNamePrefix=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;accessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupClone.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupCreate?name=val0&amp;amp;description=val1&amp;amp;storageVolumeList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;deleteAssociatedVolumes&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupDelete?storageVolumeGroup=val0&amp;amp;deleteAssociatedVolumes=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupGet?storageVolumeGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupModify?storageVolumeGroup=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupSnapshot ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupSnapshot&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotNamePrefix&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupSnapshot?storageVolumeGroup=val0&amp;amp;snapshotNamePrefix=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;count=0&amp;amp;accessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupSnapshot.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeGroupVolumeAddRemove ==&lt;br /&gt;
see [[#enum:modifyType]] where 0=add, 1=remove, 2=set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeGroupVolumeAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeGroup|osn:storageVolumeGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeGroupVolumeAddRemove?storageVolumeGroup=val0&amp;amp;modType=0&amp;amp;storageVolumeList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeGroupVolumeAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeHealthCheck ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeHealthCheck&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:resourceHealthCheck|osn:resourceHealthCheck]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeHealthCheck?storageVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeHealthCheck.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeHoldAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeHoldAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;holdTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeHoldAdd?storageVolume=val0&amp;amp;holdTag=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeHoldAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeHoldRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeHoldRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;holdTag&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeHoldRemove?storageVolume=val0&amp;amp;holdTag=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeHoldRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeImport ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeImport&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storagePool&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;importTypes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cleanupSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;replicationScheduleId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storagePool|osn:storagePool]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeImport?storagePool=val0&amp;amp;importTypes=0&amp;amp;cleanupSnapshots=val2&amp;amp;replicationScheduleId=val3&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeImport.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;clearSnapshotFlag&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;enableCaching&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;isActiveCheckpoint&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;compressionType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;copies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;profile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;spaceReserved&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;lun&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeModify?storageVolume=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;newAccessMode=0&amp;amp;chapPolicy=0&amp;amp;chapUsername=val5&amp;amp;chapPassword=val6&amp;amp;clearSnapshotFlag=val7&amp;amp;enableCaching=val8&amp;amp;isActiveCheckpoint=val9&amp;amp;syncPolicy=0&amp;amp;cachePolicyPrimary=0&amp;amp;cachePolicySecondary=0&amp;amp;compressionType=val13&amp;amp;copies=0&amp;amp;qosPolicy=val15&amp;amp;profile=val16&amp;amp;spaceReserved=val17&amp;amp;lun=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeProfileEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeProfileEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeProfile|osn:storageVolumeProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeProfileEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeProfileEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeProfileGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeProfileGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolumeProfile&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeProfile|osn:storageVolumeProfile]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeProfileGet?storageVolumeProfile=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeProfileGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeReassignSchedule ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeReassignSchedule&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;schedule&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;recursiveUpdateGmtSnaps&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeReassignSchedule?storageVolume=val0&amp;amp;schedule=val1&amp;amp;recursiveUpdateGmtSnaps=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeReassignSchedule.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeResize ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeResize&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newSizeInBytes&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeResize?storageVolume=val0&amp;amp;provisionableId=val1&amp;amp;newSizeInBytes=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeResize.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeRestore ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeRestore&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeRestore?storageVolume=val0&amp;amp;snapshotVolume=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeRestore.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeRollback ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeRollback&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeRollback?storageVolume=val0&amp;amp;snapshotVolume=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeRollback.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeRollbackClone ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeRollbackClone&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;snapshotVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeRollbackClone?snapshotVolume=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeRollbackClone.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxResults&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;objCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeSearch?searchParams=val0&amp;amp;maxResults=0&amp;amp;offset=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeSetQosControls ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeSetQosControls&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;qosReadIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosReadBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosWriteBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
      &amp;quot;qosPolicy&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeSetQosControls?storageVolume=val0&amp;amp;qosReadIops=val1&amp;amp;qosWriteIops=val2&amp;amp;qosReadBandwidth=val3&amp;amp;qosWriteBandwidth=val4&amp;amp;qosPolicy=val5&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeSetQosControls.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeSnapshot ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeSnapshot&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;snapshotName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeSnapshot?storageVolume=val0&amp;amp;snapshotName=val1&amp;amp;description=val2&amp;amp;provisionableId=val3&amp;amp;accessMode=0&amp;amp;count=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeSnapshot.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeSnapshotRevert ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeSnapshotRevert&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;preserveExistingSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeSnapshotRevert?storageVolume=val0&amp;amp;preserveExistingSnapshot=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeSnapshotRevert.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeUtilizationEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeUtilizationEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageVolume&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;offsetDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;numberOfDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:storageVolumeUtilization|osn:storageVolumeUtilization]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeUtilizationEnum?storageVolume=val0&amp;amp;offsetDays=0&amp;amp;numberOfDays=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeUtilizationEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeUtilizationGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeUtilizationGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;utilizationId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:storageVolumeUtilization|osn:storageVolumeUtilization]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeUtilizationGet?utilizationId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeUtilizationGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeUtilizationGetRetentionPeriod ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeUtilizationGetRetentionPeriod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;days&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeUtilizationGetRetentionPeriod?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeUtilizationGetRetentionPeriod.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== storageVolumeUtilizationSetRetentionPeriod ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;storageVolumeUtilizationSetRetentionPeriod&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;daysToRetain&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;days&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/storageVolumeUtilizationSetRetentionPeriod?daysToRetain=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @storageVolumeUtilizationSetRetentionPeriod.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;swControllerGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerEnum?swControllerGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;swController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerGet?swController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swControllerGroup|osn:swControllerGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;swControllerGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swControllerGroup|osn:swControllerGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerGroupGet?swControllerGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerIscsiConfigAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerIscsiConfigAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageVolumeList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerIscsiConfigAdd?storageSystemList=val0&amp;amp;storageVolumeList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerIscsiConfigAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerPortalAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerPortalAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portalIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portalPortNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;controllerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;chapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;chapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerPortalAdd?storageSystemList=val0&amp;amp;name=val1&amp;amp;description=val2&amp;amp;portalIpAddress=val3&amp;amp;portalPortNumber=0&amp;amp;controllerType=0&amp;amp;chapUsername=val6&amp;amp;chapPassword=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerPortalAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerPortalRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerPortalRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;hwController&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerPortalRemove?hwController=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerPortalRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerPortalScan ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerPortalScan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swControllerTarget|osn:swControllerTarget]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerPortalScan?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerPortalScan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerTargetEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerTargetEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swControllerTarget|osn:swControllerTarget]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerTargetEnum?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerTargetEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerTargetGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerTargetGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;swControllerTarget&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swControllerTarget|osn:swControllerTarget]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerTargetGet?swControllerTarget=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerTargetGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerTargetLogin ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerTargetLogin&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerTargetLogin?controllerId=val0&amp;amp;targetList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerTargetLogin.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swControllerTargetLogout ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swControllerTargetLogout&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swControllerTargetLogout?controllerId=val0&amp;amp;targetList=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swControllerTargetLogout.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swDiskSessionEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swDiskSessionEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:swDiskSession|osn:swDiskSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swDiskSessionEnum?controllerId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swDiskSessionEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== swDiskSessionGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;swDiskSessionGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;swDiskSession&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:swDiskSession|osn:swDiskSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/swDiskSessionGet?swDiskSession=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @swDiskSessionGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== systemCapabilityMetaDataGet ==&lt;br /&gt;
Used by VMware VASA module to gather capabilities information&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;systemCapabilityMetaDataGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:capabilityMetaData|osn:capabilityMetaData]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/systemCapabilityMetaDataGet?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @systemCapabilityMetaDataGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortDisable ==&lt;br /&gt;
Disables the specified network port, this is equivalent to an if-down operation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortDisable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortDisable?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortDisable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortEnable ==&lt;br /&gt;
Enabled the specified network port, this is equivalent to an if-up operation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortEnable&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortEnable?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortEnable.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortEnum ==&lt;br /&gt;
Returns a list of all the network ports on all the systems in the grid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortGet ==&lt;br /&gt;
Returns information about a specific network port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortGet?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortHide ==&lt;br /&gt;
Enabled the specified network port, this is equivalent to an if-up operation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortHide&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;hide&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortHide?port=val0&amp;amp;storageSystem=val1&amp;amp;hide=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortHide.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortModify ==&lt;br /&gt;
Modifies the specified target port. Target ports are Network Ports and are typically named  ethN, bondN, or a VLAN bondN.M or virtual interface bondN:M&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;configType&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;netmask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;iscsiEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;nvmeofEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;losslessNetworkingEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bondMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;firewallMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;firewallForceAllowMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;autoTuningEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortModify?port=val0&amp;amp;configType=val1&amp;amp;storageSystem=val2&amp;amp;ipAddress=val3&amp;amp;netmask=val4&amp;amp;gateway=val5&amp;amp;mtu=0&amp;amp;iscsiEnabled=val7&amp;amp;nvmeofEnabled=val8&amp;amp;losslessNetworkingEnabled=val9&amp;amp;description=val10&amp;amp;bondMode=0&amp;amp;firewallMask=0&amp;amp;firewallForceAllowMask=0&amp;amp;autoTuningEnabled=val14&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortRename ==&lt;br /&gt;
Creates a file mapping MAC address to a generic name.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortRename&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortRename?port=val0&amp;amp;name=val1&amp;amp;storageSystem=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortRename.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortRescan ==&lt;br /&gt;
Forces an immediate scan of the network ports.  This is generally not needed as they&#039;re continuously monitored on a 10sec interval.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortRescan&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortRescan?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortRescan.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortRestart ==&lt;br /&gt;
Forces a restart of the specified network port&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortRestart&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortRestart?port=val0&amp;amp;storageSystemId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortRestart.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortStaticRouteCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortStaticRouteCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetPort&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;destinationIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;destinationNetmask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gatewayIpAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPortStaticRoute|osn:targetPortStaticRoute]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortStaticRouteCreate?storageSystem=val0&amp;amp;targetPort=val1&amp;amp;destinationIpAddress=val2&amp;amp;destinationNetmask=val3&amp;amp;gatewayIpAddress=val4&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortStaticRouteCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortStaticRouteDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortStaticRouteDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;routeId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPortStaticRoute|osn:targetPortStaticRoute]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortStaticRouteDelete?routeId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortStaticRouteDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortStaticRouteEnum ==&lt;br /&gt;
Returns a list of all the static routes on network ports on all the systems in the grid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortStaticRouteEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:targetPortStaticRoute|osn:targetPortStaticRoute]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortStaticRouteEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortStaticRouteEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetPortStaticRouteGet ==&lt;br /&gt;
Returns information about a specific network port static route&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetPortStaticRouteGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPortStaticRoute|osn:targetPortStaticRoute]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetPortStaticRouteGet?port=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetPortStaticRouteGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetVirtualInterfaceCreate ==&lt;br /&gt;
Creates a virtual interface (eg: bond0:1) on the specified parent port (eg: bond0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetVirtualInterfaceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentPortId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;netmask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetVirtualInterfaceCreate?storageSystemId=val0&amp;amp;parentPortId=val1&amp;amp;ipAddress=val2&amp;amp;netmask=val3&amp;amp;gateway=val4&amp;amp;macAddress=val5&amp;amp;mtu=0&amp;amp;description=val7&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetVirtualInterfaceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetVirtualPortCreate ==&lt;br /&gt;
Creates a teaming virtual port (eg: bond0) using the specified port list (eth0, eth1, etc)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetVirtualPortCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;netmask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;portList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;bondMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetVirtualPortCreate?storageSystemId=val0&amp;amp;ipAddress=val1&amp;amp;netmask=val2&amp;amp;gateway=val3&amp;amp;macAddress=val4&amp;amp;portList=val5&amp;amp;mtu=0&amp;amp;description=val7&amp;amp;bondMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetVirtualPortCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetVirtualPortDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetVirtualPortDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;port&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetVirtualPortDelete?port=val0&amp;amp;storageSystem=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetVirtualPortDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== targetVlanInterfaceCreate ==&lt;br /&gt;
Creates a VLAN interface on the specified parent port (eg: bond0)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;targetVlanInterfaceCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;parentPortId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;netmask&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;vlanId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;vlanQos&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:targetPort|osn:targetPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/targetVlanInterfaceCreate?storageSystemId=val0&amp;amp;parentPortId=val1&amp;amp;ipAddress=val2&amp;amp;netmask=val3&amp;amp;gateway=val4&amp;amp;vlanId=0&amp;amp;vlanQos=0&amp;amp;mtu=0&amp;amp;description=val8&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @targetVlanInterfaceCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskCancel ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskCancel&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskCancel?id=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskCancel.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskClearAll ==&lt;br /&gt;
Clears all completed or failed tasks.  Running, queued, initializing tasks are skipped.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskClearAll&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskClearAll?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskClearAll.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskEnum ==&lt;br /&gt;
Returns a list of all the tasks.  All QuantaStor management operations (API class) are run as async tasks within the storage grid.  These Task can be monitored using the [[#taskEnum]] and [[#taskGet]] APIs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;taskIdlist&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskEnum?taskIdlist=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskGet ==&lt;br /&gt;
Returns detailed information about a specific [[#osn:task]].  Use this API to monitor the progress of tasks.  All tasks run asynchronously.  As the caller of an API you can block the return of your API call until the task completes bay passing flags=0 to any API.  Passing flags=1 to any API will return immediately after the task is queued so that progress may be monitored via the [[taskGet]] API.  For APIs which create/modify/update an object the customId field of the task object will be populated with the UUID of the created/modified object so that it may be queried after the task completes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskGet?id=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskLockEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskLockEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:lock|osn:lock]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskLockEnum?storageSystemId=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskLockEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskLockRelease ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskLockRelease&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;taskId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:lock|osn:lock]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskLockRelease?storageSystemId=val0&amp;amp;taskId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskLockRelease.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskProceed ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskProceed&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;options&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskProceed?id=val0&amp;amp;options=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskProceed.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== taskUpdateProgress ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;taskUpdateProgress&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;taskId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;progress&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;state&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/taskUpdateProgress?taskId=val0&amp;amp;description=val1&amp;amp;progress=0&amp;amp;state=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @taskUpdateProgress.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== traceLevelGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;traceLevelGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:traceLevel|osn:traceLevel]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/traceLevelGet?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @traceLevelGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== traceLevelModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;traceLevelModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;traceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;stdOut&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;traceFilter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;traceFilterVerbose&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;traceOptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;eventVerboseFilter&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;memoryTrackingOption&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:traceLevel|osn:traceLevel]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/traceLevelModify?traceLevel=0&amp;amp;stdOut=val1&amp;amp;traceFilter=val2&amp;amp;traceFilterVerbose=val3&amp;amp;traceOptions=val4&amp;amp;eventVerboseFilter=val5&amp;amp;memoryTrackingOption=val6&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @traceLevelModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== traceLogMessage ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;traceLogMessage&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;traceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;messages&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:traceLevel|osn:traceLevel]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/traceLogMessage?traceLevel=0&amp;amp;messages=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @traceLogMessage.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAdd ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAdd&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;role&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;firstName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;lastName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;emailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;defaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;specifiedAlertSubscriptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;alertSubscriptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;posixUid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;allowRootCliTokenAuth&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;accountType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;terminateTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableMultiFactorAuth&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;mfaConfig&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAdd?username=val0&amp;amp;password=val1&amp;amp;role=val2&amp;amp;firstName=val3&amp;amp;lastName=val4&amp;amp;emailAddress=val5&amp;amp;description=val6&amp;amp;defaultChapUsername=val7&amp;amp;defaultChapPassword=val8&amp;amp;specifiedAlertSubscriptions=val9&amp;amp;alertSubscriptions=0&amp;amp;posixUid=0&amp;amp;posixGid=0&amp;amp;allowRootCliTokenAuth=val13&amp;amp;accountType=0&amp;amp;terminateTimeStamp=val15&amp;amp;wuiTabDisable=0&amp;amp;wuiSectionDisable=0&amp;amp;enableMultiFactorAuth=val18&amp;amp;mfaConfig=val19&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAdd.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAppTokenCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAppTokenCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tokenName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;appKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tokenExpires&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;isReadOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;appAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userAppToken|osn:userAppToken]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAppTokenCreate?user=val0&amp;amp;tokenName=val1&amp;amp;appKey=val2&amp;amp;tokenExpires=val3&amp;amp;isReadOnly=val4&amp;amp;appAccessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAppTokenCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAppTokenEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAppTokenEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:userAppToken|osn:userAppToken]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAppTokenEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAppTokenEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAppTokenGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAppTokenGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;appToken&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userAppToken|osn:userAppToken]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAppTokenGet?appToken=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAppTokenGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAppTokenRegen ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAppTokenRegen&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;appToken&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;tokenExpires&amp;quot;: xsd:dateTime&lt;br /&gt;
      &amp;quot;isReadOnly&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;appAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userAppToken|osn:userAppToken]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAppTokenRegen?appToken=val0&amp;amp;tokenExpires=val1&amp;amp;isReadOnly=val2&amp;amp;appAccessMode=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAppTokenRegen.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userAppTokenRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userAppTokenRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;appToken&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userAppToken|osn:userAppToken]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userAppTokenRemove?appToken=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userAppTokenRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGenerateOtpAuthSecret ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGenerateOtpAuthSecret&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;responseSecretToken&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGenerateOtpAuthSecret?user=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGenerateOtpAuthSecret.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGet?user=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupAssocEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:userGroupAssoc|osn:userGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupAssocEnum?user=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userGroupId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;userId&amp;quot;: xsd:string&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroupAssoc|osn:userGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupAssocGet?userGroupId=val0&amp;amp;userId=val1&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupCreate ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupCreate&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;userList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupCreate?name=val0&amp;amp;description=val1&amp;amp;userList=val2&amp;amp;posixGid=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupCreate.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupDelete ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupDelete&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupDelete?userGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupDelete.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupEnum ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupEnum?flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupGet?userGroup=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupModify?userGroup=val0&amp;amp;newName=val1&amp;amp;newDescription=val2&amp;amp;posixGid=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxResults&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
    &amp;quot;objCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupSearch?searchParams=val0&amp;amp;maxResults=0&amp;amp;offset=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userGroupUserAddRemove ==&lt;br /&gt;
see [[#enum:modifyType]] where 0=add, 1=remove, 2=set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userGroupUserAddRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;userGroup&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;modType&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:modifyType]] where 0=add, 1=remove, 2=set|inline=1}}&lt;br /&gt;
      &amp;quot;userList&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:userGroup|osn:userGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userGroupUserAddRemove?userGroup=val0&amp;amp;modType=0&amp;amp;userList=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userGroupUserAddRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userModify ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userModify&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newRole&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newFirstName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newLastName&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newEmailAddress&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDescription&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDefaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newDefaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newOtpSecretKey&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;specifiedAlertSubscriptions&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;alertSubscriptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;posixUid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;lockAccount&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;allowRootCliTokenAuth&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;enableMultiFactorAuth&amp;quot;: xsd:boolean&lt;br /&gt;
      &amp;quot;multiFactorAuthConfig&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userModify?user=val0&amp;amp;newName=val1&amp;amp;newRole=val2&amp;amp;newFirstName=val3&amp;amp;newLastName=val4&amp;amp;newEmailAddress=val5&amp;amp;newDescription=val6&amp;amp;newDefaultChapUsername=val7&amp;amp;newDefaultChapPassword=val8&amp;amp;newOtpSecretKey=val9&amp;amp;specifiedAlertSubscriptions=val10&amp;amp;alertSubscriptions=0&amp;amp;posixUid=0&amp;amp;posixGid=0&amp;amp;lockAccount=val14&amp;amp;allowRootCliTokenAuth=val15&amp;amp;wuiTabDisable=0&amp;amp;wuiSectionDisable=0&amp;amp;enableMultiFactorAuth=val18&amp;amp;multiFactorAuthConfig=val19&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userModify.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userPasswordSet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userPasswordSet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;oldPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;newPassword&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userPasswordSet?user=val0&amp;amp;oldPassword=val1&amp;amp;newPassword=val2&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userPasswordSet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userRemove ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userRemove&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;task&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userRemove?user=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userRemove.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== userSearch ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;userSearch&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;searchParams&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;maxResults&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;offset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:user|osn:user]]&lt;br /&gt;
    &amp;quot;objCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/userSearch?searchParams=val0&amp;amp;maxResults=0&amp;amp;offset=0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @userSearch.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== virtualInterfaceAssocEnum ==&lt;br /&gt;
Returns a list of all the virtual interface associations&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;virtualInterfaceAssocEnum&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;storageSystem&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt  {{Note|0=sync/blocking until task finishes, 1=async/return immediately after task has been queued|inline=1}}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;list&amp;quot;: [[#osn:virtualInterfaceAssoc|osn:virtualInterfaceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/virtualInterfaceAssocEnum?storageSystem=val0&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @virtualInterfaceAssocEnum.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== virtualInterfaceAssocGet ==&lt;br /&gt;
&#039;&#039;&#039; Request Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;virtualInterfaceAssocGet&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
      &amp;quot;virtualInterfaceId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;targetPortId&amp;quot;: xsd:string&lt;br /&gt;
      &amp;quot;flags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&#039;&#039;&#039; Response Parameters &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;obj&amp;quot;: [[#osn:virtualInterfaceAssoc|osn:virtualInterfaceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Curl Examples &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password &amp;quot;https://10.10.10.10:8153/qstorapi/virtualInterfaceAssocGet?virtualInterfaceId=val0&amp;amp;targetPortId=val1&amp;amp;flags=0&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;curl -k -u admin:password -d @virtualInterfaceAssocGet.json &amp;quot;https://10.10.10.10:8153/qstorapi/jsonrpc&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
= Object Type Definitions =&lt;br /&gt;
&lt;br /&gt;
== osn:acl ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ownerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ownerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;accessLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;reserved&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:activeDirDomain ==&lt;br /&gt;
Represents an Active Directory domain.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:activeDirUserGroup ==&lt;br /&gt;
Represents an Active Directory user or group, this information is gathered from the server when managing [[#osn:networkShareUserAccess]] instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isGroup&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:alert ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;severity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;timeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;title&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snmpTrapType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageSystemName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;acknowledgedStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:alertConfigEndpoint ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;endpointModule&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;endpointUrl&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:alertConfigSettings ==&lt;br /&gt;
Configuration of the alert settings (call-home) for the Storage System and Storage Grid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;senderEmailAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smtpServerIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smtpServerPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;smtpUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smtpPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smtpAuthType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;customerSupportEmailAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;poolFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;poolFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;poolFreeSpaceCriticalAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;shareQuotaFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;shareQuotaFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;shareQuotaFreeSpaceCriticalThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableSyslogAlerts&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;snmpUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snmpPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectUserQuotaFreeSpaceWarningThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;objectUserQuotaFreeSpaceAlertThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;objectUserQuotaFreeSpaceCriticalThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;handlerList&amp;quot;: [[#osn:alertHandler|osn:alertHandler]]&lt;br /&gt;
    &amp;quot;endpointList&amp;quot;: [[#osn:alertConfigEndpoint|osn:alertConfigEndpoint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:alertHandler ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;endpointModule&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;docLink&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:alertType ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;pauseUntilDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;snmpTrapType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;severity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:auditLogEntry ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;auditEntryType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;auditEntryIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;auditEntryMessage&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;auditEntryStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;auditEntryUserId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;auditEntryClientIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;auditEntryTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;auditEntryMethod&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;taskObjList&amp;quot;: [[#osn:task|osn:task]]&lt;br /&gt;
    &amp;quot;alertObj&amp;quot;: [[#osn:alert|osn:alert]]&lt;br /&gt;
    &amp;quot;apiArgs&amp;quot;: [[#osn:keyValuePair|osn:keyValuePair]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:backupJob ==&lt;br /&gt;
[[#osn:networkShare]]s can have [[#osn:backupPolicy]] associated with them.  Each time the Backup Policy runs a [[#osn:backupJob]] instance is created to show the progress and status of the backup job.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pid&amp;quot;: xsd:unsignedInt  {{Note|process ID associated with the Backup Job|inline=1}}&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string  {{Note|Current status of the Backup Job|inline=1}}&lt;br /&gt;
    &amp;quot;progress&amp;quot;: xsd:unsignedInt  {{Note|Current progress of the Backup Job as a percentage complete|inline=1}}&lt;br /&gt;
    &amp;quot;jobStage&amp;quot;: xsd:unsignedInt  {{Note|Current stage that the backup is in|inline=1}}&lt;br /&gt;
    &amp;quot;filesScanned&amp;quot;: xsd:unsignedInt  {{Note|Number of files that were scanned on the source in prep for the transfer|inline=1}}&lt;br /&gt;
    &amp;quot;filesCopied&amp;quot;: xsd:unsignedInt  {{Note|Number of files that were copied from source to destination|inline=1}}&lt;br /&gt;
    &amp;quot;filesPurged&amp;quot;: xsd:unsignedInt  {{Note|Number of files that were removed due to aging out|inline=1}}&lt;br /&gt;
    &amp;quot;backupPolicyId&amp;quot;: xsd:string  {{Note|Backup Policy that this Backup Job was launched from|inline=1}}&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string  {{Note|Network Share the Backup Job is associated with|inline=1}}&lt;br /&gt;
    &amp;quot;startDate&amp;quot;: xsd:dateTime  {{Note|date the Backup Job started|inline=1}}&lt;br /&gt;
    &amp;quot;finishDate&amp;quot;: xsd:dateTime  {{Note|date the Backup Job completed|inline=1}}&lt;br /&gt;
    &amp;quot;policyMode&amp;quot;: xsd:string  {{Note|indicates what move the Backup Policy was set to (move/copy and inbound/outbound) at the time the Backup Job was run.|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:backupPolicy ==&lt;br /&gt;
Represents a backup policy which can be used to backup or move data to/from any NFS or SMB share on a given network.  This enables QuantaStor to directly backup shares on Windows and Linux systems.  It also enables one to automatically migrate files to another NAS system or server based on file age.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:schedule|osn:schedule]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteHostname&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteExportPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteMountType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCriteria&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;policyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;scanThreads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;purgePolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;createBackupLogs&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;backupToShareRoot&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;smbUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smbPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxFileAgeDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;smbPasswordAlg&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;createLinks&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;lastTieringTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;smbSalt&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteExportSubPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;filterRuleInclude&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;filterRuleExclude&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;minSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;maxSizeThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;minAutoTierThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;autoCopy&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;forceRemoveTiered&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;backupJobList&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:bucket ==&lt;br /&gt;
Ceph Buckets are repositories for S3 objects just the same as AWS buckets.  The customId property holds the bucket ID used by Ceph.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;owner&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendorType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;objectLockMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;objectLockRetentionDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableLifecyclePolicy&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;lifecyclePolicyDays&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableNetworkShareAccess&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;tenantId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;integrationOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bucketUpdateRequested&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;objectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;ownerS3UserId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjectsEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjects&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;versioning&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:capabilityMetaData ==&lt;br /&gt;
Pool capability metadata used to support external integration modules like VMware VASA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;category&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;summary&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;valueType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;defaultValue&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isImmutable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;allowedValues&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephClientKeyring ==&lt;br /&gt;
represents a ceph RBD client [[#osn:storageSystem]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capsMon&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capsOsd&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capsMgr&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capsMds&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientKeyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;keyringResourceAssocList&amp;quot;: [[#osn:cephClientKeyringResourceAssoc|osn:cephClientKeyringResourceAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephClientKeyringResourceAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClientKeyringId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;resourceId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephCluster ==&lt;br /&gt;
A ceph scale-out storage cluster which is comprised of one or more [[#osn:storageSystem]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string  {{Note|usually HEALTH_OK|inline=1}}&lt;br /&gt;
    &amp;quot;statusSummary&amp;quot;: xsd:string  {{Note|Summary description of status.|inline=1}}&lt;br /&gt;
    &amp;quot;clientadminkeyring&amp;quot;: xsd:string  {{Note|Client Admin keyring.|inline=1}}&lt;br /&gt;
    &amp;quot;defaultmonitorkeyring&amp;quot;: xsd:string  {{Note|Default monitor keyring.|inline=1}}&lt;br /&gt;
    &amp;quot;cephClusterFsid&amp;quot;: xsd:string  {{Note|Ceph Cluster FSID.|inline=1}}&lt;br /&gt;
    &amp;quot;cephVersion&amp;quot;: xsd:string  {{Note|Ceph version.|inline=1}}&lt;br /&gt;
    &amp;quot;isMaintenanceMode&amp;quot;: xsd:boolean  {{Note|Set to &#039;true&#039; if Ceph Cluster in in maintenance mode.|inline=1}}&lt;br /&gt;
    &amp;quot;osdWeightPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;encryptionType&amp;quot;: xsd:string  {{Note|default: empty, indicates encryption type, none, luks, or SED.|inline=1}}&lt;br /&gt;
    &amp;quot;encryptedOSD&amp;quot;: xsd:boolean  {{Note|default: false, indicates if OSD level encryption is enabled.|inline=1}}&lt;br /&gt;
    &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressedOSD&amp;quot;: xsd:boolean  {{Note|default: false, indicates if OSD level compression is ensabled.|inline=1}}&lt;br /&gt;
    &amp;quot;clientadminkeyringAlg&amp;quot;: xsd:unsignedInt  {{Note|Client Admin keyring.|inline=1}}&lt;br /&gt;
    &amp;quot;defaultmonitorkeyringAlg&amp;quot;: xsd:unsignedInt  {{Note|Default monitor keyring.|inline=1}}&lt;br /&gt;
    &amp;quot;clusterAuthMode&amp;quot;: xsd:unsignedInt  {{Note|see osn__cephClusterAuthMode_t. Default is cephx which is the default and encrypts ceph cluster communication|inline=1}}&lt;br /&gt;
    &amp;quot;osdOutSubtreeLimit&amp;quot;: xsd:unsignedInt  {{Note|see osn__cephMonOsdSubtreeLimit. Default is host which doesn&#039;t kick out OSDs if the whole host is offline but will kick out individual downed OSDs within a host|inline=1}}&lt;br /&gt;
    &amp;quot;osdDownTimeoutSec&amp;quot;: xsd:unsignedInt  {{Note|default is 300 seconds, after no response from an OSD for this time amount it is marked as down|inline=1}}&lt;br /&gt;
    &amp;quot;osdOutTimeoutSec&amp;quot;: xsd:unsignedInt  {{Note|default is 86400 seconds, after no reponse from a downed OSD for this amount of time it is kicked out|inline=1}}&lt;br /&gt;
    &amp;quot;nearFillFullPercent&amp;quot;: xsd:unsignedInt  {{Note|Setup to receive a warning when your cluster is getting near to its full ratio|inline=1}}&lt;br /&gt;
    &amp;quot;backFillFullPercent&amp;quot;: xsd:unsignedInt  {{Note|When cluster has reached this capacity it blocks backfills from starting|inline=1}}&lt;br /&gt;
    &amp;quot;fullPercent&amp;quot;: xsd:unsignedInt  {{Note|When cluster has reached this capacity it stops clients from writing data|inline=1}}&lt;br /&gt;
    &amp;quot;rawUtilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;rawFreeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;clustersalt&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;userQuotaMaxObjectsEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;userQuotaMaxObjects&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;userQuotaMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;userQuotaMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjectsEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjects&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;designatedCoordinatorId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;memberIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;osdIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;monitorIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pgSetIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;rgwIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mdsIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;healthEventIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephClusterHealthEvent ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;checkType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;severity&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;summary&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;count&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isMuted&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephClusterMember ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;backendInterfaceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientInterfaceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephCfgHash&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cfgModifyTimeStamp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephVersion&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephClusterServiceEvent ==&lt;br /&gt;
Represents a ceph crash report&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;crashId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;entity&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isArchived&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephCrushRule ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ruleId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ruleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minSize&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxSize&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;listSteps&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;failureDomain&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephFilesystem ==&lt;br /&gt;
A scale-out NAS filesystem, each of these has a [[#osn:storagePool]] associated with it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:cephPoolGroup|osn:cephPoolGroup]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;activeMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;standbyMdsCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephJournalDevice ==&lt;br /&gt;
Represents a journal device used to accelerate the write performance of Ceph OSDs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;physicalDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephJournalGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephOsdId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;journalMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;altDevicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lvmUuid&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephJournalGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;primaryDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secondaryDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;groupType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;freeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;primaryDiskScsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secondaryDiskScsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephJournalDeviceIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephMds ==&lt;br /&gt;
Ceph Metadata Server must be deployed before a Ceph Filesystem may be provisionioned within a given [[#osn:cephCluster]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;gid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;port&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;rank&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cacheLimit&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephMonitor ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;monId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;rank&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;kbTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;kbUsed&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;kbAvail&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;availPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lastUpdated&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;health&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;bytesTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesSST&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesLog&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesMisc&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;insideQuorum&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;outsideQuorum&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephObjectPoolGroup ==&lt;br /&gt;
An S3 object storage zone which one may provision buckets within and give users access to via ceph user access entries.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:cephPoolGroup|osn:cephPoolGroup]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;zone&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zoneGroup&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;zoneId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zoneGroupId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephObjectStorageClass ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dataPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zoneId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephObjectStorageClassRule ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ruleIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;patternMatch&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capacityOperator&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;capacityThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketPatternMatch&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tenantPatternMatch&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isForced&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;ruleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;overflowThresholdPercentage&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;overflowProtectsDeviceClass&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephObjectZone ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephZoneId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zoneGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;endPoints&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isLocalZone&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isMaster&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;storageClassIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephObjectZoneGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephZoneGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isMaster&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;masterZoneId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephRealmId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;realmName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;endPoints&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephObjectPoolGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostnames&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zoneIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephOsd ==&lt;br /&gt;
a Ceph Object Storage Daemon has a one to one relationship with a [[#osn:physicalDisk]].  HDD based OSDs are also associated with a SSD/NVMe journal device to boost write performance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;osdId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;journalDeviceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;walDeviceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dbDeviceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;journalType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mountPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterFsid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;osdFsid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;osdType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;weight&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;journalPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;journalDeviceSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;physicalDiskScsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskEnclosure&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskSlot&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replaceReady&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;rekeyTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;deviceClass&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;encryptedOsd&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;compressedSize&amp;quot;: xsd:unsignedLong  {{Note|size of the data after compression|inline=1}}&lt;br /&gt;
    &amp;quot;compressedSizeActual&amp;quot;: xsd:unsignedLong  {{Note|true compression after accounting for padding|inline=1}}&lt;br /&gt;
    &amp;quot;compressedSizeOriginal&amp;quot;: xsd:unsignedLong  {{Note|original size of the data before compression|inline=1}}&lt;br /&gt;
    &amp;quot;compressionRatio&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPgSet ==&lt;br /&gt;
A group of placement groups within a given [[#osn:cephCluster]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pgCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPool ==&lt;br /&gt;
A scale-out ceph pool.  For pools used for block storage provisioning there is an associated [[#osn:storagePool]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;placementGroupCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minReplicaCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cephPoolType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;freeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephObjectPoolGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephFileSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephCrushRuleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephPoolProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageClassId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;compressionMode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressionAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressionUsed&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;compressionOriginal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete or resize|inline=1}}&lt;br /&gt;
    &amp;quot;cephPoolNamespaceIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPoolGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;freeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;sizeMetaData&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;utilizedSpaceMetaData&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;poolAssocList&amp;quot;: [[#osn:cephPoolGroupAssoc|osn:cephPoolGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPoolGroupAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephPoolGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isMetadataPool&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPoolNamespace ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephPoolProfile ==&lt;br /&gt;
A ceph pool profile defines an erasure-coding configuration.  It may be specified when new scale-out pools are created to control fault tolerance level and data distribution.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string  {{Note|Ceph Cluster where this EC profile resides|inline=1}}&lt;br /&gt;
    &amp;quot;dataChunkCount&amp;quot;: xsd:unsignedInt  {{Note|Indicates the number of data blocks &#039;k&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;codeChunkCount&amp;quot;: xsd:unsignedInt  {{Note|Indicates the number of coding blocks &#039;m&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;plugin&amp;quot;: xsd:string  {{Note|Indicates the EC plugin used, default is &#039;jerasure&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;technique&amp;quot;: xsd:string  {{Note|Indicates the coding block technique of the EC profile, default is &#039;reed_sol_van&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;failureDomain&amp;quot;: xsd:string  {{Note|Indicates the failure domain of the EC profile, usually &#039;host&#039; but can be &#039;rack&#039; or &#039;site&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;rulesetRoot&amp;quot;: xsd:string  {{Note|Specifies the CRUSH root of the profile, typically &#039;default&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;deviceClass&amp;quot;: xsd:string  {{Note|Specifies the device class (hdd, ssd, nvme) contraint, if empty pools using the profile will use all osds of all classes|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cephRadosGateway ==&lt;br /&gt;
Provides S3 and SWIFT object storage access to a [[#osn:cephCluster]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephObjectPoolGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;targetPortId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceEngine&amp;quot;: xsd:unsignedInt  {{Note|0=civetweb, 1=beast (new default)|inline=1}}&lt;br /&gt;
    &amp;quot;serviceMode&amp;quot;: xsd:unsignedInt  {{Note|0=https, 1=http (unsecure)|inline=1}}&lt;br /&gt;
    &amp;quot;options&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificatePemFilePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enableHttpsRedirect&amp;quot;: xsd:boolean  {{Note|Enable https port redirect to port 7480|inline=1}}&lt;br /&gt;
    &amp;quot;enableLoadBalancer&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;useTcpChecks&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;loadBalancerMappingMode&amp;quot;: xsd:unsignedInt  {{Note|see osn__loadBalancerMappingMode_t indicates https-&amp;gt;http, http-&amp;gt;http, or https-&amp;gt;https in the lb to gateway mapping|inline=1}}&lt;br /&gt;
    &amp;quot;serviceSettings&amp;quot;: xsd:unsignedInt  {{Note|See [[#enum:cephRgwServiceSettings]] for bitmask of options|inline=1}}&lt;br /&gt;
    &amp;quot;enableActiveMonitoring&amp;quot;: xsd:boolean  {{Note|continuously pings the RGW instance every minute to stat a specific object, not just to verify the service is running|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:certificate ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;containsCertificate&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;containsPrivateKey&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isSelfSigned&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;certificateFilePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateStartDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;certificateEndDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;certificateSerial&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateAlgorithm&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateEmail&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subjectAlternativeNames&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateSubject&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateIssuer&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateModulusMd5&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;certificateFingerprint&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;privateKeyFilePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;privateKeyType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;privateKeyModulusMd5&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;modulusMatch&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;certUseCase&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:certificateTemplate ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:certificate|osn:certificate]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pemFileContentCertificate&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pemFileContentPrivateKey&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:clientConnection ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isOutbound&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;serverIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serverPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;clientIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;servicePortType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudContainer ==&lt;br /&gt;
Cloud containers represent a mapping of cloud based storage (typically S3 or S3 compatible storage) to a local Network Share so that the cloud storage may be accessed over traditional NAS protocols like SMB and NFS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;credentialsId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;locationId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;encryptionKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageUrl&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mountPoint&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;markedDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enableNfs&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;spaceUtilized&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;containerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;mountOptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;configName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudContainerCacheSettings ==&lt;br /&gt;
Global NAS Gateway settings&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;dirCacheTime&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vfsCacheMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cacheShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;bufferSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;vfsCacheMaxAge&amp;quot;: xsd:string  {{Note|Max age of objects in the cache. (default 1h0m0s)|inline=1}}&lt;br /&gt;
    &amp;quot;vfsCacheMaxSize&amp;quot;: xsd:unsignedLong  {{Note|Interval to poll the cache for stale objects. (default 1m0s)|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudProvider ==&lt;br /&gt;
Represents a object storage cloud service provider like AWS, Azure, etc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;driverPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;supportsS3Proxy&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;defaultLocation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;credentialsList&amp;quot;: [[#osn:cloudProviderCredentials|osn:cloudProviderCredentials]]&lt;br /&gt;
    &amp;quot;locationList&amp;quot;: [[#osn:cloudProviderLocation|osn:cloudProviderLocation]]&lt;br /&gt;
    &amp;quot;storageClassList&amp;quot;: [[#osn:cloudProviderStorageClass|osn:cloudProviderStorageClass]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudProviderCredentials ==&lt;br /&gt;
Credentials used to login to a given cloud service provider for the purposes of creating, deleting, or connecting [[#osn:cloudContainer]] instances.  This must be added for one or more cloud service providers (eg AWS, Azure, Dropbox, etc) before one can add or create a [[#osn:cloudContainer]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;machine&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;projectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;authFile&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;containerList&amp;quot;: [[#osn:cloudContainer|osn:cloudContainer]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudProviderLocation ==&lt;br /&gt;
Each cloud provider (AWS, etc) will have one or more location/regions associated with it like us-east, us-west.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;locationTag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;endpoint&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;locationConstraint&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:cloudProviderStorageClass ==&lt;br /&gt;
Each cloud provider (AWS, etc) will have one or storage class like GLACIER or GLACIER_IR.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageClassTag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;providerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:clusterRing ==&lt;br /&gt;
Each Site Cluster will have one or two heartbeat rings setup.  For production deployments we require two rings so that one can go down without triggering high-availability failover activities.  When a [[#osn:siteCluster]] is created it is always created with the initial cluster ring.  After creation the second ring may be added.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ring&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;mcastPort&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bindNetAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ringMemberList&amp;quot;: [[#osn:clusterRingMember|osn:clusterRingMember]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:clusterRingMember ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clusterRingId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;memberAddress&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:container ==&lt;br /&gt;
containers are specific instances, started based on associated containerConfig, transient, managed automatically by containerManager&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;containerConfigId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;uptime&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceUrl&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:containerConfig ==&lt;br /&gt;
each config object represents a specific configuration of an instance of a containerized service (ftp, resilio, samba, etc)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;containerServiceDefTag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;containerConfigOptionList&amp;quot;: [[#osn:containerConfigOption|osn:containerConfigOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:containerConfigOption ==&lt;br /&gt;
container config options are essentially just key=value pairs, used by a containerConfig object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;value&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;containerConfigId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:containerServiceDef ==&lt;br /&gt;
info about the containerized service, created from parsing qs_containerservice.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;containerServiceDefType&amp;quot;: xsd:unsignedInt  {{Note|enum osn__containerServiceDefType_t: OSN_CMN_CONTAINER_SERVICE_DEF_TYPE_UNKNOWN, VSFTP, or RESILIO|inline=1}}&lt;br /&gt;
    &amp;quot;containerImage&amp;quot;: xsd:string  {{Note|registry-ext.resilio.com:5000/resilio_connect_agent:2.12.10.1916|inline=1}}&lt;br /&gt;
    &amp;quot;containerImageLogin&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;imageStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;secureKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;user&amp;quot;: xsd:string  {{Note|list of options for the container service definition, eg: ftp_user, ftp_password, resilio_license_key, etc|inline=1}}&lt;br /&gt;
    &amp;quot;serviceDefOptionList&amp;quot;: [[#osn:containerServiceDefOption|osn:containerServiceDefOption]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:containerServiceDefOption ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;containerServiceDefId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramLabel&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramDefaultValue&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramMandatory&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;paramHidden&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;paramCustomOptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;paramIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;paramRangeMin&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;paramRangeMax&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;paramDescription&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:dashboard ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;dashboardGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;url&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:dashboardGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dashboardIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:errorMessage ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;severity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;message&amp;quot;: [[#osn:i18nString|osn:i18nString]]&lt;br /&gt;
    &amp;quot;errorCode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;file&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;line&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;function&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:event ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;index&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;parentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;parentId2&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;category&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;timeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;eventId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;originId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isSync&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isRebroadcast&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;objectIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectDataList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;params&amp;quot;: [[#osn:keyValuePair|osn:keyValuePair]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:eventListener ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;processorSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;broadcasterSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;preferredIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddressList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;listenerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;listenerMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;listenerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;lastRegistrationRequest&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;lastRegistrationStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;maxEvents&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;state&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;resyncList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystem ==&lt;br /&gt;
External Systems&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;capacity&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;slots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;slotNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;indicatorLed&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enclosureLayoutId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemCredentialsId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPortGroupIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemControllerIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPoolIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemController ==&lt;br /&gt;
External System Controllers (openflex boxes have two, IO Module A and IO Module B)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostname&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isRebootable&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemCredentials ==&lt;br /&gt;
Credentials for discovering External Systems&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;primaryIp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secondaryIp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;insecure&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;externalSystemType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemHost ==&lt;br /&gt;
External System Host&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;associatedStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;initiatorA&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;initiatorB&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostVolAssocList&amp;quot;: [[#osn:externalSystemHostVolumeAssoc|osn:externalSystemHostVolumeAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemHostVolumeAssoc ==&lt;br /&gt;
External System Host Volume Assoc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;externalSystemVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemHostId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemMedia ==&lt;br /&gt;
Media device which is part of a discovered External System&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPortGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;powerOn&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;manufacturer&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;protocol&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;capacity&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;slotNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;usedById&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;usedByType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemPool ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capacity&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;availableCapacity&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;externalSystemControllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;raidtype&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;externalSystemVolumeIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemPort ==&lt;br /&gt;
Port on an External System&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPortGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subnetMask&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mtuBytes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isManagementPort&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemPortGroup ==&lt;br /&gt;
External System Port Group consist of associated ports which access the same External System Media&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isManagementPortGroup&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;slots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;externalSystemPortIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemMediaIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemProfile ==&lt;br /&gt;
External System Profile&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;poolPrefix&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;volPrefix&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dgDevices&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;stripeWidth&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;volumesPerPool&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hostAssign&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;externalSystemType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:externalSystemVolume ==&lt;br /&gt;
external system volume&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemControllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemPoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalSystemHostId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capacity&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lun&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;raidtype&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;usedById&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;usedByType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:fcRemotePort ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;fcTargetPortId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portWwn&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:fcTargetPort ==&lt;br /&gt;
Represents a Fibre Channel port on a FC HBA within a QuantaStor [[#osn:storageSystem]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isVirtualPort&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;driverVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pciInfo&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isTargetModeEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;deviceNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;sysfsPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;linkState&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portWwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeWwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activePortWwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activeNodeWwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fabricWwn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activeMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;remotePortList&amp;quot;: [[#osn:fcRemotePort|osn:fcRemotePort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hardwareConfiguration ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;listExternalSystem&amp;quot;: [[#osn:externalSystem|osn:externalSystem]]&lt;br /&gt;
    &amp;quot;listExternalSystemController&amp;quot;: [[#osn:externalSystemController|osn:externalSystemController]]&lt;br /&gt;
    &amp;quot;listExternalSystemCredentials&amp;quot;: [[#osn:externalSystemCredentials|osn:externalSystemCredentials]]&lt;br /&gt;
    &amp;quot;listExternalSystemMedia&amp;quot;: [[#osn:externalSystemMedia|osn:externalSystemMedia]]&lt;br /&gt;
    &amp;quot;listExternalSystemPort&amp;quot;: [[#osn:externalSystemPort|osn:externalSystemPort]]&lt;br /&gt;
    &amp;quot;listExternalSystemPortGroup&amp;quot;: [[#osn:externalSystemPortGroup|osn:externalSystemPortGroup]]&lt;br /&gt;
    &amp;quot;listExternalSystemPool&amp;quot;: [[#osn:externalSystemPool|osn:externalSystemPool]]&lt;br /&gt;
    &amp;quot;listExternalSystemVolume&amp;quot;: [[#osn:externalSystemVolume|osn:externalSystemVolume]]&lt;br /&gt;
    &amp;quot;listExternalSystemProfile&amp;quot;: [[#osn:externalSystemProfile|osn:externalSystemProfile]]&lt;br /&gt;
    &amp;quot;listExternalSystemHost&amp;quot;: [[#osn:externalSystemHost|osn:externalSystemHost]]&lt;br /&gt;
    &amp;quot;listHwAlarm&amp;quot;: [[#osn:hwAlarm|osn:hwAlarm]]&lt;br /&gt;
    &amp;quot;listHwBbu&amp;quot;: [[#osn:hwBatteryBackupUnit|osn:hwBatteryBackupUnit]]&lt;br /&gt;
    &amp;quot;listHwController&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
    &amp;quot;listHwGroup&amp;quot;: [[#osn:hwControllerGroup|osn:hwControllerGroup]]&lt;br /&gt;
    &amp;quot;listHwDisk&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
    &amp;quot;listHwEnclosure&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
    &amp;quot;listHwEnclosureLayout&amp;quot;: [[#osn:hwEnclosureLayout|osn:hwEnclosureLayout]]&lt;br /&gt;
    &amp;quot;listHwEnclosureLayoutVendorGroup&amp;quot;: [[#osn:hwEnclosureLayoutVendorGroup|osn:hwEnclosureLayoutVendorGroup]]&lt;br /&gt;
    &amp;quot;listHwSlot&amp;quot;: [[#osn:hwSlot|osn:hwSlot]]&lt;br /&gt;
    &amp;quot;listHwLogicalDrive&amp;quot;: [[#osn:hwLogicalDrive|osn:hwLogicalDrive]]&lt;br /&gt;
    &amp;quot;listHwUnit&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
    &amp;quot;listHwUnitDiskAssoc&amp;quot;: [[#osn:hwUnitDiskAssoc|osn:hwUnitDiskAssoc]]&lt;br /&gt;
    &amp;quot;listSwController&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
    &amp;quot;listSwControllerGroup&amp;quot;: [[#osn:swControllerGroup|osn:swControllerGroup]]&lt;br /&gt;
    &amp;quot;listSwControllerTarget&amp;quot;: [[#osn:swControllerTarget|osn:swControllerTarget]]&lt;br /&gt;
    &amp;quot;listSwDiskSession&amp;quot;: [[#osn:swDiskSession|osn:swDiskSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:healthStatusEvent ==&lt;br /&gt;
This is the type of object which is created during a health check. For example, a health status event object is created when performing a failover health check&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;title&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;recommendedAction&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;healthStatusSeverity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:host ==&lt;br /&gt;
Represents a host/server with one or more initiator ports which will login to the [[#osn:storageSystem]] to access one or more [[#osn:storageVolume]]s. Note that Storage Volumes are not accessible until they&#039;ve been assigned to one or more [[#osn:host]]s.  That assignment is represented by one or more [[#osn:storageVolumeAcl]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostOsType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hostVolumeAclList&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
    &amp;quot;initiatorPortList&amp;quot;: [[#osn:initiatorPort|osn:initiatorPort]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hostGroup ==&lt;br /&gt;
Provides a convenience mechansim for grouping together [[#osn:host]]s so that Storage Volumes can be assigned to many hosts in a single operation.  Typically a Host Group is created for each cluster in the environment be it a VMware cluster, Windows cluster, or some other type of cluster so that the block storage can be assigned/unassigned to all the hosts at once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostGroupVolumeAclList&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
    &amp;quot;hostList&amp;quot;: [[#osn:host|osn:host]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwAlarm ==&lt;br /&gt;
Hardware RAID controllers and HBAs can generate alerts when issues are detected.  These are ingested and presented as [[#osn:hwAlarm]] instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;timeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;severity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;message&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;suppressed&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;raised&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwBatteryBackupUnit ==&lt;br /&gt;
provides information about the battery backup or supercapacitor on a RAID controller if installed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;chargePercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isReady&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isOnline&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;needsReplacement&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;hoursUtilized&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwController ==&lt;br /&gt;
Represents a hardware RAID controller or SAS HBA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;driverVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;biosVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNum&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sasAddresses&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pciAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ports&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;drives&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;units&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;controllerTemp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;rebuildRate&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;verifyRate&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxSsdCacheSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;currentSsdCacheSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;hasBatteryBackupUnit&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;capabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cacheMemorySize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;enclosureList&amp;quot;: [[#osn:hwEnclosure|osn:hwEnclosure]]&lt;br /&gt;
    &amp;quot;unitList&amp;quot;: [[#osn:hwUnit|osn:hwUnit]]&lt;br /&gt;
    &amp;quot;diskList&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
    &amp;quot;bbuList&amp;quot;: [[#osn:hwBatteryBackupUnit|osn:hwBatteryBackupUnit]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwControllerGroup ==&lt;br /&gt;
Represents a hardware controller module for specific vendor/model of RAID or HBA controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;apiVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;controllerList&amp;quot;: [[#osn:hwController|osn:hwController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwDisk ==&lt;br /&gt;
Represents storage media (HDD, SSD, NVMe) connected to an HBA or RAID controller.  When a hwDisk is passed thru to the system it appears as a [[#osn:physicalDisk]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosure&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureSasAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slot&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNum&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;unit&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;diskType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;stateDetailFlags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isSsdDevice&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isSpare&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isEncrypted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isBlinking&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;capabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;mediumErrors&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;predictiveErrors&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ssdLifeLeft&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;driveTemp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smartHealthTest&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sasAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portSasAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;physicalDiskId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwEnclosure ==&lt;br /&gt;
Represents a JBOD / disk chassis connected to a [[#osn:hwController]].  In a HA configuration each server will have 2x HBAs (see [[#osn:hwController]]) instances each connected to a given JBOD [[#osn:hwEnclosure]] so it will typically appear 4x times, once for each HBA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureLayoutId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;drives&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fans&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;tempSensorUnits&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;powerSupplyUnits&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;alarmCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sesType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sgDevicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;logicalId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sasAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;chassisTag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskList&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwEnclosureLayout ==&lt;br /&gt;
Each vendor and model of disk chassis (JBOD) has an associated enclosure layout object instance which provides detailed information chassis, like the number of drives, flow of drives (top-&amp;gt;bottom, left-&amp;gt;right) and more. Each [[#osn:hwEnclosure instance]] is associated with a [[#osn:hwEnclosureLayout]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;layoutFlow&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;rows&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;columns&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;excludeSlots&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slotsPerDrawer&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;diskNumberingOffset&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;slotStartingIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;diskOrientation&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;drawerLayoutFlow&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;imageName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sesIsEnabled&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;sesVendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sesProduct&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;matchTokensVendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;matchTokensProduct&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;matchTokensSlots&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;parentLayoutId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendorGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;drawerLabel&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;drawerOrdering&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slotExclusionList&amp;quot;: [[#osn:hwEnclosureLayoutSlotExclusion|osn:hwEnclosureLayoutSlotExclusion]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwEnclosureLayoutSlotExclusion ==&lt;br /&gt;
some [[#osn:hwEnclosureLayout]] have drive slots which are taken up by power supplies, fans or structural elements of the chassis.  This indicates what row and column that exclusion is located so that the enclosure can be properly rendered in the WUI.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;row&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;column&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;notation&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwEnclosureLayoutVendorGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;vendorTag&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwLogicalDrive ==&lt;br /&gt;
In a hardware RAID controller (see [[#osn:hwController]]) the RAID units (see [[#osn:hwUnit]]) can be sliced up into multiple logical drives each of which will appear as a separate [[#osn:physicalDisk]] to the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;stripeSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;deviceDescriptor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;physicalDiskId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwSlot ==&lt;br /&gt;
represents status of slots, including blink status of slots thta may be empty&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hwEnclosureId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hwDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slot&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isOccupied&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isBlinking&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwUnit ==&lt;br /&gt;
Represents a hardware RAID unit which could be RAID1/10/5/50/6/60.  We only recommend the use of hardware RAID for the QuantaStor operating system boot device which should be two RAID1 mirrored SSDs which are ideally 200GB or larger in size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;unitType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNum&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;productId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;stripeSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;rebuildPercentComplete&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vimPercentComplete&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;consistencyVerified&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;writeCacheEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isSystemDevice&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isEncrypted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isSpare&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;physicalDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;capabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hwCachePolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isSsdCacheUnit&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;ssdCachingEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;altName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskList&amp;quot;: [[#osn:hwDisk|osn:hwDisk]]&lt;br /&gt;
    &amp;quot;logicalDriveList&amp;quot;: [[#osn:hwLogicalDrive|osn:hwLogicalDrive]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:hwUnitDiskAssoc ==&lt;br /&gt;
Each hardware RAID unit is comprised of one or more disks (HDDs or SSDs).  This represents the relationship between a [[#osn:hwUnit]] and a [[#osn:hwDisk]].  Each [[#osn:hwUnit]] contains a list of these associations, one for each disk in the RAID unit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:i18nString ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;messageId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;messageText&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;insertionParams&amp;quot;: [[#osn:keyValuePair|osn:keyValuePair]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:ibTargetPort ==&lt;br /&gt;
Represents an Infiniband network port.  QuantaStor supports IB ports via IP-over-IB.  Support for SRP has been deprecated in favor of iSER.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;caType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hwVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sysfsPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;linkState&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portGuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeGuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;rate&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;baseLid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lmc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;smLid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;portNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:initiatorPort ==&lt;br /&gt;
An initiator port associated with a [[#osn:host]].  Initiator ports may be FC WWPNs or iSCSI IQNs.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iqn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wwpn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;initiatorType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nqn&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:keyServerProfile ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;host&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;kmipConnectionPort&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientCertPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientCertData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;caCertPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;caCertData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientKeyPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientKeyData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serverType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;protocol&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;connectionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;timeout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;supportedOps&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:keyServerProfileKey ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;encoding&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:keyValuePair ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;value&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;type&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:license ==&lt;br /&gt;
A license key associated with a [[#osn:storageSystem]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;licenseKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fullName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;email&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;version&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;orderNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;company&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;licenseDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;expirationDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;timeUtilizedInMin&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;licenseEdition&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;licenseDuration&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;licenseCategory&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;licenseType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nodeLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cloudLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;snapshotLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;terabyteLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;userLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;volumeLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;remoteReplicationEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;ssdEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isNFR&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;activationRequestCode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activationStamp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activationKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;country&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;website&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;licenseServerFqdn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;customFeature&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;encryptionDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isHighAvailability&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;parentLicenseKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replacesLicenseKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;leaseEnforcementEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;objectStorageDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;lastLeaseRenewalDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;leaseRenewalKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resellerName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resellerContactNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resellerEmail&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;supportContractRef&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;terabytesUtilized&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:licenseActivation ==&lt;br /&gt;
Once a license is activated it will have an activation key associated with it which binds the key to a given [[#osn:storageSystem]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;licenseKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activationRequestCode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activationStamp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activationKey&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:licenseLease ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;licenseKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lastLeaseRenewalDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;leaseRenewalKey&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:loadBalancer ==&lt;br /&gt;
Represents a load balancer for RGW S3 gateway&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;balancerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;configPath&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:lock ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lockType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;taskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;taskParentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;createdTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;lastCheckTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;overrideId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:maintenanceSchedule ==&lt;br /&gt;
Used to periodially pool-scrub any bit-rot in [[#osn:storagePool]]s, pool-trim to free deleted blocks in SSD media, and s3-orphan-cleanup to search for and remove orphaned S3 objects no longer associated with a bucket&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:schedule|osn:schedule]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;maintenanceType&amp;quot;: xsd:unsignedInt  {{Note|see osn__maintenanceType|inline=1}}&lt;br /&gt;
    &amp;quot;minDaysBetweenMaintenance&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lastMaintenanceStartTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;assocList&amp;quot;: [[#osn:maintenanceScheduleAssoc|osn:maintenanceScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:maintenanceScheduleAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;maintenanceScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maintenanceObjectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maintenanceObjectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:mfaLogin ==&lt;br /&gt;
Multi-factor authentication login request&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;reqCode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reqStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;respMsg&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:multiFactorAuthConfig ==&lt;br /&gt;
Multi-factor Authentication configuration which is associated with a MFA provider like Cisco Duo or Google Authenticator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;encodingMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;provider&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;apiHost&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;integrationKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secretKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:multiFactorAuthDevice ==&lt;br /&gt;
Represents a multi-factor authentication device like a phone&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;capabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;device&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;displayName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nextSmsPasscode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;number&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;deviceType&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:multipathConfig ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;product&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wwid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;protocol&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShare ==&lt;br /&gt;
Represents NAS file storage which is accessible via NFS and SMB file protocols.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:replicatable|osn:replicatable]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;sharePath&amp;quot;: xsd:string  {{Note|path to where the share is located within a given storage system (where the share is mounted)|inline=1}}&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string  {{Note|user defined description|inline=1}}&lt;br /&gt;
    &amp;quot;isActive&amp;quot;: xsd:boolean  {{Note|true when the share is enabled allowing NFS/SMB access|inline=1}}&lt;br /&gt;
    &amp;quot;shareType&amp;quot;: xsd:unsignedInt  {{Note|indicates the type of share such as scale-up or scale-out (see osn__networkShareType)|inline=1}}&lt;br /&gt;
    &amp;quot;enableCifs&amp;quot;: xsd:boolean  {{Note|true if SMB/CIFS access is allowed for this share|inline=1}}&lt;br /&gt;
    &amp;quot;isCloudBackup&amp;quot;: xsd:boolean  {{Note|true if this share is a osn__cloudContainer|inline=1}}&lt;br /&gt;
    &amp;quot;spaceQuota&amp;quot;: xsd:unsignedLong  {{Note|a zero (0) quota indicates no limit/quota, a positive value indicates a quot size in bytes|inline=1}}&lt;br /&gt;
    &amp;quot;cloudContainerId&amp;quot;: xsd:string  {{Note|UUID of an associated osn__cloudContainer, only applies if this share is a mapping to a osn__cloudContainer|inline=1}}&lt;br /&gt;
    &amp;quot;disableSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Disable VSS (SMB) Browsing|inline=1}}&lt;br /&gt;
    &amp;quot;ownerUid&amp;quot;: xsd:unsignedInt  {{Note|Unix user ID (UID) of the share owner, this is set on the root folder of the share|inline=1}}&lt;br /&gt;
    &amp;quot;ownerGid&amp;quot;: xsd:unsignedInt  {{Note|Unix group ID (GID) of the share owner, this is set on the root folder of the share|inline=1}}&lt;br /&gt;
    &amp;quot;permissions&amp;quot;: xsd:string  {{Note|unix system permissions in rwx format such as &#039;rwxrwxrwx&#039; or &#039;rwxr--r--&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;aclType&amp;quot;: xsd:unsignedInt  {{Note|can be off or posixacl|inline=1}}&lt;br /&gt;
    &amp;quot;spaceQuotaExcludeSnapshots&amp;quot;: xsd:boolean  {{Note|true if the quota on this share should exclude space used by snapshots|inline=1}}&lt;br /&gt;
    &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt  {{Note|record size is adjustable only for shares in ZFS based Storage Pools|inline=1}}&lt;br /&gt;
    &amp;quot;parentShareId&amp;quot;: xsd:string  {{Note|parent share ID is set for snapshots, aliases, and subshares|inline=1}}&lt;br /&gt;
    &amp;quot;exportPath&amp;quot;: xsd:string  {{Note|NFS export path for the share|inline=1}}&lt;br /&gt;
    &amp;quot;isCloudContainerCache&amp;quot;: xsd:boolean  {{Note|true if this share is being used as a cache for osn__cloudContainers|inline=1}}&lt;br /&gt;
    &amp;quot;exportId&amp;quot;: xsd:unsignedInt  {{Note|NFS export identifier used for scale-out shares|inline=1}}&lt;br /&gt;
    &amp;quot;nfsSecurityPolicy&amp;quot;: xsd:unsignedInt  {{Note|see osn__nfsSecurityPolicy|inline=1}}&lt;br /&gt;
    &amp;quot;isNested&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;disableSmbSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables SMB _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
    &amp;quot;disableNfsSnapsDir&amp;quot;: xsd:boolean  {{Note|Enables NFS _snaps folder browsing of activated GMT snapshots|inline=1}}&lt;br /&gt;
    &amp;quot;enableNfsSnapBrowsing&amp;quot;: xsd:boolean  {{Note|Enables explicit NFS share/.zfs snapshot visibility|inline=1}}&lt;br /&gt;
    &amp;quot;isEncrypted&amp;quot;: xsd:boolean  {{Note|Enable zfs encryption on dataset|inline=1}}&lt;br /&gt;
    &amp;quot;requiresKeyPassphrase&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;cryptAlgorithm&amp;quot;: xsd:string  {{Note|key type, e.g., aes-256-gcm|inline=1}}&lt;br /&gt;
    &amp;quot;cryptKeyFormat&amp;quot;: xsd:string  {{Note|key type, e.g., passphrase|inline=1}}&lt;br /&gt;
    &amp;quot;cryptKeyLocation&amp;quot;: xsd:string  {{Note|key location. e.g., file path|inline=1}}&lt;br /&gt;
    &amp;quot;cryptKeyStatus&amp;quot;: xsd:string  {{Note|key loaded/availability status|inline=1}}&lt;br /&gt;
    &amp;quot;cryptRoot&amp;quot;: xsd:string  {{Note|key zfs root path for the encrypted share|inline=1}}&lt;br /&gt;
    &amp;quot;immutabilityMode&amp;quot;: xsd:unsignedInt  {{Note|see osn__immutabilityMode for list of modes|inline=1}}&lt;br /&gt;
    &amp;quot;daysOfImmutability&amp;quot;: xsd:unsignedInt  {{Note|if immutabilityMode &amp;gt; 0 and daysOfImmutability == 0, infinite immutability period|inline=1}}&lt;br /&gt;
    &amp;quot;fullAuditEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;fullAuditDefaults&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;fullAuditSuccess&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt  {{Note|threshold (max) small block size in bytes that will be redirected to the special metadata offload vdev (32K recommended)|inline=1}}&lt;br /&gt;
    &amp;quot;nestedName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fileQuota&amp;quot;: xsd:unsignedLong  {{Note|a zero (0) quota indicates no limit/quota on number of files, a positive value indicates a quota on number of files|inline=1}}&lt;br /&gt;
    &amp;quot;isMounted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;permissionMask&amp;quot;: xsd:string  {{Note|unix system mask in rwx format such as &#039;rwxrwxrwx&#039; or &#039;rwxr--r--&#039;|inline=1}}&lt;br /&gt;
    &amp;quot;ransomwareDetectionEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;hourlyModifyThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;hourlyDeleteThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;dailyModifyThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;dailyDeleteThreshold&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;thresholdAutoCalibrationEndDate&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;includeRules&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;excludeRules&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;readOnly&amp;quot;: xsd:boolean  {{Note|SENSITIVE = 0, INSENSITIVE = 1, MIXED = 2|inline=1}}&lt;br /&gt;
    &amp;quot;caseSensitivity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableNfsCrossmount&amp;quot;: xsd:boolean  {{Note|Enables NFS crossmount option on the share|inline=1}}&lt;br /&gt;
    &amp;quot;subPool&amp;quot;: xsd:string  {{Note|The sub-pool associated with the cephFS pool|inline=1}}&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;subshareIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nfsClients&amp;quot;: [[#osn:networkShareClient|osn:networkShareClient]]&lt;br /&gt;
    &amp;quot;cifsUserAccessList&amp;quot;: [[#osn:networkShareUserAccess|osn:networkShareUserAccess]]&lt;br /&gt;
    &amp;quot;cifsOptionList&amp;quot;: [[#osn:networkShareCifsOption|osn:networkShareCifsOption]]&lt;br /&gt;
    &amp;quot;backupPolicies&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareCifsOption ==&lt;br /&gt;
Each [[#osn:networkShare]] has configurable SMB/CIFS options such as browsable=on, each represented by a key (eg: browsable) and a value (eg: on)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;value&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareClient ==&lt;br /&gt;
Represents an NFS access entry for a given [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientFilter&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;readOnly&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;secure&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;async&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;subtreeCheck&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;customOptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;filterPriority&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareFile ==&lt;br /&gt;
Represents a file within a [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;filePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareFileLock ==&lt;br /&gt;
An SMB level lock on a [[#osn:networkShare]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;uid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;oplock&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;rw&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;networkShareName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;filePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;timeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareNamespace ==&lt;br /&gt;
Represents a global namespace where visbility to [[#osn:networkShare]]s can be made available via a group of systems within a storage grid.  Each namespace is associated with a list of systems where the shares will be presented as available and a list of shares to present.  Namespaces use DFS technology for SMB connections and NFS redirects for NFS connections to route clients to the correct system where the [[#osn:networkShare]] is located.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enableMicrosoftDfs&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enableNfsRefferals&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;dfsMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemAssocList&amp;quot;: [[#osn:networkShareNamespaceSystemAssoc|osn:networkShareNamespaceSystemAssoc]]&lt;br /&gt;
    &amp;quot;shareAssocList&amp;quot;: [[#osn:networkShareNamespaceShareAssoc|osn:networkShareNamespaceShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareNamespaceShareAssoc ==&lt;br /&gt;
Network Shares can be associated with global namespaces so that they&#039;re easier to locate by users.  Each [[#osn:networkShare]] in the global namespace is associated with the namespace via a [[#osn:networkShareNamespaceShareAssoc]]. The redirectIpAddress is only used when a given [[#osn:networkShare]] is from a [[#osn:storagePool]] which does not have a HA virtual interface associated with it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;networkShareNamespaceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;redirectIpAddress&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareNamespaceSystemAssoc ==&lt;br /&gt;
Represents the list of systems on which the [[#osn:networkShare]] should be visible for a given global namespace (see [[#osn:networkShareNamespace]]).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;networkShareNamespaceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;preferredNetworkPortId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareQuota ==&lt;br /&gt;
Network shares can have multiple per user/group quotas associated with them where subjectName is the name of the user or group.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;isGroupSpace&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;subjectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;subjectName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;spaceUsed&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;spaceQuota&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareServiceConfig ==&lt;br /&gt;
SMB and NFS configuration options for a given [[#osn:storageSystem]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;nfsMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nfs4KerberosEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;defaultOptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sambaSecurityMode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;realm&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;kdc&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;idmapMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nfsKerberosMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nfs4BrowsingDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;sambaVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;allowTrustedDomains&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;preserveAdUserAccessEntries&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;defaultNfsSecurityPolicy&amp;quot;: xsd:unsignedInt  {{Note|see osn__nfsSecurityPolicy|inline=1}}&lt;br /&gt;
    &amp;quot;nfsServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;adJoinMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nfsManageGids&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;organizationalUnit&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;range&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareSession ==&lt;br /&gt;
A client SMB or NFS session to a [[#osn:networkShare]].  SMB sessions provide more detailed information than NFS sessions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;uid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;gid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;clientIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serverIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;protocolVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;protocolType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareTemplate ==&lt;br /&gt;
list of osn__backupPolicy objects associated with this share&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;templateDescription&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;settingsMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:networkShareUserAccess ==&lt;br /&gt;
Represents a SMB/CIFS access entry for a given [[#osn:networkShare]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;networkShareId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;userId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;domain&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;userSid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;groupSid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isGroup&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;userAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;posixUid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;permissions&amp;quot;: xsd:string  {{Note|POSIX ACL permissions string (e.g. rwx, r-x, r--, ---)|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:nodeAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isRemote&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:object ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;customId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;state&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;stateDetail&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;type&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;createdTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;createdByUserId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;modifiedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;modifiedByUserId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isRemote&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ownershipRevision&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;internalUse&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;acls&amp;quot;: [[#osn:acl|osn:acl]]&lt;br /&gt;
    &amp;quot;properties&amp;quot;: [[#osn:objectProperty|osn:objectProperty]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:objectProperty ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;key&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;value&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;type&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:objectSyncPolicy ==&lt;br /&gt;
Represents ceph bucket sync policy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string  {{Note|Description of the sync group|inline=1}}&lt;br /&gt;
    &amp;quot;groupStatus&amp;quot;: xsd:unsignedInt  {{Note|(enabled, allowed, forbidden)|inline=1}}&lt;br /&gt;
    &amp;quot;flowDirection&amp;quot;: xsd:unsignedInt  {{Note|directional, symmetrical|inline=1}}&lt;br /&gt;
    &amp;quot;flowSourceZone&amp;quot;: xsd:string  {{Note|Flow source|inline=1}}&lt;br /&gt;
    &amp;quot;flowDestZone&amp;quot;: xsd:string  {{Note|Flow dest|inline=1}}&lt;br /&gt;
    &amp;quot;srcBucketId&amp;quot;: xsd:string  {{Note|Source bucket|inline=1}}&lt;br /&gt;
    &amp;quot;srcBucketName&amp;quot;: xsd:string  {{Note|Source bucket|inline=1}}&lt;br /&gt;
    &amp;quot;destBucketName&amp;quot;: xsd:string  {{Note|Dest bucket if it is different from source bucket|inline=1}}&lt;br /&gt;
    &amp;quot;srcCephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;destCephClusterId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:passwordPolicy ==&lt;br /&gt;
Policy for enforcing NIST and other compliance standards to all [[#osn:user]] accounts within a given storage grid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;allowedSpecialChars&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;complexityReq&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;allowedLoginAttemptsUntilShortLockout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;allowedLoginAttemptsUntilPermLockout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;daysUntilExpiration&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;uniquePasswordsUntilReuse&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minDaysBetweenPasswordChange&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minutesUntilWebAutoLogout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;accountInactiveDaysUntilLockout&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemUseNotification&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;webAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;defaultLoginUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;shortLockoutSamplePeriod&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;permLockoutSamplePeriod&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;shortLockoutDuration&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;multiAdminApprovalTypes&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;multiAdminApprovalCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;multiAdminApprovalExpirationHours&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:pendingOperationApproval ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;adminUuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;adminName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;approvalTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:pendingOperationRequest ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objUuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;requestOptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;requestFlags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;requestInitiatorUuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;requestInitiatorName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;requiredCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;currentCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;expiresTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;requestStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;requestTaskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pendingOperationApprovalList&amp;quot;: [[#osn:pendingOperationApproval|osn:pendingOperationApproval]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:permissionAssignment ==&lt;br /&gt;
Permission definitions are assigned to [[#osn:role]]s via permission assignements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scope&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:permissionDefinition ==&lt;br /&gt;
QuantaStor&#039;s RBAC system provides adminitrators with the ability to give access to specific operations on specific object types.  Every operation has an associated permission definition.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:physicalDisk ==&lt;br /&gt;
a physical disk represents a instance of some storage media in a given [[#osn:storageSystem]].  If multipathParentDiskId is set then represents a  multipath path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;altDevicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sasAddressPort0&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sasAddressPort1&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vpd83Id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wwid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;deviceHBTL&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;diskType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;zoningType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;partitionCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;supportsMultipath&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;freeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;productId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;unitId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;logicalDriveId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendorId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;revisionLevel&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isSpare&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isEncrypted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isMounted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;multipathEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;ssdLifeLeft&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smartHealthTest&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;driveTemp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;multipathParentDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hwDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hotspareMarkerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;encryptionCipher&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;passthruVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hasJournal&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;storagePoolDeviceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephOsdId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephJournalGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;correlationDeviceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;correlationDeviceType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iofenceTag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iofencePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iofenceSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isSsdDevice&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;trimSupported&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;blockSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;lastShredSignature&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lastShredTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;lastShredMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;perfTestReadBps&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;perfTestTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;sedCapabilities&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;sedStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;encryptionType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cacheMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;compressionPercent&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;partitionSubDeviceCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;partitionSubDeviceParentDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;errCountNonMedium&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountUncorrectedRead&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountUncorrectedWrite&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;pathIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:physicalDiskHotspareMarker ==&lt;br /&gt;
Represents a global hot-spare which can be used to repair a Storage Pool on any system that has connectivity to the device.  In this way a spare can be shared by many storage pools and multiple systems which are connected to the JBOD where the hotspare resides.  Hence the hotspare marker identifies a spare by the [[#osn:physicalDisk]] serialNum and scsiId which will be the same for a given device on all systems.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendorId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;productId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:pingData ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;pingIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pingDestType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;pingIsAlive&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;sourceIntfId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceIntfName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceIntfIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceIntfMtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;pingRttAverage&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;jumboFramesTest&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:portalGroup ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portalGroupOptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageVolumeIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portAssocList&amp;quot;: [[#osn:portalGroupPortAssoc|osn:portalGroupPortAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:portalGroupPortAssoc ==&lt;br /&gt;
list of UUIDs of associated clones osn__networkShare or osn__storageVolume snapshot objects&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;portalGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:providerApp ==&lt;br /&gt;
Defines an instance of a 3rd party provider integration (eg VMware VASA)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;providerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;userAppTokenId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;registrationScope&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:provisionable ==&lt;br /&gt;
Base type for [[#osn:storagePool]] and [[#osn:storageTier]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;freeSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:qosPolicy ==&lt;br /&gt;
[[#osn:storageVolume]]s may have a QoS policy assigned to them to limit the read and write bandwidth available to a given volume.  Current limiting is throughput based with separate controls for reads (qosReadBandwith) and writes (qosWriteBandwidth).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;qosReadIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;qosWriteIops&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;qosReadBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;qosWriteBandwidth&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicaAssoc ==&lt;br /&gt;
once a [[#osn:networkShare]] or [[#osn:storageVolume]] has been replicated, a [[#osn:replicaAssoc]] instance is created to represent the relationship between the source and target resource.  This is used to support rollback and to provide detailed information about when the last transfer completed and more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;sourceStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceParentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourcePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceSupportsSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;targetStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetParentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetStoragePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetSupportsSnapshots&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectAssocType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;associationType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;replicationState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;progress&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;parentReplicaAssoc&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;syncStartedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;syncCompletedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;replicationProcessId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;replicationScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;timeRemaining&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;transferSpeed&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;currentFileName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;currentFileProgress&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;estTotalTransfer&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;amountTransferred&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;pseudoParentTaskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;taskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isResumeReplication&amp;quot;: xsd:boolean&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicaReportEntry ==&lt;br /&gt;
Each [[#osn:replicaReportSummary]] contains a series of entries, one for each [[#osn:networkShare]] or [[#osn:storageVolume]] being replicated.  This provides granular information about a specific transfer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;sourceStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sourceName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicationScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pseudoParentTaskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;summaryReportId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicationState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;progress&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;syncStartedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;syncCompletedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;timeRemaining&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;transferSpeed&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;estTotalTransfer&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;amountTransferred&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;averageTransfer&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;objectEntryType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicaReportSummary ==&lt;br /&gt;
Report containing the progress and status of a given replication run of a Replication Schedule.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;sourceStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetProvisionableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicationScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pseudoParentTaskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicationState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;syncStartedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;syncCompletedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;taskCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;tasksCompleted&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;tasksFailed&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;tasksSkipped&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;amountTransferred&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;errorStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;averageTransfer&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;linkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;skipCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicatable ==&lt;br /&gt;
Base type for replicatable resources like [[#osn:storageVolume]]s and [[#osn:networkShare]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;isSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;lazyCloneSnapshotPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snapshotParent&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mountPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isActiveCheckpoint&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;createdBySchedule&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressionRatio&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressionType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;retentionTags&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:retentionTag]] for daily,weekly,monthly retention policies|inline=1}}&lt;br /&gt;
    &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;copies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;spaceUtilized&amp;quot;: xsd:unsignedLong  {{Note|usedbydataset (physical) property in ZFS|inline=1}}&lt;br /&gt;
    &amp;quot;logicalSpaceUtilized&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;spaceUtilizedBySnapshots&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;spaceReserved&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;usedByRefReservation&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;vvolType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;vvolParentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snapshotReferenceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;numHolds&amp;quot;: xsd:unsignedInt  {{Note|number of holds on a GMT snapshot used by a schedule|inline=1}}&lt;br /&gt;
    &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
    &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt  {{Note|see [[#enum:cachePolicy]], default is &#039;all&#039;/&#039;auto&#039; meaning the L2ARC can be used for data and metadata|inline=1}}&lt;br /&gt;
    &amp;quot;resumeToken&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snapshotCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;createdByScheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;clones&amp;quot;: xsd:string  {{Note|list of UUIDs of associated snapshot osn__networkShare or osn__storageVolume objects|inline=1}}&lt;br /&gt;
    &amp;quot;snapshotIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cloneIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicaAssocList&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicationSchedule ==&lt;br /&gt;
Represents a replication schedule used to replicate one or more [[#osn:networkShare]]s and [[#osn:storageVolume]]s to a specific [[#osn:storagePool]] on a given Storage System within a grid of one or more [[#osn:storageSystem]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:schedule|osn:schedule]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maxReplicas&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageSystemLinkId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetResourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetProvisionableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scheduleStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reuseSourceSnapshot&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;reuseTargetChkpnt&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;retentionCountHourliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountDailiesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountWeekliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountMonthliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountQuarterliesSrc&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;scheduleActivationVifId&amp;quot;: xsd:string  {{Note|optional Site Cluster floating VIF to associate with the schedule that will cause the schedule to activate all checkpoints with aliases in the event that the VIF moves to the target side|inline=1}}&lt;br /&gt;
    &amp;quot;retentionCountSumReports&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean  {{Note|Include nested shares|inline=1}}&lt;br /&gt;
    &amp;quot;disableResumableReplication&amp;quot;: xsd:boolean  {{Note|Enables resumable replication|inline=1}}&lt;br /&gt;
    &amp;quot;destSpaceUtilized&amp;quot;: xsd:unsignedLong  {{Note|Space utilized by the chkpnt|inline=1}}&lt;br /&gt;
    &amp;quot;copyShareSettings&amp;quot;: xsd:boolean  {{Note|Copy source share settings to the chkpnt when doing a full replication|inline=1}}&lt;br /&gt;
    &amp;quot;storageVolumeList&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;networkShareList&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:replicationScheduleAssocEx ==&lt;br /&gt;
Represents an association betwen a replication schedule and a [[#osn:networkShare]] or [[#osn:storageVolume]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;replicationScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicatableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicatableType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:report ==&lt;br /&gt;
A report containing a series of [[#osn:reportEntry]] each identifying some issue to be reviewed and/or addressed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;passedCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;failedCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;reportOutput&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reportOutputFormat&amp;quot;: xsd:unsignedInt  {{Note|refer to osn__reportOutputFormat_t|inline=1}}&lt;br /&gt;
    &amp;quot;entryList&amp;quot;: [[#osn:reportEntry|osn:reportEntry]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:reportEntry ==&lt;br /&gt;
A configuration analysis report is comprised of a set of these entries.  Each one contains details about a specific issue to be addressed and a recommended action to address it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;timeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;title&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;recommendedAction&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reportCategory&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;reportImpact&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;reportSeverity&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:reportSchedule ==&lt;br /&gt;
Used to periodially scrub any bit-rot in [[#osn:storagePool]]s&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:schedule|osn:schedule]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;reportTypes&amp;quot;: xsd:unsignedInt  {{Note|see osn__reportTypes|inline=1}}&lt;br /&gt;
    &amp;quot;reportToEmail&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reportToAlertEmails&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;saveReport&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;saveLocation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;outputFormat&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxSubdirDepth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxSubdirsPerShare&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minSubdirUsedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;lastReportStartTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;maxBuckets&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per tenant|inline=1}}&lt;br /&gt;
    &amp;quot;maxUsers&amp;quot;: xsd:unsignedInt  {{Note|Limit search to maxBuckets per user|inline=1}}&lt;br /&gt;
    &amp;quot;minBucketUtilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;minUserUtilizedSpace&amp;quot;: xsd:unsignedLong  {{Note|Limit search to users with minimum utilized space.|inline=1}}&lt;br /&gt;
    &amp;quot;assocList&amp;quot;: [[#osn:reportScheduleAssoc|osn:reportScheduleAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:reportScheduleAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;reportScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reportableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reportableType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceConfiguration ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;listBackupJob&amp;quot;: [[#osn:backupJob|osn:backupJob]]&lt;br /&gt;
    &amp;quot;listBackupPolicy&amp;quot;: [[#osn:backupPolicy|osn:backupPolicy]]&lt;br /&gt;
    &amp;quot;listNetworkShare&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
    &amp;quot;listNetworkShareClient&amp;quot;: [[#osn:networkShareClient|osn:networkShareClient]]&lt;br /&gt;
    &amp;quot;listNetworkShareNamespace&amp;quot;: [[#osn:networkShareNamespace|osn:networkShareNamespace]]&lt;br /&gt;
    &amp;quot;listNetworkShareSession&amp;quot;: [[#osn:networkShareSession|osn:networkShareSession]]&lt;br /&gt;
    &amp;quot;listNetworkShareUserAccess&amp;quot;: [[#osn:networkShareUserAccess|osn:networkShareUserAccess]]&lt;br /&gt;
    &amp;quot;listSnapshotReference&amp;quot;: [[#osn:snapshotReference|osn:snapshotReference]]&lt;br /&gt;
    &amp;quot;listStorageVolume&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;listStorageVolumeAcl&amp;quot;: [[#osn:storageVolumeAcl|osn:storageVolumeAcl]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceDomain ==&lt;br /&gt;
A node is a resource domain hierarchy.  This is used to ensure fault tolerance across racks and sites by providing QuantaStor with the information needed to build Ceph CRUSH maps and Storage Pools while maintaining physcial fault tolerance at a given level like site, rack, or host&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceDomainType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;resourceDomainParentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceAssocList&amp;quot;: [[#osn:resourceDomainAssoc|osn:resourceDomainAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceDomainAssoc ==&lt;br /&gt;
Each [[#osn:resourceDomain]] represents a site, datacenter, rack, host or other physical location entity.  These are related to other resource domain instances via the [[#osn:resourceDomainAssoc]] such that a tree hierarchy is formed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceDomainId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;assocType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceGroup ==&lt;br /&gt;
Resource Groups provide multi-tenancy functionality within a given Storage Grid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tier&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;organization&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;parentResourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;defaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;defaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scopeId&amp;quot;: xsd:string  {{Note|If left empty, scope is system|inline=1}}&lt;br /&gt;
    &amp;quot;scopeType&amp;quot;: xsd:unsignedInt  {{Note|enum containerScope: local pool, HA pool or cephFS|inline=1}}&lt;br /&gt;
    &amp;quot;resourceAssocList&amp;quot;: [[#osn:resourceGroupResourceAssoc|osn:resourceGroupResourceAssoc]]&lt;br /&gt;
    &amp;quot;subjectAssocList&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]&lt;br /&gt;
    &amp;quot;networkList&amp;quot;: [[#osn:resourceGroupNetwork|osn:resourceGroupNetwork]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceGroupNetwork ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;bindAddress&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceGroupResourceAssoc ==&lt;br /&gt;
A resource like a Storage Volume associated with a Resource Group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;accessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceGroupSubjectAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subjectId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subjectType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:resourceHealthCheck ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;name&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;type&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;state&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;stateDetail&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:role ==&lt;br /&gt;
A security role for the management of QuantaStor systems.  A role is associated with [[#osn:user]]s and some set of permissions which scopes what operations they are allowed to do.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ldapGroup&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;permissionList&amp;quot;: [[#osn:rolePermissionAssignment|osn:rolePermissionAssignment]]&lt;br /&gt;
    &amp;quot;subjectAssocList&amp;quot;: [[#osn:roleSubjectAssoc|osn:roleSubjectAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:rolePermissionAssignment ==&lt;br /&gt;
A permission assignment to a role.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:permissionAssignment|osn:permissionAssignment]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;roleId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:roleSubjectAssoc ==&lt;br /&gt;
Represents a [[#osn:user]] assigned to a specific [[#osn:role]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;roleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subjectId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:s3Object ==&lt;br /&gt;
Ceph Buckets are repositories for S3 objects just the same as AWS buckets&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;bucketId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;accountedSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;owner&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ownerDisplayName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;contentType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;etag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;versionedEpoch&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:s3Proxy ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;proxyServerName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;proxyLocationEndpoint&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sslCertificate&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sslCertificateKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portNums&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:s3Tenant ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;displayName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;s3UserIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:s3User ==&lt;br /&gt;
A user access key and secret key used to provide users with access to S3 object storage via a RADOS gateway.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;displayName&amp;quot;: xsd:string  {{Note|eg: Coca Cola, Pepsi Co|inline=1}}&lt;br /&gt;
    &amp;quot;emailAddress&amp;quot;: xsd:string  {{Note|eg: sam.smith@example.com|inline=1}}&lt;br /&gt;
    &amp;quot;operationMask&amp;quot;: xsd:unsignedInt  {{Note|see osn__s3UserOpMask_t|inline=1}}&lt;br /&gt;
    &amp;quot;accessSuspended&amp;quot;: xsd:boolean  {{Note|&#039;true&#039; if user access is suspended.|inline=1}}&lt;br /&gt;
    &amp;quot;tenant&amp;quot;: xsd:string  {{Note|optional - name of the associated tenant|inline=1}}&lt;br /&gt;
    &amp;quot;tenantId&amp;quot;: xsd:string  {{Note|optional - id of the associated S3 tenant object|inline=1}}&lt;br /&gt;
    &amp;quot;maxBuckets&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;userQuotaMaxObjectsEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;userQuotaMaxObjects&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;userQuotaMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;userQuotaMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjectsEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxObjects&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSizeEnable&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bucketQuotaMaxSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;objectCount&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;s3UserAccessKeyIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:s3UserAccessKey ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;s3UserId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;user&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;accessKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secretKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;accessKeyType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:schedule ==&lt;br /&gt;
Base type for snapshot schedules, replication schedules, and backup policies which is managed by the QuantaStor schedule manager in the core service.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;daysOfWeek&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hoursOfDay&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;startDate&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;isEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;reserved&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;reservedData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scheduleType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;delayInterval&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;offsetMinutes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountHourlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountDailies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountWeeklies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountMonthlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;retentionCountQuarterlies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:serviceFirewallDef ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;tcpPort&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;udpPort&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;protocolBitMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:session ==&lt;br /&gt;
An iSCSI or FC session associated with a [[#osn:storageVolume]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sessionNum&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;connectionId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lun&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;targetIqn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;initiatorIqn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;reads&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;writes&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;readBytes&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;writeBytes&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;initiatorIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;connectionState&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:singleSignOnPolicy ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;isEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;ldapServer&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ldapBaseDn&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:siteCluster ==&lt;br /&gt;
Site Clusters manage floating virtual network interfaces, also known as [[#osn:siteVifResource]]s.  When a system is taken offline all the of VIFs on that system will automatically move to another system within a given Site Cluster.  When that happens it will trigger a [[#osn:storagePool]] HA failover if the VIF was associated with a Storage Pool.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;location&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clusterStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;currentDc&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;corosyncVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maintenanceModeEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;siteClusterAssocList&amp;quot;: [[#osn:siteClusterAssoc|osn:siteClusterAssoc]]&lt;br /&gt;
    &amp;quot;ringList&amp;quot;: [[#osn:clusterRing|osn:clusterRing]]&lt;br /&gt;
    &amp;quot;vifResources&amp;quot;: [[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:siteClusterAssoc ==&lt;br /&gt;
Association between a system and a site cluster.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;corosyncNodeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;stack&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodesConfigured&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;expectedVotes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;onlineNodes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;offlineNodes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;resourcesConfigured&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;standbyState&amp;quot;: xsd:unsignedInt  {{Note|0=not standby, 1=standby, 2=manual standby|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:siteVifLocationConstraint ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;siteVifId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;weight&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:siteVifResource ==&lt;br /&gt;
Represents a virtual interface which can float between two or more systems in a [[#osn:siteCluster]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;siteClusterId&amp;quot;: xsd:string  {{Note|UUID of the Site Cluster the VIF is associated with|inline=1}}&lt;br /&gt;
    &amp;quot;parentInterfaceName&amp;quot;: xsd:string  {{Note|name of the physical port this resource will attach to when started, eg: eth0|inline=1}}&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string  {{Note|name of the VIF resource, eg: gridIP or sv00001|inline=1}}&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string  {{Note|IP address to associated with the VIF resource when it is started 10.0.0.10|inline=1}}&lt;br /&gt;
    &amp;quot;subnetMask&amp;quot;: xsd:string  {{Note|Subnet mask for the VIF IP address, eg: 255.255.0.0|inline=1}}&lt;br /&gt;
    &amp;quot;mtu&amp;quot;: xsd:unsignedInt  {{Note|Maximum transmissible unit, inherited from the underlying physical port|inline=1}}&lt;br /&gt;
    &amp;quot;gateway&amp;quot;: xsd:string  {{Note|Gateway for the VIF, generally not used|inline=1}}&lt;br /&gt;
    &amp;quot;firewallMask&amp;quot;: xsd:unsignedInt  {{Note|Firewall rule mask for the port|inline=1}}&lt;br /&gt;
    &amp;quot;firewallForceAllowMask&amp;quot;: xsd:unsignedInt  {{Note|Firewall allow rule mask for the port|inline=1}}&lt;br /&gt;
    &amp;quot;fqdn&amp;quot;: xsd:string  {{Note|Fully qualified domain name (FQDN) to be associated with the VIF and stored in the /etc/hosts|inline=1}}&lt;br /&gt;
    &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iscsiEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;nvmeofEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;startedOn&amp;quot;: xsd:string  {{Note|Name of the node/system where the resource has started|inline=1}}&lt;br /&gt;
    &amp;quot;useCase&amp;quot;: xsd:unsignedInt  {{Note|See osn__vifUseCase_t enum|inline=1}}&lt;br /&gt;
    &amp;quot;useCaseObjId&amp;quot;: xsd:string  {{Note|depending on the useCase, could be ceph cluster, ha group, s3proxy, etc|inline=1}}&lt;br /&gt;
    &amp;quot;isUnmanaged&amp;quot;: xsd:boolean  {{Note|indicates the resources are in the &#039;unmanaged&#039; state where the cluster will not move, start or stop them|inline=1}}&lt;br /&gt;
    &amp;quot;locationConstraintList&amp;quot;: [[#osn:siteVifLocationConstraint|osn:siteVifLocationConstraint]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:snapshotReference ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;isProtected&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;parentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;imageId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;snapType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;spaceUtilized&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:snapshotSchedule ==&lt;br /&gt;
A snapshot [[#osn:schedule]] which runs periodially either on a set delay interval in minutes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:schedule|osn:schedule]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;provisionableId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;maxSnapshots&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableRecursiveNestedShares&amp;quot;: xsd:boolean  {{Note|Include nested shares|inline=1}}&lt;br /&gt;
    &amp;quot;storageVolumeList&amp;quot;: [[#osn:storageVolume|osn:storageVolume]]&lt;br /&gt;
    &amp;quot;networkShareList&amp;quot;: [[#osn:networkShare|osn:networkShare]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:snapshotScheduleAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;snapshotScheduleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;assocType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePool ==&lt;br /&gt;
Represents a group of storage devices which have been combined together for fault-tolerance using RAID or Erasure-coding technology.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:provisionable|osn:provisionable]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;chunkSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicesActive&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;devicesFailed&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;devicesWorking&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;devicesSpare&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;devicesRaid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;devicesTotal&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;intentBitmap&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isDefault&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enableCompression&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enableDeduplication&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enableAutoTrim&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isMounted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isDegraded&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isRecovering&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isResyncing&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isReshaping&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;metadataPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;metadataVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;mountPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;legacyUuid&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;status&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;percentComplete&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;scanStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;scanSpeed&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;integrityStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;recommendedAction&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;poolType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidTypeInternal&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidSetSize&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;rawSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;rawUtilizedSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;rebuildEstimateInMin&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;requiresFsGrow&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;percentProvisioned&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hotspareRepairPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hotspareRepairState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lastRepairActionTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;disableAutoStart&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;compressionRatio&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;compressionType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;syncPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;copies&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;aclType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;markedDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;profileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isEncrypted&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;requiresKeyPassphrase&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;encryptionType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enclosureRedundancy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;errCountReads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountWrites&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountChecksums&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;trimSupported&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;cachePolicyPrimary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cachePolicySecondary&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;smallBlockThreshold&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isExtensibleDataset&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;checkpointEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;checkpointCreationTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;checkpointExpirationTimestamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;storagePoolDeviceList&amp;quot;: [[#osn:storagePoolDevice|osn:storagePoolDevice]]&lt;br /&gt;
    &amp;quot;storagePoolHaGroupList&amp;quot;: [[#osn:storagePoolHaFailoverGroup|osn:storagePoolHaFailoverGroup]]&lt;br /&gt;
    &amp;quot;storagePoolDeviceGroupList&amp;quot;: [[#osn:storagePoolDeviceGroup|osn:storagePoolDeviceGroup]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePoolDevice ==&lt;br /&gt;
Represents a device within a [[#osn:storagePool]].  Each device is associated with a [[#osn:physicalDisk].  Devices may be used for data, metadata, write logging, and more.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;physicalDiskId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;physicalDiskSerialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;physicalDiskScsiId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;partitionNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;number&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;majorNum&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minorNum&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidDeviceNum&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isSync&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isRebuilding&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isRemoved&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isFaulty&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isSpare&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isCache&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isVirtual&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;cacheType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;enclosure&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;slot&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storagePoolDeviceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;errCountReads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountWrites&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountChecksums&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;trimSupported&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;trimStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;physicalDiskObj&amp;quot;: [[#osn:physicalDisk|osn:physicalDisk]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePoolDeviceGroup ==&lt;br /&gt;
Represents a group of devices in a [[#osn:storagePool]] which makes up a stripe set (VDEV in ZFS terminology)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;groupType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;raidLevel&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureRedundant&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;errCountReads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountWrites&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;errCountChecksums&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;allocSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;freeSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;storagePoolDeviceIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePoolHaFailoverGroup ==&lt;br /&gt;
Storage Pools can be made highly-available by creating a [[#osn:storagePoolHaFailoverGroup]].  The [[#osn:storagePool]] must be comprised of storage devices which are accessible by two QuantaStor servers which generally implies that the devices are SAS, FC, or dual-ported NVMe devices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;primaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;secondaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tertiaryStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;activeStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;failoverModuleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lastFailoverTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;settleTimeInSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isActive&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;encryptionKeyData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;encryptionKeyPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;verifyClientIps&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;deviceSerialNumbers&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;haClientFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;haLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;haFcLinkStateFailoverPolicy&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;exportTimeout&amp;quot;: xsd:unsignedInt  {{Note|maximum amount of time (in seconds) allocated for export of the pool as part of an HA failover sequence.  If the timeout expires the aquiring system takes preemptive locks on the devices in order to start the pool import process and the exporting system will need a reboot.|inline=1}}&lt;br /&gt;
    &amp;quot;encryptionKeySaltData&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;encryptionKeySaltPath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyServerProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;keyServerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enforceSmbHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;enforceNfsHostsAllow&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;interfaceList&amp;quot;: [[#osn:storagePoolHaFailoverInterface|osn:storagePoolHaFailoverInterface]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePoolHaFailoverInterface ==&lt;br /&gt;
Represents a High-Availability Interface which is associated with a [[#osn:storagePool]] via a [[#osn:storagePoolHaFailoverGroup]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:siteVifResource|osn:siteVifResource]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;failoverGroupId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storagePoolProfile ==&lt;br /&gt;
Pool profiles provide a set of tunings to be applied to the disks within a given [[#osn:storagePool]].  These can be changed at any time via [[storagePoolModify]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nrRequests&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;readAheadKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fifoBatch&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;chunkSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;scheduler&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nrRequestsMultiplier&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minTargetDriverThreads&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;minTargetDriverTasklets&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nrRequestsSsd&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;readAheadKbSsd&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fifoBatchSsd&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;schedulerSsd&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nrRequestsMultiplierSsd&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nrRequestsNvme&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;readAheadKbNvme&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fifoBatchNvme&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;schedulerNvme&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nrRequestsMultiplierNvme&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageQuota ==&lt;br /&gt;
Resource Groups ([[#osn:resourceGroup]]) provide multitenancy capabiliites.  Within a Resource Group a provisioning quota may be added to allow its user members to provision a limited amount of storage from a specific [[#osn:storagePool]].  Each time a [[#osn:storageVolume]] or [[#osn:networkShare]] is provisioned it&#039;s associated with a storage provisioning quota [[#osn:storageQuota].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:provisionable|osn:provisionable]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;utilizationLimit&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;utilizedSpace&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;maxVolumes&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;maxShares&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;policyFlags&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;volumeAssocList&amp;quot;: [[#osn:storageQuotaVolumeAssoc|osn:storageQuotaVolumeAssoc]]&lt;br /&gt;
    &amp;quot;shareAssocList&amp;quot;: [[#osn:storageQuotaShareAssoc|osn:storageQuotaShareAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageQuotaShareAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageQuotaId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;shareId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageQuotaVolumeAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageQuotaId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystem ==&lt;br /&gt;
Represents a QuantaStor storage system which could be installed on physical or virtual server hardware.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;location&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;enclosureLayoutId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;productId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendorId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;startupTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;kernelVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nfsdServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;smbdServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nmbdServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iscsiServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hadoopServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;zfsServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephServiceStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;searchSuffix&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;domainSuffix&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dnsNameservers&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;externalHostName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;gridPreferredPort&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;corosyncStartTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;arpFilterStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;arpFilterMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bondMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageSystemClusterId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clusterTargetPortId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isMaster&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;requiresReboot&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;storageLinkId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;packageVerService&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;packageVerManager&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;packageVerTomcat&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;packageVerTarget&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;packageVerRest&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;iscsiInitiatorIqn&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ntpServers&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;timeZone&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;distroVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cephVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;multipathConfigMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;logCollectionMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;hwAutoMaintenanceMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fipsState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fipsStateDetail&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;networkShareServiceConfig&amp;quot;: [[#osn:networkShareServiceConfig|osn:networkShareServiceConfig]]&lt;br /&gt;
    &amp;quot;hwConfig&amp;quot;: [[#osn:storageSystemHwConfig|osn:storageSystemHwConfig]]&lt;br /&gt;
    &amp;quot;firewallMask&amp;quot;: xsd:unsignedInt  {{Note|Disable bit mask for protocols (NFS,SMB etc) based on qs_services_firewall.conf.|inline=1}}&lt;br /&gt;
    &amp;quot;disableIoFencing&amp;quot;: xsd:boolean  {{Note|Used to disable IO fencing logic on scale-out systems or single node ZFS systems that don&#039;t need it.|inline=1}}&lt;br /&gt;
    &amp;quot;disableMediaBeaconManagement&amp;quot;: xsd:boolean  {{Note|Used to disable disk identification/blink manager|inline=1}}&lt;br /&gt;
    &amp;quot;wwnEmulationMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;proxyUrlHttp&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;proxyUrlHttps&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;proxyUrlNoProxy&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;serviceOptionsMask&amp;quot;: xsd:unsignedInt  {{Note|Used to enable/disable certain services, such as Blink Manager etc|inline=1}}&lt;br /&gt;
    &amp;quot;enableTelemetry&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;targetPortIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fcTargetPortIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ibTargetPortIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dnsServerList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemCluster ==&lt;br /&gt;
Represents a Storage Grid but uses the name storageSystemCluster for legacy reasons.  A Storage Grid is a group of QuantaStor storage systems which can span racks, sites, and clouds.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;masterNodeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clusterPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageSystemIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemClusterAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageSystemClusterId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemHwConfig ==&lt;br /&gt;
Contains all the hardware configuration information about a given [[#osn:storageSystem]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;systemManufacturer&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;systemProduct&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;systemSerialNumber&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;systemManufacturerId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemProductId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemTemp&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;systemMemoryTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;coreCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cpuCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cpuModel&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;cpuTopTemp&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;cpuAvgTemp&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;pchTemp&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;powerSupplyCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;powerSupplyHealth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fanCount&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;fanHealth&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ipmiFirmwareVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipmiIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipmiSubnetMask&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipmiMacAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipmiGateway&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;memoryEccType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;currentPowerWatts&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemLink ==&lt;br /&gt;
Link between two [osn:storageSystem]s which contains information necessary for remote-replication of [[#osn:storageVolume]]s and [[#osn:networkShare]]s.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteStorageSystemId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteAdminUser&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;remoteAdminPasswordToken&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;publicKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;localIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;bandwidthLimit&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;linkType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;linkStatus&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageSystemLinkKeyId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;replicaAssocList&amp;quot;: [[#osn:replicaAssoc|osn:replicaAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemLinkKey ==&lt;br /&gt;
Security key associated with a given remote replication [[#osn:storageSystemLink]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageSystemLinkId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;publicKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;privateKey&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemRecoveryPoint ==&lt;br /&gt;
QuantaStor automatically does a backup of its internal database [[#osn:storagePool]]s on a system every hour.  These provide recovery points in cases where the configuration database needs to be rolled back.  This is usually done after a clean ISO installation of QuantaStor on a system that has one or more storage pools.  QuantaStor&#039;s internal database is forward and backward compatible with newer/older versions of the QuantaStor service.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;filePath&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fileName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;fileSize&amp;quot;: xsd:unsignedLong&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemTunable ==&lt;br /&gt;
System wide configuration tunable, typically used to adjust ZFS filesystem parameters but more broadly includes other things like network queue sizes and more.  Each tunable represents a different element of the system that may be adjusted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;title&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dataType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;dataValue&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;dataValueMin&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;dataValueMax&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;dataValueDefault&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;tab&amp;quot;: xsd:string  {{Note|WUI placement location, example: pool_settings|inline=1}}&lt;br /&gt;
    &amp;quot;tabIndex&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;paramPath&amp;quot;: xsd:string  {{Note|example /sys/module/zfs/parameters/zfs_vdev_aggregation_limit|inline=1}}&lt;br /&gt;
    &amp;quot;moduleConfPath&amp;quot;: xsd:string  {{Note|path to /etc/modules.d/ config file|inline=1}}&lt;br /&gt;
    &amp;quot;paramSizeUnits&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;displaySizeUnits&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;rounding&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemTunableAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;id&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tunableProfileId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dataParam&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;dataValue&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageSystemTunableProfile ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tunableAssocList&amp;quot;: [[#osn:storageSystemTunableAssoc|osn:storageSystemTunableAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageTier ==&lt;br /&gt;
In larger configurations with many [[#osn:storagePool]]s it can be difficult to select the optimal [[#osn:storagePool]] without first looking at each one to determine which one has the most free space and has the right characteristics.  Storage Provisioning Tiers provide a way to easily group together pools to simplify provisioning in large configurations.  Each [[#osn:storageTier]] may be associated with one or more [[#osn:storagePool]]s.  When provisioning a new [[#osn:storageVolume]] or [[#osn:networkShare]] a Storage Tier ID may be specified instead of a specific [[#osn:storagePool]].  In such a case QuantaStor will automatically select the optimal pool for a given provisioning request.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;performanceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageClass&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageTierAssocList&amp;quot;: [[#osn:storageTierAssoc|osn:storageTierAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageTierAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageTierId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storagePoolId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolume ==&lt;br /&gt;
Represents a block storage device that can be presented to one or more hosts as a LUN.  Storage Volumes must be assigned to a [[#osn:host]] before they are accessible via iSCSI and/or FC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:replicatable|osn:replicatable]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;accessMode&amp;quot;: xsd:unsignedInt  {{Note|read-write or read-only|inline=1}}&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string  {{Note|user specified description field|inline=1}}&lt;br /&gt;
    &amp;quot;devicePath&amp;quot;: xsd:string  {{Note|internal block device path|inline=1}}&lt;br /&gt;
    &amp;quot;iqn&amp;quot;: xsd:string  {{Note|iSCSI target IQN of the Storage Volume|inline=1}}&lt;br /&gt;
    &amp;quot;isCloudBackup&amp;quot;: xsd:boolean  {{Note|DEPRECATED, was used by Cloud Backup Schedule|inline=1}}&lt;br /&gt;
    &amp;quot;useGuidIqn&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;lun&amp;quot;: xsd:unsignedInt  {{Note|FC only, LUN number of the Storage Volume, else 0.|inline=1}}&lt;br /&gt;
    &amp;quot;cloudContainerId&amp;quot;: xsd:string  {{Note|DEPRECATED, was used by Cloud Backup Schedule|inline=1}}&lt;br /&gt;
    &amp;quot;target&amp;quot;: xsd:unsignedInt  {{Note|FC only|inline=1}}&lt;br /&gt;
    &amp;quot;relativeTargetId&amp;quot;: xsd:unsignedInt  {{Note|FC only|inline=1}}&lt;br /&gt;
    &amp;quot;volumeType&amp;quot;: xsd:unsignedInt  {{Note|indicates scale-up vs scale-out type storage volume|inline=1}}&lt;br /&gt;
    &amp;quot;chapPolicy&amp;quot;: xsd:unsignedInt  {{Note|iSCSI CHAP policy indicating volume, user, and resource group levels.|inline=1}}&lt;br /&gt;
    &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt  {{Note|block size of the device as presented as Physical Block Size in VMware|inline=1}}&lt;br /&gt;
    &amp;quot;chapUsername&amp;quot;: xsd:string  {{Note|iSCSI CHAP username when specified on a per volume basis|inline=1}}&lt;br /&gt;
    &amp;quot;chapPassword&amp;quot;: xsd:string  {{Note|iSCSI CHAP password when specified on a per volume basis|inline=1}}&lt;br /&gt;
    &amp;quot;storageLinkId&amp;quot;: xsd:string  {{Note|DEPRECATED, XenServer Storage Link unique ID|inline=1}}&lt;br /&gt;
    &amp;quot;deviceDescriptor&amp;quot;: xsd:string  {{Note|SCSI-3 mode page 83 unique ID|inline=1}}&lt;br /&gt;
    &amp;quot;enableWriteCache&amp;quot;: xsd:boolean  {{Note|Indicates target driver wb caching policy, is always disabled but can be overridden via configuration file for testing purposes|inline=1}}&lt;br /&gt;
    &amp;quot;accessTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;qosReadIops&amp;quot;: xsd:unsignedLong  {{Note|DEPRECATED, QoS limitations are currently only bandwidth based|inline=1}}&lt;br /&gt;
    &amp;quot;qosWriteIops&amp;quot;: xsd:unsignedLong  {{Note|DEPRECATED, QoS limitations are currently only bandwidth based|inline=1}}&lt;br /&gt;
    &amp;quot;qosReadBandwidth&amp;quot;: xsd:unsignedLong  {{Note|Specific QoS setting to limit read bandwidth, 0 indicates no limiting|inline=1}}&lt;br /&gt;
    &amp;quot;qosWriteBandwidth&amp;quot;: xsd:unsignedLong  {{Note|Specific QoS setting to limit write bandwidth, 0 indicates no limiting|inline=1}}&lt;br /&gt;
    &amp;quot;qosPolicyId&amp;quot;: xsd:string  {{Note|QoS policy applied to limit read/write bandwidth|inline=1}}&lt;br /&gt;
    &amp;quot;eui&amp;quot;: xsd:string  {{Note|EUI format identifier for the volume|inline=1}}&lt;br /&gt;
    &amp;quot;lunAssignmentPolicy&amp;quot;: xsd:unsignedInt  {{Note|For FC access, indicates the LUN number assignment policy 0=OSN_CMN_LUN_ASSIGN_DYNAMIC, 1=OSN_CMN_LUN_ASSIGN_STATIC|inline=1}}&lt;br /&gt;
    &amp;quot;cephClusterId&amp;quot;: xsd:string  {{Note|Ceph RBD only, this is the Ceph Cluster UUID where the volume resides|inline=1}}&lt;br /&gt;
    &amp;quot;profileId&amp;quot;: xsd:string  {{Note|Indicates the Storage Volume I/O optimization profile applied to this volume|inline=1}}&lt;br /&gt;
    &amp;quot;stripeSizeKb&amp;quot;: xsd:unsignedInt  {{Note|Ceph RBD only|inline=1}}&lt;br /&gt;
    &amp;quot;stripeCount&amp;quot;: xsd:unsignedInt  {{Note|Ceph RBD only|inline=1}}&lt;br /&gt;
    &amp;quot;mappingDisabled&amp;quot;: xsd:boolean  {{Note|Ceph RBD only, indicates that the device is not accessible via iSCSI/FC and may only be used for direct exclusive client RBD mapping from external hosts. This property cannot be changed after the volume has been created.|inline=1}}&lt;br /&gt;
    &amp;quot;portalGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;namespaceName&amp;quot;: xsd:string  {{Note|Ceph RBD only, indicates the namespace name where the volume resides|inline=1}}&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolumeAcl ==&lt;br /&gt;
An access control assignment of a [[#osn:storageVolume]] to a [[#osn:host]] or [[#osn:hostGroup]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;hostId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;hostObjType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageVolumeObjType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolumeGroup ==&lt;br /&gt;
Represents a group of [[#osn:storageVolume]]s.  Once grouped they can be snapshot as a set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;volumeAssocList&amp;quot;: [[#osn:storageVolumeGroupAssoc|osn:storageVolumeGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolumeGroupAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageVolumeGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolumeProfile ==&lt;br /&gt;
Pool profiles provide a set of tunings to be applied to the disks within a given [[#osn:storagePool]].  These can be changed at any time via [[storagePoolModify]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;tag&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;blockSizeKb&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iscsiQueuedCommands&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iscsiFirstBurstLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iscsiMaxBurstLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iscsiMaxRecvDataSegmentLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;iscsiMaxXmitDataSegmentLength&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:storageVolumeUtilization ==&lt;br /&gt;
Records daily information about [[#osn:storageVolume]] utilization over time which can then be used for charge-back accounting.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;storageVolumeId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;size&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;sizeUtilized&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;ioTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;ioReadsTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;ioWritesTotal&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;ioReads00&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads01&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads02&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads03&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads04&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads05&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads06&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads07&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads08&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads09&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads10&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads11&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads12&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads13&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads14&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads15&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads16&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads17&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads18&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads19&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads20&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads21&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads22&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioReads23&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites00&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites01&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites02&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites03&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites04&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites05&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites06&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites07&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites08&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites09&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites10&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites11&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites12&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites13&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites14&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites15&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites16&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites17&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites18&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites19&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites20&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites21&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites22&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;ioWrites23&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:subject ==&lt;br /&gt;
A user or user group&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;resourceGroupAssocList&amp;quot;: [[#osn:resourceGroupSubjectAssoc|osn:resourceGroupSubjectAssoc]]&lt;br /&gt;
    &amp;quot;userGroupAssocList&amp;quot;: [[#osn:userGroupAssoc|osn:userGroupAssoc]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:swController ==&lt;br /&gt;
Represents an iSCSI Software HBA used to connect to 3rd-party SANs or another QuantaStor SAN.  This can be used to setup a QuantaStor HA configuration using VMs or physical servers connected to iSCSI block storage.  In this way QuantaStor can be setup as a highly available NAS head for 3rd party SANs using physical or virtual servers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portNumber&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;username&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;controllerType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;targetList&amp;quot;: [[#osn:swControllerTarget|osn:swControllerTarget]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:swControllerGroup ==&lt;br /&gt;
Represents a group of one or more [[#osn:swController]] instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;apiVersion&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;controllerList&amp;quot;: [[#osn:swController|osn:swController]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:swControllerTarget ==&lt;br /&gt;
Represents a 3rd-party iSCSI SAN device which the QuantaStor is connected to via one or more [[#osn:swDiskSession]] instances.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sessionList&amp;quot;: [[#osn:swDiskSession|osn:swDiskSession]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:swDiskSession ==&lt;br /&gt;
Each iSCSI target connection to an external iSCSI SAN is represented a software disk session instance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;controllerId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;portalIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;sid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;txData&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;rxData&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;digestErr&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;timeoutErr&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;connectionState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;sessionState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:targetPort ==&lt;br /&gt;
Represents a network port which could be a bonded port, VLAN, VIF, or physical port.  (note, the term targetPort was used rather than networkPort due to QuantaStor&#039;s initial focus on the iSCSI protocol in early versions.  The type name targetPort is retained for backward compatibility.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;gateway&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;macAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;ipAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;configType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isVlan&amp;quot;: xsd:boolean  {{Note|Set to true when the port is a static VLAN|inline=1}}&lt;br /&gt;
    &amp;quot;vlanId&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;vlanQos&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isVirtualPort&amp;quot;: xsd:boolean  {{Note|Set to true when the port is any type of virtual port (VIF, VLAN, bond).|inline=1}}&lt;br /&gt;
    &amp;quot;isVirtualInterface&amp;quot;: xsd:boolean  {{Note|Set to true when the port is a static virtual interface|inline=1}}&lt;br /&gt;
    &amp;quot;isBond&amp;quot;: xsd:boolean  {{Note|Set to true when the port is a bond port, false if its a slave port or any other port type|inline=1}}&lt;br /&gt;
    &amp;quot;iscsiEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;stopFloating&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;parentPort&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;model&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;subnetMask&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;vendor&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;linkState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;speedMbSec&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;mtu&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bytesRx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesTx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesCounterOffsetRx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bytesCounterOffsetTx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;errorsRx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;errorsTx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;droppedRx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;droppedTx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;overrunsRx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;overrunsTx&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;collisions&amp;quot;: xsd:unsignedLong&lt;br /&gt;
    &amp;quot;bondMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;onBootDisabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;firewallMask&amp;quot;: xsd:unsignedInt  {{Note|Disable bit mask for protocols (NFS,SMB etc) based on qs_services_firewall.conf.|inline=1}}&lt;br /&gt;
    &amp;quot;firewallForceAllowMask&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bondStatus&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;permanentMacAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;partnerMacAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;nvmeofEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;autoTuningEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;losslessNetworkingEnabled&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;losslessNetworkingSupported&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;bufferRx&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;bufferTx&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isHidden&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;childPortIdList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;virtualInterfaceAssocList&amp;quot;: [[#osn:virtualInterfaceAssoc|osn:virtualInterfaceAssoc]]&lt;br /&gt;
    &amp;quot;staticRouteList&amp;quot;: [[#osn:targetPortStaticRoute|osn:targetPortStaticRoute]]&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:targetPortStaticRoute ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;targetPortId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;destinationIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;destinationNetmask&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;gatewayIpAddress&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:task ==&lt;br /&gt;
task object contains information about the progress of a given task and may be monitored via [[#taskGet]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;startTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;finishTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;progress&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;taskState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;description&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;parentId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;operation&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;objectType&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;clientIpAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;i18nDescription&amp;quot;: [[#osn:i18nString|osn:i18nString]]&lt;br /&gt;
    &amp;quot;errorMessage&amp;quot;: [[#osn:errorMessage|osn:errorMessage]]&lt;br /&gt;
    &amp;quot;retainState&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:timeZone ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;countryCode&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;tz&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;comments&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:traceLevel ==&lt;br /&gt;
Contains information about the debug tracing configuration of the QuantaStor service&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;traceLevel&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;stdOut&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;traceFilterList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;traceFilterVerboseList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;traceOptionsList&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;eventVerboseFilterList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:user ==&lt;br /&gt;
A management user account within a QuantaStor storage grid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:subject|osn:subject]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;password&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;passwordV2&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;roleId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;firstName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;lastName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;emailAddress&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;defaultChapUsername&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;defaultChapPassword&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;posixUid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;alertSubscriptions&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;specifiedAlertSubscriptions&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;jwtToken&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;passwordToken&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;passwordModifiedTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;isExpired&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;isLocked&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;recentlyUsedPasswordTokens&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;allowRootCliTokenAuth&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;accountType&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;terminateTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;failedLoginAttempts&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;lastSuccessfulLoginTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;wuiTabDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;wuiSectionDisable&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;enableMultiFactorAuth&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;multiFactorAuthConfigId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;otpSecretKeyMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;otpSecretKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;otpSecretKeySalt&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;passwordTokenAlg&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;isLdapUser&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;passwordSalt&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;shortLockoutTimeStamp&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;pendingOperationRequestId&amp;quot;: xsd:string  {{Note|used to track multi-admin approvals on operations like delete|inline=1}}&lt;br /&gt;
    &amp;quot;customPermissionList&amp;quot;: [[#osn:userPermissionAssignment|osn:userPermissionAssignment]]&lt;br /&gt;
    &amp;quot;userAppTokenIdList&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:userAppToken ==&lt;br /&gt;
Security token associated with a [[#osn:providerApp]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:object|osn:object]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;providerAppId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;userId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;appKey&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;appAccessToken&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;isReadOnly&amp;quot;: xsd:boolean&lt;br /&gt;
    &amp;quot;tokenExpires&amp;quot;: xsd:dateTime&lt;br /&gt;
    &amp;quot;tokenFileName&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;appAccessMode&amp;quot;: xsd:unsignedInt&lt;br /&gt;
    &amp;quot;nodeSystemId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:userGroup ==&lt;br /&gt;
A group of one or more users.  Also maps to a posix group with the specified GID.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:subject|osn:subject]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;posixGid&amp;quot;: xsd:unsignedInt&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:userGroupAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;userGroupId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;userId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== osn:virtualInterfaceAssoc ==&lt;br /&gt;
&#039;&#039;&#039; Inherits From &#039;&#039;&#039;&lt;br /&gt;
[[#osn:nodeAssoc|osn:nodeAssoc]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Fields &#039;&#039;&#039;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;virtualInterfacePortId&amp;quot;: xsd:string&lt;br /&gt;
    &amp;quot;targetPortId&amp;quot;: xsd:string&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
= Enum Definitions =&lt;br /&gt;
== enum:accessKeyType ==&lt;br /&gt;
Used by the osn__s3UserAccessKey type to indicate the type of the key&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ACCESSKEY_TYPE_S3: 0&lt;br /&gt;
  OSN_ACCESSKEY_TYPE_SWIFT: 1&lt;br /&gt;
  OSN_ACCESSKEY_TYPE_MAX: 2&lt;br /&gt;
== enum:accessType ==&lt;br /&gt;
Access mode for a given Storage Volume with read-write as the default&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ACCESSTYPE_READWRITE: 0&lt;br /&gt;
  OSN_CMN_ACCESSTYPE_READONLY: 1&lt;br /&gt;
  OSN_CMN_ACCESSTYPE_NONE: 2&lt;br /&gt;
== enum:aclType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ACL_TYPE_POSIX: 0&lt;br /&gt;
  OSN_ACL_TYPE_OFF: 1&lt;br /&gt;
== enum:activeDirSearchStatus ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_AD_STAT_SUCCESS: 0&lt;br /&gt;
  OSN_CMN_AD_STAT_TOO_MANY_HITS: 1&lt;br /&gt;
  OSN_CMN_AD_STAT_NOT_FOUND: 2&lt;br /&gt;
== enum:adJoinMode ==&lt;br /&gt;
Mode for how active directory join.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ADJOIN_MODE_NONE: 0&lt;br /&gt;
  OSN_CMN_ADJOIN_MODE_WINBIND: 1&lt;br /&gt;
  OSN_CMN_ADJOIN_MODE_SSSD: 2&lt;br /&gt;
  OSN_CMN_ADJOIN_MODE_SSSD_PLUS_WINBIND: 3&lt;br /&gt;
== enum:alertSubscription ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ALERT_SUBSCRIPTION_NONE: 0&lt;br /&gt;
  OSN_CMN_ALERT_SUBSCRIPTION_CRITICAL: 1&lt;br /&gt;
  OSN_CMN_ALERT_SUBSCRIPTION_ERROR: 2&lt;br /&gt;
  OSN_CMN_ALERT_SUBSCRIPTION_WARNING: 4&lt;br /&gt;
  OSN_CMN_ALERT_SUBSCRIPTION_INFO: 8&lt;br /&gt;
== enum:alertTypeState ==&lt;br /&gt;
All alerts are enabled (1) by default but alert types can be disabled (0) or paused (2) for 30 days to quiet specific alert types while maintenance is being done.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ALERT_TYPE_DISABLED: 0&lt;br /&gt;
  OSN_ALERT_TYPE_ENABLED: 1&lt;br /&gt;
  OSN_ALERT_TYPE_PAUSED: 2&lt;br /&gt;
== enum:arpFilterMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ARP_FILTER_MODE_AUTO: 0&lt;br /&gt;
  OSN_ARP_FILTER_MODE_ENABLED: 1&lt;br /&gt;
  OSN_ARP_FILTER_MODE_DISABLED: 2&lt;br /&gt;
  OSN_ARP_FILTER_MODE_MAX: 3&lt;br /&gt;
== enum:arpFilterStatus ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ARP_FILTERING_ENABLED: 0&lt;br /&gt;
  OSN_ARP_FILTERING_DISABLED: 1&lt;br /&gt;
== enum:auditLogEntryType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_AUDIT_NONE: 0&lt;br /&gt;
  OSN_CMN_AUDIT_TASK: 1&lt;br /&gt;
  OSN_CMN_AUDIT_ALERT: 2&lt;br /&gt;
  OSN_CMN_AUDIT_API: 4&lt;br /&gt;
  OSN_CMN_AUDIT_MESSAGE: 8&lt;br /&gt;
== enum:backupJobStage ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_INITIALIZING: 0&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_SCANNING: 1&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_COPYING: 2&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_PURGING: 3&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_COMPLETED: 4&lt;br /&gt;
  OSN_CMN_BACKUP_STAGE_FAILED: 5&lt;br /&gt;
== enum:backupPolicyMountType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_MOUNT_NFS: 0&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_MOUNT_CEPHFS: 1&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_MOUNT_OCFS2: 2&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_MOUNT_CIFS: 3&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_MOUNT_CLOUD_CONTAINER: 4&lt;br /&gt;
== enum:backupPolicyRetentionCriteria ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_RETENTION_ACCESS_TIME: 1&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_RETENTION_MODIFY_TIME: 2&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_RETENTION_CREATE_TIME: 4&lt;br /&gt;
== enum:backupPolicyType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_TYPE_COPY_INBOUND: 0&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_TYPE_COPY_OUTBOUND: 1&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_TYPE_MOVE_INBOUND: 2&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_TYPE_MOVE_OUTBOUND: 3&lt;br /&gt;
  OSN_CMN_BACKUP_POLICY_TYPE_MAX: 4&lt;br /&gt;
== enum:backupPurgePolicy ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BACKUP_PURGE_POLICY_NEVER: 0&lt;br /&gt;
  OSN_CMN_BACKUP_PURGE_POLICY_AFTER_BACKUP: 1&lt;br /&gt;
  OSN_CMN_BACKUP_PURGE_POLICY_DAILY: 2&lt;br /&gt;
  OSN_CMN_BACKUP_PURGE_POLICY_WEEKLY: 3&lt;br /&gt;
  OSN_CMN_BACKUP_PURGE_POLICY_MAX: 4&lt;br /&gt;
== enum:blinkReason ==&lt;br /&gt;
Reason for why a given storage media device beacon is ON.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BLINKREASON_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_BLINKREASON_MANUAL: 1&lt;br /&gt;
  OSN_CMN_BLINKREASON_SPD_FAULT: 2&lt;br /&gt;
  OSN_CMN_BLINKREASON_PD_FAULT: 4&lt;br /&gt;
  OSN_CMN_BLINKREASON_HWD_FAULT: 8&lt;br /&gt;
  OSN_CMN_BLINKREASON_OSD_FAULT: 16&lt;br /&gt;
  OSN_CMN_BLINKREASON_BRICK_FAULT: 32&lt;br /&gt;
  OSN_CMN_BLINKREASON_OTHER: 64&lt;br /&gt;
== enum:blinkType ==&lt;br /&gt;
All identify methods (eg: physicalDiskIdentify) take this as input where BLINK_ON implies that the LED beacon on the storage media should be activated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BLINK_ON: 0&lt;br /&gt;
  OSN_CMN_BLINK_OFF: 1&lt;br /&gt;
== enum:bondMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BOND_MODE_ROUND_ROBIN: 0&lt;br /&gt;
  OSN_BOND_MODE_ACTIVE_BACKUP: 1&lt;br /&gt;
  OSN_BOND_MODE_BALANCE_XOR: 2&lt;br /&gt;
  OSN_BOND_MODE_BROADCAST: 3&lt;br /&gt;
  OSN_BOND_MODE_LACP: 4&lt;br /&gt;
  OSN_BOND_MODE_BALANCE_TLB: 5&lt;br /&gt;
  OSN_BOND_MODE_BALANCE_ALB: 6&lt;br /&gt;
  OSN_BOND_MODE_LACP_LAYER23: 65539&lt;br /&gt;
  OSN_BOND_MODE_LACP_LAYER34: 65540&lt;br /&gt;
  OSN_BOND_MODE_ERROR: 65544&lt;br /&gt;
  OSN_BOND_MODE_MAX: 65552&lt;br /&gt;
== enum:bucketAclType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BUCKETACL_PRIVATE: 0&lt;br /&gt;
  OSN_BUCKETACL_PUBLIC_READ: 1&lt;br /&gt;
  OSN_BUCKETACL_PUBLIC_READ_WRITE: 2&lt;br /&gt;
  OSN_BUCKETACL_AUTH_READ: 3&lt;br /&gt;
== enum:bucketIntegrationOptions ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BUCKET_INTEGRATION_OPTIONS_NONE: 0&lt;br /&gt;
  OSN_BUCKET_INTEGRATION_OPTIONS_VEEAM: 1&lt;br /&gt;
== enum:bucketObjectLockMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BUCKET_OBJECTLOCK_DISABLED: 0&lt;br /&gt;
  OSN_BUCKET_OBJECTLOCK_ENABLED: 1&lt;br /&gt;
  OSN_BUCKET_OBJECTLOCK_GOVERNANCE: 2&lt;br /&gt;
  OSN_BUCKET_OBJECTLOCK_COMPLIANCE: 3&lt;br /&gt;
== enum:bucketRescanOptions ==&lt;br /&gt;
HTTP requests are redirected to HTTPS by default but his allows one to reconfigure that behavior.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_NONE: 0&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_USAGE: 1&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_LOCK_CONFIG: 2&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_LIFECYCLE: 4&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_VEEAM: 8&lt;br /&gt;
  OSN_CMN_BUCKET_RESCAN_SYNC_POLICY: 16&lt;br /&gt;
== enum:bucketType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BUCKET_TYPE_CEPH: 0&lt;br /&gt;
  OSN_BUCKET_TYPE_MINIO: 1&lt;br /&gt;
  OSN_BUCKET_TYPE_AMAZON: 2&lt;br /&gt;
  OSN_BUCKET_TYPE_AZURE: 3&lt;br /&gt;
  OSN_BUCKET_TYPE_GOOGLE: 4&lt;br /&gt;
  OSN_BUCKET_TYPE_IBM_CLOUD: 5&lt;br /&gt;
  OSN_BUCKET_TYPE_MAX: 6&lt;br /&gt;
== enum:bucketVersioning ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_BUCKET_VERSIONING_NONE: 0&lt;br /&gt;
  OSN_BUCKET_VERSIONING_ENABLED: 1&lt;br /&gt;
  OSN_BUCKET_VERSIONING_DISABLED: 2&lt;br /&gt;
  OSN_BUCKET_VERSIONING_SUSPENDED: 3&lt;br /&gt;
== enum:cacheMode ==&lt;br /&gt;
Cache mode for block devices/media&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CACHE_MODE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_CACHE_MODE_WRITETHROUGH: 1&lt;br /&gt;
  OSN_CMN_CACHE_MODE_WRITEBACK: 2&lt;br /&gt;
== enum:cachePolicy ==&lt;br /&gt;
Cache policy indicates what types of data (data or metadata or both) a scale-up Storage Pool (ZFS based) should allow for the in-memory cache (ARC) or secondary flash based cache (L2ARC).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CACHETYPE_ALL: 0&lt;br /&gt;
  OSN_CMN_CACHETYPE_NONE: 1&lt;br /&gt;
  OSN_CMN_CACHETYPE_METADATA: 2&lt;br /&gt;
  OSN_CMN_CACHETYPE_AUTO: 3&lt;br /&gt;
== enum:cacheType ==&lt;br /&gt;
Cache type, typcially for hardware controlelrs (see hwController)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ACCESSTYPE_WRITETHRU: 0&lt;br /&gt;
  OSN_CMN_ACCESSTYPE_WRITEBACK: 1&lt;br /&gt;
== enum:capabilityValType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CAPABILITY_VAL_TYPE_SET: 0&lt;br /&gt;
  OSN_CAPABILITY_VAL_TYPE_RANGE: 1&lt;br /&gt;
== enum:capacityRuleOperator ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_OPERATOR_NONE: 0&lt;br /&gt;
  OSN_CMN_OPERATOR_GREATERTHAN: 1&lt;br /&gt;
  OSN_CMN_OPERATOR_LESSTHAN: 2&lt;br /&gt;
  OSN_CMN_OPERATOR_EQUALS: 3&lt;br /&gt;
  OSN_CMN_OPERATOR_GREATERTHAN_OR_EQUAL: 4&lt;br /&gt;
  OSN_CMN_OPERATOR_LESSTHAN_OR_EQUAL: 5&lt;br /&gt;
== enum:caseSensitivity ==&lt;br /&gt;
Scale-up Storage Pools (ZFS based) allow files and directories to be case-sensitive (0, default), insensitive (1), and mixed (2). These modes provide additional compatibility for importing data from filesystems that may or may not have case sensitivity.  Use when creating new Network Shares.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CASE_SENSITIVITY_SENSITIVE: 0&lt;br /&gt;
  OSN_CMN_CASE_SENSITIVITY_INSENSITIVE: 1&lt;br /&gt;
  OSN_CMN_CASE_SENSITIVITY_MIXED: 2&lt;br /&gt;
== enum:cephBucketEstimatedObjectCount ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_NONE: 0&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_1M: 1&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_10M: 2&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_50M: 3&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_100M: 4&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_500M: 5&lt;br /&gt;
  OSN_CEPH_BUCKET_ESIMATED_OBJECT_COUNT_1B: 6&lt;br /&gt;
== enum:cephClientKeyringResourceType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_RESOURCE_TYPE_POOL: 0&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_RESOURCE_TYPE_SHARE: 1&lt;br /&gt;
== enum:cephClientKeyringType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_NONE: 0&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_ADMIN: 1&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_RBD: 2&lt;br /&gt;
  OSN_CMN_CEPH_CLIENT_KEYRING_CEPHFS: 4&lt;br /&gt;
== enum:cephClusterAuthMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_AUTH_MODE_CEPHX: 0&lt;br /&gt;
  OSN_CEPH_AUTH_MODE_NONE: 1&lt;br /&gt;
== enum:cephCrushDeviceClass ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_CRUSH_DEVICE_CLASS_HDD: 0&lt;br /&gt;
  OSN_CEPH_CRUSH_DEVICE_CLASS_SSD: 1&lt;br /&gt;
  OSN_CEPH_CRUSH_DEVICE_CLASS_NVME: 2&lt;br /&gt;
== enum:cephCrushRuleType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_CRUSH_RULE_REPLICATED: 1&lt;br /&gt;
  OSN_CEPH_CRUSH_RULE_ERASURE_CODED: 3&lt;br /&gt;
== enum:cephDaemonType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_INVALID: 0&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_MON: 1&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_MGR: 2&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_OSD: 4&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_MDS: 8&lt;br /&gt;
  OSN_CEPH_DAEMON_TYPE_RGW: 16&lt;br /&gt;
== enum:cephECPlugin ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_EC_PLUGIN_JERASURE: 0&lt;br /&gt;
  OSN_CEPH_EC_PLUGIN_ISA: 1&lt;br /&gt;
  OSN_CEPH_EC_PLUGIN_LRC: 2&lt;br /&gt;
  OSN_CEPH_EC_PLUGIN_SHEC: 3&lt;br /&gt;
== enum:cephECTechnique ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_REED_SOL_VAN: 0&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_REED_SOL_R6_OP: 1&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_CAUCHY_ORIG: 2&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_CAUCHY_GOOD: 3&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_LIBERATION: 4&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_BLAUM_ROTH: 5&lt;br /&gt;
  OSN_CEPH_EC_TECHNIQUE_LIBER_8_TION: 6&lt;br /&gt;
== enum:cephFailureDomain ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_FAILURE_DOMAIN_OSD: 0&lt;br /&gt;
  OSN_CEPH_FAILURE_DOMAIN_HOST: 1&lt;br /&gt;
  OSN_CEPH_FAILURE_DOMAIN_RACK: 2&lt;br /&gt;
  OSN_CEPH_FAILURE_DOMAIN_CHASSIS: 3&lt;br /&gt;
  OSN_CEPH_FAILURE_DOMAIN_DATACENTER: 4&lt;br /&gt;
== enum:cephJournalGroupType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_DEVICE_PARTITION: 0&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_ENTIRE_DEVICE: 1&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_POOL_FILE: 2&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_LVM_VOLUME: 3&lt;br /&gt;
== enum:cephJournalMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_MODE_UNUSED: 0&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_MODE_LEGACY_JOURNAL: 1&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_MODE_WAL: 2&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_MODE_DB: 4&lt;br /&gt;
  OSN_CMN_CEPH_JOURNAL_MODE_UNKNOWN: 65535&lt;br /&gt;
== enum:cephMonOsdSubtreeLimit ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_MON_OSDSUBTREELIMIT_HOST: 0&lt;br /&gt;
  OSN_CEPH_MON_OSDSUBTREELIMIT_RACK: 1&lt;br /&gt;
  OSN_CEPH_MON_OSDSUBTREELIMIT_MAX: 2&lt;br /&gt;
== enum:cephOsdType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_FLAG_CEPH_OSD_LEGACY_FILESTORE: 0&lt;br /&gt;
  OSN_CMN_FLAG_CEPH_OSD_BLUESTORE: 1&lt;br /&gt;
  OSN_CMN_FLAG_CEPH_OSD_AUTO_SELECT: 15&lt;br /&gt;
  OSN_CMN_FLAG_CEPH_OSD_UNKNOWN: 65535&lt;br /&gt;
== enum:cephOsdWeightPolicy ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPH_WEIGHT_POLICY_LEGACY: 0&lt;br /&gt;
  OSN_CMN_CEPH_WEIGHT_POLICY_BY_SIZE: 1&lt;br /&gt;
== enum:cephRadosGatewayPortNumber ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_PORT_NUMBER_7480: 7480&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_PORT_NUMBER_7481: 7481&lt;br /&gt;
== enum:cephRadosGatewayServiceEngine ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_SERVICE_ENGINE_CIVETWEB: 0&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_SERVICE_ENGINE_BEAST: 1&lt;br /&gt;
== enum:cephRadosGatewayServiceMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_SERVICE_MODE_HTTPS: 0&lt;br /&gt;
  OSN_CEPH_RADOS_GATEWAY_SERVICE_MODE_HTTP: 1&lt;br /&gt;
== enum:cephRgwServiceSettings ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_NONE: 0&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_MULTISITE_REPLICATION: 1&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_GARBAGE_COLLECTION: 2&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_LIFECYCLE: 4&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_S3_ACCESS: 8&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_NOTIFICATIONS: 16&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_BUCKET_RESHARDING: 32&lt;br /&gt;
  OSN_CMN_CEPHRGW_SRVSET_MAX: 64&lt;br /&gt;
== enum:cephStorageClassRuleType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_STORAGECLASS_RULE_STANDARD: 0&lt;br /&gt;
  OSN_CEPH_STORAGECLASS_RULE_OVERFLOW: 1&lt;br /&gt;
  OSN_CEPH_STORAGECLASS_RULE_MAX: 2&lt;br /&gt;
== enum:cephUseCase ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CEPH_USE_CASE_RGW: 0&lt;br /&gt;
  OSN_CEPH_USE_CASE_RBD: 1&lt;br /&gt;
  OSN_CEPH_USE_CASE_FILESYSTEM: 2&lt;br /&gt;
== enum:cephUserAccessOpMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_USER_ACCESS_OPMASK_NONE: 0&lt;br /&gt;
  OSN_USER_ACCESS_OPMASK_READ: 1&lt;br /&gt;
  OSN_USER_ACCESS_OPMASK_WRITE: 2&lt;br /&gt;
  OSN_USER_ACCESS_OPMASK_DELETE: 4&lt;br /&gt;
  OSN_USER_ACCESS_OPMASK_MAX: 8&lt;br /&gt;
== enum:certificateUseCase ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CERT_USECASE_NONE: 0&lt;br /&gt;
  OSN_CMN_CERT_USECASE_HAPROXY: 1&lt;br /&gt;
  OSN_CMN_CERT_USECASE_NGINX: 2&lt;br /&gt;
  OSN_CMN_CERT_USECASE_OBJECT_GATEWAY: 3&lt;br /&gt;
  OSN_CMN_CERT_USECASE_OBJECT_GATEWAY_INSTANCE2: 4&lt;br /&gt;
  OSN_CMN_CERT_USECASE_REST_SERVER: 5&lt;br /&gt;
  OSN_CMN_CERT_USECASE_QS_SERVICE: 6&lt;br /&gt;
  OSN_CMN_CERT_USECASE_QS_CLIENT: 7&lt;br /&gt;
  OSN_CMN_CERT_USECASE_MAX: 8&lt;br /&gt;
== enum:chapPolicy ==&lt;br /&gt;
for Storage Volumes accessed via iSCSI one can set a storage volume specific CHAP user/pass (1), or get CHAP defaults from the user account (2), or allow the use of both the CHAP user/pass on the Volume and the User (3), or inherit the CHAP user/pass from the Resource Group the volume is a member of.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CHAP_DISABLED: 0&lt;br /&gt;
  OSN_CHAP_USE_TARGET_CHAP: 1&lt;br /&gt;
  OSN_CHAP_USE_USER_CHAP_DEFAULTS: 2&lt;br /&gt;
  OSN_CHAP_USE_TARGET_AND_USER_CHAP: 3&lt;br /&gt;
  OSN_CHAP_USE_RESOURCE_GROUP_CHAP_DEFAULTS: 4&lt;br /&gt;
== enum:cifsUserAccessMode ==&lt;br /&gt;
Access mode for a given SMB/CIFS user or user group access entry.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CIFS_USER_ACCESS_NONE: 0&lt;br /&gt;
  OSN_CMN_CIFS_USER_ACCESS_VALID: 1&lt;br /&gt;
  OSN_CMN_CIFS_USER_ACCESS_ADMIN: 2&lt;br /&gt;
  OSN_CMN_CIFS_USER_ACCESS_INVALID: 3&lt;br /&gt;
== enum:cloudContainerCacheMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CLOUD_CONTAINER_CACHE_MODE_DEFAULT: 0&lt;br /&gt;
  OSN_CLOUD_CONTAINER_CACHE_MODE_OFF: 1&lt;br /&gt;
  OSN_CLOUD_CONTAINER_CACHE_MODE_MIN: 2&lt;br /&gt;
  OSN_CLOUD_CONTAINER_CACHE_MODE_WRITES: 3&lt;br /&gt;
  OSN_CLOUD_CONTAINER_CACHE_MODE_FULL: 4&lt;br /&gt;
== enum:cloudContainerType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CLOUD_CONTAINER_S3QL: 0&lt;br /&gt;
  OSN_CLOUD_CONTAINER_S3FS: 1&lt;br /&gt;
  OSN_CLOUD_CONTAINER_RCLONE: 2&lt;br /&gt;
== enum:cloudProviderType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CLOUD_PROVIDER_AMAZON_S3: 0&lt;br /&gt;
  OSN_CLOUD_PROVIDER_SFTP: 1&lt;br /&gt;
  OSN_CLOUD_PROVIDER_GOOGLE: 2&lt;br /&gt;
  OSN_CLOUD_PROVIDER_MICROSOFT_AZURE: 3&lt;br /&gt;
  OSN_CLOUD_PROVIDER_OPENSTACK_SWIFT: 4&lt;br /&gt;
  OSN_CLOUD_PROVIDER_DROPBOX: 5&lt;br /&gt;
  OSN_CLOUD_PROVIDER_CEPH: 6&lt;br /&gt;
  OSN_CLOUD_PROVIDER_IBMCOS: 7&lt;br /&gt;
  OSN_CLOUD_PROVIDER_BACKBLAZE_B2: 8&lt;br /&gt;
  OSN_CLOUD_PROVIDER_WASABI_S3: 9&lt;br /&gt;
  OSN_CLOUD_PROVIDER_GOOGLE_DRIVE: 10&lt;br /&gt;
  OSN_CLOUD_PROVIDER_LYVE: 11&lt;br /&gt;
== enum:consistencyCheck ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CONSISTENCY_CHECK_NA: 0&lt;br /&gt;
  OSN_CONSISTENCY_CHECK_UNVERIFIED: 1&lt;br /&gt;
  OSN_CONSISTENCY_CHECK_VERIFIED: 2&lt;br /&gt;
== enum:containerScope ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CONTAINER_SCOPE_UNKNOWN: 0&lt;br /&gt;
  OSN_CONTAINER_SCOPE_LOCAL_POOLS: 1&lt;br /&gt;
  OSN_CONTAINER_SCOPE_HA_POOL: 2&lt;br /&gt;
  OSN_CONTAINER_SCOPE_CEPH_CLUSTER: 3&lt;br /&gt;
== enum:containerServiceDefType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_CONTAINER_SERVICE_DEF_TYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_CONTAINER_SERVICE_DEF_TYPE_VSFTP: 1&lt;br /&gt;
  OSN_CMN_CONTAINER_SERVICE_DEF_TYPE_RESILIO: 2&lt;br /&gt;
  OSN_CMN_CONTAINER_SERVICE_DEF_TYPE_UNIVERSAL: 3&lt;br /&gt;
== enum:correlationDiskType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CORRELATIONDISKTYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_CORRELATIONDISKTYPE_HWUNIT: 1&lt;br /&gt;
  OSN_CORRELATIONDISKTYPE_HWDISK: 2&lt;br /&gt;
== enum:createdByScheduleType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SCHEDULE_NONE: 0&lt;br /&gt;
  OSN_SCHEDULE_MANUAL: 1&lt;br /&gt;
  OSN_SCHEDULE_REPLICATION: 2&lt;br /&gt;
  OSN_SCHEDULE_SNAPSHOT: 3&lt;br /&gt;
  OSN_SCHEDULE_BACKUP_POLICY: 4&lt;br /&gt;
== enum:dataShredMode ==&lt;br /&gt;
Availble data shredding modes for format operations and pool destroy operations.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_DONT_SHRED: 0&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_USARMY: 1&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_DOD: 2&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_NNSA: 3&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_RANDOM: 4&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_ZEROS: 5&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_SED_INSTANT_ERASE: 6&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_NVME_SECURE: 7&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_SSD_SECURE: 8&lt;br /&gt;
  OSN_CMN_DATA_SHRED_MODE_AUTO: 99&lt;br /&gt;
== enum:dataType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DATATYPE_STRING: 0&lt;br /&gt;
  OSN_CMN_DATATYPE_INT: 1&lt;br /&gt;
  OSN_CMN_DATATYPE_TIME: 2&lt;br /&gt;
  OSN_CMN_DATATYPE_FLOAT: 3&lt;br /&gt;
  OSN_CMN_DATATYPE_MAX: 4&lt;br /&gt;
== enum:daysOfWeekMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DAY_SUNDAY: 1&lt;br /&gt;
  OSN_CMN_DAY_MONDAY: 2&lt;br /&gt;
  OSN_CMN_DAY_TUESDAY: 4&lt;br /&gt;
  OSN_CMN_DAY_WEDNESDAY: 8&lt;br /&gt;
  OSN_CMN_DAY_THURSDAY: 16&lt;br /&gt;
  OSN_CMN_DAY_FRIDAY: 32&lt;br /&gt;
  OSN_CMN_DAY_SATURDAY: 64&lt;br /&gt;
== enum:deleteOptions ==&lt;br /&gt;
when deleting groups of volumes/shares you can apply flags for (1) dry-run which will not delete anything but will indicate what was to be deleted, (2) force it to only allow deletion of snapshots, or (3) allow deletion of both snapshots and parent shares (non-snaps).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DEL_OPT_NONE: 0&lt;br /&gt;
  OSN_CMN_DEL_OPT_DRY_RUN_ONLY: 1&lt;br /&gt;
  OSN_CMN_DEL_OPT_SNAPS_ONLY: 2&lt;br /&gt;
  OSN_CMN_DEL_OPT_SNAPS_AND_PARENT: 4&lt;br /&gt;
== enum:dfsNamespaceModeType ==&lt;br /&gt;
Indicates now Network Share Namespaces should present shares over CIFS/SMB where FLAT indicates no grouping and GROUPED indicates that the shares should be grouped under an export named after the Network Share Namespace.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DFS_NAMESPACE_MODE_GROUPED: 0&lt;br /&gt;
  OSN_CMN_DFS_NAMESPACE_MODE_FLAT: 1&lt;br /&gt;
  OSN_CMN_DFS_NAMESPACE_MODE_DISABLED: 2&lt;br /&gt;
== enum:diskCategory ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_DISKCAT_ANY: 0&lt;br /&gt;
  OSN_DISKCAT_HDD: 1&lt;br /&gt;
  OSN_DISKCAT_SSD: 2&lt;br /&gt;
== enum:diskEncryptionCapabilities ==&lt;br /&gt;
capabilities flags indicating encryption capabilities of SED media&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_CAPABILITIES_NONE: 0&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_CAPABILITIES_LOCK: 1&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_CAPABILITIES_SECURE_ERASE: 2&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_CAPABILITIES_SED_ENTERPRISE: 4&lt;br /&gt;
== enum:diskEncryptionStatus ==&lt;br /&gt;
current encryption status of SED media&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_STATUS_NONE: 0&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_STATUS_LOCK_ENABLED: 1&lt;br /&gt;
  OSN_CMN_DISK_ENCRYPTION_STATUS_LOCKED: 2&lt;br /&gt;
== enum:diskPerfTestType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_DISKPERFTYPE_SEQ_READ: 0&lt;br /&gt;
== enum:diskSmrZoningType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_DISKSMRZONINGTYPE_NONE: 0&lt;br /&gt;
  OSN_DISKSMRZONINGTYPE_DEVICE_MANAGED: 1&lt;br /&gt;
  OSN_DISKSMRZONINGTYPE_HOST_MANAGED: 2&lt;br /&gt;
== enum:diskStateDetail ==&lt;br /&gt;
indicates catetory if device health issues ranging from media errors to thermal issues&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_SPD_FAULT: 1&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_TEMPERATURE: 2&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_HEALTH: 4&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_PREDICTIVE_FAILURE: 8&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_MEDIA_ERROR_COUNT: 16&lt;br /&gt;
  OSN_CMN_DISKSTATEDETAIL_OTHER: 32&lt;br /&gt;
== enum:diskType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_DISKTYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_DISKTYPE_IDE: 1&lt;br /&gt;
  OSN_DISKTYPE_SATA: 2&lt;br /&gt;
  OSN_DISKTYPE_SCSI: 3&lt;br /&gt;
  OSN_DISKTYPE_SSD: 4&lt;br /&gt;
  OSN_DISKTYPE_SSHD: 5&lt;br /&gt;
  OSN_DISKTYPE_AOE: 6&lt;br /&gt;
  OSN_DISKTYPE_MULTI: 7&lt;br /&gt;
  OSN_DISKTYPE_SAS: 8&lt;br /&gt;
  OSN_DISKTYPE_PMEM: 9&lt;br /&gt;
  OSN_DISKTYPE_NVME: 10&lt;br /&gt;
  OSN_DISKTYPE_PARTITION: 11&lt;br /&gt;
== enum:encryptionMode ==&lt;br /&gt;
Storage Pools and scale-out clusters can use software encryption (LUKS based) or hardware encryption when Opal 2 compliant SED media is utilized.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ENCRYPTION_MODE_NONE: 0&lt;br /&gt;
  OSN_CMN_ENCRYPTION_MODE_LUKS: 1&lt;br /&gt;
  OSN_CMN_ENCRYPTION_MODE_SED: 2&lt;br /&gt;
== enum:enterMaintenanceModeMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_MAINTENANCE_MODE_ENTER_ALL: 0&lt;br /&gt;
  OSN_MAINTENANCE_MODE_CEPH_ENTER: 2&lt;br /&gt;
  OSN_MAINTENANCE_MODE_COROSYNC_ENTER: 4&lt;br /&gt;
== enum:errorLevel ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SEVERITY_ALWAYS: 0&lt;br /&gt;
  OSN_CMN_SEVERITY_CRITICAL: 1&lt;br /&gt;
  OSN_CMN_SEVERITY_ERROR: 2&lt;br /&gt;
  OSN_CMN_SEVERITY_WARNING: 3&lt;br /&gt;
  OSN_CMN_SEVERITY_INFO: 4&lt;br /&gt;
  OSN_CMN_SEVERITY_DEBUG: 5&lt;br /&gt;
  OSN_CMN_SEVERITY_VERBOSE: 6&lt;br /&gt;
  OSN_CMN_SEVERITY_DEBUG2: 7&lt;br /&gt;
== enum:ethPortNaming ==&lt;br /&gt;
Ethernet port naming convention to be used for naming ethernet ports in a given system.  Can be ethN based (eg eth0) or use the newer Linux predictable naming conventions (eg ens0).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_ETHPORT_NAMING_NOCHANGE: 0&lt;br /&gt;
  OSN_CMN_ETHPORT_NAMING_LEGACY_ETH: 1&lt;br /&gt;
  OSN_CMN_ETHPORT_NAMING_PREDICTABLE: 2&lt;br /&gt;
== enum:eventListenerMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LISTENERMODE_ENQUEUE: 0&lt;br /&gt;
  OSN_CMN_LISTENERMODE_PROCESS: 1&lt;br /&gt;
  OSN_CMN_LISTENERMODE_FLUSH: 2&lt;br /&gt;
== enum:eventListenerType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LISTENERTYPE_OBSERVER: 0&lt;br /&gt;
  OSN_CMN_LISTENERTYPE_SECONDARY: 1&lt;br /&gt;
  OSN_CMN_LISTENERTYPE_PRIMARY: 2&lt;br /&gt;
== enum:eventType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_EVENTTYPE_ADD: 0&lt;br /&gt;
  OSN_CMN_EVENTTYPE_REMOVE: 1&lt;br /&gt;
  OSN_CMN_EVENTTYPE_MODIFY: 2&lt;br /&gt;
== enum:exitMaintenanceModeMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_MAINTENANCE_MODE_CEPH_EXIT: 1&lt;br /&gt;
  OSN_MAINTENANCE_MODE_COROSYNC_EXIT: 3&lt;br /&gt;
  OSN_MAINTENANCE_MODE_CLEAR_ALL: 65535&lt;br /&gt;
== enum:externalSystemCapabilities ==&lt;br /&gt;
capabilities reported by a discovered external system&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_STORAGE: 1&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_BLOCKSERVER: 2&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_MANAGEMENTCONTROLLER: 4&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_CHASSISMANAGER: 8&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_STORAGEDEVICEENCLOSURE: 16&lt;br /&gt;
  OSN_EXT_SYS_CAPABILITY_FLASHMEDIA: 32&lt;br /&gt;
== enum:externalSystemMediaProtocol ==&lt;br /&gt;
protocol of the External System Media Device&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_EXT_SYS_MEDIA_PROTOCOL_NVME: 1&lt;br /&gt;
  OSN_EXT_SYS_MEDIA_PROTOCOL_SAS: 2&lt;br /&gt;
  OSN_EXT_SYS_MEDIA_PROTOCOL_MAX: 3&lt;br /&gt;
== enum:externalSystemQueryType ==&lt;br /&gt;
query type when running External System discovery with simulation data&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_EXT_SYS_QUERY_TYPE_INIT: 1&lt;br /&gt;
  OSN_EXT_SYS_QUERY_TYPE_SYSTEM: 2&lt;br /&gt;
  OSN_EXT_SYS_QUERY_TYPE_CONTROLLER: 3&lt;br /&gt;
  OSN_EXT_SYS_QUERY_TYPE_PORT: 4&lt;br /&gt;
  OSN_EXT_SYS_QUERY_TYPE_MEDIA: 5&lt;br /&gt;
== enum:externalSystemType ==&lt;br /&gt;
Type of External System to be discovered using associated credentials&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_EXT_SYS_TYPE_WD_OPENFLEX_DATA24: 0&lt;br /&gt;
  OSN_EXT_SYS_TYPE_SEAGATE_CORVAULT: 1&lt;br /&gt;
  OSN_EXT_SYS_TYPE_UNKNOWN: 2&lt;br /&gt;
== enum:failoverReason ==&lt;br /&gt;
when a HA failover is initiated this flag indicates the category of the failover&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_FAILOVERREASON_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_FAILOVERREASON_MANUAL: 1&lt;br /&gt;
  OSN_CMN_FAILOVERREASON_AUTO: 2&lt;br /&gt;
  OSN_CMN_FAILOVERREASON_OTHER: 3&lt;br /&gt;
== enum:filterMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_FILTER_MODE_NONE: 0&lt;br /&gt;
  OSN_FILTER_MODE_INCLUDE: 1&lt;br /&gt;
  OSN_FILTER_MODE_EXCLUDE: 2&lt;br /&gt;
  OSN_FILTER_MODE_MAX: 3&lt;br /&gt;
== enum:fipsState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_FIPS_STATE_DISABLED: 0&lt;br /&gt;
  OSN_FIPS_STATE_ENABLED_VERIFIED: 1&lt;br /&gt;
  OSN_FIPS_STATE_ENABLED_NOT_COMPLIANT: 2&lt;br /&gt;
== enum:flags ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_FLAG_NONE: 0&lt;br /&gt;
  OSN_CMN_FLAG_ASYNC: 1&lt;br /&gt;
  OSN_CMN_FLAG_FORCE: 2&lt;br /&gt;
  OSN_CMN_FLAG_RESCAN: 4&lt;br /&gt;
  OSN_CMN_FLAG_GENERATE_NAME: 8&lt;br /&gt;
  OSN_CMN_FLAG_SYNC_PRIMARY: 16&lt;br /&gt;
  OSN_CMN_FLAG_SYNC_SECONDARY: 32&lt;br /&gt;
  OSN_CMN_FLAG_REDIRECT: 64&lt;br /&gt;
  OSN_CMN_FLAG_SUPPRESS_ALARMS: 128&lt;br /&gt;
  OSN_CMN_FLAG_STOP_VERIFY: 256&lt;br /&gt;
  OSN_CMN_FLAG_USE_GUID_IQN: 512&lt;br /&gt;
  OSN_CMN_FLAG_EXPORT: 1024&lt;br /&gt;
  OSN_CMN_FLAG_DRYRUN: 2048&lt;br /&gt;
  OSN_CMN_FLAG_START_REPAIR: 4096&lt;br /&gt;
  OSN_CMN_FLAG_SPARES_ONLY: 8192&lt;br /&gt;
  OSN_CMN_FLAG_LAZY: 16384&lt;br /&gt;
  OSN_CMN_FLAG_SW_CONTROLLER: 32768&lt;br /&gt;
  OSN_CMN_FLAG_WAIT_FOR_SIGNAL: 65536&lt;br /&gt;
  OSN_CMN_FLAG_MINIMAL: 131072&lt;br /&gt;
  OSN_CMN_FLAG_HOLD: 262144&lt;br /&gt;
  OSN_CMN_FLAG_FREE_UNUSED_LUNS: 524288&lt;br /&gt;
  OSN_CMN_FLAG_INSECURE: 1048576&lt;br /&gt;
  OSN_CMN_FLAG_VASA_SUPPORT: 2097152&lt;br /&gt;
  OSN_CMN_FLAG_METADATA: 4194304&lt;br /&gt;
  OSN_CMN_FLAG_NORMALIZE: 8388608&lt;br /&gt;
  OSN_CMN_FLAG_FORGET: 16777216&lt;br /&gt;
  OSN_CMN_FLAG_SYNC_WUI: 33554432&lt;br /&gt;
  OSN_CMN_FLAG_SYNC_NA: 67108864&lt;br /&gt;
  OSN_CMN_FLAG_INCLUDE_SNAPSHOT: 134217728&lt;br /&gt;
  OSN_CMN_FLAG_SKIP_METADATA: 268435456&lt;br /&gt;
  OSN_CMN_FLAG_FORGET_MISSING: 536870912&lt;br /&gt;
  OSN_CMN_FLAG_VERBOSE: 1073741824&lt;br /&gt;
  OSN_CMN_FLAG_MAX: 1610612736&lt;br /&gt;
== enum:haClientConnectivityPolicy ==&lt;br /&gt;
Storage Pool HA groups an be configured to check client connectivity.  If enabled a pool may be moved/failover if a majority of the specified client IPs are not responding to ping from the current pool owher but is responding to the alternate/secondary node.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_HA_CLIENT_FAILOVER_DISABLED: 0&lt;br /&gt;
  OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_MAJORITY: 1&lt;br /&gt;
  OSN_CMN_HA_CLIENT_FAILOVER_IF_NO_RESPONSE: 2&lt;br /&gt;
  OSN_CMN_HA_CLIENT_FAILOVER_MAX: 3&lt;br /&gt;
== enum:haLinkStateFailoverPolicy ==&lt;br /&gt;
Policy for when to initiate an HA failover of a pool based ethernet port link state of the ports which have HA VIFs associated with the pool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ALL_LINKDOWN: 0&lt;br /&gt;
  OSN_CMN_HA_LINKSTATE_FAILOVER_IF_MAJORITY_LINKDOWN: 1&lt;br /&gt;
  OSN_CMN_HA_LINKSTATE_FAILOVER_IF_ANY_LINKDOWN: 2&lt;br /&gt;
  OSN_CMN_HA_LINKSTATE_FAILOVER_IGNORE_LINKDOWN: 3&lt;br /&gt;
  OSN_CMN_HA_LINKSTATE_FAILOVER_FAILOVER_MAX: 4&lt;br /&gt;
== enum:healthCheckOrigin ==&lt;br /&gt;
health check caller&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_HEALTH_CHECK_MANAGER: 0&lt;br /&gt;
  OSN_CMN_HEALTH_CHECK_MANUAL: 1&lt;br /&gt;
== enum:healthStatusSeverity ==&lt;br /&gt;
Severity of the detected issue&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_HEALTH_STATUS_SEVERITY_INFORMATIONAL: 0&lt;br /&gt;
  OSN_CMN_HEALTH_STATUS_SEVERITY_MINOR: 1&lt;br /&gt;
  OSN_CMN_HEALTH_STATUS_SEVERITY_MAJOR: 2&lt;br /&gt;
  OSN_CMN_HEALTH_STATUS_SEVERITY_CRITICAL: 4&lt;br /&gt;
  OSN_CMN_HEALTH_STATUS_SEVERITY_MAX: 8&lt;br /&gt;
== enum:hostType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_HOSTTYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_HOSTTYPE_AIX: 1&lt;br /&gt;
  OSN_HOSTTYPE_HPUX: 2&lt;br /&gt;
  OSN_HOSTTYPE_LINUX: 3&lt;br /&gt;
  OSN_HOSTTYPE_SOLARIS: 4&lt;br /&gt;
  OSN_HOSTTYPE_VMWARE: 5&lt;br /&gt;
  OSN_HOSTTYPE_WINDOWS: 6&lt;br /&gt;
  OSN_HOSTTYPE_XENSERVER: 7&lt;br /&gt;
  OSN_HOSTTYPE_OTHER: 8&lt;br /&gt;
  OSN_HOSTTYPE_MAC: 9&lt;br /&gt;
  OSN_HOSTTYPE_MAX: 10&lt;br /&gt;
== enum:hotsparePoolRepairPolicy ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_AND_GLOBAL: 0&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY: 1&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_EXACTMATCH: 2&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_USE_ASSIGNED_ONLY_EXACTMATCH: 3&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_MANUAL_REPAIR: 4&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_POLICY_MAX: 5&lt;br /&gt;
== enum:hotsparePoolRepairState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_STATE_HEALTHY: 0&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED: 1&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_STATE_REPAIR_NEEDED_OPERATOR_APPROVAL_REQUIRED: 2&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_STATE_AUTO_REPAIR_IN_PROGRESS: 3&lt;br /&gt;
  OSN_HOTSPARE_POOL_REPAIR_STATE_MAX: 4&lt;br /&gt;
== enum:hwAutoMaintenanceMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_HW_AUTO_MAINTENANCE_NONE: 0&lt;br /&gt;
  OSN_HW_AUTO_MAINTENANCE_ENABLED_POOL: 1&lt;br /&gt;
  OSN_HW_AUTO_MAINTENANCE_ENABLED_OSD: 2&lt;br /&gt;
  OSN_HW_AUTO_MAINTENANCE_ENABLED_MAX: 4&lt;br /&gt;
== enum:hwCachePolicy ==&lt;br /&gt;
Caching mode options for hardware controlelrs (see hwController)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_HWCACHE_UNKNOWN: 0&lt;br /&gt;
  OSN_HWCACHE_READAHEAD: 1&lt;br /&gt;
  OSN_HWCACHE_NOREADAHEAD: 2&lt;br /&gt;
  OSN_HWCACHE_WRITEBACK: 4&lt;br /&gt;
  OSN_HWCACHE_ALWAYSWRITEBACK: 8&lt;br /&gt;
  OSN_HWCACHE_WRITETHROUGH: 16&lt;br /&gt;
  OSN_HWCACHE_CACHED: 32&lt;br /&gt;
  OSN_HWCACHE_DIRECT: 64&lt;br /&gt;
== enum:hwControllerCapabilities ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  HW_CONTROLLER_API_NONE: 0&lt;br /&gt;
  HW_CONTROLLER_API_RESCAN: 1&lt;br /&gt;
  HW_CONTROLLER_API_CREATE_UNIT: 2&lt;br /&gt;
  HW_CONTROLLER_API_GROW_UNIT: 4&lt;br /&gt;
  HW_CONTROLLER_API_GROW_UNIT_ADV_STRIPE: 8&lt;br /&gt;
  HW_CONTROLLER_API_GROW_UNIT_ADV_PRIORITY: 16&lt;br /&gt;
  HW_CONTROLLER_API_CREATE_SSD_CACHE: 32&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_SSD_CACHE_RAID: 64&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_UNIT_DISK_CORRELATION: 128&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_ENCRYPTION: 256&lt;br /&gt;
  HW_CONTROLLER_API_DISK_PASSTHRU: 512&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_RAID: 1024&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_JBOD: 2048&lt;br /&gt;
  HW_CONTROLLER_API_USE_PHYSICAL_DISK_SPARES: 4096&lt;br /&gt;
  HW_CONTROLLER_API_DISABLE_SES: 8192&lt;br /&gt;
  HW_CONTROLLER_API_HWUNIT_PHYSICAL_DISKS: 16384&lt;br /&gt;
  HW_CONTROLLER_API_SUPPORTS_LOGICALDRIVES: 32768&lt;br /&gt;
== enum:hwDiskCapabilities ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  HW_DISK_API_NONE: 0&lt;br /&gt;
  HW_DISK_API_MARK_HOT_SPARE: 1&lt;br /&gt;
  HW_DISK_API_IDENTIFY: 2&lt;br /&gt;
  HW_DISK_API_REMOVE_DISK: 4&lt;br /&gt;
  HW_DISK_API_SUPPORTS_ENCRYPTION: 8&lt;br /&gt;
== enum:hwEnclosureLayoutFlow ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_T2B_L2R: 0&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_T2B_R2L: 1&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_B2T_L2R: 2&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_B2T_R2L: 3&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_R2L_T2B: 4&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_R2L_B2T: 5&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_L2R_T2B: 6&lt;br /&gt;
  OSN_ENCLOSURELAYOUT_FLOW_L2R_B2T: 7&lt;br /&gt;
== enum:hwEnclosureLayoutType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_ENCLOSURETYPE_JBOD: 0&lt;br /&gt;
  OSN_ENCLOSURETYPE_SERVER: 1&lt;br /&gt;
  OSN_ENCLOSURETYPE_CLUSTER: 2&lt;br /&gt;
  OSN_ENCLOSURETYPE_INTERNAL: 3&lt;br /&gt;
  OSN_ENCLOSURETYPE_EXTERNALSYSTEM: 4&lt;br /&gt;
  OSN_ENCLOSURETYPE_DRAWER: 5&lt;br /&gt;
  OSN_ENCLOSURETYPE_MAX: 6&lt;br /&gt;
== enum:hwUnitCapabilities ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  HW_UNIT_API_NONE: 0&lt;br /&gt;
  HW_UNIT_API_IDENTIFY: 1&lt;br /&gt;
  HW_UNIT_API_DELETE: 2&lt;br /&gt;
  HW_UNIT_API_SUPPORTS_ENCRYPTION: 8&lt;br /&gt;
== enum:imageFileType ==&lt;br /&gt;
what type of data conversion required for a physicalDiskCopy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_IMAGE_FILE_TYPE_RAW: 0&lt;br /&gt;
  OSN_CMN_IMAGE_FILE_TYPE_QCOW: 1&lt;br /&gt;
  OSN_CMN_IMAGE_FILE_TYPE_VMDK: 2&lt;br /&gt;
  OSN_CMN_IMAGE_FILE_TYPE_VHD: 3&lt;br /&gt;
== enum:immutabilityMode ==&lt;br /&gt;
Network Share immutability is supported on scale-up Storage Pools (ZFS based), specify (1) to enable immutability, zero (0) (default) to leave it off.  Once immutability is enabled it cannot be disabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_IMU_MODE_NONE: 0&lt;br /&gt;
  OSN_IMU_MODE_IMMUTABLE: 1&lt;br /&gt;
  OSN_IMU_MODE_APPEND: 2&lt;br /&gt;
== enum:initPriorityType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_INITPRIORITY_DEFAULT: 0&lt;br /&gt;
  OSN_INITPRIORITY_LOW: 1&lt;br /&gt;
  OSN_INITPRIORITY_MEDIUM: 2&lt;br /&gt;
  OSN_INITPRIORITY_HIGH: 3&lt;br /&gt;
== enum:initiatorType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_INITIATOR_ISCSI: 0&lt;br /&gt;
  OSN_CMN_INITIATOR_FCP: 1&lt;br /&gt;
  OSN_CMN_INITIATOR_IB: 2&lt;br /&gt;
  OSN_CMN_INITIATOR_NVMEOF: 3&lt;br /&gt;
== enum:ipmiHealthState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_IPMI_STATE_OK: 0&lt;br /&gt;
  OSN_IPMI_STATE_NO_SENSOR: 1&lt;br /&gt;
  OSN_IPMI_STATE_NON_CRITICAL: 2&lt;br /&gt;
  OSN_IPMI_STATE_CRITICAL: 3&lt;br /&gt;
  OSN_IPMI_STATE_NON_RECOVERABLE: 4&lt;br /&gt;
  OSN_IPMI_STATE_OK_NOT_REDUNDANT: 5&lt;br /&gt;
  OSN_IPMI_STATE_OK_NOT_DETECTED: 6&lt;br /&gt;
== enum:jumboFramesTest ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_PING_JUMBO_SKIPPED: 0&lt;br /&gt;
  OSN_CMN_PING_JUMBO_PASSED: 1&lt;br /&gt;
  OSN_CMN_PING_JUMBO_FAILED: 2&lt;br /&gt;
  OSN_CMN_PING_JUMBO_MAX: 3&lt;br /&gt;
== enum:keyServerConnectionMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KEYSERVER_CONNECTION_RESET: 0&lt;br /&gt;
  OSN_KEYSERVER_CONNECTION_RECONNECT: 1&lt;br /&gt;
== enum:keyServerProtocol ==&lt;br /&gt;
indicates protocol to use when communicating with an external key server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KEYSERVER_PROTO_UNKNOWN: 0&lt;br /&gt;
  OSN_KEYSERVER_PROTO_RAW: 1&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP1: 2&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP1_1: 3&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP1_2: 4&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP1_3: 5&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP1_4: 6&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP2: 7&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP2_0: 8&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP2_1: 9&lt;br /&gt;
  OSN_KEYSERVER_PROTO_KMIP3: 10&lt;br /&gt;
  OSN_KEYSERVER_PROTO_TTLV: 11&lt;br /&gt;
  OSN_KEYSERVER_PROTO_JSON: 12&lt;br /&gt;
  OSN_KEYSERVER_PROTO_XML: 13&lt;br /&gt;
  OSN_KEYSERVER_PROTO_SOAP: 14&lt;br /&gt;
  OSN_KEYSERVER_PROTO_SOAP_V: 15&lt;br /&gt;
  OSN_KEYSERVER_PROTO_RKM15: 16&lt;br /&gt;
  OSN_KEYSERVER_PROTO_RKM21: 17&lt;br /&gt;
  OSN_KEYSERVER_PROTO_SUNKMS2: 18&lt;br /&gt;
  OSN_KEYSERVER_PROTO_NAE16: 19&lt;br /&gt;
  OSN_KEYSERVER_PROTO_NSCL: 20&lt;br /&gt;
  OSN_KEYSERVER_PROTO_VDS: 21&lt;br /&gt;
  OSN_KEYSERVER_PROTO_P11: 22&lt;br /&gt;
  OSN_KEYSERVER_PROTO_P11PSE: 23&lt;br /&gt;
  OSN_KEYSERVER_PROTO_CRDT: 24&lt;br /&gt;
  OSN_KEYSERVER_PROTO_VED: 25&lt;br /&gt;
  OSN_KEYSERVER_PROTO_RKM27: 26&lt;br /&gt;
  OSN_KEYSERVER_PROTO_RKMTC: 27&lt;br /&gt;
  OSN_KEYSERVER_PROTO_AWS: 28&lt;br /&gt;
  OSN_KEYSERVER_PROTO_GCP: 29&lt;br /&gt;
  OSN_KEYSERVER_PROTO_AKV: 30&lt;br /&gt;
  OSN_KEYSERVER_PROTO_IKP: 31&lt;br /&gt;
== enum:keyServerType ==&lt;br /&gt;
indicates the KMIP server type when adding a new KMIP service entry.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KEY_SERVER_TYPE_DEFAULT: 0&lt;br /&gt;
  OSN_KEY_SERVER_TYPE_KMIP: 1&lt;br /&gt;
  OSN_KEY_SERVER_TYPE_IBM_KEYPROTECT: 2&lt;br /&gt;
== enum:keyType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KEY_TYPE_ALL: 0&lt;br /&gt;
  OSN_KEY_TYPE_ROOT: 1&lt;br /&gt;
  OSN_KEY_TYPE_DEK: 2&lt;br /&gt;
== enum:kmipEncoding ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KMIPENCODING_NONE: 0&lt;br /&gt;
== enum:kmipKeyType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KMIPKEY_DEFAULT: 0&lt;br /&gt;
== enum:licenseCategory ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LICENSE_CATEGORY_SYSTEM: 0&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE: 1&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_TERABYTES: 2&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_VOLUMES: 3&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_SNAPSHOTS: 4&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_CLOUDS: 5&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_NODES: 6&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_USERS: 7&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_SSD: 8&lt;br /&gt;
  OSN_LICENSE_CATEGORY_FEATURE_REPLICATION: 9&lt;br /&gt;
  OSN_LICENSE_CATEGORY_SUPPORT: 10&lt;br /&gt;
== enum:licenseDuration ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LICENSE_DURATION_PERPETUAL: 0&lt;br /&gt;
  OSN_LICENSE_DURATION_TIMELIMITED: 1&lt;br /&gt;
== enum:licenseEdition ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LICENSE_EDITION_FREE: 0&lt;br /&gt;
  OSN_LICENSE_EDITION_TRIAL: 1&lt;br /&gt;
  OSN_LICENSE_EDITION_STANDARD: 2&lt;br /&gt;
  OSN_LICENSE_EDITION_ENTERPRISE: 3&lt;br /&gt;
  OSN_LICENSE_EDITION_PLATINUM: 4&lt;br /&gt;
  OSN_LICENSE_EDITION_CLOUD: 5&lt;br /&gt;
  OSN_LICENSE_EDITION_MIGRATION: 6&lt;br /&gt;
  OSN_LICENSE_EDITION_EXPRESS: 7&lt;br /&gt;
  OSN_LICENSE_EDITION_OBJECT: 8&lt;br /&gt;
== enum:licenseState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LICSTATE_NORMAL: 0&lt;br /&gt;
  OSN_CMN_LICSTATE_WARNING: 1&lt;br /&gt;
  OSN_CMN_LICSTATE_BUSY: 2&lt;br /&gt;
  OSN_CMN_LICSTATE_ERROR: 3&lt;br /&gt;
  OSN_CMN_LICSTATE_INITALIZING: 4&lt;br /&gt;
  OSN_CMN_LICSTATE_MISSING: 5&lt;br /&gt;
  OSN_CMN_LICSTATE_OFFLINE: 6&lt;br /&gt;
  OSN_CMN_LICSTATE_RETIRED: 7&lt;br /&gt;
== enum:licenseType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LICENSE_TYPE_NODE: 0&lt;br /&gt;
  OSN_LICENSE_TYPE_VOLUME: 1&lt;br /&gt;
  OSN_LICENSE_TYPE_SITE: 2&lt;br /&gt;
== enum:linkState ==&lt;br /&gt;
used to indicate network port and FC port link state&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LINKSTATE_UP: 0&lt;br /&gt;
  OSN_CMN_LINKSTATE_DOWN: 1&lt;br /&gt;
  OSN_CMN_LINKSTATE_UNKNOWN: 2&lt;br /&gt;
  OSN_CMN_LINKSTATE_DISABLED: 3&lt;br /&gt;
== enum:loadBalancerMappingMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_AUTO: 0&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_HTTP_HTTP: 1&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_HTTPS_HTTP: 2&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_HTTPS_HTTPS: 3&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_NONE_HTTP: 4&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_NONE_HTTPS: 5&lt;br /&gt;
  OSN_CMN_LB_MAPPING_MODE_MAX: 6&lt;br /&gt;
== enum:loadBalancerType ==&lt;br /&gt;
Load balancer service type, HA-Proxy is the default.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LOADBALANCER_NONE: 0&lt;br /&gt;
  OSN_LOADBALANCER_NGINX: 1&lt;br /&gt;
  OSN_LOADBALANCER_HAPROXY: 2&lt;br /&gt;
  OSN_LOADBALANCER_MAX: 3&lt;br /&gt;
== enum:lockType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LOCK_SHARED: 0&lt;br /&gt;
  OSN_LOCK_PROTECTED: 1&lt;br /&gt;
  OSN_LOCK_EXCLUSIVE: 2&lt;br /&gt;
  OSN_LOCK_PRIORITY_EXCLUSIVE: 3&lt;br /&gt;
== enum:logCollectionMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LOG_COLLECTION_NEVER: 0&lt;br /&gt;
  OSN_LOG_COLLECTION_WEEKLY: 1&lt;br /&gt;
  OSN_LOG_COLLECTION_BIWEEKLY: 2&lt;br /&gt;
  OSN_LOG_COLLECTION_MONTHLY: 3&lt;br /&gt;
  OSN_LOG_COLLECTION_MAX: 4&lt;br /&gt;
== enum:lunAssignmentPolicy ==&lt;br /&gt;
LUN numbers for iSCSI are all 0 but for FC they&#039;re dynamically assigned unless the mode is set to static.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LUN_ASSIGN_DYNAMIC: 0&lt;br /&gt;
  OSN_CMN_LUN_ASSIGN_STATIC: 1&lt;br /&gt;
== enum:maintenanceType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MAINTENANCE_DEFAULT: 0&lt;br /&gt;
  OSN_CMN_MAINTENANCE_POOL_SCRUB: 1&lt;br /&gt;
  OSN_CMN_MAINTENANCE_POOL_SSD_TRIM: 2&lt;br /&gt;
  OSN_CMN_MAINTENANCE_CEPH_RGW_S3_ORPHAN_CLEANUP: 4&lt;br /&gt;
  OSN_CMN_MAINTENANCE_MAX: 8&lt;br /&gt;
== enum:managerClass ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_MANAGERCLASS_NONE: 0&lt;br /&gt;
  OSN_MANAGERCLASS_ALUACONFIG: 1&lt;br /&gt;
  OSN_MANAGERCLASS_BLINK: 2&lt;br /&gt;
  OSN_MANAGERCLASS_CEPH: 3&lt;br /&gt;
  OSN_MANAGERCLASS_DISK: 4&lt;br /&gt;
  OSN_MANAGERCLASS_FABRIC: 5&lt;br /&gt;
  OSN_MANAGERCLASS_FIREWALL: 6&lt;br /&gt;
  OSN_MANAGERCLASS_DEPRECATED_7: 7&lt;br /&gt;
  OSN_MANAGERCLASS_GRIDSYNC: 8&lt;br /&gt;
  OSN_MANAGERCLASS_HACONNECTIVITY: 9&lt;br /&gt;
  OSN_MANAGERCLASS_HAFAILOVER: 10&lt;br /&gt;
  OSN_MANAGERCLASS_HARDWARE: 11&lt;br /&gt;
  OSN_MANAGERCLASS_HOTSPARE: 12&lt;br /&gt;
  OSN_MANAGERCLASS_INFINIBAND: 13&lt;br /&gt;
  OSN_MANAGERCLASS_DEPRECATED_14: 14&lt;br /&gt;
  OSN_MANAGERCLASS_PASSTHRU: 15&lt;br /&gt;
  OSN_MANAGERCLASS_POOL: 16&lt;br /&gt;
  OSN_MANAGERCLASS_REPLICATION: 17&lt;br /&gt;
  OSN_MANAGERCLASS_SED: 18&lt;br /&gt;
  OSN_MANAGERCLASS_SHARENAMESPACE: 19&lt;br /&gt;
  OSN_MANAGERCLASS_SMART: 20&lt;br /&gt;
  OSN_MANAGERCLASS_STATS: 21&lt;br /&gt;
  OSN_MANAGERCLASS_TARGETPORT: 22&lt;br /&gt;
  OSN_MANAGERCLASS_MAX: 23&lt;br /&gt;
== enum:memoryEccType ==&lt;br /&gt;
indicates the type of memory error correction (ECC) used within the Storage System server&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MEMORY_ECC_TYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_MEMORY_ECC_TYPE_SINGLEBIT: 1&lt;br /&gt;
  OSN_CMN_MEMORY_ECC_TYPE_NONE: 2&lt;br /&gt;
  OSN_CMN_MEMORY_ECC_TYPE_MULTIBIT: 3&lt;br /&gt;
== enum:modifyType ==&lt;br /&gt;
Some APIs for adding and removing entries (ex: hostGroupAddRemove) have a mode specifier to indicate what should be done with the specified entries.  Add and Remove modes add or remove the specified entries whereas the Set mode will add the specified entries if not already added and remove any not specified in the set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MOD_OP_ADD: 0&lt;br /&gt;
  OSN_CMN_MOD_OP_REMOVE: 1&lt;br /&gt;
  OSN_CMN_MOD_OP_SET: 2&lt;br /&gt;
== enum:multiFactorAuthMode ==&lt;br /&gt;
Selected mode for a given login to indicate MFA method&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MFA_MODE_NONE: 0&lt;br /&gt;
  OSN_CMN_MFA_MODE_PUSH: 1&lt;br /&gt;
  OSN_CMN_MFA_MODE_PHONE: 2&lt;br /&gt;
  OSN_CMN_MFA_MODE_SMS: 4&lt;br /&gt;
  OSN_CMN_MFA_MODE_TOKEN: 8&lt;br /&gt;
  OSN_CMN_MFA_MODE_PROMPT: 16&lt;br /&gt;
  OSN_CMN_MFA_MODE_PASSCODE: 32&lt;br /&gt;
  OSN_CMN_MFA_MODE_MAX: 64&lt;br /&gt;
== enum:multiFactorAuthProvider ==&lt;br /&gt;
Supported multi-factor athentication providers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MFA_PROVIDER_NONE: 0&lt;br /&gt;
  OSN_CMN_MFA_PROVIDER_DUO: 1&lt;br /&gt;
  OSN_CMN_MFA_PROVIDER_GOOGLE: 2&lt;br /&gt;
  OSN_CMN_MFA_PROVIDER_OKTA: 3&lt;br /&gt;
  OSN_CMN_MFA_PROVIDER_OIDC: 4&lt;br /&gt;
== enum:multiFactorAuthStatus ==&lt;br /&gt;
Status of a MFA login&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MFA_STATUS_NONE: 0&lt;br /&gt;
  OSN_CMN_MFA_STATUS_PENDING: 1&lt;br /&gt;
  OSN_CMN_MFA_STATUS_RUNNING: 2&lt;br /&gt;
  OSN_CMN_MFA_STATUS_SUCCESS: 3&lt;br /&gt;
  OSN_CMN_MFA_STATUS_FAIL: 4&lt;br /&gt;
  OSN_CMN_MFA_STATUS_DENY: 5&lt;br /&gt;
  OSN_CMN_MFA_STATUS_ERR: 6&lt;br /&gt;
  OSN_CMN_MFA_STATUS_ENROLL: 7&lt;br /&gt;
  OSN_CMN_MFA_STATUS_SENT: 8&lt;br /&gt;
== enum:multipathConfigMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_MULTIPATH_AUTOCONFIG_DISABLED: 0&lt;br /&gt;
  OSN_MULTIPATH_AUTOCONFIG_ENABLED: 1&lt;br /&gt;
  OSN_MULTIPATH_AUTOCONFIG_DISABLE_AND_CLEAR_CONFIG: 2&lt;br /&gt;
  OSN_MULTIPATH_AUTOCONFIG_MAX: 3&lt;br /&gt;
== enum:multipathProtocol ==&lt;br /&gt;
protocol of multipath config entry&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_MPATH_PROTOCOL_SCSI: 0&lt;br /&gt;
  OSN_MPATH_PROTOCOL_NVME: 1&lt;br /&gt;
  OSN_MPATH_PROTOCOL_MAX: 2&lt;br /&gt;
== enum:networkShareFileAccess ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_FILE_ACCESS_TYPE_READONLY: 0&lt;br /&gt;
  OSN_CMN_FILE_ACCESS_TYPE_READWRITE: 1&lt;br /&gt;
== enum:networkShareFileOplock ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_FILE_OPLOCK_TYPE_NONE: 0&lt;br /&gt;
  OSN_CMN_FILE_OPLOCK_TYPE_LEVEL_II: 1&lt;br /&gt;
  OSN_CMN_FILE_OPLOCK_TYPE_LEASE: 2&lt;br /&gt;
  OSN_CMN_FILE_OPLOCK_TYPE_EXCLUSIVE: 3&lt;br /&gt;
  OSN_CMN_FILE_OPLOCK_TYPE_UNKNOWN: 4&lt;br /&gt;
== enum:networkShareSessionType ==&lt;br /&gt;
Network Share session type, either NFS or SMB (see networkShareSessionEnum)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SHARE_SESSION_SMB: 0&lt;br /&gt;
  OSN_CMN_SHARE_SESSION_NFS: 1&lt;br /&gt;
== enum:networkShareTemplateSettingsMask ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_TEMPLATE_ALL: 0&lt;br /&gt;
  OSN_TEMPLATE_GENERAL: 1&lt;br /&gt;
  OSN_TEMPLATE_USER: 2&lt;br /&gt;
  OSN_TEMPLATE_CIFS: 4&lt;br /&gt;
  OSN_TEMPLATE_SECURITY: 8&lt;br /&gt;
  OSN_TEMPLATE_ADVANCED: 16&lt;br /&gt;
  OSN_TEMPLATE_NFS: 32&lt;br /&gt;
  OSN_TEMPLATE_PERMISSIONS: 64&lt;br /&gt;
  OSN_TEMPLATE_MAX: 128&lt;br /&gt;
== enum:networkShareType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_NETWORKSHARETYPE_STANDARD: 0&lt;br /&gt;
  OSN_NETWORKSHARETYPE_SUBVOL_BTRFS: 1&lt;br /&gt;
  OSN_NETWORKSHARETYPE_CLOUD: 2&lt;br /&gt;
  OSN_NETWORKSHARETYPE_SUBVOL_ZFS: 3&lt;br /&gt;
  OSN_NETWORKSHARETYPE_DEPRECATED_4: 4&lt;br /&gt;
  OSN_NETWORKSHARETYPE_ALIAS: 5&lt;br /&gt;
  OSN_NETWORKSHARETYPE_SUBSHARE: 6&lt;br /&gt;
  OSN_NETWORKSHARETYPE_CEPHFS: 7&lt;br /&gt;
  OSN_NETWORKSHARETYPE_CEPHRGW: 8&lt;br /&gt;
== enum:nfsKerberosMode ==&lt;br /&gt;
Indicates how export entries should be formatted to support kerberos when it is enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NFS_KRB5I: 0&lt;br /&gt;
  OSN_CMN_NFS_KRB5P: 1&lt;br /&gt;
  OSN_CMN_NFS_KRB5: 2&lt;br /&gt;
== enum:nfsNamespaceModeType ==&lt;br /&gt;
Indicates now Network Share Namespaces should present shares over NFS where FLAT indicates no grouping and GROUPED indicates that the shares should be grouped under an export named after the Network Share Namespace.  For NFS only FLAT mode is currently supported.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NFS_NAMESPACE_MODE_FLAT: 0&lt;br /&gt;
  OSN_CMN_NFS_NAMESPACE_MODE_GROUPED: 1&lt;br /&gt;
  OSN_CMN_NFS_NAMESPACE_MODE_DISABLED: 2&lt;br /&gt;
== enum:nfsSecurityPolicy ==&lt;br /&gt;
default security policy to be applied to network shares&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NFS_SECURITY_POLICY_INHERIT: 0&lt;br /&gt;
  OSN_CMN_NFS_SECURITY_POLICY_KERBEROS: 1&lt;br /&gt;
  OSN_CMN_NFS_SECURITY_POLICY_SYSTEM: 2&lt;br /&gt;
  OSN_CMN_NFS_SECURITY_POLICY_MAX: 3&lt;br /&gt;
== enum:nfsServerType ==&lt;br /&gt;
Scale-up (0) mode is the default NFS service mode and is used to deliver NFS access to Network Shares in scale-up (ZFS based) Storage Pools.  Scale-out mode uses GaneshaNFS for enabling access to scale-out Network Shares.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NFS_SERVER_SCALEUP: 0&lt;br /&gt;
  OSN_CMN_NFS_SERVER_SCALEOUT: 1&lt;br /&gt;
== enum:nfsServiceMode ==&lt;br /&gt;
NFSv3 indicates both v3 and v4 are supported whereas v4 mode (1) indicates only NFS v4 access is allowed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NFS_MODE_V3V4: 0&lt;br /&gt;
  OSN_CMN_NFS_MODE_V4: 1&lt;br /&gt;
  OSN_CMN_NFS_MODE_V3: 2&lt;br /&gt;
== enum:objInternalUse ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_OBJ_SHALLOW: 1&lt;br /&gt;
== enum:objectState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_OBJSTATE_NORMAL: 0&lt;br /&gt;
  OSN_CMN_OBJSTATE_WARNING: 1&lt;br /&gt;
  OSN_CMN_OBJSTATE_BUSY: 2&lt;br /&gt;
  OSN_CMN_OBJSTATE_ERROR: 3&lt;br /&gt;
  OSN_CMN_OBJSTATE_INITIALIZING: 4&lt;br /&gt;
  OSN_CMN_OBJSTATE_MISSING: 5&lt;br /&gt;
  OSN_CMN_OBJSTATE_OFFLINE: 6&lt;br /&gt;
  OSN_CMN_OBJSTATE_DISCONNECTED: 7&lt;br /&gt;
  OSN_CMN_OBJSTATE_PAUSED: 8&lt;br /&gt;
  OSN_CMN_OBJSTATE_READY: 9&lt;br /&gt;
  OSN_CMN_OBJSTATE_ORPHANED: 10&lt;br /&gt;
== enum:objectType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE: 1&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SNAPSHOT_SCHEDULE_ASSOC: 2&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME: 3&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_UTILIZATION: 4&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP: 5&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_GROUP_ASSOC: 6&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL: 7&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE: 8&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM: 9&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_ACL: 10&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HOST: 11&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HOST_GROUP: 12&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_INITIATOR_PORT: 13&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_TARGET_PORT: 14&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PHYSICAL_DISK: 15&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_TASK: 16&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_AUDIT_ENTRY: 17&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_18: 18&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT: 19&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT_CONFIG_SETTINGS: 20&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_LICENSE: 21&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_LICENSE_ACTIVATION: 22&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_USER: 23&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_USER_PERMISSION_ASSIGNMENT: 24&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_USER_GROUP: 25&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_USER_GROUP_ASSOC: 26&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ROLE: 27&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ROLE_PERMISSION_ASSIGNMENT: 28&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ROLE_SUBJECT_ASSOC: 29&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PERMISSION_DEFINITION: 30&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_GROUP: 31&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_GROUP_ASSOC: 32&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_GROUP_SUBJECT_ASSOC: 33&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SESSION: 34&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_TIER: 35&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_TIER_ASSOC: 36&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_QUOTA: 37&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_ASSOC: 38&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ACL: 39&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_OBJECT_PROPERTY: 40&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK: 41&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP: 42&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_GROUP_ASSOC: 43&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPLICA_ASSOC: 44&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_45: 45&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_ALARM: 46&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_BBU: 47&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_DISK: 48&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_UNIT: 49&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_ENCLOSURE: 50&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_CONTROLLER: 51&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_CONTROLLER_GROUP: 52&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE: 53&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CLIENT: 54&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE: 55&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPLICATION_SCHEDULE_ASSOC: 56&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_LOGICAL_DRIVE: 57&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_RECOVERY_POINT: 58&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_CONTAINER: 59&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER: 60&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_CREDENTIALS: 61&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_62: 62&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_63: 63&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_LOCATION: 64&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER: 65&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_CLUSTER_ASSOC: 66&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_67: 67&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_FC_TARGET_PORT: 68&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SERVICE_CONFIG: 69&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_WIDGET: 70&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_LINK_KEY: 71&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL_PROFILE: 72&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_QUOTA_SHARE_ASSOC: 73&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SITE_CLUSTER: 74&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SITE_CLUSTER_ASSOC: 75&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_VIRTUAL_INTERFACE_ASSOC: 76&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_IB_TARGET_PORT: 77&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_78: 78&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_79: 79&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_80: 80&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_81: 81&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_82: 82&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_83: 83&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_84: 84&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_85: 85&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_86: 86&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_87: 87&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_88: 88&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_89: 89&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_90: 90&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_USER_ACCESS: 91&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_CIFS_OPTION: 92&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT_TRIGGER: 93&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_ENCLOSURE_LAYOUT: 94&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_UNIT_DISK_ASSOC: 95&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_GROUP: 96&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL_HA_FAILOVER_INTERFACE: 97&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_98: 98&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_BACKUP_POLICY: 99&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_BACKUP_JOB: 100&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_101: 101&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_POOL: 102&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OSD: 103&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_POOL_OSD_ASSOC: 104&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CLUSTER: 105&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_MONITOR: 106&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_107: 107&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_108: 108&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PHYSICAL_DISK_HOTSPARE_MARKER: 109&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SITE_VIF_RESOURCE: 110&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLUSTER_RING: 111&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLUSTER_RING_MEMBER: 112&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CLUSTER_MEMBER: 113&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SW_CONTROLLER: 114&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SW_CONTROLLER_GROUP: 115&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SW_CONTROLLER_TARGET: 116&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SW_DISK_SESSION: 117&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_QOS_POLICY: 118&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_PG_SET: 119&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_JOURNAL_DEVICE: 120&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN: 121&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OBJECT_POOL_GROUP: 122&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_S3_USER: 123&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_DOMAIN_ASSOC: 124&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE: 125&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SYSTEM_ASSOC: 126&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_NAMESPACE_SHARE_ASSOC: 127&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_POOL_PROFILE: 128&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_SESSION: 129&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PASSWORD_POLICY: 130&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MULTIPATH_CONFIG: 131&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPLICA_REPORT_ENTRY: 132&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPLICA_REPORT_SUMMARY: 133&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_POOL_DEVICE_GROUP: 134&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_FILE_LOCK: 135&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_CONFIG: 136&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PROVIDER_APP: 137&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_USER_APP_TOKEN: 138&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT_TYPE: 139&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_HW_CONFIG: 140&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MULTIFACTORAUTH_DEVICE: 141&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_RADOS_GATEWAY: 142&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CRUSH_RULE: 143&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE: 144&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_PROFILE: 145&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_SYSTEM_TUNABLE_ASSOC: 146&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_FILESYSTEM: 147&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_POOL_GROUP_ASSOC: 148&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_METADATA_SERVER: 149&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SERVICE_FIREWALL_DEF: 150&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_151: 151&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_152: 152&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_153: 153&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_BUCKET: 154&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_155: 155&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_S3_OBJECT: 156&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_157: 157&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SNAPSHOT_REFERENCE: 158&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_S3_USER_ACCESS_KEY: 159&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_STORAGE_VOLUME_PROFILE: 160&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_S3_PROXY: 161&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_JOURNAL_GROUP: 162&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_ENCLOSURE_LAYOUT_VENDOR_GROUP: 163&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_164: 164&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DEPRECATED_165: 165&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SINGLE_SIGN_ON_POLICY: 166&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPORT_SCHEDULE: 167&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPORT_SCHEDULE_ASSOC: 168&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_REPORT: 169&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_CONTAINER_CACHE_SETTINGS: 170&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM: 171&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_PORT: 172&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_PORT_GROUP: 173&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_POOL: 174&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_VOLUME: 175&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_MEDIA: 176&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_CONTROLLER: 177&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_CREDENTIALS: 178&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_TARGET_PORT_STATIC_ROUTE: 179&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_SITE_VIF_LOCATION_CONSTRAINT: 180&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MAINTENANCE_SCHEDULE: 181&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MAINTENANCE_SCHEDULE_ASSOC: 182&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_KEY_SERVER_PROFILE: 183&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_KEY_SERVER_PROFILE_KEY: 184&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NONE: 185&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CLUSTER_HEALTH_EVENT: 186&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_RESOURCE_GROUP_NETWORK: 187&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT_CONFIG_ENDPOINT: 188&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CONTAINER_CONFIG: 189&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CONTAINER_CONFIG_OPTION: 190&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CONTAINER: 191&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CONTAINER_SERVICE_DEF: 192&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_S3_TENANT: 193&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLOUD_PROVIDER_STORAGE_CLASS: 194&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CLIENT_KEYRING: 195&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_CLIENT_KEYRING_RESOURCE_ASSOC: 196&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_LOAD_BALANCER: 197&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_PROFILE: 198&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_HOST: 199&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CLIENT_CONNECTION: 200&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PING_DATA: 201&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_EXTERNAL_SYSTEM_HOST_VOLUME_ASSOC: 202&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OBJECT_STORAGE_CLASS: 203&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OBJECT_ZONE: 204&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OBJECT_ZONE_GROUP: 205&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_OBJECT_STORAGE_CLASS_RULE: 206&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HW_SLOT: 207&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_ALERT_HANDLER: 208&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_HEALTH_STATUS_EVENT: 209&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_FC_REMOTE_PORT: 210&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CONTAINER_SERVICE_DEF_OPTION: 211&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CERTIFICATE: 212&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CERTIFICATE_TEMPLATE: 213&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_OBJECT_SYNC_POLICY: 214&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PORTAL_GROUP: 215&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PORTAL_GROUP_PORT_ASSOC: 216&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DASHBOARD: 217&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_DASHBOARD_GROUP: 218&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_NETWORK_SHARE_TEMPLATE: 219&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PENDING_OPERATION_REQUEST: 220&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_PENDING_OPERATION_APPROVAL: 221&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_CEPH_POOL_NAMESPACE: 222&lt;br /&gt;
  OSN_CMN_OBJECTTYPE_MAX: 223&lt;br /&gt;
== enum:otpSecretKeyMode ==&lt;br /&gt;
for 2FA support, indicates one-time-password secret key encryption mode&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_OTP_SECRET_KEY_MODE_NONE: 0&lt;br /&gt;
  OSN_CMN_OTP_SECRET_KEY_MODE_AES256: 1&lt;br /&gt;
  OSN_CMN_OTP_SECRET_KEY_MODE_MAX: 2&lt;br /&gt;
== enum:passthruMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_NO_PASSTHRU: 0&lt;br /&gt;
  OSN_CMN_PASSTHRU_PARTITIONED_DEVICE: 1&lt;br /&gt;
  OSN_CMN_PASSTHRU_RAW_DEVICE: 2&lt;br /&gt;
  OSN_CMN_PASSTHRU_MAX: 3&lt;br /&gt;
== enum:passwordComplexityReq ==&lt;br /&gt;
Password complexity policy for management user accounts.  Standard mode or higher is required for NIST compliance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_PW_COMPLEXITY_WEAK: 0&lt;br /&gt;
  OSN_PW_COMPLEXITY_STANDARD: 1&lt;br /&gt;
  OSN_PW_COMPLEXITY_STRONG: 2&lt;br /&gt;
== enum:pendingOperationRequestStatus ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_PENDING: 0&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_APPROVED: 1&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_REJECTED: 2&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_EXPIRED: 3&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_CANCELLED: 4&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_RUNNING: 5&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_COMPLETED_SUCCESS: 6&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_COMPLETED_FAILED: 7&lt;br /&gt;
  OSN_PENDING_OPERATION_REQUEST_STATUS_MAX: 8&lt;br /&gt;
== enum:permissionScope ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SCOPE_NONE: 0&lt;br /&gt;
  OSN_SCOPE_USER: 1&lt;br /&gt;
  OSN_SCOPE_RESOURCE_GROUP: 2&lt;br /&gt;
  OSN_SCOPE_SYSTEM: 3&lt;br /&gt;
  OSN_SCOPE_GRID: 4&lt;br /&gt;
== enum:pingTarget ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_PING_TARG_SERVER_IP: 0&lt;br /&gt;
  OSN_CMN_PING_TARG_CLIENT_IP: 1&lt;br /&gt;
  OSN_CMN_PING_TARG_USER_IP: 2&lt;br /&gt;
  OSN_CMN_PING_TARG_MAX: 3&lt;br /&gt;
== enum:poolEnclosureRedundancy ==&lt;br /&gt;
Relationship between a storage pool and how the data is striped across disks based on which disk enclosure the disk resides in .  Pool creation automatically analyzes this relationship and will select drives to ensure enclosure level reduncancy whenever possible.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_VERIFIED: 1&lt;br /&gt;
  OSN_CMN_POOL_ENCLOSURE_NOT_REDUNDANT: 2&lt;br /&gt;
  OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_NA: 3&lt;br /&gt;
  OSN_CMN_POOL_ENCLOSURE_REDUNDANCY_PARTIAL: 4&lt;br /&gt;
== enum:portalGroupAccessOptions ==&lt;br /&gt;
what type of data conversion required for a physicalDiskCopy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_PORTAL_GROUP_DEFAULTS: 0&lt;br /&gt;
  OSN_CMN_PORTAL_GROUP_ALL_PREFERRED: 1&lt;br /&gt;
  OSN_CMN_PORTAL_GROUP_SINGLE_PREFERRED: 2&lt;br /&gt;
== enum:portalGroupOptions ==&lt;br /&gt;
flags for clearing ports from portal groups&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_PORTALGROUP_OPTION_NONE: 0&lt;br /&gt;
  OSN_PORTALGROUP_OPTION_USE_ALL_FC_PORTS: 1&lt;br /&gt;
  OSN_PORTALGROUP_OPTION_USE_ALL_VIF_PORTS: 2&lt;br /&gt;
  OSN_PORTALGROUP_OPTION_MAX: 4&lt;br /&gt;
== enum:protocolDisable ==&lt;br /&gt;
used by the firewall settings to disable/enable specific protocols&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_PROTOCOL_NONE_DISABLE: 0&lt;br /&gt;
  OSN_PROTOCOL_NFS_DISABLE: 1&lt;br /&gt;
  OSN_PROTOCOL_SMB_DISABLE: 2&lt;br /&gt;
  OSN_PROTOCOL_GANESHA_DISABLE: 4&lt;br /&gt;
  OSN_PROTOCOL_RESTAPI_DISABLE: 8&lt;br /&gt;
  OSN_PROTOCOL_ISCSI_DISABLE: 16&lt;br /&gt;
  OSN_PROTOCOL_CEPH_DISABLE: 32&lt;br /&gt;
  OSN_PROTOCOL_WEBUI_DISABLE: 64&lt;br /&gt;
  OSN_PROTOCOL_NVMEOF_DISABLE: 128&lt;br /&gt;
  OSN_PROTOCOL_CHRONOGRAF_DISABLE: 256&lt;br /&gt;
== enum:providerRegistrationScope ==&lt;br /&gt;
Applies to custom integration providers like the one for VMware VASA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_REGISTRATION_SCOPE_LOCAL: 0&lt;br /&gt;
  OSN_REGISTRATION_SCOPE_CLUSTER_WIDE: 1&lt;br /&gt;
== enum:providerType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_PROVIDER_TYPE_NONE: 0&lt;br /&gt;
  OSN_PROVIDER_TYPE_VMWARE_VASA: 1&lt;br /&gt;
== enum:quotaPolicy ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_QUOTA_POLICY_SOFT: 0&lt;br /&gt;
  OSN_CMN_QUOTA_POLICY_HARD: 1&lt;br /&gt;
== enum:quotaSubjectType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_QUOTA_SUBJECT_POSIX_USER: 0&lt;br /&gt;
  OSN_QUOTA_SUBJECT_POSIX_GROUP: 1&lt;br /&gt;
  OSN_QUOTA_SUBJECT_AD_USER: 2&lt;br /&gt;
  OSN_QUOTA_SUBJECT_AD_GROUP: 3&lt;br /&gt;
== enum:raidType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_RAIDTYPE_RAID0: 0&lt;br /&gt;
  OSN_RAIDTYPE_RAID1: 1&lt;br /&gt;
  OSN_RAIDTYPE_RAID2: 2&lt;br /&gt;
  OSN_RAIDTYPE_RAID3: 3&lt;br /&gt;
  OSN_RAIDTYPE_RAID4: 4&lt;br /&gt;
  OSN_RAIDTYPE_RAID5: 5&lt;br /&gt;
  OSN_RAIDTYPE_RAID6: 6&lt;br /&gt;
  OSN_RAIDTYPE_RAID7: 7&lt;br /&gt;
  OSN_RAIDTYPE_RAID8: 8&lt;br /&gt;
  OSN_RAIDTYPE_RAID9: 9&lt;br /&gt;
  OSN_RAIDTYPE_RAID10: 10&lt;br /&gt;
  OSN_RAIDTYPE_RAID_AUTO: 11&lt;br /&gt;
  OSN_RAIDTYPE_SINGLE: 12&lt;br /&gt;
  OSN_RAIDTYPE_JBOD: 13&lt;br /&gt;
  OSN_RAIDTYPE_RAID50: 14&lt;br /&gt;
  OSN_RAIDTYPE_RAID60: 15&lt;br /&gt;
  OSN_RAIDTYPE_RAID70: 16&lt;br /&gt;
  OSN_RAIDTYPE_MULTIPLE: 17&lt;br /&gt;
  OSN_RAIDTYPE_ERASURECODING: 18&lt;br /&gt;
  OSN_RAIDTYPE_REPLICA: 19&lt;br /&gt;
  OSN_RAIDTYPE_DRAID1_1S: 20&lt;br /&gt;
  OSN_RAIDTYPE_DRAID1_2S: 21&lt;br /&gt;
  OSN_RAIDTYPE_DRAID1_3S: 22&lt;br /&gt;
  OSN_RAIDTYPE_DRAID2_1S: 23&lt;br /&gt;
  OSN_RAIDTYPE_DRAID2_2S: 24&lt;br /&gt;
  OSN_RAIDTYPE_DRAID2_3S: 25&lt;br /&gt;
  OSN_RAIDTYPE_DRAID3_1S: 26&lt;br /&gt;
  OSN_RAIDTYPE_DRAID3_2S: 27&lt;br /&gt;
  OSN_RAIDTYPE_DRAID3_3S: 28&lt;br /&gt;
  OSN_RAIDTYPE_ADAPT: 29&lt;br /&gt;
  OSN_RAIDTYPE_MAX: 30&lt;br /&gt;
== enum:replicaAssocType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPLICA_CHILD: 0&lt;br /&gt;
  OSN_CMN_REPLICA_HEAD: 1&lt;br /&gt;
== enum:replicaRetentionTag ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_NONE: 0&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_DELTA: 1&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_DAILY: 2&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_WEEKLY: 4&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_BIWEEKLY: 8&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_MONTHLY: 16&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_BIMONTHLY: 32&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_QUARTERLY: 64&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_YEARLY: 128&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_HOURLY: 256&lt;br /&gt;
  OSN_CMN_REPLICATION_RETENTION_TAG_LOCAL_DELTA: 512&lt;br /&gt;
== enum:replicationActionType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPLICATION_SETUP: 0&lt;br /&gt;
  OSN_CMN_REPLICATION_CONNECT: 1&lt;br /&gt;
  OSN_CMN_REPLICATION_DISCONNECT: 2&lt;br /&gt;
  OSN_CMN_REPLICATION_RECONNECT: 3&lt;br /&gt;
  OSN_CMN_REPLICATION_ADJUST: 4&lt;br /&gt;
== enum:replicationCongestionPolicy ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPLICATION_CONGESTION_POLICY_SYNC: 0&lt;br /&gt;
  OSN_CMN_REPLICATION_CONGESTION_POLICY_PULL_AHEAD: 1&lt;br /&gt;
== enum:replicationState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_PREPARING: 0&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_INITIALIZING: 1&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_SYNCHRONIZING: 2&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_SYNCHRONIZED: 3&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_RESYNCHRONIZING: 4&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_PAUSED: 5&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_INIT_FAILED: 6&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_SYNC_FAILED: 7&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_RESYNC_FAILED: 8&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_SKIPPED: 9&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_CANCELLED: 10&lt;br /&gt;
  OSN_CMN_REPLICATION_STATE_RESUMABLE_SYNC_FAILED: 11&lt;br /&gt;
== enum:reportCategory ==&lt;br /&gt;
Configuration analysis reports have each report entry marked with one or more categories via bitmask&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_ALL: 0&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_NETWORKING: 1&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_HIGH_AVAILABILITY: 2&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_REMOTE_REPLICATION: 4&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_SECURITY: 8&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_PLATFORM: 16&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_HARDWARE_MAINTENANCE: 32&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_ENCRYPTION: 64&lt;br /&gt;
  OSN_CMN_REPORT_CATEGORY_MAX: 128&lt;br /&gt;
== enum:reportImpact ==&lt;br /&gt;
type of impact the reported issue may have if not addressed&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPORT_IMPACT_ALL: 0&lt;br /&gt;
  OSN_CMN_REPORT_IMPACT_STABILITY: 1&lt;br /&gt;
  OSN_CMN_REPORT_IMPACT_PERFORMANCE: 2&lt;br /&gt;
  OSN_CMN_REPORT_IMPACT_SECURITY: 4&lt;br /&gt;
  OSN_CMN_REPORT_IMPACT_MAX: 8&lt;br /&gt;
== enum:reportOutputFormat ==&lt;br /&gt;
Report Schedules send email reports to designated email addresses in one of four formats, (0) text mode, (1) HTML mode (default), (2) comma-separated-value CSV, and HTML Base64 (3).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPORT_OUTPUT_FORMAT_TEXT: 0&lt;br /&gt;
  OSN_CMN_REPORT_OUTPUT_FORMAT_HTML: 1&lt;br /&gt;
  OSN_CMN_REPORT_OUTPUT_FORMAT_CSV: 2&lt;br /&gt;
  OSN_CMN_REPORT_OUTPUT_FORMAT_HTML_BASE64: 3&lt;br /&gt;
== enum:reportSeverity ==&lt;br /&gt;
Severity of the detected issue&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REPORT_SEVERITY_INFORMATIONAL: 0&lt;br /&gt;
  OSN_CMN_REPORT_SEVERITY_MINOR: 1&lt;br /&gt;
  OSN_CMN_REPORT_SEVERITY_MAJOR: 2&lt;br /&gt;
  OSN_CMN_REPORT_SEVERITY_CRITICAL: 4&lt;br /&gt;
  OSN_CMN_REPORT_SEVERITY_MAX: 8&lt;br /&gt;
== enum:reportTypes ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_REPORT_TYPE_NONE: 0&lt;br /&gt;
  OSN_REPORT_TYPE_SYSTEM_HEALTH: 1&lt;br /&gt;
  OSN_REPORT_TYPE_STORAGE_POOL_CAPACITY_PLANNING: 2&lt;br /&gt;
  OSN_REPORT_TYPE_STORAGE_POOL_USAGE: 4&lt;br /&gt;
  OSN_REPORT_TYPE_REPLICATION: 8&lt;br /&gt;
  OSN_REPORT_TYPE_OBJECT_STORAGE_USAGE: 16&lt;br /&gt;
  OSN_REPORT_TYPE_MAX: 32&lt;br /&gt;
== enum:resourceAccessMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_AUTO: 0&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED: 1&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE: 2&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_IMMUTABLE: 4&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_MULTIGROUP_SHARED_IMMUTABLE: 5&lt;br /&gt;
  OSN_CMN_RESOURCEACCESS_GROUP_EXCLUSIVE_IMMUTABLE: 6&lt;br /&gt;
== enum:resourceAccessRequestType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_REQUEST_VIEW: 0&lt;br /&gt;
  OSN_CMN_REQUEST_UTILIZE: 1&lt;br /&gt;
  OSN_CMN_REQUEST_MODIFY: 2&lt;br /&gt;
== enum:resourceDomainTypes ==&lt;br /&gt;
Specifies the type of resource in a resource domain hierarchy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_REGION: 0&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_SITE: 1&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_BUILDING: 2&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_RACK: 3&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_SERVER: 4&lt;br /&gt;
  OSN_RESOURCE_DOMAIN_MAX: 5&lt;br /&gt;
== enum:retentionTag ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_RETENTIONTAG_NONE: 0&lt;br /&gt;
  OSN_RETENTIONTAG_DAY: 1&lt;br /&gt;
  OSN_RETENTIONTAG_WEEK: 2&lt;br /&gt;
  OSN_RETENTIONTAG_MONTH: 4&lt;br /&gt;
  OSN_RETENTIONTAG_YEARLY: 8&lt;br /&gt;
  OSN_RETENTIONTAG_MAX: 9&lt;br /&gt;
== enum:s3QuotaScope ==&lt;br /&gt;
scope of a given Object quota setting&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_S3_QUOTA_SCOPE_ALL: 0&lt;br /&gt;
  OSN_S3_QUOTA_SCOPE_BUCKET: 1&lt;br /&gt;
  OSN_S3_QUOTA_SCOPE_USER: 2&lt;br /&gt;
  OSN_S3_QUOTA_SCOPE_USER_BUCKET: 3&lt;br /&gt;
== enum:sambaIdmapMode ==&lt;br /&gt;
Mode for how SMB user and group IDs should be managed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SAMBA_IDMAP_TDB: 0&lt;br /&gt;
  OSN_CMN_SAMBA_IDMAP_RID: 1&lt;br /&gt;
  OSN_CMN_SAMBA_IDMAP_AD: 2&lt;br /&gt;
  OSN_CMN_SAMBA_IDMAP_AUTORID: 4&lt;br /&gt;
  OSN_CMN_SAMBA_IDMAP_AD_RFC2307: 8&lt;br /&gt;
== enum:scheduleTimerType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SCHEDULE_TIMER_CALENDAR_BASED: 0&lt;br /&gt;
  OSN_SCHEDULE_TIMER_INTERVAL_BASED: 1&lt;br /&gt;
  OSN_SCHEDULE_TIMER_MAX: 2&lt;br /&gt;
== enum:securityWebAccessMode ==&lt;br /&gt;
HTTP requests are redirected to HTTPS by default but his allows one to reconfigure that behavior.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_WEBACCESSMODE_HTTP_ENABLED: 0&lt;br /&gt;
  OSN_CMN_WEBACCESSMODE_HTTP_DISABLED: 1&lt;br /&gt;
  OSN_CMN_WEBACCESSMODE_HTTP_REDIRECTED: 2&lt;br /&gt;
== enum:serverType ==&lt;br /&gt;
indicates the KMIP server type when adding a new KMIP service entry.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_KMIPSRV_DEFAULT: 0&lt;br /&gt;
  OSN_KMIPSRV_KMIP: 1&lt;br /&gt;
  OSN_KMIPSRV_IBM: 2&lt;br /&gt;
== enum:serviceFirewallDefState ==&lt;br /&gt;
allow (0) indicates the protocol/service is allowed, block (1) blocks the ports for the protocol/service, and inherit (2) indicates that it is inheriting the Storage System level firewall setting for this service/protocol.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SERVICE_FIREWALL_DEF_ALLOW: 0&lt;br /&gt;
  OSN_SERVICE_FIREWALL_DEF_BLOCK: 1&lt;br /&gt;
  OSN_SERVICE_FIREWALL_DEF_INHERIT: 2&lt;br /&gt;
== enum:serviceOptions ==&lt;br /&gt;
used by system obj bitmsak to disable certain managers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SERVICEOPT_NONE: 0&lt;br /&gt;
  OSN_CMN_SERVICEOPT_DISABLE_DISK_BEACON_MANAGEMENT: 1&lt;br /&gt;
  OSN_CMN_SERVICEOPT_DISABLE_PASSTHRU_MANAGER: 2&lt;br /&gt;
== enum:servicePortType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SERVICE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_SERVICE_ISCSI: 1&lt;br /&gt;
  OSN_CMN_SERVICE_NFS: 2&lt;br /&gt;
  OSN_CMN_SERVICE_SMB: 3&lt;br /&gt;
  OSN_CMN_SERVICE_NVMEOF: 4&lt;br /&gt;
  OSN_CMN_SERVICE_CEPH_MON: 5&lt;br /&gt;
  OSN_CMN_SERVICE_LOADBALANCER: 6&lt;br /&gt;
  OSN_CMN_SERVICE_S3GATEWAY: 7&lt;br /&gt;
  OSN_CMN_SERVICE_SSH: 8&lt;br /&gt;
== enum:serviceState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SERVICE_OFFLINE: 0&lt;br /&gt;
  OSN_CMN_SERVICE_INITIALIZING: 1&lt;br /&gt;
  OSN_CMN_SERVICE_RUNNING: 2&lt;br /&gt;
  OSN_CMN_SERVICE_STOPPING: 3&lt;br /&gt;
== enum:serviceUpdateMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SERVICE_OP_MODE_START: 0&lt;br /&gt;
  OSN_SERVICE_OP_MODE_RESTART: 1&lt;br /&gt;
  OSN_SERVICE_OP_MODE_STOP: 3&lt;br /&gt;
== enum:shareSettingsInheritance ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_SHARE_INHERITS_NONE: 0&lt;br /&gt;
  OSN_SHARE_INHERITS_CIFS_ACCESS: 1&lt;br /&gt;
  OSN_SHARE_INHERITS_NFS_ACCESS: 2&lt;br /&gt;
== enum:siteClusterStandbyState ==&lt;br /&gt;
Indicates the standby state of the heartbeat / Site Cluster&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_STANDBY_STATE_DISABLED: 0&lt;br /&gt;
  OSN_STANDBY_STATE_ENABLED: 1&lt;br /&gt;
  OSN_STANDBY_STATE_ENABLED_MANUAL: 2&lt;br /&gt;
== enum:siteVifLocationWeight ==&lt;br /&gt;
Location Constraint weights refer to the &#039;score&#039; value in Pacemaker where the higher the value the stronger the affinity the resource or resource group has to running on associated node&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_LOCATION_CONSTRAINT_WEIGHT_NONE: 0&lt;br /&gt;
  OSN_CMN_LOCATION_CONSTRAINT_WEIGHT_LOW: 100&lt;br /&gt;
  OSN_CMN_LOCATION_CONSTRAINT_WEIGHT_MEDIUM: 200&lt;br /&gt;
  OSN_CMN_LOCATION_CONSTRAINT_WEIGHT_HIGH: 300&lt;br /&gt;
== enum:sizeUnits ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_B: 0&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_KB: 1&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_MB: 2&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_GB: 3&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_TB: 4&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_PB: 5&lt;br /&gt;
  OSN_CMN_SIZE_UNITS_EB: 6&lt;br /&gt;
== enum:sourceType ==&lt;br /&gt;
type of source device for a physicalDiskCopy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SOURCETYPE_PHYSICAL_DISK: 0&lt;br /&gt;
  OSN_CMN_SOURCETYPE_STORAGE_VOLUME: 1&lt;br /&gt;
== enum:storagePoolCacheType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_STORAGEPOOLCACHETYPE_READCACHE: 1&lt;br /&gt;
  OSN_STORAGEPOOLCACHETYPE_WRITELOG: 2&lt;br /&gt;
  OSN_STORAGEPOOLCACHETYPE_DEDUP: 3&lt;br /&gt;
  OSN_STORAGEPOOLCACHETYPE_SPECIAL: 4&lt;br /&gt;
  OSN_STORAGEPOOLCACHETYPE_MAX: 5&lt;br /&gt;
== enum:storagePoolType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_BTRFS: 0&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_EXT3: 1&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_EXT4: 2&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_XFS: 3&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_S3QL: 4&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_JFS: 5&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_ZFS: 6&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_CEPHRBD: 7&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_SWAP: 8&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_PASSTHRU: 9&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_LOCAL: 10&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_UNKNOWN: 11&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_CEPHFS: 12&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_CEPHOBJ: 13&lt;br /&gt;
  OSN_STORAGEPOOLTYPE_MAX: 14&lt;br /&gt;
== enum:storageSystemLinkType ==&lt;br /&gt;
Indicates the mode which the storage replication link is operating in which can be with or without encryption and/or compression&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_LINK_TYPE_ENCRYPTED_UNCOMPRESSED: 0&lt;br /&gt;
  OSN_LINK_TYPE_UNENCRYPTED: 1&lt;br /&gt;
  OSN_LINK_TYPE_COMPRESSED: 2&lt;br /&gt;
  OSN_LINK_TYPE_UNENCRYPTED_COMPRESSED: 3&lt;br /&gt;
  OSN_LINK_TYPE_UNKNOWN: 4&lt;br /&gt;
  OSN_LINK_TYPE_MAX: 5&lt;br /&gt;
== enum:storageVolumeType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE: 0&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_BTRFS: 1&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_EXT3: 2&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_EXT4: 3&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_RAW_DEVICE: 4&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_ZFS: 5&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_XFS: 6&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_S3QL: 7&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_FILE_JFS: 8&lt;br /&gt;
  OSN_STORAGEVOLUMETYPE_CEPH_RBD: 9&lt;br /&gt;
== enum:swControllerConnectionState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_FREE: 1&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_TRANSPORT_WAIT: 2&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_IN_LOGIN: 3&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_LOGGED_IN: 4&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_IN_LOGOUT: 5&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_LOGOUT_REQUESTED: 6&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_CLEANUP_WAIT: 7&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_CONNECTION_STATE_MAX: 8&lt;br /&gt;
== enum:swControllerSessionState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_NO_CHANGE: 1&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_CLEANUP: 2&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_REOPEN: 3&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_REDIRECT: 4&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_SESSION_STATE_MAX: 5&lt;br /&gt;
== enum:swControllerType ==&lt;br /&gt;
type of protocol used by software controller connecting target device to initiator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_TYPE_ISCSI: 0&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_TYPE_NVME_TCP: 1&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_TYPE_NVME_RDMA: 2&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_TYPE_NVME_LOCAL_PCIE: 4&lt;br /&gt;
  OSN_CMN_SW_CONTROLLER_TYPE_UNKNOWN: 255&lt;br /&gt;
== enum:syncFlowDirection ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SYNC_FLOW_DIR_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_SYNC_FLOW_DIR_SYMMETRICAL: 1&lt;br /&gt;
  OSN_CMN_SYNC_FLOW_DIR_DIRECTIONAL: 2&lt;br /&gt;
== enum:syncPolicy ==&lt;br /&gt;
Data synchronization mode for ZFS based Storage Pools, Network Shares, and Storage Volumes&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SYNCTYPE_STANDARD: 0&lt;br /&gt;
  OSN_CMN_SYNCTYPE_ALWAYS: 1&lt;br /&gt;
  OSN_CMN_SYNCTYPE_DISABLED: 2&lt;br /&gt;
  OSN_CMN_SYNCTYPE_AUTO: 3&lt;br /&gt;
== enum:syncPolicyStatus ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_SYNC_POLICY_STATUS_UNKNOWN: 0&lt;br /&gt;
  OSN_CMN_SYNC_POLICY_STATUS_ENABLED: 1&lt;br /&gt;
  OSN_CMN_SYNC_POLICY_STATUS_ALLOWED: 2&lt;br /&gt;
  OSN_CMN_SYNC_POLICY_STATUS_FORBIDDEN: 3&lt;br /&gt;
== enum:targetType ==&lt;br /&gt;
type of target device for a physicalDiskCopy&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_TARGETTYPE_PHYSICAL_DISK: 0&lt;br /&gt;
  OSN_CMN_TARGETTYPE_STORAGE_VOLUME: 1&lt;br /&gt;
  OSN_CMN_TARGETTYPE_NETWORK_SHARE: 2&lt;br /&gt;
== enum:taskState ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_TASKSTATE_INITIALIZING: 0&lt;br /&gt;
  OSN_TASKSTATE_QUEUED: 1&lt;br /&gt;
  OSN_TASKSTATE_RUNNING: 2&lt;br /&gt;
  OSN_TASKSTATE_FAILED: 3&lt;br /&gt;
  OSN_TASKSTATE_CANCELLED: 4&lt;br /&gt;
  OSN_TASKSTATE_COMPLETED: 5&lt;br /&gt;
  OSN_TASKSTATE_WAITING: 6&lt;br /&gt;
  OSN_TASKSTATE_RECOVERED: 7&lt;br /&gt;
  OSN_TASKSTATE_STAGED: 8&lt;br /&gt;
== enum:trimStatus ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_MEDIA_TRIM_UNSUPPORTED: 0&lt;br /&gt;
  OSN_CMN_MEDIA_TRIM_UNTRIMMED: 1&lt;br /&gt;
  OSN_CMN_MEDIA_TRIM_TRIMMING: 2&lt;br /&gt;
  OSN_CMN_MEDIA_TRIM_TRIMMED: 3&lt;br /&gt;
== enum:tunableDataType ==&lt;br /&gt;
storage system tunables are either a range, percentage or a boolean.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_TUNABLE_RANGE: 0&lt;br /&gt;
  OSN_CMN_TUNABLE_PERCENTAGE: 1&lt;br /&gt;
  OSN_CMN_TUNABLE_BOOLEAN: 2&lt;br /&gt;
== enum:tunableOption ==&lt;br /&gt;
applies to storageSystemTunable APIs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_TUNABLE_NONE: 0&lt;br /&gt;
  OSN_CMN_TUNABLE_RESET_TO_DEFAULTS: 1&lt;br /&gt;
== enum:userAccountType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_USER_ACCOUNT_STANDARD: 0&lt;br /&gt;
  OSN_CMN_USER_ACCOUNT_EMERGENCY: 1&lt;br /&gt;
  OSN_CMN_USER_ACCOUNT_TEMPORARY: 2&lt;br /&gt;
== enum:userAppTokenAccessMode ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_APPTOKEN_DISABLED: 0&lt;br /&gt;
  OSN_APPTOKEN_LOCAL_ONLY: 1&lt;br /&gt;
  OSN_APPTOKEN_REMOTE_ONLY: 2&lt;br /&gt;
  OSN_APPTOKEN_ALL: 3&lt;br /&gt;
== enum:vdevType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_VDEVTYPE_NA: 0&lt;br /&gt;
  OSN_VDEVTYPE_DATA: 1&lt;br /&gt;
  OSN_VDEVTYPE_LOGS: 2&lt;br /&gt;
  OSN_VDEVTYPE_CACHE: 3&lt;br /&gt;
  OSN_VDEVTYPE_SPARES: 4&lt;br /&gt;
  OSN_VDEVTYPE_SPECIAL: 5&lt;br /&gt;
  OSN_VDEVTYPE_DEDUP: 6&lt;br /&gt;
  OSN_VDEVTYPE_CONFIG: 7&lt;br /&gt;
  OSN_VDEVTYPE_MAX: 8&lt;br /&gt;
== enum:vifUseCase ==&lt;br /&gt;
indicates the use case for a specific VIF, scale-out vifs can be used for multiple purposes but by specifying the use case additional service checks are done to ensure the VIF is only active on nodes with those services&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_GRID_PRIMARY: 1&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_SCALEUP_POOL: 2&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_SCALEOUT_FILE_POOL: 4&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_SCALEOUT_BLOCK_POOL: 8&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_SCALEOUT_OBJ_POOL: 16&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_S3PROXY: 32&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_OTHER: 64&lt;br /&gt;
  OSN_CMN_VIF_USE_CASE_MAX: 128&lt;br /&gt;
== enum:vvolType ==&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_VVOL_TYPE_NONE: 0&lt;br /&gt;
  OSN_VVOL_TYPE_SUBVOL_CONFIG: 1&lt;br /&gt;
  OSN_VVOL_TYPE_SUBVOL_DATA: 2&lt;br /&gt;
  OSN_VVOL_TYPE_SUBVOL_SWAP: 3&lt;br /&gt;
  OSN_VVOL_TYPE_PE: 4&lt;br /&gt;
== enum:wuiSectionDisable ==&lt;br /&gt;
Most expandable tree sections in the WUI may be disabled on a per user basis with the userModify method.  This is helpful for simplifying the user experience for users with specific roles and job functions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_NONE: 0&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_INHERIT: 1&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_PHYS_DISKS: 2&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HARDWARE: 4&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_POOLS: 8&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SHARES: 16&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_VOLUMES: 32&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_SNAP_SCHED: 64&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_HOSTS: 128&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_STORAGE_MGMT_BUCKETS: 256&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_SCALE_OUT_KEYRINGS: 512&lt;br /&gt;
  OSN_CMN_WUI_SECTION_DISABLE_MAX: 1024&lt;br /&gt;
== enum:wuiTabDisable ==&lt;br /&gt;
Most tabs in the web management may be disabled on a per user basis using these options with the userModify method&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_NONE: 0&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_INHERIT: 1&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_STORAGE_MGMT: 2&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_USERS_GROUPS: 4&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_REMOTE_REPLICATION: 8&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_CLOUD_CONTAINERS: 16&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_CLUSTER_MGMT: 32&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_NAS_MGMT: 64&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_SCALE_OUT_OBJ_MGMT: 128&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_MULTITENANCY: 256&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_GRID_DASHBOARD: 512&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_DASHBOARDS: 1024&lt;br /&gt;
  OSN_CMN_WUI_TAB_DISABLE_MAX: 2048&lt;br /&gt;
== enum:wwnEmulationMode ==&lt;br /&gt;
WWN and device vendor/product emulation modes for compatibility with 3rd party products like IBM SVC&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Enumeration Values &#039;&#039;&#039;&lt;br /&gt;
  OSN_WWN_EMULATION_NONE: 0&lt;br /&gt;
  OSN_WWN_EMULATION_OSNEXUS: 1&lt;br /&gt;
  OSN_WWN_EMULATION_PURE_FLASHARRAY: 2&lt;br /&gt;
  OSN_WWN_EMULATION_IBM_STORWIZE: 3&lt;br /&gt;
  OSN_WWN_EMULATION_MAX: 4&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=%2B_Developer_Guide_Overview&amp;diff=28115</id>
		<title>+ Developer Guide Overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=%2B_Developer_Guide_Overview&amp;diff=28115"/>
		<updated>2026-09-22T18:45:18Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Archived Versions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:dev_guide]]&lt;br /&gt;
== Overview ==&lt;br /&gt;
QuantaStor was designed from the start with a service oriented architecture so that all aspects of system, cluster, and storage grid configuration may be automated.  There are multiple ways to automate QuantaStor management operations including the REST API, CLI, Ansible modules, and SOAP.  The Developer Guide focuses on integration with QuantaStor via the REST APIs.  &lt;br /&gt;
&lt;br /&gt;
== Supported Languages ==&lt;br /&gt;
You can use just about any programming language you like to communicate with QuantaStor via our RESTful API. Recommended tools:&lt;br /&gt;
&lt;br /&gt;
* C/C++ - [http://curl.haxx.se/libcurl/ libcurl]&lt;br /&gt;
* Python - [http://pypi.python.org/pypi/pycurl PyCurl]&lt;br /&gt;
* Unix/Linux/VMware/XenServer scripting - [http://curl.haxx.se/docs/httpscripting.html curl]&lt;br /&gt;
* PHP - [http://php.net/manual/en/book.curl.php curl]&lt;br /&gt;
&lt;br /&gt;
== Browser Tools ==&lt;br /&gt;
&lt;br /&gt;
We highly recommend installing a tool like [http://jsonview.com/ 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.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
Here&#039;s are some examples of how to enumerate various objects using the RESTful API and the curl utility:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/hostEnum -k&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/storageVolumeEnum -k&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/storageSystemGet -k&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/storagePoolEnum -k&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/userEnum -k&lt;br /&gt;
curl -u admin:password https://192.168.0.116:8153/qstorapi/networkShareEnum -k&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&#039;s curl API mechanism. &lt;br /&gt;
&lt;br /&gt;
Note you can even access APIs using wget which in this example will store the results into a file called hostEnum:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget --no-check-certificate https://192.168.0.135:8153/qstorapi/hostEnum&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Passing Args as a File ===&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -k -u admin:password -d @file.json  https://192.168.0.116:8153/qstorapi/jsonrpc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example of how the file should be formatted looks like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;echo&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
        &amp;quot;inputMessage&amp;quot;: &amp;quot;Message&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format being used is JSON. You specify the command you would like to call using the key &amp;quot;method&amp;quot;. Then the parameters are passed in using the key &amp;quot;params&amp;quot;. If more than one parameter is specified, separate them with a comma. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;method&amp;quot;: &amp;quot;command&amp;quot;,&lt;br /&gt;
    &amp;quot;params&amp;quot;: {&lt;br /&gt;
        &amp;quot;param1&amp;quot;: &amp;quot;&amp;lt;value1&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;param2&amp;quot;: &amp;quot;&amp;lt;value2&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;param3&amp;quot;: &amp;quot;&amp;lt;value3&amp;gt;&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reflection ==&lt;br /&gt;
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 &#039;help&#039; parameter like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -k -u admin:password https://192.168.0.116:8153/qstorapi/hostAdd?help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Calling APIs with Parameters ==&lt;br /&gt;
To call an API with parameters you&#039;ll need to add a &amp;amp; between each parameter you specify and a ? between the API name and the start of the parameters like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -k -u admin:password &amp;quot;https://192.168.0.116:8153/qstorapi/hostAdd?iqn=iqn.1991-05.com.microsoft:osn-mediaserver3&amp;amp;hostname=mediaserver3&amp;amp;flags=0&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
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 [http://jsonviewer.stack.hu/ JSON Formatter] when you&#039;re developing your integration code.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
   &amp;quot;task&amp;quot;:{&lt;br /&gt;
      &amp;quot;i18nDescription&amp;quot;:{&lt;br /&gt;
         &amp;quot;messageText&amp;quot;:null,&lt;br /&gt;
         &amp;quot;messageId&amp;quot;:null&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;operation&amp;quot;:&amp;quot;add&amp;quot;,&lt;br /&gt;
      &amp;quot;id&amp;quot;:&amp;quot;ca54a531-6386-a4f7-b9de-30f505329bb1&amp;quot;,&lt;br /&gt;
      &amp;quot;objectType&amp;quot;:&amp;quot;Host&amp;quot;,&lt;br /&gt;
      &amp;quot;finishTimeStamp&amp;quot;:&amp;quot;1969-12-31 16:00:00&amp;quot;,&lt;br /&gt;
      &amp;quot;isRemote&amp;quot;:false,&lt;br /&gt;
      &amp;quot;createdTimeStamp&amp;quot;:&amp;quot;2012-08-23 21:53:40&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;:0,&lt;br /&gt;
      &amp;quot;acls&amp;quot;:[&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;reserved&amp;quot;:0,&lt;br /&gt;
            &amp;quot;objectId&amp;quot;:&amp;quot;ca54a531-6386-a4f7-b9de-30f505329bb1&amp;quot;,&lt;br /&gt;
            &amp;quot;ownerType&amp;quot;:23,&lt;br /&gt;
            &amp;quot;ownerId&amp;quot;:&amp;quot;252d4786-b19f-ae43-1ff6-453bee8a652e&amp;quot;,&lt;br /&gt;
            &amp;quot;accessLevel&amp;quot;:2,&lt;br /&gt;
            &amp;quot;objectType&amp;quot;:16&lt;br /&gt;
         }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;clientIpAddress&amp;quot;:&amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
      &amp;quot;parentId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;modifiedByUserId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;progress&amp;quot;:0,&lt;br /&gt;
      &amp;quot;customId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;type&amp;quot;:16,&lt;br /&gt;
      &amp;quot;description&amp;quot;:&amp;quot;Adding host &#039;mediaserver3&#039; to service with iSCSI initiator IQN &#039;iqn.1991-05.com.microsoft:osn-mediaserver3&#039;.&amp;quot;,&lt;br /&gt;
      &amp;quot;errorMessage&amp;quot;:{&lt;br /&gt;
         &amp;quot;function&amp;quot;:null,&lt;br /&gt;
         &amp;quot;severity&amp;quot;:0,&lt;br /&gt;
         &amp;quot;errorCode&amp;quot;:0,&lt;br /&gt;
         &amp;quot;file&amp;quot;:null,&lt;br /&gt;
         &amp;quot;message&amp;quot;:{&lt;br /&gt;
            &amp;quot;messageText&amp;quot;:null,&lt;br /&gt;
            &amp;quot;messageId&amp;quot;:null&lt;br /&gt;
         },&lt;br /&gt;
         &amp;quot;line&amp;quot;:0&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;modifiedTimeStamp&amp;quot;:&amp;quot;1969-12-31 16:00:00&amp;quot;,&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;:&amp;quot;50ce62e6-6846-c5b3-d8a1-27061a696604&amp;quot;,&lt;br /&gt;
      &amp;quot;createdByUserId&amp;quot;:&amp;quot;252d4786-b19f-ae43-1ff6-453bee8a652e&amp;quot;,&lt;br /&gt;
      &amp;quot;name&amp;quot;:&amp;quot;Add Host&amp;quot;,&lt;br /&gt;
      &amp;quot;startTimeStamp&amp;quot;:&amp;quot;2012-08-23 21:53:40&amp;quot;,&lt;br /&gt;
      &amp;quot;taskState&amp;quot;:2&lt;br /&gt;
   },&lt;br /&gt;
   &amp;quot;obj&amp;quot;:{&lt;br /&gt;
      &amp;quot;username&amp;quot;:null,&lt;br /&gt;
      &amp;quot;storageSystemId&amp;quot;:&amp;quot;50ce62e6-6846-c5b3-d8a1-27061a696604&amp;quot;,&lt;br /&gt;
      &amp;quot;isRemote&amp;quot;:false,&lt;br /&gt;
      &amp;quot;hostGroupId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;name&amp;quot;:&amp;quot;mediaserver3&amp;quot;,&lt;br /&gt;
      &amp;quot;ipAddress&amp;quot;:null,&lt;br /&gt;
      &amp;quot;createdByUserId&amp;quot;:&amp;quot;252d4786-b19f-ae43-1ff6-453bee8a652e&amp;quot;,&lt;br /&gt;
      &amp;quot;modifiedTimeStamp&amp;quot;:&amp;quot;1969-12-31 16:00:00&amp;quot;,&lt;br /&gt;
      &amp;quot;createdTimeStamp&amp;quot;:&amp;quot;2012-08-23 21:53:40&amp;quot;,&lt;br /&gt;
      &amp;quot;state&amp;quot;:0,&lt;br /&gt;
      &amp;quot;hostOsType&amp;quot;:0,&lt;br /&gt;
      &amp;quot;initiatorPortList&amp;quot;:[&lt;br /&gt;
         {&lt;br /&gt;
            &amp;quot;storageSystemId&amp;quot;:&amp;quot;50ce62e6-6846-c5b3-d8a1-27061a696604&amp;quot;,&lt;br /&gt;
            &amp;quot;isRemote&amp;quot;:false,&lt;br /&gt;
            &amp;quot;hostId&amp;quot;:&amp;quot;4fb8c2da-235a-18f9-2620-1d8aa5da89c5&amp;quot;,&lt;br /&gt;
            &amp;quot;name&amp;quot;:&amp;quot;iqn.1991-05.com.microsoft:osn-mediaserver3&amp;quot;,&lt;br /&gt;
            &amp;quot;ipAddress&amp;quot;:null,&lt;br /&gt;
            &amp;quot;createdByUserId&amp;quot;:&amp;quot;252d4786-b19f-ae43-1ff6-453bee8a652e&amp;quot;,&lt;br /&gt;
            &amp;quot;modifiedTimeStamp&amp;quot;:&amp;quot;1969-12-31 16:00:00&amp;quot;,&lt;br /&gt;
            &amp;quot;createdTimeStamp&amp;quot;:&amp;quot;2012-08-23 21:53:40&amp;quot;,&lt;br /&gt;
            &amp;quot;wwpn&amp;quot;:null,&lt;br /&gt;
            &amp;quot;state&amp;quot;:0,&lt;br /&gt;
            &amp;quot;iqn&amp;quot;:&amp;quot;iqn.1991-05.com.microsoft:osn-mediaserver3&amp;quot;,&lt;br /&gt;
            &amp;quot;initiatorType&amp;quot;:0,&lt;br /&gt;
            &amp;quot;modifiedByUserId&amp;quot;:null,&lt;br /&gt;
            &amp;quot;customId&amp;quot;:null,&lt;br /&gt;
            &amp;quot;type&amp;quot;:13,&lt;br /&gt;
            &amp;quot;id&amp;quot;:&amp;quot;535abed2-830a-a437-d6fd-5af7c5b5c263&amp;quot;&lt;br /&gt;
         }&lt;br /&gt;
      ],&lt;br /&gt;
      &amp;quot;modifiedByUserId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;customId&amp;quot;:null,&lt;br /&gt;
      &amp;quot;password&amp;quot;:&amp;quot;********&amp;quot;,&lt;br /&gt;
      &amp;quot;type&amp;quot;:11,&lt;br /&gt;
      &amp;quot;id&amp;quot;:&amp;quot;4fb8c2da-235a-18f9-2620-1d8aa5da89c5&amp;quot;,&lt;br /&gt;
      &amp;quot;description&amp;quot;:&amp;quot;None&amp;quot;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Async vs. Sync (blocking vs non-blocking) API calls ==&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;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.&lt;br /&gt;
&lt;br /&gt;
== Task Monitoring ==&lt;br /&gt;
&lt;br /&gt;
As indicated above, sometimes you&#039;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.&lt;br /&gt;
&lt;br /&gt;
== API Error Code Definitions ==&lt;br /&gt;
&lt;br /&gt;
For all APIs a 0 is returned for SUCCESS and a non-zero error code is returned if there is a command failure along with a description of the error.  Full list of error codes are available [[Error Codes | here]].&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;service restsrv restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
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:&lt;br /&gt;
&amp;lt;pre&amp;gt;service iptables restart&amp;lt;/pre&amp;gt;&lt;br /&gt;
In a similar manner you can block access to the web management interface on port 80/8080.&lt;br /&gt;
&lt;br /&gt;
== Supported SOAP / WebServices Implementations ==&lt;br /&gt;
&lt;br /&gt;
* gSOAP (C++, all platforms)&lt;br /&gt;
* Apache Axis (Java, all platforms)&lt;br /&gt;
* .NET (C# &amp;amp; Visual Basic, Windows)&lt;br /&gt;
&lt;br /&gt;
== API List ==&lt;br /&gt;
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&#039;s here.&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
curl -u username:password -k https://hostname:8153/qstorapi/aclAdd?objectId=&amp;lt;id&amp;gt;&amp;amp;ownerType=&amp;lt;int&amp;gt;&amp;amp;ownerId=&amp;lt;id&amp;gt;&amp;amp;accessLevel=&amp;lt;int&amp;gt;&amp;amp;objectType=&amp;lt;int&amp;gt; &lt;br /&gt;
&lt;br /&gt;
curl -u username:password -k https://hostname:8153/userAdd?username=tiger&amp;amp;password=passWORD1&amp;amp;firstName=Tiger&amp;amp;lastName=Woods&amp;amp;role=Administrator&lt;br /&gt;
&lt;br /&gt;
curl -u username:password -k -d @data.json https://hostname:8153/qstorapi/jsonrpc&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Example Script ====&lt;br /&gt;
Here is an example script in python. To use this example replace the ip address with your QuantaStor boxes ip. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
import json&lt;br /&gt;
import subprocess&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;I am getting the storage system info...&amp;quot;&lt;br /&gt;
#To get the data make an http request (such as a curl call)&lt;br /&gt;
&lt;br /&gt;
proc = subprocess.Popen([&amp;quot;curl&amp;quot;, &amp;quot;-k&amp;quot;, &amp;quot;-u&amp;quot;, &amp;quot;admin:password&amp;quot;,&lt;br /&gt;
         &amp;quot;https://192.168.0.142:8153/qstorapi/storageSystemGet?&amp;quot;], stdout=subprocess.PIPE)&lt;br /&gt;
&lt;br /&gt;
(out, err) = proc.communicate()&lt;br /&gt;
&lt;br /&gt;
print&lt;br /&gt;
print &amp;quot;Here is what the returned data looks like when I get it:&amp;quot;&lt;br /&gt;
print&lt;br /&gt;
print str(out)&lt;br /&gt;
print&lt;br /&gt;
&lt;br /&gt;
#call json.loads to turn it into a python dictionary&lt;br /&gt;
out = json.loads(out)&lt;br /&gt;
print &amp;quot;Here is how to get a single field from the output:&amp;quot;&lt;br /&gt;
print&lt;br /&gt;
storageSystemId = out[&amp;quot;id&amp;quot;]&lt;br /&gt;
print storageSystemId&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== QuantaStor [[REST API Reference Guide]] ==&lt;br /&gt;
All efforts are made to keep existing REST API from changing but on rare occasions API changes to existing APIs and objects may change.  As such the following sections document the APIs as per a specific released version of QuantaStor.  New versions of QuantaStor generally introduce some new APIs and object types but these are added in a backwards compatible fashion.&lt;br /&gt;
&lt;br /&gt;
[[REST API Reference Guide|Current Version]]&lt;br /&gt;
&lt;br /&gt;
=== Archived Versions ===&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v7.0 ]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v6.9 ]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v6.8 ]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v6.6 ]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v5.2 ]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v4.2, v4.1]]&lt;br /&gt;
&lt;br /&gt;
[[QuantaStor REST API Reference v4.0 and earlier]]&lt;br /&gt;
&lt;br /&gt;
== Enumeration Types ==&lt;br /&gt;
&lt;br /&gt;
The enumeration types listed below are used with APIs noted above.  Many of the enumerations have assigned values like &amp;quot;OSN_CMN_FLAG_ASYNC            = 0x0001&amp;quot; but for those that do not have assigned values note that they are 0 indexed.  &lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* [[REST_API_Reference_Guide#Enum_Definitions|QS API Enumerations v5.5]]&lt;br /&gt;
&lt;br /&gt;
== Ansible Documentation ==&lt;br /&gt;
&lt;br /&gt;
Currently, OsNexus does not package the python client or the Ansible modules with the QuantaStor installation package. Individual installation instructions can be found on GitHub (Ansible modules) and PyPi (qsclient).&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OSNEXUS/QSPyClient OSNEXUS Python client in Git: OSNEXUS QSPyClient]&lt;br /&gt;
&lt;br /&gt;
[https://pypi.org/project/quantastor-qsclient OSNEXUS QuantaStor Python Client Library ]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/OSNEXUS/qsansible OSNEXUS Ansible Modules in Git: OSNEXUS qsansible]&lt;br /&gt;
&lt;br /&gt;
For more information about QuantaStor Ansible automation,&lt;br /&gt;
&amp;lt;br&amp;gt;checkout our blog post&lt;br /&gt;
[https://blog.osnexus.com/2019/11/12/automating-storage-provisioning-using-ansible-with-quantastor Automating storage provisioning using Ansible with Quantastor.]&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Bucket_Synchronization_Policies&amp;diff=28109</id>
		<title>Bucket Synchronization Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Bucket_Synchronization_Policies&amp;diff=28109"/>
		<updated>2026-09-04T20:08:07Z</updated>

		<summary type="html">&lt;p&gt;Umbe: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;bucket sync policy&#039;&#039;&#039; selects which individual Object Buckets replicate between two zones of a multi-site Ceph object storage configuration, so that only the buckets you name are copied to the second site rather than the whole zone. It solves the problem of a multi-site object cluster where the two sites do not need the same data: a bucket holding regulated records has to exist at both sites, while a bucket of scratch data or local build artifacts should stay where it is and not consume capacity or replication bandwidth at the far end. Sync policies are enforced by the Ceph RADOS Gateway (RGW), and you can manage them from the QuantaStor web interface and the CLI.&lt;br /&gt;
&lt;br /&gt;
Everything on this page lives under the &#039;&#039;&#039;Remote Replication&#039;&#039;&#039; tab, in the &#039;&#039;&#039;Bucket Sync Policies&#039;&#039;&#039; section. Bucket sync policies apply only to scale-out object storage -- see [[Scale-out Object Setup (ceph)]] for building the object cluster and the multi-site pairing that this feature depends on.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Choosing between bucket sync, remote replication and backup policies|Choosing between bucket sync, remote replication and backup policies]]|| Which QuantaStor replication feature solves your problem&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#The multi-site model|The multi-site model]]|| Zones, zone groups, and the two multi-site modes that decide whether bucket sync policies are possible at all&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Multi-site topologies|Multi-site topologies]]|| Worked diagrams of full zone replication, selective bucket sync, and storage class behaviour&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Requirements|Requirements]]|| What must be in place before you can create a policy&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Creating a bucket sync policy|Creating a bucket sync policy]]|| The Create dialog, field by field&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Policy Status and Direction|Policy Status and Direction]]|| What the two enumerations mean, and whether sync is one-way or two-way&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#What the create operation does on the appliance|What the create operation does on the appliance]]|| The RGW commands issued, and the limits and preconditions enforced&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Modifying a bucket sync policy|Modifying a bucket sync policy]]|| What can and cannot be changed after creation&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Deleting a bucket sync policy|Deleting a bucket sync policy]]|| What is removed, and what is left behind&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Viewing policies and discovering existing ones|Viewing policies and discovering existing ones]]|| The grid columns, and picking up policies made outside QuantaStor&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Scheduling, conflicts and failures|Scheduling, conflicts and failures]]|| Why there is no schedule, how conflicting writes are handled, and where failures appear&lt;br /&gt;
|-&lt;br /&gt;
| [[Bucket Synchronization Policies#Managing bucket sync policies from the CLI|Managing bucket sync policies from the CLI]]|| The five &amp;lt;code&amp;gt;qs&amp;lt;/code&amp;gt; commands and their arguments&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Choosing between bucket sync, remote replication and backup policies ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor has three unrelated mechanisms for getting data to a second location, and they operate on different objects. Pick by what you are copying.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! Copies !! Between !! Driven by&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Bucket sync policies&#039;&#039;&#039; &#039;&#039;(this page)&#039;&#039; || S3 objects in an Object Bucket || Two zones of one RGW multi-site zone group || Continuous RGW multi-site sync; no schedule&lt;br /&gt;
|-&lt;br /&gt;
| [[Remote-replication (DR)|Remote replication]]|| [[Storage Volumes]] and [[Network Shares]]|| Two [[Storage Pools]] on different QuantaStor systems || Replication schedules, block-level incremental, with replica checkpoints and DR failover&lt;br /&gt;
|-&lt;br /&gt;
| [[Backup Policies|Backup policies]]|| Files in a [[Network Shares|Network Share]]|| A Network Share and an NFS/SMB export or a [[Cloud Containers / NAS Gateway|Cloud Container]]|| Backup schedules, file-level, with per-run Backup Job objects&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Two distinctions catch people out:&lt;br /&gt;
&lt;br /&gt;
* A bucket sync policy is &#039;&#039;&#039;not&#039;&#039;&#039; a DR feature in the [[Remote-replication (DR)|Remote replication]] sense. There is no replica checkpoint to activate, no failover or failback operation, and no schedule to trigger. Ceph keeps the two zones converged continuously, and both zones are live members of the same zone group rather than a source and a standby.&lt;br /&gt;
* A [[Cloud Containers / NAS Gateway|Cloud Container]] is also about buckets, but it points the other way: it maps &#039;&#039;&#039;one external bucket&#039;&#039;&#039; onto a QuantaStor Network Share so that NFS and SMB clients can read and write object storage as a file share. It is a gateway into somebody else&#039;s object storage, not replication between two QuantaStor object clusters. Bucket sync policies never involve a Cloud Container, cloud provider credentials, or a Network Share.&lt;br /&gt;
&lt;br /&gt;
Bucket sync policies act on Object Buckets in a QuantaStor-managed Ceph cluster. Buckets themselves are created and managed under the Scale-out Storage Configuration tab; this page covers only the replication of their contents.&lt;br /&gt;
&lt;br /&gt;
== The multi-site model ==&lt;br /&gt;
&lt;br /&gt;
Scale-out object storage in QuantaStor is organized as RGW &#039;&#039;&#039;zones&#039;&#039;&#039; inside a &#039;&#039;&#039;zone group&#039;&#039;&#039;. Each zone corresponds to one Object Storage Pool Group on one Ceph cluster, fronted by an RGW gateway. Pairing two of them into a zone group is what makes replication possible at all, and it is done once, from the Setup Object Storage Multi-Site Configuration dialog -- see [[Scale-out Object Setup (ceph)]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The choice you make when pairing the zones decides whether bucket sync policies are usable.&#039;&#039;&#039; The Multi-Site Setup dialog has a &#039;&#039;&#039;Bucket Sync Settings&#039;&#039;&#039; section with two radio options:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option !! What it configures !! Bucket sync policies&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Sync selected buckets&#039;&#039;&#039; &#039;&#039;(default)&#039;&#039; || A zone-level policy named &amp;lt;code&amp;gt;default-deny-&#039;&#039;&amp;lt;primary zone&amp;gt;&#039;&#039;-&#039;&#039;&amp;lt;secondary zone&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; with status &#039;&#039;allowed&#039;&#039;. Nothing replicates until you say what should. || Required. This is the mode this page is about.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Full zone replication (no individual bucket sync)&#039;&#039;&#039; || A zone-level policy named &amp;lt;code&amp;gt;default-enabled-&#039;&#039;&amp;lt;primary zone&amp;gt;&#039;&#039;-&#039;&#039;&amp;lt;secondary zone&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; with status &#039;&#039;enabled&#039;&#039;, with a symmetrical flow across both zones. Everything in the zone replicates. || Refused. Creating one fails with &#039;&#039;&amp;quot;Cannot add individual bucket sync policies. Multi-site setup cannot be in full zone replication mode.&amp;quot;&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The equivalent CLI argument is &amp;lt;code&amp;gt;--symmetrical&amp;lt;/code&amp;gt; on [[QuantaStor CLI Command Reference#object-pool-group-multi-site-setup|qs object-pool-group-multi-site-setup]], whose help text describes full zone replication as being for &amp;quot;a full copy of the zone group in a secondary site for disaster recovery purposes&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Two consequences of how the default rule is created are worth knowing before you plan a topology:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;The bucket exists in both zones either way.&#039;&#039;&#039; Bucket names are zone-group-wide, so a bucket created in one zone shows up in the other as soon as the zone group knows about it. What a sync policy governs is whether the &#039;&#039;&#039;object data&#039;&#039;&#039; inside it is copied. In &#039;&#039;Sync selected buckets&#039;&#039; mode you will see empty buckets at the second site until a policy enables them.&lt;br /&gt;
* &#039;&#039;&#039;Only the pair you configured gets a default rule.&#039;&#039;&#039; Multi-site setup pairs one primary zone with one secondary zone, so if you pair a primary with two secondaries, the two secondary zones have no default rule between them and no sync between them. Establishing sync directly between two secondary zones needs a zone-level policy covering that pair, created deliberately.&lt;br /&gt;
&lt;br /&gt;
RGW does not support replicating a bucket to another bucket &#039;&#039;&#039;within the same zone&#039;&#039;&#039;, so a policy always crosses zones. The Create dialog enforces this by refusing to offer the source cluster as its own destination.&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync Policy - Zone.png|thumb|right|271px|Bucket-to-bucket replication inside a single zone is not supported by RGW, so a sync policy always spans two zones.]]&lt;br /&gt;
&lt;br /&gt;
== Multi-site topologies ==&lt;br /&gt;
&lt;br /&gt;
These diagrams work through the combinations of multi-site mode and bucket sync policy, using one primary zone (us-east-1) and two secondary zones (us-west-1, us-west-2). A shaded bucket holds object data; an unshaded bucket exists but is empty. &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt;&amp;amp;lt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; marks a symmetrical policy and &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; a directional one.&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication.jpg|thumb|right|618px|Full zone replication to both secondaries. Zone-level &amp;lt;code&amp;gt;default-enabled-&amp;lt;/code&amp;gt; policies with status &#039;&#039;enabled&#039;&#039; copy every bucket, and no per-bucket policies are possible.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 02.jpg|thumb|right|618px|Mixed modes. us-west-1 is paired for full zone replication and holds everything; us-west-2 is paired for selective sync, so its &amp;lt;code&amp;gt;default-deny-&amp;lt;/code&amp;gt; policy sits at status &#039;&#039;allowed&#039;&#039; and its buckets are still empty.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 03.jpg|thumb|right|618px|Both secondaries paired for selective sync, with no bucket sync policies added yet. All four buckets exist at both secondary sites and none of them hold data.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 04.jpg|thumb|right|618px|Selective sync in use. Symmetrical policies send bucket-1 and bucket-2 to us-west-1 and bucket-3 and bucket-4 to us-west-2; the buckets with no policy stay empty at the far site.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 05.jpg|thumb|right|618px|The same arrangement with Direction set to &#039;&#039;Directional&#039;&#039; for the us-west-1 policies, so bucket-1 and bucket-2 replicate one way only, from us-east-1 outward.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 06.jpg|thumb|right|763px|Sync between two secondary zones. bucket-5 exists only at the secondaries, and syncing it between them requires a zone-level policy for that zone pair -- multi-site setup never creates one, because it only ever pairs a primary with a secondary.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 07.jpg|thumb|right|794px|Storage classes with no storage class named in the policy, which is what QuantaStor creates. Replicated objects inherit the source zone&#039;s storage class and the destination zone&#039;s own tiering rules do not re-classify them, so an object can carry a &amp;lt;code&amp;gt;storage_class&amp;lt;/code&amp;gt; tag naming a class the destination zone does not have.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bucket Sync - Multi-Site Full Zone Replication 08.jpg|thumb|right|794px|The same topology with a storage class named on the sync pipe. Where the class exists at the destination the objects are placed in it; where it does not, they land in STANDARD while still carrying the original tag. QuantaStor does not offer a storage class option, so reaching this state means editing the pipe with &amp;lt;code&amp;gt;radosgw-admin&amp;lt;/code&amp;gt; directly.]]&lt;br /&gt;
&lt;br /&gt;
The storage class behavior in the last two diagrams is the most common surprise. &#039;&#039;&#039;Policies created by QuantaStor never name a storage class&#039;&#039;&#039;, so the first of the two applies: objects arrive at the destination zone in whatever storage class they had at the source, and any auto-tiering or lifecycle rules configured at the destination are not applied to them on arrival.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Two Ceph clusters&#039;&#039;&#039;, each with an Object Storage Pool Group and an RGW gateway. A policy&#039;s destination must be a different Ceph cluster from its source; the Create dialog will not offer the source cluster as the destination.&lt;br /&gt;
* &#039;&#039;&#039;A multi-site zone group&#039;&#039;&#039; spanning those two zones. Until a zone group contains more than one zone, the Create dialog reports &#039;&#039;&amp;quot;No Ceph Cluster Multi-site Configurations are available.&amp;quot;&#039;&#039; and closes.&lt;br /&gt;
* &#039;&#039;&#039;The zone pair configured for Sync selected buckets&#039;&#039;&#039;, not full zone replication. See [[Bucket Synchronization Policies#The multi-site model|The multi-site model]].&lt;br /&gt;
* &#039;&#039;&#039;At least one Object Bucket&#039;&#039;&#039; in the source cluster to attach the policy to.&lt;br /&gt;
* A valid license. Create, modify and delete are all license-checked operations.&lt;br /&gt;
&lt;br /&gt;
== Creating a bucket sync policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Remote Replication &amp;amp;rarr; Bucket Sync Policies &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The same dialog is on the right-click menu of the Bucket Sync Policies grid. The dialog is wide because it does two jobs at once: the left panel searches the source cluster for candidate buckets, and the right panel holds the policy settings and the bucket you picked.&lt;br /&gt;
&lt;br /&gt;
[[File:bsync_create.png|thumb|right|800px|The Create Bucket Sync Policy dialog. Search the source cluster on the left, then set the policy and move exactly one bucket into the right-hand list.]]&lt;br /&gt;
&lt;br /&gt;
=== Search Criteria ===&lt;br /&gt;
&lt;br /&gt;
This panel finds the bucket the policy will apply to. Wildcards are accepted in the bucket name: &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; matches any number of characters and &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt; matches a single character.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Bucket Name&#039;&#039;&#039; -- enabled by default, with a match mode of &#039;&#039;Match Any&#039;&#039; and a pattern of &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;, so an immediate &#039;&#039;&#039;Search&#039;&#039;&#039; returns everything. Narrow it if the cluster holds a large namespace.&lt;br /&gt;
* &#039;&#039;&#039;Source Ceph Cluster&#039;&#039;&#039; -- &#039;&#039;&#039;always required, and deliberately not switchable off.&#039;&#039;&#039; The checkbox is checked and greyed out because every candidate bucket in the result list has to come from one cluster; the cluster you choose here becomes the policy&#039;s source. Choosing it also filters the &#039;&#039;&#039;Destination Ceph Cluster&#039;&#039;&#039; list on the right to exclude it.&lt;br /&gt;
* &#039;&#039;&#039;Tenant&#039;&#039;&#039; -- off by default. Enable it to restrict the search to buckets owned by one multitenancy tenant. Tenant-owned buckets are addressed to RGW as &amp;lt;code&amp;gt;&#039;&#039;&amp;lt;tenant&amp;gt;&#039;&#039;/&#039;&#039;&amp;lt;bucket&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;, and the policy records them that way.&lt;br /&gt;
* &#039;&#039;&#039;Max Results&#039;&#039;&#039; -- 25 by default. This is a page size, not a cap; use &#039;&#039;&#039;Next &amp;gt;&#039;&#039;&#039; below the bucket list to page through the rest.&lt;br /&gt;
* &#039;&#039;&#039;Offset&#039;&#039;&#039; -- 0 by default. The starting position in the result set.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search&#039;&#039;&#039; runs the query and fills the left-hand bucket list; &#039;&#039;&#039;Clear&#039;&#039;&#039; resets the fields and empties both lists. The &#039;&#039;&#039;Range Start&#039;&#039;&#039;, &#039;&#039;&#039;Range End&#039;&#039;&#039; and &#039;&#039;&#039;Total Matches&#039;&#039;&#039; fields under the bucket list report where you are in the result set.&lt;br /&gt;
&lt;br /&gt;
=== Policy Settings ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Destination Ceph Cluster&#039;&#039;&#039; -- the cluster holding the zone the bucket replicates to. The list excludes whatever you selected as the source.&lt;br /&gt;
* &#039;&#039;&#039;Name&#039;&#039;&#039; -- pre-filled with the next free &amp;lt;code&amp;gt;bucket-sync-policy-&#039;&#039;&amp;lt;n&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;. This becomes the RGW sync group id, so keep it to a plain identifier. A name must be unique for the bucket: reusing one fails with &#039;&#039;&amp;quot;Object Sync Policy with name &#039;...&#039;, already exists for bucket &#039;...&#039;&amp;quot;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Description&#039;&#039;&#039; -- free text, stored by QuantaStor only. It is never passed to RGW.&lt;br /&gt;
* &#039;&#039;&#039;Policy Status&#039;&#039;&#039; -- &#039;&#039;Enabled&#039;&#039; (default), &#039;&#039;Allowed&#039;&#039; or &#039;&#039;Forbidden&#039;&#039;. See [[Bucket Synchronization Policies#Policy Status and Direction|Policy Status and Direction]].&lt;br /&gt;
* &#039;&#039;&#039;Direction&#039;&#039;&#039; -- &#039;&#039;Symmetrical&#039;&#039; (default) or &#039;&#039;Directional&#039;&#039;. See [[Bucket Synchronization Policies#Policy Status and Direction|Policy Status and Direction]].&lt;br /&gt;
* &#039;&#039;&#039;Select the Object Bucket to Replicate&#039;&#039;&#039; -- move the bucket from the search results on the left into the selected list on the right. &#039;&#039;&#039;Exactly one bucket is allowed.&#039;&#039;&#039; Selecting none fails with &#039;&#039;&amp;quot;Invalid Object Bucket selection, no Buckets were selected for the sync operation.&amp;quot;&#039;&#039; and selecting more than one with &#039;&#039;&amp;quot;...only one bucket can be selected for the sync operation.&amp;quot;&#039;&#039; To replicate several buckets, create one policy per bucket.&lt;br /&gt;
&lt;br /&gt;
Once a bucket and both clusters are chosen, a &#039;&#039;&#039;Bucket Sync Summary&#039;&#039;&#039; line appears under the two panels showing the resulting data flow, in the form &amp;lt;code&amp;gt;&#039;&#039;bucket&#039;&#039; (&#039;&#039;source zone&#039;&#039;) &amp;amp;lt;&amp;amp;lt; &amp;amp;gt;&amp;amp;gt; &#039;&#039;bucket&#039;&#039; (&#039;&#039;destination zone&#039;&#039;)&amp;lt;/code&amp;gt; for a symmetrical policy, or &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; in place of &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt; &amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; for a directional one. It is worth reading before clicking &#039;&#039;&#039;OK&#039;&#039;&#039; -- it is the only place the dialog spells out which zone is which.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OK&#039;&#039;&#039; starts an asynchronous task; the dialog closes and the task appears in the Tasks pane.&lt;br /&gt;
&lt;br /&gt;
== Policy Status and Direction ==&lt;br /&gt;
&lt;br /&gt;
These two fields carry straight through to RGW, and they are the substance of the policy.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Policy Status&#039;&#039;&#039; sets the sync group&#039;s status:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Enabled&#039;&#039;&#039; &#039;&#039;(default)&#039;&#039; || Sync is active for this policy. This is what you want for a policy whose bucket should be replicating now.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Allowed&#039;&#039;&#039; || Sync is permitted but not itself active. This is the status the zone-level &amp;lt;code&amp;gt;default-deny-&amp;lt;/code&amp;gt; policy uses: it opens the door without moving any data, so that bucket-level policies can opt individual buckets in.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Forbidden&#039;&#039;&#039; || Sync is blocked for this policy&#039;s scope. Use it to stop a bucket replicating without deleting the policy, so the configuration is preserved and can be switched back.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Status is the one setting [[Bucket Synchronization Policies#Modifying a bucket sync policy|Modify]] can change after the fact, which makes &#039;&#039;Forbidden&#039;&#039; the practical way to pause a bucket&#039;s replication.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Direction&#039;&#039;&#039; sets the data flow, and cannot be changed after the policy is created:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value !! Flow !! Behaviour&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Symmetrical&#039;&#039;&#039; &#039;&#039;(default)&#039;&#039; || Two-way || Both zones accept writes to the bucket and each replicates to the other. The summary line shows &amp;lt;code&amp;gt;&amp;amp;lt;&amp;amp;lt; &amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Directional&#039;&#039;&#039; || One-way || Only writes at the source zone replicate outward; writes made at the destination zone are not sent back. The summary line shows &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Choose &#039;&#039;&#039;Directional&#039;&#039;&#039; when one site is authoritative and the other is a read copy -- it is also the safer choice, because it removes the possibility of the same object being written at both ends. To change a policy&#039;s direction, delete it and create a replacement.&lt;br /&gt;
&lt;br /&gt;
== What the create operation does on the appliance ==&lt;br /&gt;
&lt;br /&gt;
Knowing what the task actually runs makes a failed task readable. Creating a policy issues three &amp;lt;code&amp;gt;radosgw-admin&amp;lt;/code&amp;gt; commands in sequence, against the bucket for a bucket-level policy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
radosgw-admin sync group create --group-id=&amp;lt;name&amp;gt; --status=&amp;lt;enabled|allowed|forbidden&amp;gt; --bucket=&amp;lt;bucket&amp;gt;&lt;br /&gt;
radosgw-admin sync group flow create --group-id=&amp;lt;name&amp;gt; --flow-id=&amp;lt;name&amp;gt; --flow-type=&amp;lt;symmetrical|directional&amp;gt; ... --bucket=&amp;lt;bucket&amp;gt;&lt;br /&gt;
radosgw-admin sync group pipe create --group-id=&amp;lt;name&amp;gt; --pipe-id=&amp;lt;name&amp;gt; --source-zones=... --dest-zones=... --source-bucket=&amp;lt;bucket&amp;gt; --bucket=&amp;lt;bucket&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A symmetrical flow is created with &amp;lt;code&amp;gt;--zones=&#039;&#039;&amp;lt;source&amp;gt;&#039;&#039;,&#039;&#039;&amp;lt;destination&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; and a pipe spanning all zones; a directional flow names &amp;lt;code&amp;gt;--source-zone&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dest-zone&amp;lt;/code&amp;gt; explicitly and pipes only between those two.&lt;br /&gt;
&lt;br /&gt;
Three behaviours follow from this that are not visible in the dialog:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;The operation runs on the appliance that owns the master object zone&#039;&#039;&#039;, whichever grid member you launch it from. QuantaStor redirects the request there, because that is where the sync group has to be defined.&lt;br /&gt;
* &#039;&#039;&#039;A bucket-level policy does not require an RGW period commit&#039;&#039;&#039;, and none is issued. A zone-level policy -- one created with no bucket, which the CLI can do and the web interface cannot -- is followed by &amp;lt;code&amp;gt;radosgw-admin period update --commit&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;Policies are capped at 2,000 per appliance.&#039;&#039;&#039; Beyond that, create fails with &#039;&#039;&amp;quot;Only 2,000 bucket sync policies are allowed. Please contact support.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Modifying a bucket sync policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Remote Replication &amp;amp;rarr; Bucket Sync Policies &amp;amp;rarr; Modify &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:bsync_modify.png|thumb|right|521px|The Modify Bucket Sync Policy dialog. Only Policy Status and Description can be changed.]]&lt;br /&gt;
&lt;br /&gt;
The dialog carries three fields:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Bucket Sync Policy&#039;&#039;&#039; -- the policy to change. It is pre-selected if you had one selected in the grid; otherwise pick it here, and the other two fields refresh to that policy&#039;s current values.&lt;br /&gt;
* &#039;&#039;&#039;Policy Status&#039;&#039;&#039; -- &#039;&#039;Enabled&#039;&#039;, &#039;&#039;Allowed&#039;&#039; or &#039;&#039;Forbidden&#039;&#039;, pre-set to the policy&#039;s current status. Changing it is the only part of this dialog that reaches RGW, as &amp;lt;code&amp;gt;radosgw-admin sync group modify --status=&#039;&#039;&amp;lt;status&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;. If you leave it alone, no RGW command is issued at all.&lt;br /&gt;
* &#039;&#039;&#039;Description&#039;&#039;&#039; -- free text held by QuantaStor only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Everything else about a policy is fixed once created.&#039;&#039;&#039; There is no way to change the source or destination cluster, the bucket, the name, or the Direction -- the dialog has no field for any of them. To change those, delete the policy and create a new one.&lt;br /&gt;
&lt;br /&gt;
== Deleting a bucket sync policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Remote Replication &amp;amp;rarr; Bucket Sync Policies &amp;amp;rarr; Delete &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:bsync_delete.png|thumb|right|521px|The Delete Bucket Sync Policy dialog. The read-only Summary restates the data flow that is about to be removed.]]&lt;br /&gt;
&lt;br /&gt;
Pick the policy in the &#039;&#039;&#039;Bucket Sync Policy&#039;&#039;&#039; list. The read-only &#039;&#039;&#039;Summary&#039;&#039;&#039; field below it restates the flow in the same notation the Create dialog uses, so you can confirm you are removing the policy you meant to before the confirmation prompt. Deleting runs &amp;lt;code&amp;gt;radosgw-admin sync group remove --group-id=&#039;&#039;&amp;lt;name&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt; for the policy&#039;s bucket.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Deleting a policy removes only the policy.&#039;&#039;&#039; The Object Buckets stay, and objects already replicated to the destination zone stay there -- what stops is any further syncing. If the intent is to remove the copy at the far site as well, delete the bucket there separately.&lt;br /&gt;
&lt;br /&gt;
If you only want to stop replication temporarily, set the policy&#039;s status to &#039;&#039;Forbidden&#039;&#039; with &#039;&#039;&#039;Modify&#039;&#039;&#039; instead, which keeps the configuration intact.&lt;br /&gt;
&lt;br /&gt;
== Viewing policies and discovering existing ones ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Remote Replication &amp;amp;rarr; Bucket Sync Policies}}&lt;br /&gt;
&lt;br /&gt;
[[File:bsync_section.png|thumb|right|800px|The Bucket Sync Policies section under the Remote Replication tab, with its toolbar group and the policy grid.]]&lt;br /&gt;
&lt;br /&gt;
The grid shows &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;Source Bucket&#039;&#039;&#039;, &#039;&#039;&#039;Bucket Sync Summary&#039;&#039;&#039;, &#039;&#039;&#039;Policy Status&#039;&#039;&#039; and &#039;&#039;&#039;Description&#039;&#039;&#039; by default. Eight further columns are available from the column menu on any header: &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Source Ceph Cluster&#039;&#039;&#039;, &#039;&#039;&#039;Destination Bucket&#039;&#039;&#039;, &#039;&#039;&#039;Destination Ceph Cluster&#039;&#039;&#039;, &#039;&#039;&#039;Direction&#039;&#039;&#039;, &#039;&#039;&#039;Source Zone&#039;&#039;&#039;, &#039;&#039;&#039;Destination Zone&#039;&#039;&#039; and &#039;&#039;&#039;Storage System&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Two things about those columns are easy to misread:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zone-level policies appear here too&#039;&#039;&#039;, including the &amp;lt;code&amp;gt;default-deny-&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;default-enabled-&amp;lt;/code&amp;gt; policy that multi-site setup created. They are the rows with an empty &#039;&#039;&#039;Source Bucket&#039;&#039;&#039;, and their Bucket Sync Summary names the two zones rather than a bucket. Do not delete them -- they are what makes the zone pair work.&lt;br /&gt;
* &#039;&#039;&#039;Source Zone and Destination Zone are blank for policies created from the web interface&#039;&#039;&#039;, which does not send zone names, and &#039;&#039;&#039;Destination Bucket&#039;&#039;&#039; reads &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; because no separate destination bucket was requested. Populated values in those columns indicate a policy that was discovered from RGW or created from the CLI with the zone arguments given.&lt;br /&gt;
&lt;br /&gt;
=== Picking up policies created outside QuantaStor ===&lt;br /&gt;
&lt;br /&gt;
Policies created directly with &amp;lt;code&amp;gt;radosgw-admin&amp;lt;/code&amp;gt; are found by bucket detail discovery, which reads each bucket&#039;s policy with &amp;lt;code&amp;gt;radosgw-admin sync group get --bucket=&#039;&#039;&amp;lt;bucket&amp;gt;&#039;&#039;&amp;lt;/code&amp;gt;. Discovery is &#039;&#039;&#039;skipped entirely unless at least one policy whose name contains &amp;lt;code&amp;gt;deny-&amp;lt;/code&amp;gt; already exists&#039;&#039;&#039; for the local system, which is the same test as saying the zone pair is in selective-sync rather than full-zone-replication mode. In full zone replication mode there are no per-bucket policies to find, so nothing is scanned.&lt;br /&gt;
&lt;br /&gt;
To force a rescan, use &#039;&#039;&#039;Rescan Object Storage Buckets&#039;&#039;&#039; in the same toolbar group, select &#039;&#039;&#039;Deep Scan&#039;&#039;&#039;, and tick &#039;&#039;&#039;Enable Sync Policies&#039;&#039;&#039; under Deep Scan Options. The default &#039;&#039;&#039;Quick Scan&#039;&#039;&#039; refreshes bucket usage only and will not pick up policy changes. Note the dialog&#039;s own warning: a deep scan can take hours on a large namespace and continues in the background after the task is reported complete. The CLI equivalent is [[QuantaStor CLI Command Reference#bucket-rescan|qs bucket-rescan]].&lt;br /&gt;
&lt;br /&gt;
== Scheduling, conflicts and failures ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There is no schedule, and that is by design.&#039;&#039;&#039; None of the three dialogs has a schedule field and the API has no schedule parameter, because a bucket sync policy is not a job that runs -- it is a standing rule. Once a policy is &#039;&#039;Enabled&#039;&#039;, RGW&#039;s own multi-site sync copies objects continuously in the background, and the two zones converge without anything on the QuantaStor side triggering a run. This is the sharpest practical difference from [[Remote-replication (DR)|remote replication]] and [[Backup Policies|backup policies]], both of which are schedule-driven and produce a per-run object you can inspect.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Conflicting writes are resolved by RGW, not by QuantaStor.&#039;&#039;&#039; A symmetrical policy makes the bucket writable in both zones, and QuantaStor adds no conflict detection or resolution of its own -- it only tells RGW which buckets and zones are in scope. If concurrent writes to the same object from two sites are a possibility you need to reason about, use &#039;&#039;&#039;Directional&#039;&#039;&#039; so that only one zone is authoritative. The resolution rules RGW itself applies are outside what this page documents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Failures surface as failed tasks.&#039;&#039;&#039; Create, modify and delete all run asynchronously and appear in the Tasks pane with descriptions of the form &#039;&#039;&amp;quot;Create Object Sync Policy &#039;&amp;lt;name&amp;gt;&#039; in Ceph Cluster &#039;&amp;lt;cluster&amp;gt;&#039;.&amp;quot;&#039;&#039; A failed task carries the &amp;lt;code&amp;gt;radosgw-admin&amp;lt;/code&amp;gt; command that failed together with its output and exit code, which is usually enough to diagnose it directly. Two failures have specific messages worth recognising:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&amp;quot;Cannot add individual bucket sync policies. Multi-site setup cannot be in full zone replication mode.&amp;quot;&#039;&#039; -- the zone pair was configured with &#039;&#039;&#039;Full zone replication&#039;&#039;&#039;. Bucket-level policies are not possible against that pairing.&lt;br /&gt;
* &#039;&#039;&amp;quot;Only 2,000 bucket sync policies are allowed. Please contact support.&amp;quot;&#039;&#039; -- the per-appliance policy limit.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;No alert type is defined for bucket sync policies&#039;&#039;&#039;, so nothing is raised through the [[Alert Manager]] for a policy or for the state of the sync itself. The policy object records the status you configured, not a runtime sync state or progress figure, so ongoing sync health is a question to put to Ceph on the appliance rather than to QuantaStor.&lt;br /&gt;
&lt;br /&gt;
== Managing bucket sync policies from the CLI ==&lt;br /&gt;
&lt;br /&gt;
Five commands cover the feature. Each has a short alias.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Alias !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#bucket-sync-policy-create|qs bucket-sync-policy-create]]|| &amp;lt;code&amp;gt;bsp-create&amp;lt;/code&amp;gt; || Create a policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#bucket-sync-policy-list|qs bucket-sync-policy-list]]|| &amp;lt;code&amp;gt;bsp-list&amp;lt;/code&amp;gt; || List all policies&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#bucket-sync-policy-get|qs bucket-sync-policy-get]]|| &amp;lt;code&amp;gt;bsp-get&amp;lt;/code&amp;gt; || Show one policy in detail&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#bucket-sync-policy-modify|qs bucket-sync-policy-modify]]|| &amp;lt;code&amp;gt;bsp-modify&amp;lt;/code&amp;gt; || Change status or description&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#bucket-sync-policy-delete|qs bucket-sync-policy-delete]]|| &amp;lt;code&amp;gt;bsp-delete&amp;lt;/code&amp;gt; || Remove a policy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Create takes three mandatory arguments and seven optional ones:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs bucket-sync-policy-create --source-ceph-cluster=&amp;lt;cluster&amp;gt; --destination-ceph-cluster=&amp;lt;cluster&amp;gt; \&lt;br /&gt;
     --bucket-sync-policy-name=&amp;lt;name&amp;gt; [--source-bucket=&amp;lt;bucket&amp;gt;] [--destination-bucket=&amp;lt;bucket&amp;gt;] \&lt;br /&gt;
     [--sync-policy-status=&amp;lt;allowed|enabled|forbidden&amp;gt;] [--direction=&amp;lt;directional|symmetrical&amp;gt;] \&lt;br /&gt;
     [--source-zone=&amp;lt;zone&amp;gt;] [--dest-zone=&amp;lt;zone&amp;gt;] [--description=&amp;lt;text&amp;gt;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The defaults match the dialog: &amp;lt;code&amp;gt;--sync-policy-status&amp;lt;/code&amp;gt; defaults to &amp;lt;code&amp;gt;enabled&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--direction&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;symmetrical&amp;lt;/code&amp;gt;. Four arguments have no equivalent in the web interface:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;--source-bucket&amp;lt;/code&amp;gt; is optional here.&#039;&#039;&#039; Omitting it creates a &#039;&#039;&#039;zone-level&#039;&#039;&#039; policy covering the whole zone pair rather than one bucket -- the only supported way to create the zone-level policy that a secondary-to-secondary pairing needs. The web interface always requires exactly one bucket.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;--destination-bucket&amp;lt;/code&amp;gt;&#039;&#039;&#039; replicates into a differently-named bucket at the destination. Left unset, the destination bucket matches the source and the policy records &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;code&amp;gt;--source-zone&amp;lt;/code&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;code&amp;gt;--dest-zone&amp;lt;/code&amp;gt;&#039;&#039;&#039; name the flow&#039;s zones explicitly, which is what fills in the Source Zone and Destination Zone grid columns.&lt;br /&gt;
&lt;br /&gt;
Modify and delete take the policy by name or ID, with the Ceph cluster optional:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs bucket-sync-policy-modify --bucket-sync-policy=&amp;lt;name|id&amp;gt; [--ceph-cluster=&amp;lt;cluster&amp;gt;] \&lt;br /&gt;
     [--sync-policy-status=&amp;lt;allowed|enabled|forbidden&amp;gt;] [--description=&amp;lt;text&amp;gt;]&lt;br /&gt;
qs bucket-sync-policy-delete --bucket-sync-policy=&amp;lt;name|id&amp;gt; [--ceph-cluster=&amp;lt;cluster&amp;gt;]&lt;br /&gt;
qs bucket-sync-policy-list [--ceph-cluster=&amp;lt;cluster&amp;gt;] [--bucket=&amp;lt;bucket&amp;gt;] [--object-store-zone=&amp;lt;zone&amp;gt;]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On &amp;lt;code&amp;gt;bucket-sync-policy-list&amp;lt;/code&amp;gt;, supplying both &amp;lt;code&amp;gt;--bucket&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--object-store-zone&amp;lt;/code&amp;gt; ignores the zone and filters by the bucket; supplying neither returns every policy in the cluster.&lt;br /&gt;
&lt;br /&gt;
Related commands: [[QuantaStor CLI Command Reference#bucket-list|qs bucket-list]] and [[QuantaStor CLI Command Reference#object-zone-list|qs object-zone-list]] to find the bucket and zone names to use, and [[QuantaStor CLI Command Reference#object-pool-group-multi-site-setup|qs object-pool-group-multi-site-setup]] to build the zone pairing in the first place.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Scale-out Object Setup (ceph)]] -- building the object cluster, the Object Storage Pool Groups and RGW gateways, and the multi-site zone pairing this feature requires&lt;br /&gt;
* [[Remote-replication (DR)]] -- replicating Storage Volumes and Network Shares between Storage Pools, on a schedule, with DR failover&lt;br /&gt;
* [[Backup Policies]] -- file-level copy and auto-tiering between a Network Share and an NFS/SMB export or a Cloud Container&lt;br /&gt;
* [[Cloud Containers / NAS Gateway]] -- presenting a single external object bucket as an NFS/SMB file share&lt;br /&gt;
* [[Storage Pools]] -- the pools that back both object storage and the file and block features&lt;br /&gt;
* [[QuantaStor CLI Command Reference]] -- full argument lists for the commands above&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Backup_Policies&amp;diff=27475</id>
		<title>Backup Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Backup_Policies&amp;diff=27475"/>
		<updated>2026-09-03T02:39:11Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Backup Modes and Transfer Direction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
A &#039;&#039;&#039;Backup Policy&#039;&#039;&#039; copies or moves file data between a QuantaStor [[Network Shares|Network Share]] and a remote data source, on a schedule. The remote source can be an SMB or NFS export on another server or NAS filer, or a [[Cloud Containers / NAS Gateway|Cloud Container]] backed by S3-compatible object storage. Policies transfer data in either direction, so the same mechanism covers pulling a filer onto QuantaStor, pushing a share out to the cloud, and tiering cold files off a share to object storage.&lt;br /&gt;
&lt;br /&gt;
Scanning and copying are parallelized, so filers with 100 million or more files can be scanned for changes in a practical amount of time. Each run creates a &#039;&#039;&#039;Backup Job&#039;&#039;&#039; object you can monitor while it works.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Section !! Covers&lt;br /&gt;
|-&lt;br /&gt;
| [[#Backup Modes and Transfer Direction|Backup Modes and Transfer Direction]] || Copy, move and auto-tier; inbound versus outbound transfers&lt;br /&gt;
|-&lt;br /&gt;
| [[#Creating a Backup Policy|Creating a Backup Policy]] || Every tab of the Create dialog, field by field&lt;br /&gt;
|-&lt;br /&gt;
| [[#Modifying a Backup Policy|Modifying a Backup Policy]] || What can and cannot be changed after creation&lt;br /&gt;
|-&lt;br /&gt;
| [[#Running a Policy on Demand|Running a Policy on Demand]] || Triggering a backup outside its schedule&lt;br /&gt;
|-&lt;br /&gt;
| [[#Enabling and Disabling a Policy|Enabling and Disabling a Policy]] || Suspending a policy without deleting it&lt;br /&gt;
|-&lt;br /&gt;
| [[#Deleting a Backup Policy|Deleting a Backup Policy]] || Removing a policy, and what happens to the data&lt;br /&gt;
|-&lt;br /&gt;
| [[#Monitoring Backup Jobs|Monitoring Backup Jobs]] || The Backup Jobs tab and the backup logs&lt;br /&gt;
|-&lt;br /&gt;
| [[#Managing Backup Policies from the CLI|Managing Backup Policies from the CLI]] || The equivalent &amp;lt;code&amp;gt;qs&amp;lt;/code&amp;gt; commands&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policies &amp;amp;amp; Jobs &#039;&#039;(tab)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Backup Policy&#039;&#039;&#039; toolbar group holds all six operations -- Create, Modify, Delete, Run, Enable and Disable -- and the &#039;&#039;&#039;Backup Policies &amp;amp;amp; Jobs&#039;&#039;&#039; tab in the center pane lists the policies and the jobs they have produced.&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_grid.png|thumb|right|800px|The Backup Policy toolbar group and the Backup Policies &amp;amp;amp; Jobs tab.]]&lt;br /&gt;
&lt;br /&gt;
You can also create a policy from the share it will be attached to: right-click a &#039;&#039;&#039;Network Share&#039;&#039;&#039; and choose &#039;&#039;&#039;Create Backup Policy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Backup Modes and Transfer Direction ==&lt;br /&gt;
&lt;br /&gt;
Mode and direction are chosen independently on the &#039;&#039;&#039;Policy Settings&#039;&#039;&#039; tab, and together they determine what the policy does. Getting these two right matters more than any other setting on the dialog, because they decide whether source files survive the transfer.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Backup Mode !! Effect&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Copy Files&#039;&#039;&#039; || Files are copied and the source copy is left in place. This is the default and the safe choice.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Move Files&#039;&#039;&#039; || Files are copied and then &#039;&#039;&#039;removed from the source&#039;&#039;&#039;. Use this to migrate data off a filer, not to back it up.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Auto-tier Files&#039;&#039;&#039; || Files are moved to the destination and replaced at the source with a stub, so they still appear in the share and can still be opened. Selecting this forces &#039;&#039;&#039;Outbound&#039;&#039;&#039;, and is intended for tiering cold data to a Cloud Container.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Backup Direction !! Data flows&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Inbound Data Transfer&#039;&#039;&#039; || Network Share &amp;amp;larr; Remote Storage Export. QuantaStor pulls from the remote source. This is the default.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Outbound Data Transfer&#039;&#039;&#039; || Network Share &amp;amp;rarr; Remote Storage Export. QuantaStor pushes to the remote target.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enable Continuous Data Protection&#039;&#039;&#039; is only available for &#039;&#039;&#039;Outbound&#039;&#039;&#039; policies; it is greyed out while &#039;&#039;&#039;Inbound&#039;&#039;&#039; is selected. It copies files to the destination as they change rather than waiting for the scheduled run, which reduces the amount of data each scheduled run has to move.  This is important for Network Shares with millions of files as it allows one to run the Backup Policy jobs less frequently as the files will already be copied to the destination. The Backup Policy still needs to run in order to catch anything that may have been missed as a verification pass.&lt;br /&gt;
&lt;br /&gt;
== Creating a Backup Policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Create}}&lt;br /&gt;
&lt;br /&gt;
The dialog has six tabs. &#039;&#039;&#039;Network Share&#039;&#039;&#039; and the remote export are the only required selections; everything else has a working default.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_general.png|thumb|right|700px|The General tab: the Network Share the policy is attached to, and the policy name.]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network Share&#039;&#039;&#039; -- the QuantaStor share the policy is attached to. For an inbound policy this is the destination; for an outbound policy it is the source. Only one share can be selected, and the share type matters: long-term snapshot retention is unavailable for &#039;&#039;&#039;cloud&#039;&#039;&#039; type shares.&lt;br /&gt;
* &#039;&#039;&#039;Policy Name&#039;&#039;&#039; -- pre-filled with a generated name such as &amp;lt;code&amp;gt;backup-policy-1&amp;lt;/code&amp;gt;. The name is also used as the destination subdirectory when &#039;&#039;&#039;Store files to policy specific subdirectory on destination&#039;&#039;&#039; is enabled, so choose something meaningful.&lt;br /&gt;
* &#039;&#039;&#039;Description&#039;&#039;&#039; -- free text for your own reference.&lt;br /&gt;
* &#039;&#039;&#039;Enable Policy&#039;&#039;&#039; -- checked by default; the policy becomes active as soon as it is created. Clear it to create the policy in a disabled state and start it later.&lt;br /&gt;
&lt;br /&gt;
=== Policy Settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_policy_settings.png|thumb|right|700px|The Policy Settings tab: backup mode, transfer direction, and the remote storage export.]]&lt;br /&gt;
&lt;br /&gt;
Backup Mode and Backup Direction are covered in &#039;&#039;&#039;[[#Backup Modes and Transfer Direction|Backup Modes and Transfer Direction]]&#039;&#039;&#039; above. The rest of the tab identifies the remote side of the transfer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remote Storage Export&#039;&#039;&#039; selects the protocol, and the fields below it change to match:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SMB&#039;&#039;&#039; -- an SMB3 or SMB2.1 share. Requires &#039;&#039;&#039;Username&#039;&#039;&#039; and &#039;&#039;&#039;Password&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;NFS&#039;&#039;&#039; -- an NFSv3 or NFSv4 export. No credentials are used; access is controlled by the export&#039;s own host permissions.&lt;br /&gt;
* &#039;&#039;&#039;Cloud Container&#039;&#039;&#039; -- a [[Cloud Containers / NAS Gateway|Cloud Container]] already configured on this system, pointing at S3-compatible or other blob storage. You select the container rather than entering a hostname.&lt;br /&gt;
&lt;br /&gt;
For SMB and NFS:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Hostname / IP Address&#039;&#039;&#039; -- the remote NAS filer or server.&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039; / &#039;&#039;&#039;Password&#039;&#039;&#039; -- SMB only. For a domain, enter the username as &amp;lt;code&amp;gt;DOMAIN/username&amp;lt;/code&amp;gt;. The username itself cannot contain a &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt; character.&lt;br /&gt;
* &#039;&#039;&#039;Scan&#039;&#039;&#039; -- contacts the host and enumerates its exports. Nothing appears in the list below until you run it.&lt;br /&gt;
* &#039;&#039;&#039;Select Share/Export&#039;&#039;&#039; -- the specific export to transfer, populated by &#039;&#039;&#039;Scan&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Enter the credentials in the Username and Password fields.&#039;&#039;&#039; Do not put them in the &#039;&#039;&#039;Hostname / IP Address&#039;&#039;&#039; field -- the dialog assembles the internal &amp;lt;code&amp;gt;//user%password@host&amp;lt;/code&amp;gt; form for you. The &#039;&#039;&#039;Policy Summary&#039;&#039;&#039; box at the bottom restates the resulting transfer in a sentence, and is the quickest way to confirm the direction is what you intended before clicking OK.&lt;br /&gt;
&lt;br /&gt;
=== Schedule Interval ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_schedule.png|thumb|right|700px|The Schedule Interval tab, with the default Monday-Friday, every-four-hours calendar schedule.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schedule Type&#039;&#039;&#039; picks between two mutually exclusive models:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Use day/hour selections&#039;&#039;&#039; (default) -- a calendar schedule. Select the days and the hours; the policy runs at each selected hour on each selected day. The default selects &#039;&#039;&#039;Monday through Friday&#039;&#039;&#039; at &#039;&#039;&#039;12 AM, 4 AM, 8 AM, 12 PM, 4 PM and 8 PM&#039;&#039;&#039;. &#039;&#039;&#039;All Days&#039;&#039;&#039; and &#039;&#039;&#039;All Hours&#039;&#039;&#039; select everything at once, and &#039;&#039;&#039;Offset&#039;&#039;&#039; delays each trigger by up to 59 minutes, so a 30 minute offset turns a 1 AM trigger into 1:30 AM.&lt;br /&gt;
* &#039;&#039;&#039;Use timer interval&#039;&#039;&#039; -- a rest interval instead of fixed times. The policy waits the specified number of minutes &#039;&#039;&#039;after a run completes&#039;&#039;&#039; before starting the next one, so runs never overlap. The minimum is 3 minutes.&lt;br /&gt;
&lt;br /&gt;
A scheduled run is skipped rather than queued if the previous run for the same policy is still active.&lt;br /&gt;
&lt;br /&gt;
=== Snapshot Settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_snapshots.png|thumb|right|700px|The Snapshot Settings tab. These controls are greyed out for cloud type shares.]]&lt;br /&gt;
&lt;br /&gt;
Each run can leave a snapshot of the destination share behind as a recovery checkpoint. &#039;&#039;&#039;Short term&#039;&#039;&#039; snapshots follow the schedule; &#039;&#039;&#039;long term&#039;&#039;&#039; ones are promoted from the short-term set and kept longer.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Long Term Snapshot Retention Settings&#039;&#039;&#039; -- how many hourly, daily, weekly, monthly and quarterly checkpoints to keep. Each defaults to &#039;&#039;&#039;2&#039;&#039;&#039;. A count of 7 dailies keeps 7 snapshots spanning the last week, with at least a day between them. &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; fills in a sensible spread and &#039;&#039;&#039;Clear&#039;&#039;&#039; empties all five.&lt;br /&gt;
* &#039;&#039;&#039;Max Short Term Snapshots&#039;&#039;&#039; -- the schedule-driven snapshots to retain, &#039;&#039;&#039;3&#039;&#039;&#039; by default. Once the limit is reached the oldest is removed before a new one is created. To keep one permanently, rename it or set a description on it.&lt;br /&gt;
* &#039;&#039;&#039;Max Total Source Snapshots&#039;&#039;&#039; -- the computed total of the above, shown for reference.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;These settings apply to ZFS and CephFS shares only.&#039;&#039;&#039; The whole tab is disabled when the selected Network Share is a &#039;&#039;&#039;cloud&#039;&#039;&#039; type share.&lt;br /&gt;
&lt;br /&gt;
=== File Selection Settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_file_selection.png|thumb|right|700px|The File Selection Settings tab: purge behavior, age and size thresholds, and filename filters.]]&lt;br /&gt;
&lt;br /&gt;
This tab decides which files are transferred and which are removed from the destination.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Purge Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Purge Frequency&#039;&#039;&#039; -- when the destination is reconciled against the source. &#039;&#039;&#039;Never Purge Files From Backup&#039;&#039;&#039; is the default, and it never deletes anything. The alternatives are &#039;&#039;&#039;Purge Expired/Deleted Files Immediately After Backup&#039;&#039;&#039;, &#039;&#039;&#039;...Daily&#039;&#039;&#039; and &#039;&#039;&#039;...Weekly&#039;&#039;&#039;. Purging is a separate scan from the backup itself, so running it nightly rather than after every job is usually the efficient choice.&lt;br /&gt;
* &#039;&#039;&#039;Purge Files Older Than&#039;&#039;&#039; -- the retention period in days. Files older than this are removed from the destination on the next purge.&lt;br /&gt;
* &#039;&#039;&#039;Backup Concurrency&#039;&#039;&#039; -- the number of parallel scan and copy streams. The default is &#039;&#039;&#039;Parallelized Backup (12 streams)&#039;&#039;&#039;; the options are &#039;&#039;&#039;Serialized Backup&#039;&#039;&#039; (one stream) and &#039;&#039;&#039;6&#039;&#039;&#039;, &#039;&#039;&#039;12&#039;&#039;&#039;, &#039;&#039;&#039;24&#039;&#039;&#039;, &#039;&#039;&#039;32&#039;&#039;&#039; or &#039;&#039;&#039;Highly Parallelized Backup (64)&#039;&#039;&#039;. More streams help most on filers with very large file counts. This field is disabled when purging is set to never, because there is nothing to reconcile.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Be careful when purging is enabled.&#039;&#039;&#039; A purge removes files from the destination that are no longer present on the source. If you attach such a policy to a share that already holds unrelated data, that data will be deleted. With purging on, a &#039;&#039;&#039;Copy Files&#039;&#039;&#039; inbound policy maintains a mirror of the source, not an accumulating archive.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Age Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimum Age Threshold&#039;&#039;&#039; -- files newer than this are skipped. Useful to avoid copying files still being written.&lt;br /&gt;
* &#039;&#039;&#039;Maximum Age Threshold&#039;&#039;&#039; -- files older than this are skipped.&lt;br /&gt;
&lt;br /&gt;
Setting both to 0, or leaving both unchecked, transfers files of any age. Setting one or both defines an age window. Which timestamp is used is controlled by &#039;&#039;&#039;Include file access time-stamp in file age checks&#039;&#039;&#039; on the &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab; without it, age is based on creation and modification time only.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;File Size Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Minimum Size Threshold&#039;&#039;&#039; -- files smaller than this are skipped.&lt;br /&gt;
* &#039;&#039;&#039;Maximum Size Threshold&#039;&#039;&#039; -- files larger than this are skipped.&lt;br /&gt;
* &#039;&#039;&#039;Minimum Size for Auto-tiering&#039;&#039;&#039; -- only stub files larger than this. Applies to &#039;&#039;&#039;Auto-tier Files&#039;&#039;&#039; mode only and is greyed out otherwise.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filtering Options&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;amp;#39;Include&amp;amp;#39; File Filtering&#039;&#039;&#039; with a &#039;&#039;&#039;Match Pattern&#039;&#039;&#039; -- transfer only files matching the pattern, for example &amp;lt;code&amp;gt;/subdir/*&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &#039;&#039;&#039;&amp;amp;#39;Exclude&amp;amp;#39; File Filtering&#039;&#039;&#039; with a &#039;&#039;&#039;Match Pattern&#039;&#039;&#039; -- transfer everything except files matching the pattern, for example &amp;lt;code&amp;gt;*.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Using both filters at once is &#039;&#039;&#039;not recommended&#039;&#039;&#039;; if you do, make sure the two patterns cannot contradict each other.&lt;br /&gt;
&lt;br /&gt;
=== Advanced Settings ===&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_advanced.png|thumb|right|700px|The Advanced Settings tab.]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start date&#039;&#039;&#039; -- the date the schedule becomes active. Defaults to today, so the policy begins at its next scheduled slot.&lt;br /&gt;
* &#039;&#039;&#039;Store files to policy specific subdirectory on destination&#039;&#039;&#039; -- &#039;&#039;&#039;unchecked by default&#039;&#039;&#039;. Leave it unchecked and the policy writes into the &#039;&#039;&#039;root&#039;&#039;&#039; of the destination, which makes an exact mirror and limits the share to a single policy. Check it and each policy writes into its own subdirectory, which is what allows &#039;&#039;&#039;several policies to share one Network Share&#039;&#039;&#039;. For an inbound policy the subdirectory is named after the policy automatically; for an outbound policy it is the &#039;&#039;&#039;Destination Subdirectory&#039;&#039;&#039; field below.&lt;br /&gt;
* &#039;&#039;&#039;Destination Subdirectory&#039;&#039;&#039; -- only enabled with the option above; required when it is.&lt;br /&gt;
* &#039;&#039;&#039;Maintain a log of each backup&#039;&#039;&#039; -- &#039;&#039;&#039;checked by default&#039;&#039;&#039;. See &#039;&#039;&#039;[[#Monitoring Backup Jobs|Monitoring Backup Jobs]]&#039;&#039;&#039; for where the logs are written.&lt;br /&gt;
* &#039;&#039;&#039;Include file access time-stamp in file age checks&#039;&#039;&#039; -- also considers access time when evaluating the age thresholds, so recently-read but unmodified files count as recent.&lt;br /&gt;
* &#039;&#039;&#039;Stub Creation Policy&#039;&#039;&#039; -- &#039;&#039;&#039;Create stubs nightly&#039;&#039;&#039; or &#039;&#039;&#039;Create stubs on every backup&#039;&#039;&#039;. Applies to &#039;&#039;&#039;Auto-tier Files&#039;&#039;&#039; mode only and is greyed out otherwise. It does not affect files copied by Continuous Data Protection.&lt;br /&gt;
* &#039;&#039;&#039;Reclaim Orphaned Snapshots&#039;&#039;&#039; -- adopts snapshots left behind by a previously deleted schedule so they are counted against this policy&#039;s retention rules instead of accumulating.&lt;br /&gt;
&lt;br /&gt;
== Modifying a Backup Policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Modify}}&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_modify.png|thumb|right|700px|The Modify Backup Policy dialog, pre-filled from the selected policy.]]&lt;br /&gt;
&lt;br /&gt;
Modify presents the same six tabs, pre-filled from the selected policy. Schedule, filters, thresholds, purge behavior and credentials can all be changed on an existing policy, and the change applies from the next scheduled run.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Network Share&#039;&#039;&#039; the policy is attached to is fixed at creation. To retarget a policy at a different share, delete it and create a new one.&lt;br /&gt;
&lt;br /&gt;
== Running a Policy on Demand ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Run}}&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_run.png|thumb|right|700px|Run starts a backup job immediately, outside the schedule.]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Run&#039;&#039;&#039; starts a Backup Job for the selected policy immediately, without waiting for the schedule and without altering it. Use it to test a new policy or to catch up after a source outage. The toolbar button is labelled &#039;&#039;&#039;Run&#039;&#039;&#039;; the dialog it opens is titled &#039;&#039;&#039;Trigger Backup Policy&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Enabling and Disabling a Policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Enable / Disable}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disable&#039;&#039;&#039; stops a policy from running on its schedule while keeping the policy and its history intact; &#039;&#039;&#039;Enable&#039;&#039;&#039; resumes it. Prefer this over deleting a policy you expect to use again -- for example while a source filer is down for maintenance.&lt;br /&gt;
&lt;br /&gt;
== Deleting a Backup Policy ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Schedules &#039;&#039;(section)&#039;&#039; &amp;amp;rarr; Backup Policy &#039;&#039;(toolbar group)&#039;&#039; &amp;amp;rarr; Delete}}&lt;br /&gt;
&lt;br /&gt;
[[File:bkuppol_delete.png|thumb|right|700px|Deleting a policy removes the policy and its job history, not the data.]]&lt;br /&gt;
&lt;br /&gt;
Deleting a policy removes the policy and the &#039;&#039;&#039;Backup Jobs&#039;&#039;&#039; associated with it. &#039;&#039;&#039;It does not delete any backed-up data&#039;&#039;&#039; -- the files already transferred stay on the destination share. A policy can also be deleted by right-clicking it and choosing the delete option.&lt;br /&gt;
&lt;br /&gt;
== Monitoring Backup Jobs ==&lt;br /&gt;
&lt;br /&gt;
Each run creates a &#039;&#039;&#039;Backup Job&#039;&#039;&#039; object. Select the &#039;&#039;&#039;Network Share&#039;&#039;&#039; the policy is attached to and open the &#039;&#039;&#039;Backup Jobs&#039;&#039;&#039; tab in the center pane to watch progress, or use the &#039;&#039;&#039;Backup Policies &amp;amp;amp; Jobs&#039;&#039;&#039; tab under &#039;&#039;&#039;Schedules&#039;&#039;&#039; to see jobs across all policies.&lt;br /&gt;
&lt;br /&gt;
With &#039;&#039;&#039;Maintain a log of each backup&#039;&#039;&#039; enabled, each job writes a log on the QuantaStor system under:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/log/qs/backup-log/POLICY-NAME/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The backup phase writes a &amp;lt;code&amp;gt;.changelog&amp;lt;/code&amp;gt; file and the purge phase a &amp;lt;code&amp;gt;.purgelog&amp;lt;/code&amp;gt; file. Each log lists the full path of every file the job handled, which makes them usable as input to tape backup software such as IBM TSM.&lt;br /&gt;
&lt;br /&gt;
== Managing Backup Policies from the CLI ==&lt;br /&gt;
&lt;br /&gt;
Every operation above has a CLI equivalent, which is the practical way to create policies in bulk. The full argument list for each is in the [[QuantaStor CLI Command Reference]].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Command !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-create|&amp;lt;code&amp;gt;qs backup-policy-create&amp;lt;/code&amp;gt;]] || Create a policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-modify|&amp;lt;code&amp;gt;qs backup-policy-modify&amp;lt;/code&amp;gt;]] || Change an existing policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-list|&amp;lt;code&amp;gt;qs backup-policy-list&amp;lt;/code&amp;gt;]] || List policies&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-get|&amp;lt;code&amp;gt;qs backup-policy-get&amp;lt;/code&amp;gt;]] || Show one policy in detail&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-trigger|&amp;lt;code&amp;gt;qs backup-policy-trigger&amp;lt;/code&amp;gt;]] || Start a backup job now&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-enable|&amp;lt;code&amp;gt;qs backup-policy-enable&amp;lt;/code&amp;gt;]] || Resume a disabled policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-disable|&amp;lt;code&amp;gt;qs backup-policy-disable&amp;lt;/code&amp;gt;]] || Suspend a policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-policy-delete|&amp;lt;code&amp;gt;qs backup-policy-delete&amp;lt;/code&amp;gt;]] || Delete a policy&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-job-list|&amp;lt;code&amp;gt;qs backup-job-list&amp;lt;/code&amp;gt;]] || List backup jobs&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-job-get|&amp;lt;code&amp;gt;qs backup-job-get&amp;lt;/code&amp;gt;]] || Show one job&lt;br /&gt;
|-&lt;br /&gt;
| [[QuantaStor CLI Command Reference#backup-job-cancel|&amp;lt;code&amp;gt;qs backup-job-cancel&amp;lt;/code&amp;gt;]] || Cancel a running job&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A minimal inbound policy pulling an NFS export onto an existing share:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs backup-policy-create --name=nightly-archive --network-share=archive \&lt;br /&gt;
  --remote-hostname=10.0.10.50 --remote-export-type=nfs \&lt;br /&gt;
  --remote-export-path=/export/projects --policy-type=copy-inbound&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same for an SMB source, with credentials passed as separate arguments:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs backup-policy-create --name=filer-backup --network-share=archive \&lt;br /&gt;
  --remote-hostname=10.0.10.60 --remote-export-type=smb \&lt;br /&gt;
  --smb-username=DOMAIN/backupsvc --smb-password=aAbBcCdDeEfF0123 \&lt;br /&gt;
  --policy-type=copy-inbound --purge-policy=daily --retain-period=60&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the CLI and the web interface do not share every default. &amp;lt;code&amp;gt;--scan-threads&amp;lt;/code&amp;gt; defaults to &#039;&#039;&#039;5&#039;&#039;&#039; from the CLI while the dialog defaults to &#039;&#039;&#039;12&#039;&#039;&#039; streams, &amp;lt;code&amp;gt;--remote-export-type&amp;lt;/code&amp;gt; defaults to &#039;&#039;&#039;nfs&#039;&#039;&#039; while the dialog pre-selects &#039;&#039;&#039;SMB&#039;&#039;&#039;, and &amp;lt;code&amp;gt;--policy-type&amp;lt;/code&amp;gt; defaults to &#039;&#039;&#039;copy-inbound&#039;&#039;&#039; in both. Set the values you want explicitly in scripts rather than relying on either default.&lt;br /&gt;
&lt;br /&gt;
== Data Mover Utility / pwalk ==&lt;br /&gt;
&lt;br /&gt;
The scanning and copying is performed by &#039;&#039;&#039;pwalk&#039;&#039;&#039;, an open source command line utility extended by OSNEXUS and shipped with QuantaStor. It is what makes the parallel scan possible, and it can be used directly for ad-hoc copies and scans -- see [[Pwalk utility|the pwalk page]].&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Network Shares]] -- creating the share a policy attaches to&lt;br /&gt;
* [[Cloud Containers / NAS Gateway]] -- configuring a Cloud Container as a policy target&lt;br /&gt;
* [[Snapshot Schedules]] -- scheduled snapshots independent of a backup policy&lt;br /&gt;
* [[Remote-replication (DR)]] -- replicating whole shares and volumes between QuantaStor systems&lt;br /&gt;
* [[Pwalk utility]] -- the underlying scan and copy tool&lt;br /&gt;
* [[Storage Pools]] -- the pool the destination share is provisioned from&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=27415</id>
		<title>Security Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=27415"/>
		<updated>2026-09-03T01:03:36Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* EDR Management from the CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor provides a layered set of security controls: grid-wide password and login policy, role based access control over every management operation, multi-factor authentication, an integrated firewall, TLS certificate management, and endpoint detection and response agent deployment.  This page covers each of them.&lt;br /&gt;
&lt;br /&gt;
Many industries require compliance with government security standards covering everything from audit logging to password policies.  These include Health and Human Services security standards [https://www.hhs.gov/hipaa/index.html (HIPAA)], federal law enforcement security standards [https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center (CJIS)], and the general standards outlined by NIST for Controlled Unclassified Information (CUI) in Non-Federal Information Systems and Organizations, covered in NIST 800-53 and [https://csrc.nist.gov/publications/detail/sp/800-171/rev-2/final 800-171].&lt;br /&gt;
&lt;br /&gt;
Nearly all of the settings on this page are reached from the &#039;&#039;&#039;Security&#039;&#039;&#039; tab of the QuantaStor web management interface, which contains these sections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Security tab section !! Covers !! On this page&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Users&#039;&#039;&#039; || User accounts, password policy, multi-factor authentication || [[#Security Settings Management|Security Settings]], [[#User Management|Users]], [[#Multi-factor Authentication|MFA]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Groups&#039;&#039;&#039; || User groups and their shared POSIX GID || [[#User Group Management|User Groups]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Roles&#039;&#039;&#039; || RBAC roles and their permission assignments || [[#Role Based Access Controls (RBAC)|RBAC]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Object Users &amp;amp; Tenants&#039;&#039;&#039; || S3/object storage users and tenants || [[#Multitenancy / Resource Group Management|Multitenancy]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scale-out File &amp;amp; Block Keyrings&#039;&#039;&#039; || Keyrings for scale-out storage || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Certificates&#039;&#039;&#039; || The grid-wide TLS certificate inventory || [[#Certificate Management|Certificate Management]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Key Server Profiles&#039;&#039;&#039; || External key server (KMIP) profiles || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EDR Agents&#039;&#039;&#039; || Endpoint detection and response agents || [[#Endpoint Detection &amp;amp; Response (EDR)|EDR]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Also on this page: [[#Firewall Configuration|Firewall Configuration]],&lt;br /&gt;
[[#SSL/TLS Certificate &amp;amp; Web Access Security|SSL/TLS and Web Access Security]],&lt;br /&gt;
[[#System Setup Security Checks|System Setup Security Checks]] and&lt;br /&gt;
[[#Security Updates|Security Updates]].&lt;br /&gt;
&lt;br /&gt;
== Security Settings Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_general.png|thumb|right|546px|Security Manager, General tab -- grid-wide password and login policy.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Security Manager&#039;&#039;&#039; holds the password and login policy for the entire Storage Grid.  These settings apply to all user accounts on all systems in the grid, not per-system.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Choosing &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; automatically configures the password and lockout policies to meet the standards listed above.  This is the recommended starting point -- apply it first, then tune individual settings for the requirements of your deployment.  &#039;&#039;&#039;Discard Changes&#039;&#039;&#039; reverts the dialog to the currently saved policy.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab controls:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Password Complexity&#039;&#039;&#039; -- the required character-class mix.  The factory default is &#039;&#039;Weak&#039;&#039;; raise this for any production or compliance-bound deployment.&lt;br /&gt;
* &#039;&#039;&#039;Allowed Special Characters&#039;&#039;&#039; -- which non-alphanumeric characters are permitted in passwords.&lt;br /&gt;
* &#039;&#039;&#039;Minimum / Maximum Password Length&#039;&#039;&#039; -- both in the range 8 to 80.&lt;br /&gt;
* &#039;&#039;&#039;Login Attempts Until Short Lockout&#039;&#039;&#039; and &#039;&#039;&#039;Login Attempts Until Lockout&#039;&#039;&#039; -- consecutive failures before a temporary and then a permanent lockout.  Set the second to 0 to disable permanent lockout.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Sample Period&#039;&#039;&#039; (short and permanent) -- the window, in seconds, over which failed attempts are counted.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Short Lockout Duration&#039;&#039;&#039; -- how long, in seconds, a short lockout lasts.&lt;br /&gt;
* &#039;&#039;&#039;Days Until Password Expires&#039;&#039;&#039; -- 0 to 1000; 0 disables expiry.&lt;br /&gt;
* &#039;&#039;&#039;Unique Passwords Until Reuse&#039;&#039;&#039; -- 0 to 20; how many previous passwords are remembered and refused.&lt;br /&gt;
* &#039;&#039;&#039;Minimum Days Between Password Change&#039;&#039;&#039; -- prevents a user cycling straight back to a previous password.&lt;br /&gt;
* &#039;&#039;&#039;Maximum Days Account Inactive Until Lockout&#039;&#039;&#039; -- locks out dormant accounts.&lt;br /&gt;
* &#039;&#039;&#039;Auto Logout From N Minutes Of Inactivity&#039;&#039;&#039; -- idle timeout for the web interface; 0 disables it.&lt;br /&gt;
* &#039;&#039;&#039;Default Login Username&#039;&#039;&#039; -- the username pre-filled on the login page.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Multi-admin Approvals&#039;&#039;&#039; tab configures which operation types require a second administrator&#039;s approval before they run; approvals are then granted or refused from the &#039;&#039;&#039;Multi-admin Approval&#039;&#039;&#039; group in the Security toolbar.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039; (see &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039;), an optional &#039;&#039;&#039;System Use Notification&#039;&#039;&#039; banner shown to users at login, and the LDAP single-sign-on settings described next.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; saving the Security Manager prompts a confirmation that the change may log users out of the interface and cause passwords to expire.  Plan policy changes accordingly.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Single-Sign-On Authentication ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_advanced.png|thumb|right|546px|Security Manager, Advanced Settings -- Web Access Mode and LDAP single sign-on.]]&lt;br /&gt;
&lt;br /&gt;
The Advanced Settings tab can connect the Storage Grid to an LDAP or Active Directory domain for &#039;&#039;&#039;management user&#039;&#039;&#039; authentication.&lt;br /&gt;
&lt;br /&gt;
To configure this:&lt;br /&gt;
&lt;br /&gt;
* In your LDAP/AD environment, create one or more groups for QuantaStor administration -- for example {{Code|1=QS-Administrator}} and {{Code|1=QS-Monitor}} -- and add the appropriate users to them.&lt;br /&gt;
* In QuantaStor, edit the Role you want each LDAP group to map to and set its &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; field.  For example set the &#039;&#039;&#039;Administrator&#039;&#039;&#039; role&#039;s LDAP Group to {{Code|1=QS-Administrator}}, and the &#039;&#039;&#039;System Monitor&#039;&#039;&#039; role&#039;s to {{Code|1=QS-Monitor}}.  The LDAP Group field is on the Create Role and Modify Role dialogs.&lt;br /&gt;
* Set your DNS and NTP servers to point at your AD server, in the Storage System Modify dialog.  Do this &#039;&#039;&#039;before&#039;&#039;&#039; enabling single sign-on.&lt;br /&gt;
* Return to Security Manager --&amp;gt; Advanced Settings, tick &#039;&#039;&#039;Enable Single Sign-on&#039;&#039;&#039;, and fill in the LDAP settings.  The two fields are greyed out until the checkbox is ticked.&lt;br /&gt;
&lt;br /&gt;
The LDAP fields are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server (FQDN)&#039;&#039;&#039; -- the fully qualified domain name of the LDAP/AD server, for example {{Code|1=dc01.example.com}}&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server Base DN for Users&#039;&#039;&#039; -- the base DN under which user accounts are searched, for example {{Code|1=dc=example,dc=com}}&lt;br /&gt;
&lt;br /&gt;
This integration provides single sign-on for &#039;&#039;&#039;administrative&#039;&#039;&#039; access to the Storage Grid via the QuantaStor web interface, CLI, and REST API.  It does &#039;&#039;&#039;not&#039;&#039;&#039; provide Active Directory integration for SMB network share access. For that, join each system to the domain via &#039;&#039;&#039;Storage Management --&amp;gt; Storage Systems --&amp;gt; Active Directory &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Join AD Domain&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Audit Logging ===&lt;br /&gt;
&lt;br /&gt;
Audit logging of management operations is on by default on all QuantaStor systems and cannot be disabled.  Every API, CLI, and web interface operation passes through the same core service and is recorded.&lt;br /&gt;
&lt;br /&gt;
The audit log is at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/log/qs/qs_audit.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is written in a NIST compliant CEE JSON format, one JSON object per line, so it can be ingested directly by a log aggregator or SIEM without custom parsing. Each record identifies the operation, the user account that invoked it, the source address, and the outcome.&lt;br /&gt;
&lt;br /&gt;
To ship the audit log to a central collector, point your syslog or log agent at this file; QuantaStor does not rotate it out from under a reader.&lt;br /&gt;
&lt;br /&gt;
=== Sending Logs to Support ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor can collect and upload system logs to OSNEXUS Support, scrubbing usernames and other security related information first so that no personally-identifiable information is transmitted, and never including data files from Storage Pools. That makes the collection GDPR compliant.&lt;br /&gt;
&lt;br /&gt;
Full detail is on its own page: &#039;&#039;&#039;[[Send System Log Report|Sending Logs to Support]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Role Based Access Controls (RBAC) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_roles_section.png|thumb|right|800px|Management Roles section with the default roles.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s &#039;&#039;&#039;R&#039;&#039;&#039;ole &#039;&#039;&#039;B&#039;&#039;&#039;ased &#039;&#039;&#039;A&#039;&#039;&#039;ccess &#039;&#039;&#039;C&#039;&#039;&#039;ontrol system lets IT and security administrators grant access limited to a job function, following the [https://en.wikipedia.org/wiki/Principle_of_least_privilege principle of least privilege].&lt;br /&gt;
&lt;br /&gt;
The RBAC system is highly granular.  Each &#039;&#039;&#039;permission&#039;&#039;&#039; has three parts:&lt;br /&gt;
&lt;br /&gt;
* an &#039;&#039;&#039;object type&#039;&#039;&#039; -- for example Network Share, Storage Volume, Storage Pool&lt;br /&gt;
* an &#039;&#039;&#039;operation&#039;&#039;&#039; -- for example create, delete, modify, view&lt;br /&gt;
* a &#039;&#039;&#039;scope&#039;&#039;&#039; -- system, resource group, user, or none&lt;br /&gt;
&lt;br /&gt;
Every QuantaStor API, CLI, and web interface command goes through the same core service, and every call passes an authentication and an authorization check. Because of that shared path, RBAC applies uniformly no matter how the account connects -- web interface, {{Code|1=qs}} CLI, or REST API.&lt;br /&gt;
&lt;br /&gt;
This granularity is especially useful for automation: a dedicated account can be created for a script whose role permits only the task it performs, such as creating and deleting a nightly snapshot of a Network Share.&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with four default roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; -- full access to all functions on all systems in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Security Administrator&#039;&#039;&#039; -- full control over security-related functions.&lt;br /&gt;
* &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; -- for users managing object storage tenants.&lt;br /&gt;
* &#039;&#039;&#039;System Monitor&#039;&#039;&#039; -- view only; no configuration changes.&lt;br /&gt;
&lt;br /&gt;
=== Role Management ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_role_create.png|thumb|right|586px|Create Role, showing the permission assignment grid.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Roles &amp;amp;rarr; Role &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Each user is assigned a single Role, and a role change takes effect immediately.  If a user logged in as &#039;&#039;&#039;Administrator&#039;&#039;&#039; has their role changed to &#039;&#039;&#039;System Monitor&#039;&#039;&#039;, which has only view permissions, the new permissions apply to their next action.  Tasks already running -- a Storage Volume create, for example -- complete at the authorization level held when the task started.&lt;br /&gt;
&lt;br /&gt;
The Create Role dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, a &#039;&#039;&#039;Description&#039;&#039;&#039;, and an optional &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; used for &#039;&#039;&#039;[[#LDAP Single-Sign-On Authentication|single sign-on]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Because a role carries hundreds of individual permissions, the dialog provides two shortcuts:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Copy Permissions from Role&#039;&#039;&#039; -- start from an existing role&#039;s permission set (pick the source role in the adjacent dropdown) and adjust from there.  This is by far the fastest way to build a new role.&lt;br /&gt;
* &#039;&#039;&#039;Apply Permission Scope to Selected&#039;&#039;&#039; -- tick a set of rows in the grid, choose a scope, and apply it to all of them at once.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Web Interface Customization&#039;&#039;&#039; tab hides web interface tab panels and sections for every user holding the role -- the same mechanism described under &#039;&#039;&#039;[[#Web Interface Customization|Web Interface Customization]]&#039;&#039;&#039;, but applied per role rather than per user.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Object Types ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Permission Assignments&#039;&#039;&#039; grid lists every permission as a row of &#039;&#039;&#039;Object Type&#039;&#039;&#039;, &#039;&#039;&#039;Operation&#039;&#039;&#039;, and &#039;&#039;&#039;Permission Scope&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
On QuantaStor 6.9 there are &#039;&#039;&#039;207 object types&#039;&#039;&#039; and &#039;&#039;&#039;662 individual permissions&#039;&#039;&#039;, covering everything from the common types such as Storage Volume, Network Share, and Object Bucket through to internal types such as Acl, AlertConfiguration, and TargetPort.&lt;br /&gt;
&lt;br /&gt;
Because that list is long, use the &#039;&#039;&#039;&amp;lt;Show All Object Types&amp;gt;&#039;&#039;&#039; filter above the grid to narrow it to the object type you are working on, then set the operations for that type.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Types ===&lt;br /&gt;
&lt;br /&gt;
Every permission is a combination of an object type and an &#039;&#039;&#039;operation&#039;&#039;&#039; that can be performed on it.  Across the default Administrator role there are 120 distinct operations; the most common are &#039;&#039;&#039;view&#039;&#039;&#039;, &#039;&#039;&#039;modify&#039;&#039;&#039;, &#039;&#039;&#039;create&#039;&#039;&#039;, and &#039;&#039;&#039;delete&#039;&#039;&#039;, with more specific ones such as &#039;&#039;&#039;add&#039;&#039;&#039;, &#039;&#039;&#039;remove&#039;&#039;&#039;, &#039;&#039;&#039;rescan&#039;&#039;&#039;, &#039;&#039;&#039;enable&#039;&#039;&#039;, &#039;&#039;&#039;disable&#039;&#039;&#039;, &#039;&#039;&#039;identify&#039;&#039;&#039;, &#039;&#039;&#039;set&#039;&#039;&#039;, and &#039;&#039;&#039;clear&#039;&#039;&#039; on the object types that support them.&lt;br /&gt;
&lt;br /&gt;
This per-operation granularity is what lets a role fit a job function.  A &amp;quot;Provisioning Administrator&amp;quot; role, for example, can be given &#039;&#039;&#039;create&#039;&#039;&#039; but not &#039;&#039;&#039;delete&#039;&#039;&#039;, so the routine task of provisioning storage can be delegated without the risk of data deletion.&lt;br /&gt;
&lt;br /&gt;
All object types also have a &#039;&#039;&#039;view&#039;&#039;&#039; permission, and this one deserves attention: some parts of the web management interface require view permission on a type in order to function.  Removing &#039;&#039;&#039;view&#039;&#039;&#039; is useful when a role should have no visibility of a type at all -- an administrator responsible only for Network Shares could have &#039;&#039;&#039;view&#039;&#039;&#039; on &#039;&#039;&#039;StorageVolume&#039;&#039;&#039; set to &#039;&#039;&#039;None&#039;&#039;&#039;, so that no Storage Volumes are visible to them.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Scope ===&lt;br /&gt;
&lt;br /&gt;
Each permission&#039;s &#039;&#039;&#039;scope&#039;&#039;&#039; determines the breadth of the grant.  Click a &#039;&#039;&#039;Permission Scope&#039;&#039;&#039; cell in the grid to change it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Global/System&#039;&#039;&#039; -- grid-wide access to the operation on all systems.&lt;br /&gt;
* &#039;&#039;&#039;None&#039;&#039;&#039; -- access to the operation is blocked entirely.&lt;br /&gt;
* &#039;&#039;&#039;User&#039;&#039;&#039; -- access is limited to objects the user owns.  A role with the permission &#039;&#039;&#039;Storage Volume + delete + User&#039;&#039;&#039; allows deleting only Storage Volumes for which that user is the owner.&lt;br /&gt;
* &#039;&#039;&#039;Resource Group&#039;&#039;&#039; -- access is limited to the objects in the Resource Group the user is assigned to.  This is how QuantaStor implements multi-tenancy; see &#039;&#039;&#039;[[#Multitenancy / Resource Group Management|Multitenancy]]&#039;&#039;&#039;.&lt;br /&gt;
== User Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_users_section.png|thumb|right|800px|Security tab, Management Users section.]]&lt;br /&gt;
&lt;br /&gt;
Users in QuantaStor are &#039;&#039;&#039;management users&#039;&#039;&#039; -- accounts with access to the management interface under a specific Role.&lt;br /&gt;
&lt;br /&gt;
These accounts are also created as local (Linux/Unix) users on &#039;&#039;&#039;every&#039;&#039;&#039; Storage System in the grid, with the same POSIX UID and GID on each.  This enables management accounts to be used for SMB file access, which matters in environments where AD/LDAP is not configured, or where direct non-AD user access is needed.&lt;br /&gt;
&lt;br /&gt;
For security, the local accounts created for SMB access are given {{Code|1=/usr/sbin/nologin}} as their shell, so they cannot log in over SSH or at the console.  By default the only accounts with a login shell are &#039;&#039;&#039;qadmin&#039;&#039;&#039; and &#039;&#039;&#039;root&#039;&#039;&#039;, and those should be reserved for maintenance activities.  That restriction can be overridden with standard Linux user management commands, but doing so widens your attack surface and is not recommended.&lt;br /&gt;
&lt;br /&gt;
=== Adding New Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_add.png|thumb|right|626px|Add User dialog, General tab.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Add &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab takes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039; -- also becomes the local POSIX account name on every system in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039; and &#039;&#039;&#039;Repeat Password&#039;&#039;&#039; -- must satisfy the grid password policy set in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039;.  The factory default policy is deliberately permissive; raising it with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; is recommended.&lt;br /&gt;
* &#039;&#039;&#039;Role&#039;&#039;&#039; -- see &#039;&#039;&#039;[[#Role Based Access Controls (RBAC)|RBAC]]&#039;&#039;&#039;.  Assign &#039;&#039;&#039;System Monitor&#039;&#039;&#039; to an account that only needs to observe, rather than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; -- require a second factor for this account; see &#039;&#039;&#039;[[#Multi-factor Authentication|Multi-factor Authentication]]&#039;&#039;&#039;.  These are greyed out until at least one MFA configuration exists.&lt;br /&gt;
* &#039;&#039;&#039;User Information&#039;&#039;&#039; -- optional First Name, Last Name, and Description.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account can be modified but cannot be deleted, and cannot be assigned any role other than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A newly created user appears in the Users grid with its assigned Role and the POSIX User ID allocated to it, and the matching local account exists on every system in the grid immediately.&lt;br /&gt;
&lt;br /&gt;
==== Alert Subscriptions ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_alerts.png|thumb|right|626px|Add User, Alert Subscriptions tab.]]&lt;br /&gt;
&lt;br /&gt;
Entering a user&#039;s email address and selecting the alert severity levels to subscribe to routes email alerts to that administrator.  Several users can subscribe at different severities, so that (for example) only critical alerts page the on-call administrator while an operations mailbox receives everything.&lt;br /&gt;
&lt;br /&gt;
Once configured, use the &#039;&#039;&#039;Alert Manager&#039;&#039;&#039; to send a test alert and confirm delivery end to end.&lt;br /&gt;
&lt;br /&gt;
==== Web Interface Customization ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_webcustom.png|thumb|right|626px|Add User, Web Interface Customization tab.]]&lt;br /&gt;
&lt;br /&gt;
In larger deployments with many administrators, or on systems built for a narrow use case, it can help to hide the interface tab panels and sections a given user does not need.  This reduces complexity and makes the interface clearer for admins with a narrow remit.&lt;br /&gt;
&lt;br /&gt;
Un-check the panels and sections to hide them.  The user must &#039;&#039;&#039;log out and back in&#039;&#039;&#039; for the customized layout to take effect.&lt;br /&gt;
&lt;br /&gt;
The same customization can be applied to a Role instead of an individual user, which is usually preferable when several people share a job function -- see &#039;&#039;&#039;[[#Role Management|Role Management]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== User Account Advanced Settings ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_advanced.png|thumb|right|626px|Add User, Advanced Settings tab.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds three things:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;User Default CHAP settings&#039;&#039;&#039; -- a &#039;&#039;&#039;CHAP User&#039;&#039;&#039; and &#039;&#039;&#039;CHAP Password&#039;&#039;&#039; used as this account&#039;s defaults for iSCSI authentication.&lt;br /&gt;
* &#039;&#039;&#039;Customize UID/GID&#039;&#039;&#039; -- tick this to set an explicit &#039;&#039;&#039;POSIX UID&#039;&#039;&#039; and &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; rather than letting QuantaStor allocate them.  Set these deliberately when the account is used for SMB and NFS access and must match UIDs already in use elsewhere in your environment; the fields are greyed out until the box is ticked.&lt;br /&gt;
* &#039;&#039;&#039;Enable &#039;[QSCLITKN]&#039; token based authentication for QS CLI via &#039;root&#039; console account&#039;&#039;&#039; -- lets someone logged into a QuantaStor system as &#039;&#039;&#039;root&#039;&#039;&#039; run {{Code|1=qs}} CLI commands without supplying a password each time.&lt;br /&gt;
&lt;br /&gt;
To use the token authentication, tick that checkbox for the account, then, as &#039;&#039;&#039;root&#039;&#039;&#039; on the system, write a {{Code|1=~/.qs.cnf}} naming the account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;localhost,admin,[QSCLITKN]&amp;quot; &amp;gt; ~/.qs.cnf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace {{Code|1=admin}} with whichever account you enabled the option for.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the first one or two {{Code|1=qs}} commands after creating this file fail with &#039;&#039;&amp;quot;Service authentication token check failed ... remote caller will update token&amp;quot;&#039;&#039; while the token is being established.  This is expected -- retry and the command succeeds, after which authentication is transparent.&lt;br /&gt;
&lt;br /&gt;
The same mechanism can be used with a remote host rather than {{Code|1=localhost}} by changing the first field.&lt;br /&gt;
&lt;br /&gt;
=== Modifying Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_modify.png|thumb|right|626px|Modify User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Modify &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Modify User dialog exposes the same settings as Create User across the same four tabs, so a user&#039;s role, alert subscriptions, interface customization, and advanced settings can all be changed after the fact.  Changes take effect on the user&#039;s next action.&lt;br /&gt;
&lt;br /&gt;
To change only a password, use &#039;&#039;&#039;Set Password&#039;&#039;&#039; from the User group in the toolbar rather than the full Modify dialog.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Modify|Modify User]].&lt;br /&gt;
&lt;br /&gt;
=== Removing Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_remove.png|thumb|right|406px|Remove User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Remove &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The dialog confirms the &#039;&#039;&#039;Username&#039;&#039;&#039; and shows the account&#039;s properties before removal.&lt;br /&gt;
&lt;br /&gt;
Removal takes effect immediately and grid-wide.  A user who is logged into the web interface when their account is removed loses access to all systems in the grid at once, and the matching local POSIX account is deleted from every Storage System.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account cannot be removed.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Remove|Removing Users]].&lt;br /&gt;
&lt;br /&gt;
== User Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_usergroup_create.png|thumb|right|550px|Create User Group dialog.]]&lt;br /&gt;
&lt;br /&gt;
User Groups collect users under a common POSIX GID, which is useful when several users need to be owners of the same Network Share.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Groups &amp;amp;rarr; User Group &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Create User Group dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, an optional &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; (allocated automatically if left blank), and a grid from which to &#039;&#039;&#039;select one or more users for the group&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Group membership can be changed later with &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, and the group&#039;s other properties with &#039;&#039;&#039;Modify&#039;&#039;&#039;.  &#039;&#039;&#039;Delete&#039;&#039;&#039; removes the group; the user accounts themselves are unaffected.&lt;br /&gt;
&lt;br /&gt;
== Multitenancy / Resource Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_multitenancy.png|thumb|right|800px|Multitenancy tab.]]&lt;br /&gt;
&lt;br /&gt;
Resource Groups are multi-tenant containers that group users together with resources -- [[Storage Volumes]], [[Network Shares]] -- and with provisioning quotas for self-service provisioning from Storage Pools.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Multitenancy &#039;&#039;(main tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Resource Group&#039;&#039;&#039; toolbar group provides &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Tenants&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Service Configs&#039;&#039;&#039;, and &#039;&#039;&#039;Add Network Association&#039;&#039;&#039; / &#039;&#039;&#039;Remove Network Association&#039;&#039;&#039; for binding a group to specific networks.  The &#039;&#039;&#039;Provisioning Quota&#039;&#039;&#039; group provides &#039;&#039;&#039;Create&#039;&#039;&#039;, &#039;&#039;&#039;Modify&#039;&#039;&#039;, and &#039;&#039;&#039;Delete&#039;&#039;&#039; for quotas, plus &#039;&#039;&#039;Add/Remove Volumes&#039;&#039;&#039; and &#039;&#039;&#039;Add/Remove Shares&#039;&#039;&#039; to place resources into a group.&lt;br /&gt;
&lt;br /&gt;
Users assigned to a Resource Group should hold a role whose permissions are scoped to &#039;&#039;&#039;Resource Group&#039;&#039;&#039; rather than &#039;&#039;&#039;Global/System&#039;&#039;&#039;, so that their view of the grid is limited to the resources in their group.  The &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; role is the shipped starting point for object storage tenants; for file and block multi-tenancy, create a role with the permissions you want at &#039;&#039;&#039;Resource Group&#039;&#039;&#039; scope -- see &#039;&#039;&#039;[[#Role Permissions - Operation Scope|Operation Scope]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Further information: [[Create_Resource_Group|Create a Resource Group]].&lt;br /&gt;
== System Setup Security Checks ==&lt;br /&gt;
&lt;br /&gt;
The steps in this section are the minimum hardening pass for a newly deployed QuantaStor system.  All of them should be completed before the system carries production data.&lt;br /&gt;
&lt;br /&gt;
# Change the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default.&lt;br /&gt;
# Change the &#039;&#039;&#039;admin&#039;&#039;&#039; management password from its default.&lt;br /&gt;
# Apply &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039; to raise the password and lockout policy.&lt;br /&gt;
# Set &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; to &#039;&#039;HTTP redirects to HTTPS&#039;&#039; or &#039;&#039;HTTP disabled&#039;&#039;.&lt;br /&gt;
# Replace the shipped self-signed certificate -- see &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
# Block unused protocols in the &#039;&#039;&#039;[[#Firewall Configuration|firewall]]&#039;&#039;&#039;.&lt;br /&gt;
# Consider enabling &#039;&#039;&#039;[[#Multi-factor Authentication|multi-factor authentication]]&#039;&#039;&#039; for administrative accounts.&lt;br /&gt;
&lt;br /&gt;
=== Change Passwords ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with two default accounts that must both be changed.  They are separate accounts with separate passwords: &#039;&#039;&#039;qadmin&#039;&#039;&#039; is the console/SSH account, &#039;&#039;&#039;admin&#039;&#039;&#039; is the management interface account.&lt;br /&gt;
&lt;br /&gt;
==== Change SSH Console Administrator Account &#039;qadmin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
One of the most important steps in configuring a new QuantaStor system is changing the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default of &#039;&#039;&#039;qadmin&#039;&#039;&#039; on each Storage System.&lt;br /&gt;
&lt;br /&gt;
Log in at the console as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, or connect over &#039;&#039;&#039;SSH&#039;&#039;&#039; as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a strong password containing upper and lower case letters, numbers, and symbols.  Repeat this on every Storage System in the grid -- this is a local console account, so changing it on one system does not change it on the others.&lt;br /&gt;
&lt;br /&gt;
Note that this password is independent of the grid password policy configured in the Security Manager, which governs &#039;&#039;&#039;management&#039;&#039;&#039; users only.&lt;br /&gt;
&lt;br /&gt;
==== Change Management Administrator Account &#039;admin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_set_password.png|thumb|right|377px|Set Password dialog.]]&lt;br /&gt;
&lt;br /&gt;
Log in to the web management interface as &#039;&#039;&#039;admin&#039;&#039;&#039; and change the default password, which is &#039;&#039;&#039;password&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select the&#039;&#039; admin &#039;&#039;user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Set Password &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The new password must satisfy the grid password policy.  Use at least 10 characters with upper and lower case letters and numbers -- or raise the policy first with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; so the requirement is enforced for every account rather than relying on convention.&lt;br /&gt;
&lt;br /&gt;
Unlike &#039;&#039;&#039;qadmin&#039;&#039;&#039;, this is a grid-wide management account: changing it once changes it for the whole Storage Grid.&lt;br /&gt;
&lt;br /&gt;
== Firewall Configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_firewall.png|thumb|right|616px|Storage System Modify, Firewall tab.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor has an integrated firewall management system that controls protocol access both at the system level and per network port.  For high-security environments it is recommended to block every protocol that will not be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (system level):&#039;&#039;&#039; Storage Management --&amp;gt; &#039;&#039;select a Storage System&#039;&#039; --&amp;gt; Modify &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (per port):&#039;&#039;&#039; Storage Management --&amp;gt; Network Ports --&amp;gt; &#039;&#039;select a port&#039;&#039; --&amp;gt; Modify Network Port &#039;&#039;(toolbar or right-click)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Firewall tab lists each service with a description and an &#039;&#039;&#039;Allow&#039;&#039;&#039; checkbox.  The services managed are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; -- web management interface access&lt;br /&gt;
* &#039;&#039;&#039;QS REST API&#039;&#039;&#039; -- REST API access to management functions&lt;br /&gt;
* &#039;&#039;&#039;iSCSI Target&#039;&#039;&#039; -- iSCSI protocol access to Storage Volumes&lt;br /&gt;
* &#039;&#039;&#039;NVMeoF Target&#039;&#039;&#039; -- NVMe over Fabrics access&lt;br /&gt;
* &#039;&#039;&#039;SMB&#039;&#039;&#039; -- SMB/CIFS file access&lt;br /&gt;
* &#039;&#039;&#039;NFS&#039;&#039;&#039; and &#039;&#039;&#039;NFS Ganesha&#039;&#039;&#039; -- NFS file access, scale-up and scale-out respectively&lt;br /&gt;
* &#039;&#039;&#039;Ceph&#039;&#039;&#039; -- scale-out cluster communication&lt;br /&gt;
* &#039;&#039;&#039;Grafana&#039;&#039;&#039; -- Grafana monitoring and statistics&lt;br /&gt;
* &#039;&#039;&#039;Prometheus&#039;&#039;&#039; -- Prometheus monitoring and alerting&lt;br /&gt;
* &#039;&#039;&#039;Chronograf&#039;&#039;&#039; -- Chronograf monitoring&lt;br /&gt;
&lt;br /&gt;
Clear the &#039;&#039;&#039;Allow&#039;&#039;&#039; box for any service you do not use.  A common hardening pass on a file-only deployment, for example, is to leave SMB and NFS enabled and clear iSCSI Target, NVMeoF Target, and Ceph.&lt;br /&gt;
&lt;br /&gt;
Be careful not to block the protocol you are managing the system with: clearing &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; on the port you are connected through will cut off your own session.  Note also that &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; set to &#039;&#039;HTTP disabled&#039;&#039; installs its own rule dropping port 80, independently of these checkboxes.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;Apply&#039;&#039;&#039; to commit changes without closing the dialog.&lt;br /&gt;
== SSL/TLS Certificate &amp;amp; Web Access Security ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor serves the web management interface, the REST API, and the internal grid communication channels over TLS.  The web management interface is served by &#039;&#039;&#039;nginx&#039;&#039;&#039; and the TLS settings, ciphers, and certificates are all managed by QuantaStor.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for administrators upgrading from QuantaStor v4:&#039;&#039;&#039; older releases served the web interface from Apache Tomcat and required generating a Java keystore with {{Code|1=keytool}}.  That is no longer the case.  There is no keystore, no {{Code|1=server.xml}}, and no tomcat service on QuantaStor v5 and newer -- use the procedures below instead.&lt;br /&gt;
&lt;br /&gt;
=== Web Access Mode ===&lt;br /&gt;
&lt;br /&gt;
The single most important web security setting is the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039;, which controls whether plain HTTP is served at all.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039; &amp;amp;rarr; Advanced Settings}}&lt;br /&gt;
&lt;br /&gt;
The three modes are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HTTP enabled (INSECURE)&#039;&#039;&#039; -- port 80 serves the interface over plain, unencrypted HTTP.  This is the factory default so that a newly-imaged appliance is reachable before certificates are in place; it is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for production.&lt;br /&gt;
* &#039;&#039;&#039;HTTP redirects to HTTPS (recommended)&#039;&#039;&#039; -- port 80 answers with a 301 redirect to HTTPS.  Nothing sensitive traverses the network in the clear, but a user who types the bare hostname still lands on the interface.&lt;br /&gt;
* &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039; -- port 80 is dropped at the firewall entirely.  Use this in high-security environments where an open port 80, even one that only redirects, is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Changing this setting switches the active nginx site configuration and, for &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039;, also installs a firewall rule that drops port 80.  The change applies immediately -- no reboot is required.&lt;br /&gt;
&lt;br /&gt;
The Web Access Mode affects &#039;&#039;&#039;port 80 only&#039;&#039;&#039;.  The HTTPS listener on port 443 uses the same TLS versions, cipher list, and certificate in every mode, so switching modes does not change the encryption offered to HTTPS clients -- it only determines whether an unencrypted alternative is reachable.  Setting the mode to &#039;&#039;&#039;HTTP redirects to HTTPS&#039;&#039;&#039; should nonetheless be treated as a required hardening step on every production deployment.&lt;br /&gt;
&lt;br /&gt;
Changing this setting prompts a confirmation warning that the change may log users out of the interface and cause passwords to expire; the mode change itself takes effect as soon as you confirm.&lt;br /&gt;
&lt;br /&gt;
=== Supported TLS Versions and Ciphers ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s nginx configuration accepts &#039;&#039;&#039;TLS 1.2 and TLS 1.3&#039;&#039;&#039; only, in all web access modes, with server cipher preference enabled and the cipher list restricted to modern AEAD suites: &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:&lt;br /&gt;
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:&lt;br /&gt;
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSLv3, TLS 1.0, and TLS 1.1 are not accepted. &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;  The interface also sends an HSTS header ({{Code|1=Strict-Transport-Security}}) with a one year max-age.&lt;br /&gt;
&lt;br /&gt;
The shipped defaults live in this file, which is replaced on upgrade and should &#039;&#039;&#039;not&#039;&#039;&#039; be edited in place:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/nginx_quantastor_ssl_default.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To customize the TLS settings or point nginx at your own certificate, use the {{Code|1=qs-util}} helper to copy the defaults to a user-editable location that upgrades will not overwrite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs-util wuicustomcerts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates the following file, which you then edit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cipher settings for the QuantaStor grid communication channels (separate from the web interface) are controlled by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That shipped file is replaced on upgrade, so it should not be edited in place. To customize the grid communication ciphers, place your own copy at the override location below.  The override does not exist by default -- create it only when you intend to depart from the shipped cipher list, and QuantaStor will use it in preference to the shipped file and leave it untouched across upgrades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Certificate ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with a common self-signed certificate that is pre-generated and included with all deployments.  Because it is self-signed and shared across all deployments, browsers will warn on first connection, and it provides no identity assurance.  Replacing it is recommended for any deployment reachable beyond a trusted management network.&lt;br /&gt;
&lt;br /&gt;
The certificate and key used by the web interface and REST service are here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsrestsrv.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grid communication uses a separate pair:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsserver.pem&lt;br /&gt;
/opt/osnexus/common/lib/qsclient.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of these are discovered and monitored automatically -- see &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; below, which is the recommended way to review and replace them.&lt;br /&gt;
&lt;br /&gt;
=== Installing a Custom Certificate ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;recommended&#039;&#039;&#039; way to install your own certificate is through &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; -- add the certificate as a template once, then apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case on each Storage System.  That keeps the certificate inventory, expiry monitoring, and alerting accurate, and avoids editing nginx configuration by hand.  See &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Use the manual procedure below only when you need to change nginx TLS directives themselves (for example to further restrict the cipher list), since those are not expressible as a certificate template:&lt;br /&gt;
&lt;br /&gt;
* Run {{Code|1=qs-util wuicustomcerts}} to copy the shipped defaults to an editable file that upgrades will not overwrite.&lt;br /&gt;
* Edit {{Code|1=/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf}}.&lt;br /&gt;
* Reload nginx to apply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify the negotiated protocol and cipher from a client:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | grep -E &#039;Protocol|Cipher is&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Repeat on each Storage System in the grid, or use the Certificate Management section to confirm all systems at once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if you are using Firefox and have previously accepted the old self-signed certificate, clear the cached certificate exception for the host or Firefox will continue to present the stale certificate warning.&lt;br /&gt;
=== [[Custom SSL_TLS Security|Custom SSL Certificates and TLS Security]] ===&lt;br /&gt;
* Generating and installing custom SSL certificates, and applying custom TLS security settings.  For most deployments the &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; section above is the better route, since it keeps the certificate inventory and expiry alerting accurate.&lt;br /&gt;
&lt;br /&gt;
=== [[Custom SSH Security|Custom SSH Ciphers and Key Exchange Algorithms]] ===&lt;br /&gt;
* Customizing the SSH service to enforce strong ciphers and key exchange algorithms for SSH communication.&lt;br /&gt;
== Certificate Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_certificates.png|thumb|right|800px|Certificates section showing every certificate on every Storage System in the grid.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor discovers, inventories, and monitors every TLS certificate in use across the Storage Grid, so administrators can see at a glance what is installed, what it is used for, and when it expires.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates}}&lt;br /&gt;
&lt;br /&gt;
The Certificates section lists certificates grouped by Storage System.  For each certificate the grid shows its file path, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Use Case&#039;&#039;&#039;, description, certificate modulus MD5, serial number, and the start and end of its validity period.  Because the view spans the whole grid, a single screen confirms that every system is using the certificate you expect.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Use Cases ===&lt;br /&gt;
&lt;br /&gt;
Each certificate is tagged with the service that consumes it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NGINX&#039;&#039;&#039; -- the certificate served to browsers for the web management interface.&lt;br /&gt;
* &#039;&#039;&#039;Rest Service&#039;&#039;&#039; -- the certificate presented by the QuantaStor REST API service.&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor Service [Grid Communication]&#039;&#039;&#039; -- the server-side certificate for inter-node grid communication.&lt;br /&gt;
* &#039;&#039;&#039;Client [Grid Communication]&#039;&#039;&#039; -- the client-side certificate a node presents to its peers.&lt;br /&gt;
* &#039;&#039;&#039;HAProxy&#039;&#039;&#039; -- the certificate used by the integrated load balancer, when configured.&lt;br /&gt;
* &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; -- the certificate used by the Ceph S3/Object Gateway.  Two use cases are available, for a first and second gateway instance ({{Code|1=cephrgw-1}} and {{Code|1=cephrgw-2}} on the CLI).&lt;br /&gt;
&lt;br /&gt;
Note that the same PEM file may appear more than once with different use cases when one certificate serves several roles -- for example {{Code|1=qsrestsrv.pem}} is used for both &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Expiration Alerts ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor monitors validity dates and raises alerts as a certificate approaches expiry, so a certificate never lapses unnoticed.  Alerts are raised at &#039;&#039;&#039;90, 60, 30, 7, and 2 days&#039;&#039;&#039; before expiry, and again once the certificate has actually expired.&lt;br /&gt;
&lt;br /&gt;
The longer-lead warnings are only raised for certificates with a correspondingly long lifetime -- the 90 day warning applies to certificates valid for more than 18 months, the 60 day warning to those valid for more than a year, and the 30 day warning to those valid for more than 90 days.  This prevents short-lived certificates from generating alerts the moment they are installed.  The 7 day, 2 day, and expired alerts always apply.&lt;br /&gt;
&lt;br /&gt;
Alerts are delivered through the standard QuantaStor alerting system, so they reach whatever email and SNMP destinations you have configured in the Alert Manager.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Templates ===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;certificate template&#039;&#039;&#039; holds a certificate (and its private key) that you have obtained from your CA, stored once in the grid so it can be applied to any service on any Storage System.  Templates are what make it possible to roll out your own certificate across the grid from the management interface instead of copying PEM files onto each node by hand.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; &#039;&#039;Certificate Templates&#039;&#039; &#039;&#039;(tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The toolbar provides &#039;&#039;&#039;Add Template&#039;&#039;&#039;, &#039;&#039;&#039;Update&#039;&#039;&#039;, &#039;&#039;&#039;Remove Template&#039;&#039;&#039;, and &#039;&#039;&#039;Certificate Template Manager&#039;&#039;&#039; for reviewing and maintaining templates.&lt;br /&gt;
&lt;br /&gt;
=== Installing Your Own Certificate ===&lt;br /&gt;
&lt;br /&gt;
This is the recommended way to replace any of QuantaStor&#039;s default self-signed certificates, including the one served by the web management interface.&lt;br /&gt;
&lt;br /&gt;
* Obtain a certificate and private key from your CA.&lt;br /&gt;
* &#039;&#039;&#039;Add a template&#039;&#039;&#039; from the certificate.  Supply a name, a description, and the PEM file containing the certificate and key block.  If the private key is in a separate file, supply it as well.&lt;br /&gt;
* &#039;&#039;&#039;Apply the template&#039;&#039;&#039; to the use case you want it to serve on a given Storage System -- for example apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case to change the certificate browsers see for the web management interface.&lt;br /&gt;
* Repeat the apply step for each Storage System, and for each use case the certificate should cover.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT -- the certificate must contain a Subject Alternative Name (SAN).&#039;&#039;&#039; QuantaStor validates certificates before accepting them as a template and rejects any certificate without a SAN extension, with the error &#039;&#039;&amp;quot;Certificate validation failed. Unable to create certificate template out of invalid certificate.&amp;quot;&#039;&#039;  A Common Name alone is not sufficient.  Include every name and address the systems will be reached by -- the FQDN, the short hostname, and the management IP.  When generating a self-signed certificate with {{Code|1=openssl req}}, add the SAN explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -newkey rsa:2048 -nodes -days 365 \&lt;br /&gt;
  -subj &amp;quot;/C=US/ST=&amp;amp;lt;state&amp;amp;gt;/L=&amp;amp;lt;city&amp;amp;gt;/O=&amp;amp;lt;org&amp;amp;gt;/CN=&amp;amp;lt;fqdn&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -addext &amp;quot;subjectAltName=DNS:&amp;amp;lt;fqdn&amp;amp;gt;,DNS:&amp;amp;lt;hostname&amp;amp;gt;,IP:&amp;amp;lt;system-ip&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -keyout mycert.key -out mycert.crt&lt;br /&gt;
&lt;br /&gt;
cat mycert.crt mycert.key &amp;gt; mycert.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a certificate against QuantaStor&#039;s validation rules before importing it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/bin/qs_certutil.sh validate --pem-file &amp;amp;lt;path-to-pem&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the CLI the two steps are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-add --name=&amp;amp;lt;template-name&amp;amp;gt; --description=&amp;amp;lt;text&amp;amp;gt; \&lt;br /&gt;
                 --certificate-pem-data=&amp;amp;lt;path-to-pem&amp;amp;gt; \&lt;br /&gt;
                 [--privatekey-pem-data=&amp;amp;lt;path-to-key-pem&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
qs cert-update --storage-system=&amp;amp;lt;system&amp;amp;gt; --cert-use-case=2 \&lt;br /&gt;
               --cert-tmpl=&amp;amp;lt;template-name&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; {{Code|1=--cert-use-case}} currently requires the numeric use case value rather than its name.  The values are &#039;&#039;0&#039;&#039; none, &#039;&#039;1&#039;&#039; haproxy, &#039;&#039;2&#039;&#039; nginx, &#039;&#039;3&#039;&#039; cephrgw-1, &#039;&#039;4&#039;&#039; cephrgw-2, &#039;&#039;5&#039;&#039; qsrest, &#039;&#039;6&#039;&#039; qsserver, &#039;&#039;7&#039;&#039; qsclient.&lt;br /&gt;
&lt;br /&gt;
QuantaStor reloads the affected service automatically once the certificate is applied, so the new certificate is served without further action -- nginx for the &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039; use cases, HAProxy for &#039;&#039;&#039;HAProxy&#039;&#039;&#039;, and the Object Gateway services for the gateway use cases.  nginx is reloaded rather than restarted, so applying a web interface certificate does not disconnect your own management session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for QuantaStor releases prior to 6.9:&#039;&#039;&#039; the nginx reload was not performed automatically, and the appliance would continue to present the previous certificate until nginx was reloaded by hand:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm what is actually being served, including the SAN:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | openssl x509 -noout -subject -dates -ext subjectAltName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rescanning Certificates ===&lt;br /&gt;
&lt;br /&gt;
If a certificate is replaced outside of QuantaStor -- for example by editing the nginx configuration directly, or by a external renewal process dropping in a new PEM -- use &#039;&#039;&#039;Rescan&#039;&#039;&#039; to re-read the certificates from disk and refresh the inventory, validity dates, and alert state.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; Rescan &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== Reviewing Certificates from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same inventory is available from the QuantaStor CLI, which is convenient for scripted compliance checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-list&lt;br /&gt;
qs cert-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-rescan --storage-system=&amp;amp;lt;system&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certificate templates have a matching set of commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-list&lt;br /&gt;
qs cert-tmpl-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-tmpl-rm --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For TLS version and cipher settings, see &#039;&#039;&#039;[[#Supported TLS Versions and Ciphers|Supported TLS Versions and Ciphers]]&#039;&#039;&#039;.&lt;br /&gt;
== Endpoint Detection &amp;amp; Response (EDR) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_agents.png|thumb|right|800px|EDR Agents section.  Agents are installed per Storage System and report vendor, status, version, and enabled features.]]&lt;br /&gt;
&lt;br /&gt;
Many security standards and cyber-insurance policies require an endpoint detection and response (EDR) agent on every server, including storage appliances.  QuantaStor can deploy and manage a vendor EDR agent on each Storage System in the grid directly from the web management interface, so the appliances are covered by the same endpoint security tooling as the rest of the fleet without hand-installing agents over SSH.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents}}&lt;br /&gt;
&lt;br /&gt;
The EDR Agents section lists the installed agents with their &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Storage System&#039;&#039;&#039;, &#039;&#039;&#039;Vendor&#039;&#039;&#039;, &#039;&#039;&#039;Status&#039;&#039;&#039;, &#039;&#039;&#039;Version&#039;&#039;&#039;, and the set of &#039;&#039;&#039;Features&#039;&#039;&#039; the agent has enabled.&lt;br /&gt;
&lt;br /&gt;
=== Supported EDR Vendors ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bitdefender GravityZone&#039;&#039;&#039; is the currently supported EDR platform, on Ubuntu 22.04, Ubuntu 24.04, RHEL 8, and RHEL 9.  Additional vendor modules use the same framework and are being added; contact OSNEXUS at info@osnexus.com if you need a specific EDR platform supported.&lt;br /&gt;
&lt;br /&gt;
Vendor modules are defined on the appliance in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/conf/qs_endpoint_security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing an EDR Agent ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_install.png|thumb|right|516px|Install EDR Security Agent dialog.]]&lt;br /&gt;
&lt;br /&gt;
Before starting, create an installation package for Linux servers in your Bitdefender GravityZone console and note either the &#039;&#039;&#039;package id&#039;&#039;&#039; or the full &#039;&#039;&#039;setup downloader URL&#039;&#039;&#039; the console provides.  The feature set of the agent (which protection modules are enabled) is chosen in the GravityZone console when the package is created, and QuantaStor reads that selection back from the installer.  Individual protection modules can optionally be overridden from the QuantaStor side at install time -- see the {{Code|1=--feature-flags}} argument in the CLI section below.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Install Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
You can also right-click a Storage System to install an agent on it.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Install EDR Security Agent&#039;&#039;&#039; dialog:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;EDR Module&#039;&#039;&#039; -- select the vendor module, e.g. &#039;&#039;Bitdefender&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Install Key / URL&#039;&#039;&#039; -- paste either the short GravityZone package id (e.g. {{Code|1=aabbccdd}}) or the full {{Code|1=setup_downloader.tar}} URL copied from the GravityZone console.  Both forms are accepted, which matters because the vendor&#039;s URL format changes from time to time.&lt;br /&gt;
* &#039;&#039;&#039;Storage Systems&#039;&#039;&#039; -- tick each system to install the agent on.  The grid shows the service, kernel, and distribution version of each system so you can confirm platform support before installing.&lt;br /&gt;
&lt;br /&gt;
QuantaStor then downloads the installer package from GravityZone onto each selected system, installs the agent, and registers it.  Because the appliance must reach the GravityZone service to download the package, ensure outbound access to your GravityZone endpoint is permitted -- see &#039;&#039;&#039;[[#Firewall Configuration|Firewall Configuration]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that the registration key is supplied at install time and stored per node; it is not kept in the vendor module configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring and Removing Agents ===&lt;br /&gt;
&lt;br /&gt;
Once installed, an agent&#039;s &#039;&#039;&#039;Status&#039;&#039;&#039; and &#039;&#039;&#039;Version&#039;&#039;&#039; are refreshed automatically and shown in the EDR Agents grid, so an agent that has stopped running is visible from the management interface rather than only from the vendor console.&lt;br /&gt;
&lt;br /&gt;
To remove an agent, select it and choose &#039;&#039;&#039;Uninstall Agent&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Uninstall Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== EDR Management from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same operations are available from the QuantaStor CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-list&lt;br /&gt;
qs edr-agent-get --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=&amp;amp;lt;systems&amp;amp;gt; --module=bitdefender \&lt;br /&gt;
                    --registration-key=&amp;amp;lt;package-id-or-url&amp;amp;gt;&lt;br /&gt;
qs edr-agent-delete --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-rescan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The create command also accepts an optional {{Code|1=--feature-flags}} argument taking a JSON object, to override individual protection modules without changing the GravityZone package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=qs-node-a --module=bitdefender \&lt;br /&gt;
                    --registration-key=aabbccdd \&lt;br /&gt;
                    --feature-flags=&#039;{&amp;quot;FileScan&amp;quot;:1,&amp;quot;Firewall&amp;quot;:0}&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To review the available vendor modules and their supported platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-module-list&lt;br /&gt;
qs edr-agent-module-get --module=bitdefender&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] ==&lt;br /&gt;
* Installing a custom certificate for the S3/Object Gateway endpoint.  See also the &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; certificate use cases under &#039;&#039;&#039;[[#Certificate Use Cases|Certificate Use Cases]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Multi-factor Authentication ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_mfa_manager.png|thumb|right|631px|Multi-Factor Authentication Manager.]]&lt;br /&gt;
&lt;br /&gt;
Multi-factor authentication (MFA) requires a user to present a second factor, such as a device, in addition to their password.  QuantaStor supports MFA for management logins.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Multi-Factor Auth Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
An MFA &#039;&#039;&#039;configuration&#039;&#039;&#039; must exist before MFA can be enabled on any account. The manager lists the existing configurations by &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Provider&#039;&#039;&#039; and provides &#039;&#039;&#039;Create...&#039;&#039;&#039;, &#039;&#039;&#039;Modify...&#039;&#039;&#039;, &#039;&#039;&#039;Delete...&#039;&#039;&#039;, and &#039;&#039;&#039;Assign/Unassign...&#039;&#039;&#039; for attaching a configuration to user accounts.&lt;br /&gt;
&lt;br /&gt;
The supported providers are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cisco Duo&#039;&#039;&#039; -- see [[Duo Multi-Factor Authentication|Cisco Duo Multi-Factor Authentication]] for the full setup walkthrough&lt;br /&gt;
* &#039;&#039;&#039;OKTA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Creating a configuration takes a &#039;&#039;&#039;Provider&#039;&#039;&#039;, a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, the &#039;&#039;&#039;API Host&#039;&#039;&#039; for your tenant, and the &#039;&#039;&#039;Integration Key&#039;&#039;&#039; and &#039;&#039;&#039;Secret Key&#039;&#039;&#039; issued by the provider.  Obtain those values from your Duo or Okta administration console.&lt;br /&gt;
&lt;br /&gt;
Once a configuration exists, enable MFA per account with &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; on the Add User or Modify User dialog.  The &#039;&#039;&#039;Force (required when in use)&#039;&#039;&#039; option in the manager makes the second factor mandatory rather than optional.&lt;br /&gt;
&lt;br /&gt;
Contact OSNEXUS at info@osnexus.com for guidance on additional MFA options.&lt;br /&gt;
&lt;br /&gt;
== Security Updates ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor supports automatic security updates through the &#039;&#039;&#039;[[Upgrade Manager]]&#039;&#039;&#039; in the web management interface.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Upgrade Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Applying security updates through the Upgrade Manager is the supported path -- it applies the updates OSNEXUS has qualified against the running QuantaStor release, in the correct order, across the systems you select.  Installing distribution packages directly with {{Code|1=apt}} is not recommended, as it can introduce package versions that have not been qualified against the release.&lt;br /&gt;
&lt;br /&gt;
== Encrypting NFS/SMB/iSCSI via IPsec ==&lt;br /&gt;
&lt;br /&gt;
Protocols such as NFSv3 do not encrypt data on the wire.  Where the storage network is not itself trusted, set up an encrypted tunnel between the client and the QuantaStor system so that protocol traffic is protected in transit.&lt;br /&gt;
&lt;br /&gt;
More information on configuring IPsec on QuantaStor systems is available [[IPSec|here]].&lt;br /&gt;
&lt;br /&gt;
Note that IPsec protects data &#039;&#039;&#039;in transit&#039;&#039;&#039;.  For data &#039;&#039;&#039;at rest&#039;&#039;&#039;, QuantaStor provides [[Storage Pools|Storage Pool]] encryption, which is configured when the pool is created and is covered separately in the administrator guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Send System Log Report]] -- collecting and sending a scrubbed log bundle to support&lt;br /&gt;
* [[Duo Multi-Factor Authentication]] -- setting up the Cisco Duo MFA provider&lt;br /&gt;
* [[Custom SSH Security]] -- hardening the SSH service and managing key access&lt;br /&gt;
* [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] -- certificates for the S3 gateway&lt;br /&gt;
* [[IPSec]] -- encrypting protocol traffic in transit between client and appliance&lt;br /&gt;
* [[Storage Pools]] -- pool encryption, which protects data at rest&lt;br /&gt;
* [[Upgrade Manager]] -- applying security patches and QuantaStor updates&lt;br /&gt;
* [[Call-home / Alerting|Alert Manager]] -- alert delivery, including certificate expiry alerts&lt;br /&gt;
* [[Storage System]] -- system-level configuration and the Modify dialog&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=27414</id>
		<title>Security Configuration</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=Security_Configuration&amp;diff=27414"/>
		<updated>2026-09-03T01:03:14Z</updated>

		<summary type="html">&lt;p&gt;Umbe: /* Installing an EDR Agent */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:admin_guide]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor provides a layered set of security controls: grid-wide password and login policy, role based access control over every management operation, multi-factor authentication, an integrated firewall, TLS certificate management, and endpoint detection and response agent deployment.  This page covers each of them.&lt;br /&gt;
&lt;br /&gt;
Many industries require compliance with government security standards covering everything from audit logging to password policies.  These include Health and Human Services security standards [https://www.hhs.gov/hipaa/index.html (HIPAA)], federal law enforcement security standards [https://www.fbi.gov/services/cjis/cjis-security-policy-resource-center (CJIS)], and the general standards outlined by NIST for Controlled Unclassified Information (CUI) in Non-Federal Information Systems and Organizations, covered in NIST 800-53 and [https://csrc.nist.gov/publications/detail/sp/800-171/rev-2/final 800-171].&lt;br /&gt;
&lt;br /&gt;
Nearly all of the settings on this page are reached from the &#039;&#039;&#039;Security&#039;&#039;&#039; tab of the QuantaStor web management interface, which contains these sections:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Security tab section !! Covers !! On this page&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Users&#039;&#039;&#039; || User accounts, password policy, multi-factor authentication || [[#Security Settings Management|Security Settings]], [[#User Management|Users]], [[#Multi-factor Authentication|MFA]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Groups&#039;&#039;&#039; || User groups and their shared POSIX GID || [[#User Group Management|User Groups]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Management Roles&#039;&#039;&#039; || RBAC roles and their permission assignments || [[#Role Based Access Controls (RBAC)|RBAC]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Object Users &amp;amp; Tenants&#039;&#039;&#039; || S3/object storage users and tenants || [[#Multitenancy / Resource Group Management|Multitenancy]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Scale-out File &amp;amp; Block Keyrings&#039;&#039;&#039; || Keyrings for scale-out storage || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Certificates&#039;&#039;&#039; || The grid-wide TLS certificate inventory || [[#Certificate Management|Certificate Management]]&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Key Server Profiles&#039;&#039;&#039; || External key server (KMIP) profiles || not covered here&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EDR Agents&#039;&#039;&#039; || Endpoint detection and response agents || [[#Endpoint Detection &amp;amp; Response (EDR)|EDR]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Also on this page: [[#Firewall Configuration|Firewall Configuration]],&lt;br /&gt;
[[#SSL/TLS Certificate &amp;amp; Web Access Security|SSL/TLS and Web Access Security]],&lt;br /&gt;
[[#System Setup Security Checks|System Setup Security Checks]] and&lt;br /&gt;
[[#Security Updates|Security Updates]].&lt;br /&gt;
&lt;br /&gt;
== Security Settings Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_general.png|thumb|right|546px|Security Manager, General tab -- grid-wide password and login policy.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Security Manager&#039;&#039;&#039; holds the password and login policy for the entire Storage Grid.  These settings apply to all user accounts on all systems in the grid, not per-system.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Choosing &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; automatically configures the password and lockout policies to meet the standards listed above.  This is the recommended starting point -- apply it first, then tune individual settings for the requirements of your deployment.  &#039;&#039;&#039;Discard Changes&#039;&#039;&#039; reverts the dialog to the currently saved policy.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab controls:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Password Complexity&#039;&#039;&#039; -- the required character-class mix.  The factory default is &#039;&#039;Weak&#039;&#039;; raise this for any production or compliance-bound deployment.&lt;br /&gt;
* &#039;&#039;&#039;Allowed Special Characters&#039;&#039;&#039; -- which non-alphanumeric characters are permitted in passwords.&lt;br /&gt;
* &#039;&#039;&#039;Minimum / Maximum Password Length&#039;&#039;&#039; -- both in the range 8 to 80.&lt;br /&gt;
* &#039;&#039;&#039;Login Attempts Until Short Lockout&#039;&#039;&#039; and &#039;&#039;&#039;Login Attempts Until Lockout&#039;&#039;&#039; -- consecutive failures before a temporary and then a permanent lockout.  Set the second to 0 to disable permanent lockout.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Sample Period&#039;&#039;&#039; (short and permanent) -- the window, in seconds, over which failed attempts are counted.&lt;br /&gt;
* &#039;&#039;&#039;Bad Logins Short Lockout Duration&#039;&#039;&#039; -- how long, in seconds, a short lockout lasts.&lt;br /&gt;
* &#039;&#039;&#039;Days Until Password Expires&#039;&#039;&#039; -- 0 to 1000; 0 disables expiry.&lt;br /&gt;
* &#039;&#039;&#039;Unique Passwords Until Reuse&#039;&#039;&#039; -- 0 to 20; how many previous passwords are remembered and refused.&lt;br /&gt;
* &#039;&#039;&#039;Minimum Days Between Password Change&#039;&#039;&#039; -- prevents a user cycling straight back to a previous password.&lt;br /&gt;
* &#039;&#039;&#039;Maximum Days Account Inactive Until Lockout&#039;&#039;&#039; -- locks out dormant accounts.&lt;br /&gt;
* &#039;&#039;&#039;Auto Logout From N Minutes Of Inactivity&#039;&#039;&#039; -- idle timeout for the web interface; 0 disables it.&lt;br /&gt;
* &#039;&#039;&#039;Default Login Username&#039;&#039;&#039; -- the username pre-filled on the login page.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Multi-admin Approvals&#039;&#039;&#039; tab configures which operation types require a second administrator&#039;s approval before they run; approvals are then granted or refused from the &#039;&#039;&#039;Multi-admin Approval&#039;&#039;&#039; group in the Security toolbar.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039; (see &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039;), an optional &#039;&#039;&#039;System Use Notification&#039;&#039;&#039; banner shown to users at login, and the LDAP single-sign-on settings described next.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; saving the Security Manager prompts a confirmation that the change may log users out of the interface and cause passwords to expire.  Plan policy changes accordingly.&lt;br /&gt;
&lt;br /&gt;
=== LDAP Single-Sign-On Authentication ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_manager_advanced.png|thumb|right|546px|Security Manager, Advanced Settings -- Web Access Mode and LDAP single sign-on.]]&lt;br /&gt;
&lt;br /&gt;
The Advanced Settings tab can connect the Storage Grid to an LDAP or Active Directory domain for &#039;&#039;&#039;management user&#039;&#039;&#039; authentication.&lt;br /&gt;
&lt;br /&gt;
To configure this:&lt;br /&gt;
&lt;br /&gt;
* In your LDAP/AD environment, create one or more groups for QuantaStor administration -- for example {{Code|1=QS-Administrator}} and {{Code|1=QS-Monitor}} -- and add the appropriate users to them.&lt;br /&gt;
* In QuantaStor, edit the Role you want each LDAP group to map to and set its &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; field.  For example set the &#039;&#039;&#039;Administrator&#039;&#039;&#039; role&#039;s LDAP Group to {{Code|1=QS-Administrator}}, and the &#039;&#039;&#039;System Monitor&#039;&#039;&#039; role&#039;s to {{Code|1=QS-Monitor}}.  The LDAP Group field is on the Create Role and Modify Role dialogs.&lt;br /&gt;
* Set your DNS and NTP servers to point at your AD server, in the Storage System Modify dialog.  Do this &#039;&#039;&#039;before&#039;&#039;&#039; enabling single sign-on.&lt;br /&gt;
* Return to Security Manager --&amp;gt; Advanced Settings, tick &#039;&#039;&#039;Enable Single Sign-on&#039;&#039;&#039;, and fill in the LDAP settings.  The two fields are greyed out until the checkbox is ticked.&lt;br /&gt;
&lt;br /&gt;
The LDAP fields are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server (FQDN)&#039;&#039;&#039; -- the fully qualified domain name of the LDAP/AD server, for example {{Code|1=dc01.example.com}}&lt;br /&gt;
* &#039;&#039;&#039;LDAP Server Base DN for Users&#039;&#039;&#039; -- the base DN under which user accounts are searched, for example {{Code|1=dc=example,dc=com}}&lt;br /&gt;
&lt;br /&gt;
This integration provides single sign-on for &#039;&#039;&#039;administrative&#039;&#039;&#039; access to the Storage Grid via the QuantaStor web interface, CLI, and REST API.  It does &#039;&#039;&#039;not&#039;&#039;&#039; provide Active Directory integration for SMB network share access. For that, join each system to the domain via &#039;&#039;&#039;Storage Management --&amp;gt; Storage Systems --&amp;gt; Active Directory &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Join AD Domain&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Audit Logging ===&lt;br /&gt;
&lt;br /&gt;
Audit logging of management operations is on by default on all QuantaStor systems and cannot be disabled.  Every API, CLI, and web interface operation passes through the same core service and is recorded.&lt;br /&gt;
&lt;br /&gt;
The audit log is at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/log/qs/qs_audit.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is written in a NIST compliant CEE JSON format, one JSON object per line, so it can be ingested directly by a log aggregator or SIEM without custom parsing. Each record identifies the operation, the user account that invoked it, the source address, and the outcome.&lt;br /&gt;
&lt;br /&gt;
To ship the audit log to a central collector, point your syslog or log agent at this file; QuantaStor does not rotate it out from under a reader.&lt;br /&gt;
&lt;br /&gt;
=== Sending Logs to Support ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor can collect and upload system logs to OSNEXUS Support, scrubbing usernames and other security related information first so that no personally-identifiable information is transmitted, and never including data files from Storage Pools. That makes the collection GDPR compliant.&lt;br /&gt;
&lt;br /&gt;
Full detail is on its own page: &#039;&#039;&#039;[[Send System Log Report|Sending Logs to Support]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Role Based Access Controls (RBAC) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_roles_section.png|thumb|right|800px|Management Roles section with the default roles.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s &#039;&#039;&#039;R&#039;&#039;&#039;ole &#039;&#039;&#039;B&#039;&#039;&#039;ased &#039;&#039;&#039;A&#039;&#039;&#039;ccess &#039;&#039;&#039;C&#039;&#039;&#039;ontrol system lets IT and security administrators grant access limited to a job function, following the [https://en.wikipedia.org/wiki/Principle_of_least_privilege principle of least privilege].&lt;br /&gt;
&lt;br /&gt;
The RBAC system is highly granular.  Each &#039;&#039;&#039;permission&#039;&#039;&#039; has three parts:&lt;br /&gt;
&lt;br /&gt;
* an &#039;&#039;&#039;object type&#039;&#039;&#039; -- for example Network Share, Storage Volume, Storage Pool&lt;br /&gt;
* an &#039;&#039;&#039;operation&#039;&#039;&#039; -- for example create, delete, modify, view&lt;br /&gt;
* a &#039;&#039;&#039;scope&#039;&#039;&#039; -- system, resource group, user, or none&lt;br /&gt;
&lt;br /&gt;
Every QuantaStor API, CLI, and web interface command goes through the same core service, and every call passes an authentication and an authorization check. Because of that shared path, RBAC applies uniformly no matter how the account connects -- web interface, {{Code|1=qs}} CLI, or REST API.&lt;br /&gt;
&lt;br /&gt;
This granularity is especially useful for automation: a dedicated account can be created for a script whose role permits only the task it performs, such as creating and deleting a nightly snapshot of a Network Share.&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with four default roles:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Administrator&#039;&#039;&#039; -- full access to all functions on all systems in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Security Administrator&#039;&#039;&#039; -- full control over security-related functions.&lt;br /&gt;
* &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; -- for users managing object storage tenants.&lt;br /&gt;
* &#039;&#039;&#039;System Monitor&#039;&#039;&#039; -- view only; no configuration changes.&lt;br /&gt;
&lt;br /&gt;
=== Role Management ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_role_create.png|thumb|right|586px|Create Role, showing the permission assignment grid.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Roles &amp;amp;rarr; Role &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Each user is assigned a single Role, and a role change takes effect immediately.  If a user logged in as &#039;&#039;&#039;Administrator&#039;&#039;&#039; has their role changed to &#039;&#039;&#039;System Monitor&#039;&#039;&#039;, which has only view permissions, the new permissions apply to their next action.  Tasks already running -- a Storage Volume create, for example -- complete at the authorization level held when the task started.&lt;br /&gt;
&lt;br /&gt;
The Create Role dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, a &#039;&#039;&#039;Description&#039;&#039;&#039;, and an optional &#039;&#039;&#039;LDAP Group&#039;&#039;&#039; used for &#039;&#039;&#039;[[#LDAP Single-Sign-On Authentication|single sign-on]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Because a role carries hundreds of individual permissions, the dialog provides two shortcuts:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Copy Permissions from Role&#039;&#039;&#039; -- start from an existing role&#039;s permission set (pick the source role in the adjacent dropdown) and adjust from there.  This is by far the fastest way to build a new role.&lt;br /&gt;
* &#039;&#039;&#039;Apply Permission Scope to Selected&#039;&#039;&#039; -- tick a set of rows in the grid, choose a scope, and apply it to all of them at once.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Web Interface Customization&#039;&#039;&#039; tab hides web interface tab panels and sections for every user holding the role -- the same mechanism described under &#039;&#039;&#039;[[#Web Interface Customization|Web Interface Customization]]&#039;&#039;&#039;, but applied per role rather than per user.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Object Types ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Permission Assignments&#039;&#039;&#039; grid lists every permission as a row of &#039;&#039;&#039;Object Type&#039;&#039;&#039;, &#039;&#039;&#039;Operation&#039;&#039;&#039;, and &#039;&#039;&#039;Permission Scope&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
On QuantaStor 6.9 there are &#039;&#039;&#039;207 object types&#039;&#039;&#039; and &#039;&#039;&#039;662 individual permissions&#039;&#039;&#039;, covering everything from the common types such as Storage Volume, Network Share, and Object Bucket through to internal types such as Acl, AlertConfiguration, and TargetPort.&lt;br /&gt;
&lt;br /&gt;
Because that list is long, use the &#039;&#039;&#039;&amp;lt;Show All Object Types&amp;gt;&#039;&#039;&#039; filter above the grid to narrow it to the object type you are working on, then set the operations for that type.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Types ===&lt;br /&gt;
&lt;br /&gt;
Every permission is a combination of an object type and an &#039;&#039;&#039;operation&#039;&#039;&#039; that can be performed on it.  Across the default Administrator role there are 120 distinct operations; the most common are &#039;&#039;&#039;view&#039;&#039;&#039;, &#039;&#039;&#039;modify&#039;&#039;&#039;, &#039;&#039;&#039;create&#039;&#039;&#039;, and &#039;&#039;&#039;delete&#039;&#039;&#039;, with more specific ones such as &#039;&#039;&#039;add&#039;&#039;&#039;, &#039;&#039;&#039;remove&#039;&#039;&#039;, &#039;&#039;&#039;rescan&#039;&#039;&#039;, &#039;&#039;&#039;enable&#039;&#039;&#039;, &#039;&#039;&#039;disable&#039;&#039;&#039;, &#039;&#039;&#039;identify&#039;&#039;&#039;, &#039;&#039;&#039;set&#039;&#039;&#039;, and &#039;&#039;&#039;clear&#039;&#039;&#039; on the object types that support them.&lt;br /&gt;
&lt;br /&gt;
This per-operation granularity is what lets a role fit a job function.  A &amp;quot;Provisioning Administrator&amp;quot; role, for example, can be given &#039;&#039;&#039;create&#039;&#039;&#039; but not &#039;&#039;&#039;delete&#039;&#039;&#039;, so the routine task of provisioning storage can be delegated without the risk of data deletion.&lt;br /&gt;
&lt;br /&gt;
All object types also have a &#039;&#039;&#039;view&#039;&#039;&#039; permission, and this one deserves attention: some parts of the web management interface require view permission on a type in order to function.  Removing &#039;&#039;&#039;view&#039;&#039;&#039; is useful when a role should have no visibility of a type at all -- an administrator responsible only for Network Shares could have &#039;&#039;&#039;view&#039;&#039;&#039; on &#039;&#039;&#039;StorageVolume&#039;&#039;&#039; set to &#039;&#039;&#039;None&#039;&#039;&#039;, so that no Storage Volumes are visible to them.&lt;br /&gt;
&lt;br /&gt;
=== Role Permissions - Operation Scope ===&lt;br /&gt;
&lt;br /&gt;
Each permission&#039;s &#039;&#039;&#039;scope&#039;&#039;&#039; determines the breadth of the grant.  Click a &#039;&#039;&#039;Permission Scope&#039;&#039;&#039; cell in the grid to change it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Global/System&#039;&#039;&#039; -- grid-wide access to the operation on all systems.&lt;br /&gt;
* &#039;&#039;&#039;None&#039;&#039;&#039; -- access to the operation is blocked entirely.&lt;br /&gt;
* &#039;&#039;&#039;User&#039;&#039;&#039; -- access is limited to objects the user owns.  A role with the permission &#039;&#039;&#039;Storage Volume + delete + User&#039;&#039;&#039; allows deleting only Storage Volumes for which that user is the owner.&lt;br /&gt;
* &#039;&#039;&#039;Resource Group&#039;&#039;&#039; -- access is limited to the objects in the Resource Group the user is assigned to.  This is how QuantaStor implements multi-tenancy; see &#039;&#039;&#039;[[#Multitenancy / Resource Group Management|Multitenancy]]&#039;&#039;&#039;.&lt;br /&gt;
== User Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_users_section.png|thumb|right|800px|Security tab, Management Users section.]]&lt;br /&gt;
&lt;br /&gt;
Users in QuantaStor are &#039;&#039;&#039;management users&#039;&#039;&#039; -- accounts with access to the management interface under a specific Role.&lt;br /&gt;
&lt;br /&gt;
These accounts are also created as local (Linux/Unix) users on &#039;&#039;&#039;every&#039;&#039;&#039; Storage System in the grid, with the same POSIX UID and GID on each.  This enables management accounts to be used for SMB file access, which matters in environments where AD/LDAP is not configured, or where direct non-AD user access is needed.&lt;br /&gt;
&lt;br /&gt;
For security, the local accounts created for SMB access are given {{Code|1=/usr/sbin/nologin}} as their shell, so they cannot log in over SSH or at the console.  By default the only accounts with a login shell are &#039;&#039;&#039;qadmin&#039;&#039;&#039; and &#039;&#039;&#039;root&#039;&#039;&#039;, and those should be reserved for maintenance activities.  That restriction can be overridden with standard Linux user management commands, but doing so widens your attack surface and is not recommended.&lt;br /&gt;
&lt;br /&gt;
=== Adding New Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_add.png|thumb|right|626px|Add User dialog, General tab.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Add &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;General&#039;&#039;&#039; tab takes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Username&#039;&#039;&#039; -- also becomes the local POSIX account name on every system in the grid.&lt;br /&gt;
* &#039;&#039;&#039;Password&#039;&#039;&#039; and &#039;&#039;&#039;Repeat Password&#039;&#039;&#039; -- must satisfy the grid password policy set in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039;.  The factory default policy is deliberately permissive; raising it with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; is recommended.&lt;br /&gt;
* &#039;&#039;&#039;Role&#039;&#039;&#039; -- see &#039;&#039;&#039;[[#Role Based Access Controls (RBAC)|RBAC]]&#039;&#039;&#039;.  Assign &#039;&#039;&#039;System Monitor&#039;&#039;&#039; to an account that only needs to observe, rather than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; -- require a second factor for this account; see &#039;&#039;&#039;[[#Multi-factor Authentication|Multi-factor Authentication]]&#039;&#039;&#039;.  These are greyed out until at least one MFA configuration exists.&lt;br /&gt;
* &#039;&#039;&#039;User Information&#039;&#039;&#039; -- optional First Name, Last Name, and Description.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account can be modified but cannot be deleted, and cannot be assigned any role other than &#039;&#039;&#039;Administrator&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A newly created user appears in the Users grid with its assigned Role and the POSIX User ID allocated to it, and the matching local account exists on every system in the grid immediately.&lt;br /&gt;
&lt;br /&gt;
==== Alert Subscriptions ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_alerts.png|thumb|right|626px|Add User, Alert Subscriptions tab.]]&lt;br /&gt;
&lt;br /&gt;
Entering a user&#039;s email address and selecting the alert severity levels to subscribe to routes email alerts to that administrator.  Several users can subscribe at different severities, so that (for example) only critical alerts page the on-call administrator while an operations mailbox receives everything.&lt;br /&gt;
&lt;br /&gt;
Once configured, use the &#039;&#039;&#039;Alert Manager&#039;&#039;&#039; to send a test alert and confirm delivery end to end.&lt;br /&gt;
&lt;br /&gt;
==== Web Interface Customization ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_webcustom.png|thumb|right|626px|Add User, Web Interface Customization tab.]]&lt;br /&gt;
&lt;br /&gt;
In larger deployments with many administrators, or on systems built for a narrow use case, it can help to hide the interface tab panels and sections a given user does not need.  This reduces complexity and makes the interface clearer for admins with a narrow remit.&lt;br /&gt;
&lt;br /&gt;
Un-check the panels and sections to hide them.  The user must &#039;&#039;&#039;log out and back in&#039;&#039;&#039; for the customized layout to take effect.&lt;br /&gt;
&lt;br /&gt;
The same customization can be applied to a Role instead of an individual user, which is usually preferable when several people share a job function -- see &#039;&#039;&#039;[[#Role Management|Role Management]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== User Account Advanced Settings ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_advanced.png|thumb|right|626px|Add User, Advanced Settings tab.]]&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Advanced Settings&#039;&#039;&#039; tab holds three things:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;User Default CHAP settings&#039;&#039;&#039; -- a &#039;&#039;&#039;CHAP User&#039;&#039;&#039; and &#039;&#039;&#039;CHAP Password&#039;&#039;&#039; used as this account&#039;s defaults for iSCSI authentication.&lt;br /&gt;
* &#039;&#039;&#039;Customize UID/GID&#039;&#039;&#039; -- tick this to set an explicit &#039;&#039;&#039;POSIX UID&#039;&#039;&#039; and &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; rather than letting QuantaStor allocate them.  Set these deliberately when the account is used for SMB and NFS access and must match UIDs already in use elsewhere in your environment; the fields are greyed out until the box is ticked.&lt;br /&gt;
* &#039;&#039;&#039;Enable &#039;[QSCLITKN]&#039; token based authentication for QS CLI via &#039;root&#039; console account&#039;&#039;&#039; -- lets someone logged into a QuantaStor system as &#039;&#039;&#039;root&#039;&#039;&#039; run {{Code|1=qs}} CLI commands without supplying a password each time.&lt;br /&gt;
&lt;br /&gt;
To use the token authentication, tick that checkbox for the account, then, as &#039;&#039;&#039;root&#039;&#039;&#039; on the system, write a {{Code|1=~/.qs.cnf}} naming the account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;localhost,admin,[QSCLITKN]&amp;quot; &amp;gt; ~/.qs.cnf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace {{Code|1=admin}} with whichever account you enabled the option for.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; the first one or two {{Code|1=qs}} commands after creating this file fail with &#039;&#039;&amp;quot;Service authentication token check failed ... remote caller will update token&amp;quot;&#039;&#039; while the token is being established.  This is expected -- retry and the command succeeds, after which authentication is transparent.&lt;br /&gt;
&lt;br /&gt;
The same mechanism can be used with a remote host rather than {{Code|1=localhost}} by changing the first field.&lt;br /&gt;
&lt;br /&gt;
=== Modifying Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_modify.png|thumb|right|626px|Modify User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Modify &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Modify User dialog exposes the same settings as Create User across the same four tabs, so a user&#039;s role, alert subscriptions, interface customization, and advanced settings can all be changed after the fact.  Changes take effect on the user&#039;s next action.&lt;br /&gt;
&lt;br /&gt;
To change only a password, use &#039;&#039;&#039;Set Password&#039;&#039;&#039; from the User group in the toolbar rather than the full Modify dialog.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Modify|Modify User]].&lt;br /&gt;
&lt;br /&gt;
=== Removing Users ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_user_remove.png|thumb|right|406px|Remove User dialog.]]&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select a user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Remove &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The dialog confirms the &#039;&#039;&#039;Username&#039;&#039;&#039; and shows the account&#039;s properties before removal.&lt;br /&gt;
&lt;br /&gt;
Removal takes effect immediately and grid-wide.  A user who is logged into the web interface when their account is removed loses access to all systems in the grid at once, and the matching local POSIX account is deleted from every Storage System.&lt;br /&gt;
&lt;br /&gt;
The default &#039;&#039;&#039;admin&#039;&#039;&#039; account cannot be removed.&lt;br /&gt;
&lt;br /&gt;
More information: [[User_Remove|Removing Users]].&lt;br /&gt;
&lt;br /&gt;
== User Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_usergroup_create.png|thumb|right|550px|Create User Group dialog.]]&lt;br /&gt;
&lt;br /&gt;
User Groups collect users under a common POSIX GID, which is useful when several users need to be owners of the same Network Share.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Groups &amp;amp;rarr; User Group &amp;amp;rarr; Create &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The Create User Group dialog takes a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, an optional &#039;&#039;&#039;POSIX GID&#039;&#039;&#039; (allocated automatically if left blank), and a grid from which to &#039;&#039;&#039;select one or more users for the group&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Group membership can be changed later with &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, and the group&#039;s other properties with &#039;&#039;&#039;Modify&#039;&#039;&#039;.  &#039;&#039;&#039;Delete&#039;&#039;&#039; removes the group; the user accounts themselves are unaffected.&lt;br /&gt;
&lt;br /&gt;
== Multitenancy / Resource Group Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_multitenancy.png|thumb|right|800px|Multitenancy tab.]]&lt;br /&gt;
&lt;br /&gt;
Resource Groups are multi-tenant containers that group users together with resources -- [[Storage Volumes]], [[Network Shares]] -- and with provisioning quotas for self-service provisioning from Storage Pools.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Multitenancy &#039;&#039;(main tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Resource Group&#039;&#039;&#039; toolbar group provides &#039;&#039;&#039;Add/Remove Users&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Tenants&#039;&#039;&#039;, &#039;&#039;&#039;Add/Remove Service Configs&#039;&#039;&#039;, and &#039;&#039;&#039;Add Network Association&#039;&#039;&#039; / &#039;&#039;&#039;Remove Network Association&#039;&#039;&#039; for binding a group to specific networks.  The &#039;&#039;&#039;Provisioning Quota&#039;&#039;&#039; group provides &#039;&#039;&#039;Create&#039;&#039;&#039;, &#039;&#039;&#039;Modify&#039;&#039;&#039;, and &#039;&#039;&#039;Delete&#039;&#039;&#039; for quotas, plus &#039;&#039;&#039;Add/Remove Volumes&#039;&#039;&#039; and &#039;&#039;&#039;Add/Remove Shares&#039;&#039;&#039; to place resources into a group.&lt;br /&gt;
&lt;br /&gt;
Users assigned to a Resource Group should hold a role whose permissions are scoped to &#039;&#039;&#039;Resource Group&#039;&#039;&#039; rather than &#039;&#039;&#039;Global/System&#039;&#039;&#039;, so that their view of the grid is limited to the resources in their group.  The &#039;&#039;&#039;Object Tenant Admin&#039;&#039;&#039; role is the shipped starting point for object storage tenants; for file and block multi-tenancy, create a role with the permissions you want at &#039;&#039;&#039;Resource Group&#039;&#039;&#039; scope -- see &#039;&#039;&#039;[[#Role Permissions - Operation Scope|Operation Scope]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Further information: [[Create_Resource_Group|Create a Resource Group]].&lt;br /&gt;
== System Setup Security Checks ==&lt;br /&gt;
&lt;br /&gt;
The steps in this section are the minimum hardening pass for a newly deployed QuantaStor system.  All of them should be completed before the system carries production data.&lt;br /&gt;
&lt;br /&gt;
# Change the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default.&lt;br /&gt;
# Change the &#039;&#039;&#039;admin&#039;&#039;&#039; management password from its default.&lt;br /&gt;
# Apply &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; in the &#039;&#039;&#039;[[#Security Settings Management|Security Manager]]&#039;&#039;&#039; to raise the password and lockout policy.&lt;br /&gt;
# Set &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; to &#039;&#039;HTTP redirects to HTTPS&#039;&#039; or &#039;&#039;HTTP disabled&#039;&#039;.&lt;br /&gt;
# Replace the shipped self-signed certificate -- see &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
# Block unused protocols in the &#039;&#039;&#039;[[#Firewall Configuration|firewall]]&#039;&#039;&#039;.&lt;br /&gt;
# Consider enabling &#039;&#039;&#039;[[#Multi-factor Authentication|multi-factor authentication]]&#039;&#039;&#039; for administrative accounts.&lt;br /&gt;
&lt;br /&gt;
=== Change Passwords ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with two default accounts that must both be changed.  They are separate accounts with separate passwords: &#039;&#039;&#039;qadmin&#039;&#039;&#039; is the console/SSH account, &#039;&#039;&#039;admin&#039;&#039;&#039; is the management interface account.&lt;br /&gt;
&lt;br /&gt;
==== Change SSH Console Administrator Account &#039;qadmin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
One of the most important steps in configuring a new QuantaStor system is changing the &#039;&#039;&#039;qadmin&#039;&#039;&#039; console password from its default of &#039;&#039;&#039;qadmin&#039;&#039;&#039; on each Storage System.&lt;br /&gt;
&lt;br /&gt;
Log in at the console as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, or connect over &#039;&#039;&#039;SSH&#039;&#039;&#039; as &#039;&#039;&#039;qadmin&#039;&#039;&#039;, then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a strong password containing upper and lower case letters, numbers, and symbols.  Repeat this on every Storage System in the grid -- this is a local console account, so changing it on one system does not change it on the others.&lt;br /&gt;
&lt;br /&gt;
Note that this password is independent of the grid password policy configured in the Security Manager, which governs &#039;&#039;&#039;management&#039;&#039;&#039; users only.&lt;br /&gt;
&lt;br /&gt;
==== Change Management Administrator Account &#039;admin&#039; Password ====&lt;br /&gt;
&lt;br /&gt;
[[File:security_set_password.png|thumb|right|377px|Set Password dialog.]]&lt;br /&gt;
&lt;br /&gt;
Log in to the web management interface as &#039;&#039;&#039;admin&#039;&#039;&#039; and change the default password, which is &#039;&#039;&#039;password&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; &#039;&#039;select the&#039;&#039; admin &#039;&#039;user&#039;&#039; &amp;amp;rarr; User &amp;amp;rarr; Set Password &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The new password must satisfy the grid password policy.  Use at least 10 characters with upper and lower case letters and numbers -- or raise the policy first with &#039;&#039;&#039;Suggested Defaults&#039;&#039;&#039; so the requirement is enforced for every account rather than relying on convention.&lt;br /&gt;
&lt;br /&gt;
Unlike &#039;&#039;&#039;qadmin&#039;&#039;&#039;, this is a grid-wide management account: changing it once changes it for the whole Storage Grid.&lt;br /&gt;
&lt;br /&gt;
== Firewall Configuration ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_firewall.png|thumb|right|616px|Storage System Modify, Firewall tab.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor has an integrated firewall management system that controls protocol access both at the system level and per network port.  For high-security environments it is recommended to block every protocol that will not be used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (system level):&#039;&#039;&#039; Storage Management --&amp;gt; &#039;&#039;select a Storage System&#039;&#039; --&amp;gt; Modify &#039;&#039;(toolbar)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Navigation (per port):&#039;&#039;&#039; Storage Management --&amp;gt; Network Ports --&amp;gt; &#039;&#039;select a port&#039;&#039; --&amp;gt; Modify Network Port &#039;&#039;(toolbar or right-click)&#039;&#039; --&amp;gt; Firewall &#039;&#039;(tab)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Firewall tab lists each service with a description and an &#039;&#039;&#039;Allow&#039;&#039;&#039; checkbox.  The services managed are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; -- web management interface access&lt;br /&gt;
* &#039;&#039;&#039;QS REST API&#039;&#039;&#039; -- REST API access to management functions&lt;br /&gt;
* &#039;&#039;&#039;iSCSI Target&#039;&#039;&#039; -- iSCSI protocol access to Storage Volumes&lt;br /&gt;
* &#039;&#039;&#039;NVMeoF Target&#039;&#039;&#039; -- NVMe over Fabrics access&lt;br /&gt;
* &#039;&#039;&#039;SMB&#039;&#039;&#039; -- SMB/CIFS file access&lt;br /&gt;
* &#039;&#039;&#039;NFS&#039;&#039;&#039; and &#039;&#039;&#039;NFS Ganesha&#039;&#039;&#039; -- NFS file access, scale-up and scale-out respectively&lt;br /&gt;
* &#039;&#039;&#039;Ceph&#039;&#039;&#039; -- scale-out cluster communication&lt;br /&gt;
* &#039;&#039;&#039;Grafana&#039;&#039;&#039; -- Grafana monitoring and statistics&lt;br /&gt;
* &#039;&#039;&#039;Prometheus&#039;&#039;&#039; -- Prometheus monitoring and alerting&lt;br /&gt;
* &#039;&#039;&#039;Chronograf&#039;&#039;&#039; -- Chronograf monitoring&lt;br /&gt;
&lt;br /&gt;
Clear the &#039;&#039;&#039;Allow&#039;&#039;&#039; box for any service you do not use.  A common hardening pass on a file-only deployment, for example, is to leave SMB and NFS enabled and clear iSCSI Target, NVMeoF Target, and Ceph.&lt;br /&gt;
&lt;br /&gt;
Be careful not to block the protocol you are managing the system with: clearing &#039;&#039;&#039;QS Web Management&#039;&#039;&#039; on the port you are connected through will cut off your own session.  Note also that &#039;&#039;&#039;[[#Web Access Mode|Web Access Mode]]&#039;&#039;&#039; set to &#039;&#039;HTTP disabled&#039;&#039; installs its own rule dropping port 80, independently of these checkboxes.&lt;br /&gt;
&lt;br /&gt;
Use &#039;&#039;&#039;Apply&#039;&#039;&#039; to commit changes without closing the dialog.&lt;br /&gt;
== SSL/TLS Certificate &amp;amp; Web Access Security ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor serves the web management interface, the REST API, and the internal grid communication channels over TLS.  The web management interface is served by &#039;&#039;&#039;nginx&#039;&#039;&#039; and the TLS settings, ciphers, and certificates are all managed by QuantaStor.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for administrators upgrading from QuantaStor v4:&#039;&#039;&#039; older releases served the web interface from Apache Tomcat and required generating a Java keystore with {{Code|1=keytool}}.  That is no longer the case.  There is no keystore, no {{Code|1=server.xml}}, and no tomcat service on QuantaStor v5 and newer -- use the procedures below instead.&lt;br /&gt;
&lt;br /&gt;
=== Web Access Mode ===&lt;br /&gt;
&lt;br /&gt;
The single most important web security setting is the &#039;&#039;&#039;Web Access Mode&#039;&#039;&#039;, which controls whether plain HTTP is served at all.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Security Manager &#039;&#039;(toolbar)&#039;&#039; &amp;amp;rarr; Advanced Settings}}&lt;br /&gt;
&lt;br /&gt;
The three modes are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HTTP enabled (INSECURE)&#039;&#039;&#039; -- port 80 serves the interface over plain, unencrypted HTTP.  This is the factory default so that a newly-imaged appliance is reachable before certificates are in place; it is &#039;&#039;&#039;not&#039;&#039;&#039; appropriate for production.&lt;br /&gt;
* &#039;&#039;&#039;HTTP redirects to HTTPS (recommended)&#039;&#039;&#039; -- port 80 answers with a 301 redirect to HTTPS.  Nothing sensitive traverses the network in the clear, but a user who types the bare hostname still lands on the interface.&lt;br /&gt;
* &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039; -- port 80 is dropped at the firewall entirely.  Use this in high-security environments where an open port 80, even one that only redirects, is not acceptable.&lt;br /&gt;
&lt;br /&gt;
Changing this setting switches the active nginx site configuration and, for &#039;&#039;&#039;HTTP disabled&#039;&#039;&#039;, also installs a firewall rule that drops port 80.  The change applies immediately -- no reboot is required.&lt;br /&gt;
&lt;br /&gt;
The Web Access Mode affects &#039;&#039;&#039;port 80 only&#039;&#039;&#039;.  The HTTPS listener on port 443 uses the same TLS versions, cipher list, and certificate in every mode, so switching modes does not change the encryption offered to HTTPS clients -- it only determines whether an unencrypted alternative is reachable.  Setting the mode to &#039;&#039;&#039;HTTP redirects to HTTPS&#039;&#039;&#039; should nonetheless be treated as a required hardening step on every production deployment.&lt;br /&gt;
&lt;br /&gt;
Changing this setting prompts a confirmation warning that the change may log users out of the interface and cause passwords to expire; the mode change itself takes effect as soon as you confirm.&lt;br /&gt;
&lt;br /&gt;
=== Supported TLS Versions and Ciphers ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor&#039;s nginx configuration accepts &#039;&#039;&#039;TLS 1.2 and TLS 1.3&#039;&#039;&#039; only, in all web access modes, with server cipher preference enabled and the cipher list restricted to modern AEAD suites: &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:&lt;br /&gt;
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:&lt;br /&gt;
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SSLv3, TLS 1.0, and TLS 1.1 are not accepted. &#039;&#039;(Note: due to the frequency of security updates this may be out of date and system configuration files should be referenced.)&#039;&#039;  The interface also sends an HSTS header ({{Code|1=Strict-Transport-Security}}) with a one year max-age.&lt;br /&gt;
&lt;br /&gt;
The shipped defaults live in this file, which is replaced on upgrade and should &#039;&#039;&#039;not&#039;&#039;&#039; be edited in place:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/nginx_quantastor_ssl_default.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To customize the TLS settings or point nginx at your own certificate, use the {{Code|1=qs-util}} helper to copy the defaults to a user-editable location that upgrades will not overwrite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs-util wuicustomcerts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates the following file, which you then edit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cipher settings for the QuantaStor grid communication channels (separate from the web interface) are controlled by:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That shipped file is replaced on upgrade, so it should not be edited in place. To customize the grid communication ciphers, place your own copy at the override location below.  The override does not exist by default -- create it only when you intend to depart from the shipped cipher list, and QuantaStor will use it in preference to the shipped file and leave it untouched across upgrades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsciphers&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Default Certificate ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor ships with a common self-signed certificate that is pre-generated and included with all deployments.  Because it is self-signed and shared across all deployments, browsers will warn on first connection, and it provides no identity assurance.  Replacing it is recommended for any deployment reachable beyond a trusted management network.&lt;br /&gt;
&lt;br /&gt;
The certificate and key used by the web interface and REST service are here:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/var/opt/osnexus/quantastor/ssl/qsrestsrv.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grid communication uses a separate pair:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/common/lib/qsserver.pem&lt;br /&gt;
/opt/osnexus/common/lib/qsclient.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All of these are discovered and monitored automatically -- see &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; below, which is the recommended way to review and replace them.&lt;br /&gt;
&lt;br /&gt;
=== Installing a Custom Certificate ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;recommended&#039;&#039;&#039; way to install your own certificate is through &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; -- add the certificate as a template once, then apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case on each Storage System.  That keeps the certificate inventory, expiry monitoring, and alerting accurate, and avoids editing nginx configuration by hand.  See &#039;&#039;&#039;[[#Installing Your Own Certificate|Installing Your Own Certificate]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Use the manual procedure below only when you need to change nginx TLS directives themselves (for example to further restrict the cipher list), since those are not expressible as a certificate template:&lt;br /&gt;
&lt;br /&gt;
* Run {{Code|1=qs-util wuicustomcerts}} to copy the shipped defaults to an editable file that upgrades will not overwrite.&lt;br /&gt;
* Edit {{Code|1=/var/opt/osnexus/quantastor/ssl/nginx_quantastor_ssl_custom.conf}}.&lt;br /&gt;
* Reload nginx to apply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Verify the negotiated protocol and cipher from a client:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | grep -E &#039;Protocol|Cipher is&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Repeat on each Storage System in the grid, or use the Certificate Management section to confirm all systems at once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; if you are using Firefox and have previously accepted the old self-signed certificate, clear the cached certificate exception for the host or Firefox will continue to present the stale certificate warning.&lt;br /&gt;
=== [[Custom SSL_TLS Security|Custom SSL Certificates and TLS Security]] ===&lt;br /&gt;
* Generating and installing custom SSL certificates, and applying custom TLS security settings.  For most deployments the &#039;&#039;&#039;[[#Certificate Management|Certificate Management]]&#039;&#039;&#039; section above is the better route, since it keeps the certificate inventory and expiry alerting accurate.&lt;br /&gt;
&lt;br /&gt;
=== [[Custom SSH Security|Custom SSH Ciphers and Key Exchange Algorithms]] ===&lt;br /&gt;
* Customizing the SSH service to enforce strong ciphers and key exchange algorithms for SSH communication.&lt;br /&gt;
== Certificate Management ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_certificates.png|thumb|right|800px|Certificates section showing every certificate on every Storage System in the grid.]]&lt;br /&gt;
&lt;br /&gt;
QuantaStor discovers, inventories, and monitors every TLS certificate in use across the Storage Grid, so administrators can see at a glance what is installed, what it is used for, and when it expires.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates}}&lt;br /&gt;
&lt;br /&gt;
The Certificates section lists certificates grouped by Storage System.  For each certificate the grid shows its file path, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Use Case&#039;&#039;&#039;, description, certificate modulus MD5, serial number, and the start and end of its validity period.  Because the view spans the whole grid, a single screen confirms that every system is using the certificate you expect.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Use Cases ===&lt;br /&gt;
&lt;br /&gt;
Each certificate is tagged with the service that consumes it:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NGINX&#039;&#039;&#039; -- the certificate served to browsers for the web management interface.&lt;br /&gt;
* &#039;&#039;&#039;Rest Service&#039;&#039;&#039; -- the certificate presented by the QuantaStor REST API service.&lt;br /&gt;
* &#039;&#039;&#039;QuantaStor Service [Grid Communication]&#039;&#039;&#039; -- the server-side certificate for inter-node grid communication.&lt;br /&gt;
* &#039;&#039;&#039;Client [Grid Communication]&#039;&#039;&#039; -- the client-side certificate a node presents to its peers.&lt;br /&gt;
* &#039;&#039;&#039;HAProxy&#039;&#039;&#039; -- the certificate used by the integrated load balancer, when configured.&lt;br /&gt;
* &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; -- the certificate used by the Ceph S3/Object Gateway.  Two use cases are available, for a first and second gateway instance ({{Code|1=cephrgw-1}} and {{Code|1=cephrgw-2}} on the CLI).&lt;br /&gt;
&lt;br /&gt;
Note that the same PEM file may appear more than once with different use cases when one certificate serves several roles -- for example {{Code|1=qsrestsrv.pem}} is used for both &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Expiration Alerts ===&lt;br /&gt;
&lt;br /&gt;
QuantaStor monitors validity dates and raises alerts as a certificate approaches expiry, so a certificate never lapses unnoticed.  Alerts are raised at &#039;&#039;&#039;90, 60, 30, 7, and 2 days&#039;&#039;&#039; before expiry, and again once the certificate has actually expired.&lt;br /&gt;
&lt;br /&gt;
The longer-lead warnings are only raised for certificates with a correspondingly long lifetime -- the 90 day warning applies to certificates valid for more than 18 months, the 60 day warning to those valid for more than a year, and the 30 day warning to those valid for more than 90 days.  This prevents short-lived certificates from generating alerts the moment they are installed.  The 7 day, 2 day, and expired alerts always apply.&lt;br /&gt;
&lt;br /&gt;
Alerts are delivered through the standard QuantaStor alerting system, so they reach whatever email and SNMP destinations you have configured in the Alert Manager.&lt;br /&gt;
&lt;br /&gt;
=== Certificate Templates ===&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;certificate template&#039;&#039;&#039; holds a certificate (and its private key) that you have obtained from your CA, stored once in the grid so it can be applied to any service on any Storage System.  Templates are what make it possible to roll out your own certificate across the grid from the management interface instead of copying PEM files onto each node by hand.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; &#039;&#039;Certificate Templates&#039;&#039; &#039;&#039;(tab)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
The toolbar provides &#039;&#039;&#039;Add Template&#039;&#039;&#039;, &#039;&#039;&#039;Update&#039;&#039;&#039;, &#039;&#039;&#039;Remove Template&#039;&#039;&#039;, and &#039;&#039;&#039;Certificate Template Manager&#039;&#039;&#039; for reviewing and maintaining templates.&lt;br /&gt;
&lt;br /&gt;
=== Installing Your Own Certificate ===&lt;br /&gt;
&lt;br /&gt;
This is the recommended way to replace any of QuantaStor&#039;s default self-signed certificates, including the one served by the web management interface.&lt;br /&gt;
&lt;br /&gt;
* Obtain a certificate and private key from your CA.&lt;br /&gt;
* &#039;&#039;&#039;Add a template&#039;&#039;&#039; from the certificate.  Supply a name, a description, and the PEM file containing the certificate and key block.  If the private key is in a separate file, supply it as well.&lt;br /&gt;
* &#039;&#039;&#039;Apply the template&#039;&#039;&#039; to the use case you want it to serve on a given Storage System -- for example apply it to the &#039;&#039;&#039;NGINX&#039;&#039;&#039; use case to change the certificate browsers see for the web management interface.&lt;br /&gt;
* Repeat the apply step for each Storage System, and for each use case the certificate should cover.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT -- the certificate must contain a Subject Alternative Name (SAN).&#039;&#039;&#039; QuantaStor validates certificates before accepting them as a template and rejects any certificate without a SAN extension, with the error &#039;&#039;&amp;quot;Certificate validation failed. Unable to create certificate template out of invalid certificate.&amp;quot;&#039;&#039;  A Common Name alone is not sufficient.  Include every name and address the systems will be reached by -- the FQDN, the short hostname, and the management IP.  When generating a self-signed certificate with {{Code|1=openssl req}}, add the SAN explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl req -x509 -newkey rsa:2048 -nodes -days 365 \&lt;br /&gt;
  -subj &amp;quot;/C=US/ST=&amp;amp;lt;state&amp;amp;gt;/L=&amp;amp;lt;city&amp;amp;gt;/O=&amp;amp;lt;org&amp;amp;gt;/CN=&amp;amp;lt;fqdn&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -addext &amp;quot;subjectAltName=DNS:&amp;amp;lt;fqdn&amp;amp;gt;,DNS:&amp;amp;lt;hostname&amp;amp;gt;,IP:&amp;amp;lt;system-ip&amp;amp;gt;&amp;quot; \&lt;br /&gt;
  -keyout mycert.key -out mycert.crt&lt;br /&gt;
&lt;br /&gt;
cat mycert.crt mycert.key &amp;gt; mycert.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check a certificate against QuantaStor&#039;s validation rules before importing it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/bin/qs_certutil.sh validate --pem-file &amp;amp;lt;path-to-pem&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the CLI the two steps are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-add --name=&amp;amp;lt;template-name&amp;amp;gt; --description=&amp;amp;lt;text&amp;amp;gt; \&lt;br /&gt;
                 --certificate-pem-data=&amp;amp;lt;path-to-pem&amp;amp;gt; \&lt;br /&gt;
                 [--privatekey-pem-data=&amp;amp;lt;path-to-key-pem&amp;amp;gt;]&lt;br /&gt;
&lt;br /&gt;
qs cert-update --storage-system=&amp;amp;lt;system&amp;amp;gt; --cert-use-case=2 \&lt;br /&gt;
               --cert-tmpl=&amp;amp;lt;template-name&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; {{Code|1=--cert-use-case}} currently requires the numeric use case value rather than its name.  The values are &#039;&#039;0&#039;&#039; none, &#039;&#039;1&#039;&#039; haproxy, &#039;&#039;2&#039;&#039; nginx, &#039;&#039;3&#039;&#039; cephrgw-1, &#039;&#039;4&#039;&#039; cephrgw-2, &#039;&#039;5&#039;&#039; qsrest, &#039;&#039;6&#039;&#039; qsserver, &#039;&#039;7&#039;&#039; qsclient.&lt;br /&gt;
&lt;br /&gt;
QuantaStor reloads the affected service automatically once the certificate is applied, so the new certificate is served without further action -- nginx for the &#039;&#039;&#039;NGINX&#039;&#039;&#039; and &#039;&#039;&#039;Rest Service&#039;&#039;&#039; use cases, HAProxy for &#039;&#039;&#039;HAProxy&#039;&#039;&#039;, and the Object Gateway services for the gateway use cases.  nginx is reloaded rather than restarted, so applying a web interface certificate does not disconnect your own management session.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for QuantaStor releases prior to 6.9:&#039;&#039;&#039; the nginx reload was not performed automatically, and the appliance would continue to present the previous certificate until nginx was reloaded by hand:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirm what is actually being served, including the SAN:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
openssl s_client -connect &amp;amp;lt;system-ip&amp;amp;gt;:443 &amp;amp;lt;/dev/null 2&amp;amp;gt;/dev/null \&lt;br /&gt;
  | openssl x509 -noout -subject -dates -ext subjectAltName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rescanning Certificates ===&lt;br /&gt;
&lt;br /&gt;
If a certificate is replaced outside of QuantaStor -- for example by editing the nginx configuration directly, or by a external renewal process dropping in a new PEM -- use &#039;&#039;&#039;Rescan&#039;&#039;&#039; to re-read the certificates from disk and refresh the inventory, validity dates, and alert state.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Certificates &amp;amp;rarr; Rescan &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== Reviewing Certificates from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same inventory is available from the QuantaStor CLI, which is convenient for scripted compliance checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-list&lt;br /&gt;
qs cert-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-rescan --storage-system=&amp;amp;lt;system&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Certificate templates have a matching set of commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs cert-tmpl-list&lt;br /&gt;
qs cert-tmpl-get --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs cert-tmpl-rm --cert=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For TLS version and cipher settings, see &#039;&#039;&#039;[[#Supported TLS Versions and Ciphers|Supported TLS Versions and Ciphers]]&#039;&#039;&#039;.&lt;br /&gt;
== Endpoint Detection &amp;amp; Response (EDR) ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_agents.png|thumb|right|800px|EDR Agents section.  Agents are installed per Storage System and report vendor, status, version, and enabled features.]]&lt;br /&gt;
&lt;br /&gt;
Many security standards and cyber-insurance policies require an endpoint detection and response (EDR) agent on every server, including storage appliances.  QuantaStor can deploy and manage a vendor EDR agent on each Storage System in the grid directly from the web management interface, so the appliances are covered by the same endpoint security tooling as the rest of the fleet without hand-installing agents over SSH.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents}}&lt;br /&gt;
&lt;br /&gt;
The EDR Agents section lists the installed agents with their &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;State&#039;&#039;&#039;, &#039;&#039;&#039;Storage System&#039;&#039;&#039;, &#039;&#039;&#039;Vendor&#039;&#039;&#039;, &#039;&#039;&#039;Status&#039;&#039;&#039;, &#039;&#039;&#039;Version&#039;&#039;&#039;, and the set of &#039;&#039;&#039;Features&#039;&#039;&#039; the agent has enabled.&lt;br /&gt;
&lt;br /&gt;
=== Supported EDR Vendors ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bitdefender GravityZone&#039;&#039;&#039; is the currently supported EDR platform, on Ubuntu 22.04, Ubuntu 24.04, RHEL 8, and RHEL 9.  Additional vendor modules use the same framework and are being added; contact OSNEXUS at info@osnexus.com if you need a specific EDR platform supported.&lt;br /&gt;
&lt;br /&gt;
Vendor modules are defined on the appliance in:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
/opt/osnexus/quantastor/conf/qs_endpoint_security.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installing an EDR Agent ===&lt;br /&gt;
&lt;br /&gt;
[[File:security_edr_install.png|thumb|right|516px|Install EDR Security Agent dialog.]]&lt;br /&gt;
&lt;br /&gt;
Before starting, create an installation package for Linux servers in your Bitdefender GravityZone console and note either the &#039;&#039;&#039;package id&#039;&#039;&#039; or the full &#039;&#039;&#039;setup downloader URL&#039;&#039;&#039; the console provides.  The feature set of the agent (which protection modules are enabled) is chosen in the GravityZone console when the package is created, and QuantaStor reads that selection back from the installer.  Individual protection modules can optionally be overridden from the QuantaStor side at install time -- see the {{Code|1=--feature-flags}} argument in the CLI section below.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Install Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
You can also right-click a Storage System to install an agent on it.&lt;br /&gt;
&lt;br /&gt;
In the &#039;&#039;&#039;Install EDR Security Agent&#039;&#039;&#039; dialog:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;EDR Module&#039;&#039;&#039; -- select the vendor module, e.g. &#039;&#039;Bitdefender&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Install Key / URL&#039;&#039;&#039; -- paste either the short GravityZone package id (e.g. {{Code|1=aabbccdd}}) or the full {{Code|1=setup_downloader.tar}} URL copied from the GravityZone console.  Both forms are accepted, which matters because the vendor&#039;s URL format changes from time to time.&lt;br /&gt;
* &#039;&#039;&#039;Storage Systems&#039;&#039;&#039; -- tick each system to install the agent on.  The grid shows the service, kernel, and distribution version of each system so you can confirm platform support before installing.&lt;br /&gt;
&lt;br /&gt;
QuantaStor then downloads the installer package from GravityZone onto each selected system, installs the agent, and registers it.  Because the appliance must reach the GravityZone service to download the package, ensure outbound access to your GravityZone endpoint is permitted -- see &#039;&#039;&#039;[[#Firewall Configuration|Firewall Configuration]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note that the registration key is supplied at install time and stored per node; it is not kept in the vendor module configuration file.&lt;br /&gt;
&lt;br /&gt;
=== Monitoring and Removing Agents ===&lt;br /&gt;
&lt;br /&gt;
Once installed, an agent&#039;s &#039;&#039;&#039;Status&#039;&#039;&#039; and &#039;&#039;&#039;Version&#039;&#039;&#039; are refreshed automatically and shown in the EDR Agents grid, so an agent that has stopped running is visible from the management interface rather than only from the vendor console.&lt;br /&gt;
&lt;br /&gt;
To remove an agent, select it and choose &#039;&#039;&#039;Uninstall Agent&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; EDR Agents &amp;amp;rarr; Uninstall Agent &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== EDR Management from the CLI ===&lt;br /&gt;
&lt;br /&gt;
The same operations are available from the QuantaStor CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-list&lt;br /&gt;
qs edr-agent-get --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=&amp;amp;lt;systems&amp;amp;gt; --module=bitdefender \&lt;br /&gt;
                    --registration-key=&amp;amp;lt;package-id-or-url&amp;amp;gt;&lt;br /&gt;
qs edr-agent-delete --edr-agent=&amp;amp;lt;name-or-id&amp;amp;gt;&lt;br /&gt;
qs edr-agent-rescan&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The create command also accepts an optional {{Code|1=--feature-flags}} argument taking a JSON object, to override individual protection modules without changing the GravityZone package:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-create --system-list=qs-node-a --module=bitdefender \&lt;br /&gt;
                    --registration-key=6oOK8y \&lt;br /&gt;
                    --feature-flags=&#039;{&amp;quot;FileScan&amp;quot;:1,&amp;quot;Firewall&amp;quot;:0}&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To review the available vendor modules and their supported platforms:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs edr-agent-module-list&lt;br /&gt;
qs edr-agent-module-get --module=bitdefender&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] ==&lt;br /&gt;
* Installing a custom certificate for the S3/Object Gateway endpoint.  See also the &#039;&#039;&#039;Object Gateway&#039;&#039;&#039; certificate use cases under &#039;&#039;&#039;[[#Certificate Use Cases|Certificate Use Cases]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Multi-factor Authentication ==&lt;br /&gt;
&lt;br /&gt;
[[File:security_mfa_manager.png|thumb|right|631px|Multi-Factor Authentication Manager.]]&lt;br /&gt;
&lt;br /&gt;
Multi-factor authentication (MFA) requires a user to present a second factor, such as a device, in addition to their password.  QuantaStor supports MFA for management logins.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Security &amp;amp;rarr; Management Users &amp;amp;rarr; User &amp;amp;rarr; Multi-Factor Auth Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
An MFA &#039;&#039;&#039;configuration&#039;&#039;&#039; must exist before MFA can be enabled on any account. The manager lists the existing configurations by &#039;&#039;&#039;Name&#039;&#039;&#039; and &#039;&#039;&#039;Provider&#039;&#039;&#039; and provides &#039;&#039;&#039;Create...&#039;&#039;&#039;, &#039;&#039;&#039;Modify...&#039;&#039;&#039;, &#039;&#039;&#039;Delete...&#039;&#039;&#039;, and &#039;&#039;&#039;Assign/Unassign...&#039;&#039;&#039; for attaching a configuration to user accounts.&lt;br /&gt;
&lt;br /&gt;
The supported providers are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cisco Duo&#039;&#039;&#039; -- see [[Duo Multi-Factor Authentication|Cisco Duo Multi-Factor Authentication]] for the full setup walkthrough&lt;br /&gt;
* &#039;&#039;&#039;OKTA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Creating a configuration takes a &#039;&#039;&#039;Provider&#039;&#039;&#039;, a &#039;&#039;&#039;Name&#039;&#039;&#039;, an optional &#039;&#039;&#039;Description&#039;&#039;&#039;, the &#039;&#039;&#039;API Host&#039;&#039;&#039; for your tenant, and the &#039;&#039;&#039;Integration Key&#039;&#039;&#039; and &#039;&#039;&#039;Secret Key&#039;&#039;&#039; issued by the provider.  Obtain those values from your Duo or Okta administration console.&lt;br /&gt;
&lt;br /&gt;
Once a configuration exists, enable MFA per account with &#039;&#039;&#039;Enable Multi-Factor Auth&#039;&#039;&#039; and &#039;&#039;&#039;Multi-Factor Auth Config&#039;&#039;&#039; on the Add User or Modify User dialog.  The &#039;&#039;&#039;Force (required when in use)&#039;&#039;&#039; option in the manager makes the second factor mandatory rather than optional.&lt;br /&gt;
&lt;br /&gt;
Contact OSNEXUS at info@osnexus.com for guidance on additional MFA options.&lt;br /&gt;
&lt;br /&gt;
== Security Updates ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor supports automatic security updates through the &#039;&#039;&#039;[[Upgrade Manager]]&#039;&#039;&#039; in the web management interface.&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Upgrade Manager &#039;&#039;(toolbar)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
Applying security updates through the Upgrade Manager is the supported path -- it applies the updates OSNEXUS has qualified against the running QuantaStor release, in the correct order, across the systems you select.  Installing distribution packages directly with {{Code|1=apt}} is not recommended, as it can introduce package versions that have not been qualified against the release.&lt;br /&gt;
&lt;br /&gt;
== Encrypting NFS/SMB/iSCSI via IPsec ==&lt;br /&gt;
&lt;br /&gt;
Protocols such as NFSv3 do not encrypt data on the wire.  Where the storage network is not itself trusted, set up an encrypted tunnel between the client and the QuantaStor system so that protocol traffic is protected in transit.&lt;br /&gt;
&lt;br /&gt;
More information on configuring IPsec on QuantaStor systems is available [[IPSec|here]].&lt;br /&gt;
&lt;br /&gt;
Note that IPsec protects data &#039;&#039;&#039;in transit&#039;&#039;&#039;.  For data &#039;&#039;&#039;at rest&#039;&#039;&#039;, QuantaStor provides [[Storage Pools|Storage Pool]] encryption, which is configured when the pool is created and is covered separately in the administrator guide.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Send System Log Report]] -- collecting and sending a scrubbed log bundle to support&lt;br /&gt;
* [[Duo Multi-Factor Authentication]] -- setting up the Cisco Duo MFA provider&lt;br /&gt;
* [[Custom SSH Security]] -- hardening the SSH service and managing key access&lt;br /&gt;
* [[Custom S3 SSl/TLS Certificate|Custom S3 SSL/TLS Certificate]] -- certificates for the S3 gateway&lt;br /&gt;
* [[IPSec]] -- encrypting protocol traffic in transit between client and appliance&lt;br /&gt;
* [[Storage Pools]] -- pool encryption, which protects data at rest&lt;br /&gt;
* [[Upgrade Manager]] -- applying security patches and QuantaStor updates&lt;br /&gt;
* [[Call-home / Alerting|Alert Manager]] -- alert delivery, including certificate expiry alerts&lt;br /&gt;
* [[Storage System]] -- system-level configuration and the Modify dialog&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&#039;&#039;Verified against QuantaStor 6.9.0.&#039;&#039;&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=MediaWiki:Common.css&amp;diff=27385</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=MediaWiki:Common.css&amp;diff=27385"/>
		<updated>2026-09-02T23:14:47Z</updated>

		<summary type="html">&lt;p&gt;Umbe: Use the sans-serif body font for h1/h2 instead of the Vector legacy serif stack, and darken the pre block background one step off almost-white&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
ul, p {&lt;br /&gt;
  margin-left: 15px;&lt;br /&gt;
}&lt;br /&gt;
p {&lt;br /&gt;
  padding-left: 10px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
h2 {&lt;br /&gt;
  margin-top: 15px;&lt;br /&gt;
  margin-bottom: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
img {&lt;br /&gt;
  padding-top: 15px;&lt;br /&gt;
  padding-bottom: 15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.toc {&lt;br /&gt;
  margin-bottom:15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#ca-talk {&lt;br /&gt;
    display: none !important;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* --- Documentation conventions; see Template:Navigation and Template:Code --- */&lt;br /&gt;
&lt;br /&gt;
/* Vector legacy sets h1/h2 in a serif stack (&#039;Linux Libertine&#039;,&#039;Georgia&#039;,&lt;br /&gt;
   &#039;Times&#039;), which reads as Times New Roman and clashes with the sans-serif&lt;br /&gt;
   body text. h3 and below are already sans-serif, so only h1/h2 need this. */&lt;br /&gt;
.mw-body h1,&lt;br /&gt;
.mw-body-content h1,&lt;br /&gt;
.mw-body-content h2,&lt;br /&gt;
.mw-body .mw-heading1,&lt;br /&gt;
.mw-body-content .mw-heading1,&lt;br /&gt;
.mw-body-content .mw-heading2 {&lt;br /&gt;
  font-family: inherit;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* pre blocks default to #f8f9fa, which is almost white and barely separates&lt;br /&gt;
   from the page. One step darker on the same Wikimedia grey ramp, with a&lt;br /&gt;
   slightly stronger border so the block stays defined. Survives the DarkMode&lt;br /&gt;
   extension, which applies filter: invert(1) hue-rotate(180deg) -- lightness&lt;br /&gt;
   flips, hue is preserved. Inline code is styled by Template:Code instead. */&lt;br /&gt;
pre,&lt;br /&gt;
.mw-code {&lt;br /&gt;
  background-color: #eaecf0;&lt;br /&gt;
  border-color: #c8ccd1;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Umbe</name></author>
	</entry>
</feed>