{ "$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" } } } ] } } } ] }