ModifyVolumes

You can use the ModifyVolumes method to configure up to 500 existing volumes at one time. Changes take place immediately. If ModifyVolumes fails to modify any of the specified volumes, none of the specified volumes are changed.

If you do not specify QoS values when you modify volumes, the QoS values for each volume remain unchanged. You can retrieve default QoS values for a newly created volume by running the GetDefaultQoS method.

When you need to increase the size volumes that are 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
access Access allowed for the volumes. 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 volumes are 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 the volumes. 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 volumes 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
volumeIDs A list of volumeIDs for the volumes to be modified. integer array None Yes

Return value

This method has the following return value:

Name Description Type
volume An array of objects containing information about each newly modified volume. volume array

Request example

Requests for this method are similar to the following example:

{
  "method": "ModifyVolumes",
  "params": {
    "volumeIDs": [2,3],
    "attributes": {
      "name1": "value1",
      "name2": "value2",
      "name3": "value3"
    },
    "qos": {
      "minIOPS": 50,
      "maxIOPS": 100,
      "burstIOPS": 150,
      "burstTime": 60
    },
    "access" : "replicationTarget"
  },
  "totalSize": 80000000000,
  "id": 1
}

Response example

This method returns a response similar to the following example:

{
  "id": 1,
  "result": {
    "volumes": [
      {
        "access": "replicationTarget",
        "accountID": 1,
        "attributes": {
          "name1": "value1",
          "name2": "value2",
          "name3": "value3"
        },
        "blockSize": 4096,
        "createTime": "2016-04-06T17:25:13Z",
        "deleteTime": "",
        "enable512e": false,
        "iqn": "iqn.2010-01.com.solidfire:jo73.2",
        "name": "doctest1",
        "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": 50
        },
        "scsiEUIDeviceID": "6a6f373300000002f47acc0100000000",
        "scsiNAADeviceID": "6f47acc1000000006a6f373300000002",
        "sliceCount": 1,
        "status": "active",
        "totalSize": 1000341504,
        "virtualVolumeID": null,
        "volumeAccessGroups": [],
        "volumeID": 2,
        "volumePairs": []
      },
      {
        "access": "replicationTarget",
        "accountID": 1,
        "attributes": {
          "name1": "value1",
          "name2": "value2",
          "name3": "value3"
        },
        "blockSize": 4096,
        "createTime": "2016-04-06T17:26:31Z",
        "deleteTime": "",
        "enable512e": false,
        "iqn": "iqn.2010-01.com.solidfire:jo73.3",
        "name": "doctest2",
        "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": 50
        },
        "scsiEUIDeviceID": "6a6f373300000003f47acc0100000000",
        "scsiNAADeviceID": "6f47acc1000000006a6f373300000003",
        "sliceCount": 1,
        "status": "active",
        "totalSize": 1000341504,
        "virtualVolumeID": null,
        "volumeAccessGroups": [],
        "volumeID": 3,
        "volumePairs": []
      }
    ]
  }
}