Pure Storage · Schema

Volume

Volume schema from FlashArray REST API

StorageData StorageFlash StorageEnterprise StorageCloud StorageObject StorageFile StorageBlock StorageKubernetes StorageInfrastructure
View JSON Schema on GitHub

JSON Schema

flasharray-rest-api-volume-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Volume",
  "description": "Volume schema from FlashArray REST API",
  "$id": "https://raw.githubusercontent.com/api-evangelist/pure-storage/refs/heads/main/json-schema/flasharray-rest-api-volume-schema.json",
  "allOf": [
    {
      "allOf": [
        {
          "$ref": "#/components/schemas/_resource"
        },
        {
          "description": "A random access virtual storage device that a FlashArray exports to hosts via a\nlogical unit number (LUN). For a host, a volume contains a number of 512-byte sectors in which\ndata can be written and from which it can be read.\n",
          "type": "object",
          "properties": {
            "connection_count": {
              "description": "The total number of hosts and host groups connected to the volume.\n",
              "type": "integer",
              "format": "int64",
              "readOnly": true
            },
            "created": {
              "description": "The volume creation time, measured in milliseconds since the UNIX epoch.\n",
              "type": "integer",
              "format": "int64",
              "readOnly": true
            },
            "destroyed": {
              "description": "Returns a value of `true` if the volume has been destroyed and is pending eradication.\nThe `time_remaining` value displays the amount of time left until the destroyed volume is\npermanently eradicated.\nBefore the `time_remaining` period has elapsed, the destroyed volume can be recovered\nby setting `destroyed=false`.\nOnce the `time_remaining` period has elapsed, the volume is permanently eradicated and can\nno longer be recovered.\n",
              "type": "boolean"
            },
            "host_encryption_key_status": {
              "description": "The host encryption key status for this volume.\nValues include `none`, `detected`, and `fetched`.\n",
              "type": "string",
              "readOnly": true,
              "example": "detected"
            },
            "priority_adjustment": {
              "description": "Priority adjustment operator and value.\n",
              "title": "PriorityAdjustment",
              "allOf": [
                {
                  "$ref": "#/components/schemas/_priorityAdjustment"
                }
              ]
            },
            "provisioned": {
              "description": "The virtual size of the volume as a multiple of 512, measured in bytes.\nThe maximum size is 4503599627370496 (4PB).\n",
              "type": "integer",
              "format": "int64"
            },
            "qos": {
              "description": "Displays QoS limit information.\n",
              "title": "Qos",
              "allOf": [
                {
                  "$ref": "#/components/schemas/_qos"
                }
              ]
            },
            "serial": {
              "description": "A globally unique serial number generated by the FlashArray when the volume is created.\n",
              "type": "string",
              "readOnly": true
            },
            "space": {
              "description": "Displays size and space consumption information.\n",
              "title": "VolumeSpaceCommon",
              "allOf": [
                {
                  "$ref": "#/components/schemas/_volumeSpaceCommon"
                }
              ]
            },
            "time_remaining": {
              "description": "The amount of time left until the destroyed volume is permanently eradicated,\nmeasured in milliseconds.\nBefore the `time_remaining` period has elapsed, the destroyed volume can be recovered\nby setting `destroyed=false`.\n",
              "type": "integer",
              "format": "int64",
              "readOnly": true
            }
          }
        }
      ]
    },
    {
      "type": "object",
      "properties": {
        "context": {
          "description": "The context in which the operation was performed.\n\nValid values include a reference to any array which is a member of the same fleet\nor to the fleet itself.\n\nOther parameters provided with the request, such as names of volumes or snapshots,\nare resolved relative to the provided `context`.\n",
          "readOnly": true,
          "title": "FixedReferenceWithType",
          "allOf": [
            {
              "$ref": "#/components/schemas/_fixedReferenceWithType"
            }
          ]
        }
      }
    },
    {
      "type": "object",
      "properties": {
        "pod": {
          "description": "A reference to the pod.\n",
          "title": "Reference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_reference"
            }
          ]
        },
        "priority": {
          "description": "The current priority value. Priority is calculated by combining all applicable relative\n`priority_adjustment` values or taking the exact value if the volume has an absolute\n`priority_adjustment` (specified by an `=` `priority_adjustment_operator`).\n",
          "type": "integer",
          "format": "int32",
          "readOnly": true
        },
        "promotion_status": {
          "description": "Current promotion status of a volume. Values include `promoted` and `demoted`.\nA status of `promoted` indicates that the volume has been promoted and can accept write\nrequests from hosts. This is the default status for a volume when it is created.\nA status of `demoted` indicates that the volume has been demoted and no longer accepts write\nrequests.\n",
          "type": "string"
        },
        "protocol_endpoint": {
          "description": "Properties that are specific to volumes of `subtype=protocol_endpoint`.\n",
          "title": "Protocol_endpoint",
          "allOf": [
            {
              "$ref": "#/components/schemas/_protocol_endpoint"
            }
          ]
        },
        "requested_promotion_state": {
          "description": "Values include `promoted` and `demoted`.\nPatch `requested_promotion_state` to `demoted` to demote the volume so that the volume\nstops accepting write requests.\nPatch `requested_promotion_state` to `promoted` to promote the volume so that the volume\nstarts accepting write requests.\n",
          "type": "string"
        },
        "source": {
          "description": "A reference to the originating volume as a result of a volume copy.\n",
          "title": "FixedReference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_fixedReference"
            }
          ]
        },
        "subtype": {
          "description": "The type of volume. Values include `protocol_endpoint` and `regular`.\n",
          "type": "string",
          "readOnly": true
        },
        "volume_group": {
          "description": "A reference to the volume group.\n",
          "title": "Reference",
          "allOf": [
            {
              "$ref": "#/components/schemas/_reference"
            }
          ]
        },
        "workload": {
          "type": "object",
          "description": "A reference to the workload that is managing this resource.\nThe `name` and `configuration` may show as the string \"(unknown)\" briefly after a failover.\n",
          "allOf": [
            {
              "$ref": "#/components/schemas/_referenceWithFixedType"
            },
            {
              "type": "object",
              "properties": {
                "configuration": {
                  "description": "The name of the preset configuration object.\n",
                  "type": "string"
                }
              }
            }
          ]
        }
      }
    }
  ]
}