ModifyVolume

You can use the ModifyVolume method to modify settings on an existing volume. You can make modifications to one volume at a time and changes take place immediately.

If you do not specify QoS values when you modify a volume, they remain the same as before the modification. You can retrieve default QoS values for a newly created volume by running the GetDefaultQoS method.

When you need to increase the size of a volume that is being replicated, do so in the following order to prevent replication errors:
  1. Increase the size of the volume with replicationTarget access.
  2. Increase the size of the source or the volume with readWrite access.

Ensure that both the target and source volumes are the same size.

Note: If you change the access status to locked or replicationTarget, all existing iSCSI connections are terminated.

Parameters

This method has the following input parameters:

Name Description Type Default value Required
volumeID The volumeID for the volume to be modified. integer None Yes
access Access allowed for the volume. Possible values:
  • readOnly: Only read operations are allowed.
  • readWrite: Reads and writes are allowed.
  • locked: No reads or writes are allowed. If not specified, the access value does not change.
  • replicationTarget: Identify a volume as the target volume for a paired set of volumes. If the volume is not paired, the access status is locked. If a value is not specified, the access value does not change.
string None No
accountID The accountID to which the volume is reassigned. If none is specified, the previous account name is used. integer None No
associateWithQoSPolicy Associate the volume with the specified QoS policy. Possible values:
  • true: Associate the volume with the QoS policy specified in the QoSPolicyID parameter.
  • false: Do not associate the volume with the QoS policy specified in the QoSPolicyID parameter. When false, any existing policy association is removed, regardless of whether you specify a QoS policy in the QoSPolicy parameter.
boolean None No
attributes List of name-value pairs in JSON object format. JSON object None No
createTime An ISO 8601 date string to set as the new volume creation date. Required if setCreateTime is set to true. ISO 8601 string None No
enableSnapMirrorReplication Determines whether the volume can be used for replication with SnapMirror endpoints. Possible values:
  • true
  • false
boolean false No
mode Volume replication mode. Possible values:
  • asynch: Waits for system to acknowledge that data is stored on source before writing to the target.
  • sync: Does not wait for data transmission acknowledgment from source to begin writing data to the target.
string None No
qos The new quality of service settings for this volume. If not specified, the QoS settings are not changed. Possible values:
  • minIOPS
  • maxIOPS
  • burstIOPS
QoS None No
qosPolicyID The ID for the policy whose QoS settings should be applied to the specified volumes. This parameter is mutually exclusive with the qos parameter. integer None No
setCreateTime Set to true to change the recorded date of volume creation. boolean None No
totalSize The new size of the volume in bytes. 1000000000 is equal to 1GB. Size is rounded up to the nearest megabyte in size. This parameter can only be used to increase the size of a volume. integer None No

Return value

This method has the following return value:

Name Description Type
volume Object containing information about the newly modified volume. volume

Request example

Requests for this method are similar to the following example:

{
  "method": "ModifyVolume",
  "params": {
     "volumeID": 5,
     "attributes": {
        "name1": "value1",
        "name2": "value2",
        "name3": "value3"
     },
     "qos": {
        "minIOPS": 60,
        "maxIOPS": 100,
        "burstIOPS": 150,
        "burstTime": 60
     },
      "access" :"readWrite"
     },
      "totalSize": 20000000000,
     "id": 1
}

Response example

This method returns a response similar to the following example:

{
  "id": 1,
  "result": {
      "volume": {
          "access": "readWrite",
          "accountID": 1,
          "attributes": {
              "name1": "value1",
              "name2": "value2",
              "name3": "value3"
          },
          "blockSize": 4096,
          "createTime": "2016-03-28T16:16:13Z",
          "deleteTime": "",
          "enable512e": true,
          "iqn": "iqn.2010-01.com.solidfire:jyay.1459181777648.5",
          "name": "1459181777648",
          "purgeTime": "",
          "qos": {
              "burstIOPS": 150,
              "burstTime": 60,
              "curve": {
                  "4096": 100,
                  "8192": 160,
                  "16384": 270,
                  "32768": 500,
                  "65536": 1000,
                  "131072": 1950,
                  "262144": 3900,
                  "524288": 7600,
                  "1048576": 15000
              },
              "maxIOPS": 100,
              "minIOPS": 60
          },
          "scsiEUIDeviceID": "6a79617900000005f47acc0100000000",
          "scsiNAADeviceID": "6f47acc1000000006a79617900000005",
          "sliceCount": 1,
          "status": "active",
          "totalSize": 1000341504,
          "virtualVolumeID": null,
          "volumeAccessGroups": [
              1
          ],
          "volumeID": 5,
          "volumePairs": []
      }
  }
}