Pure Storage · Schema
Volume
Volume schema from FlashArray REST API
StorageData StorageFlash StorageEnterprise StorageCloud StorageObject StorageFile StorageBlock StorageKubernetes StorageInfrastructure
JSON Schema
{
"$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"
}
}
}
]
}
}
}
]
}