Amazon EBS · JSON Structure

Amazon Ebs Volume Structure

Schema representing an Amazon Elastic Block Store volume, which provides persistent block-level storage for use with Amazon EC2 instances.

Type: object Properties: 14 Required: 1
Amazon Web ServicesBlock StorageEBSEC2SnapshotsStorageVolumes

Amazon EBS Volume is a JSON Structure definition published by Amazon EBS, describing 14 properties, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

volumeId size volumeType state availabilityZone createTime encrypted kmsKeyId iops throughput snapshotId multiAttachEnabled attachments tags

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-ebs/refs/heads/main/json-structure/amazon-ebs-volume-structure.json",
  "name": "Amazon EBS Volume",
  "description": "Schema representing an Amazon Elastic Block Store volume, which provides persistent block-level storage for use with Amazon EC2 instances.",
  "type": "object",
  "properties": {
    "volumeId": {
      "type": "string",
      "description": "The ID of the volume.",
      "pattern": "^vol-[a-f0-9]+$"
    },
    "size": {
      "type": "int32",
      "description": "The size of the volume, in GiBs.",
      "minimum": 1,
      "maximum": 16384
    },
    "volumeType": {
      "type": "string",
      "description": "The volume type.",
      "enum": [
        "gp2",
        "gp3",
        "io1",
        "io2",
        "st1",
        "sc1",
        "standard"
      ],
      "default": "gp3"
    },
    "state": {
      "type": "string",
      "description": "The volume state.",
      "enum": [
        "creating",
        "available",
        "in-use",
        "deleting",
        "deleted",
        "error"
      ]
    },
    "availabilityZone": {
      "type": "string",
      "description": "The Availability Zone for the volume."
    },
    "createTime": {
      "type": "datetime",
      "description": "The time stamp when volume creation was initiated."
    },
    "encrypted": {
      "type": "boolean",
      "description": "Indicates whether the volume is encrypted.",
      "default": false
    },
    "kmsKeyId": {
      "type": "string",
      "description": "The Amazon Resource Name (ARN) of the AWS KMS key that was used to protect the volume encryption key."
    },
    "iops": {
      "type": "int32",
      "description": "The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes only.",
      "minimum": 100,
      "maximum": 256000
    },
    "throughput": {
      "type": "int32",
      "description": "The throughput that the volume supports, in MiB/s. For gp3 volumes only.",
      "minimum": 125,
      "maximum": 1000
    },
    "snapshotId": {
      "type": "string",
      "description": "The snapshot from which the volume was created, if applicable.",
      "pattern": "^snap-[a-f0-9]*$"
    },
    "multiAttachEnabled": {
      "type": "boolean",
      "description": "Indicates whether Amazon EBS Multi-Attach is enabled. For io1 and io2 volumes only.",
      "default": false
    },
    "attachments": {
      "type": "array",
      "description": "Information about the volume attachments.",
      "items": {
        "type": "object",
        "properties": {
          "volumeId": {
            "type": "string",
            "description": "The ID of the volume."
          },
          "instanceId": {
            "type": "string",
            "description": "The ID of the instance.",
            "pattern": "^i-[a-f0-9]+$"
          },
          "device": {
            "type": "string",
            "description": "The device name."
          },
          "state": {
            "type": "string",
            "description": "The attachment state of the volume.",
            "enum": [
              "attaching",
              "attached",
              "detaching",
              "detached",
              "busy"
            ]
          },
          "attachTime": {
            "type": "datetime",
            "description": "The time stamp when the attachment initiated."
          },
          "deleteOnTermination": {
            "type": "boolean",
            "description": "Indicates whether the EBS volume is deleted on instance termination."
          }
        }
      }
    },
    "tags": {
      "type": "array",
      "description": "Any tags assigned to the volume.",
      "items": {
        "type": "object",
        "properties": {
          "Key": {
            "type": "string",
            "description": "The key of the tag."
          },
          "Value": {
            "type": "string",
            "description": "The value of the tag."
          }
        }
      }
    }
  },
  "required": [
    "availabilityZone"
  ]
}