openapi: 3.1.0 info: title: Amazon EBS Amazon Elastic Block Store (EBS) API description: Amazon EBS provides persistent block storage volumes for use with Amazon EC2 instances, offering consistent and low-latency performance for workloads that require persistent storage. version: '2016-11-15' contact: name: Kin Lane email: kin@apievangelist.com url: https://aws.amazon.com/ebs/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://ec2.amazonaws.com description: Amazon EC2/EBS API endpoint paths: /: get: operationId: describeVolumes summary: Amazon EBS Describe Volumes description: Describes the specified EBS volumes or all of your EBS volumes. parameters: - name: Action in: query required: true schema: type: string enum: - DescribeVolumes example: DescribeVolumes - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 - name: VolumeId in: query schema: type: array items: type: string description: The volume IDs to describe. example: - vol-0abc123def456789 - name: MaxResults in: query schema: type: integer description: The maximum number of volumes to return. example: 1 - name: NextToken in: query schema: type: string description: The token for the next set of results. example: example-string responses: '200': description: Successful response with volume details. content: application/xml: schema: $ref: '#/components/schemas/DescribeVolumesResult' examples: describeVolumes200Example: summary: Default describeVolumes 200 response x-microcks-default: true value: volumeSet: - vol-0abc123def456789 nextToken: example-string x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createVolume summary: Amazon EBS Create Volume description: Creates an EBS volume that can be attached to an instance in the same Availability Zone. parameters: - name: Action in: query required: true schema: type: string enum: - CreateVolume example: CreateVolume - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - AvailabilityZone properties: AvailabilityZone: type: string description: The Availability Zone in which to create the volume. Size: type: integer description: The size of the volume, in GiBs. VolumeType: type: string enum: - gp2 - gp3 - io1 - io2 - st1 - sc1 - standard description: The volume type. Iops: type: integer description: The number of I/O operations per second (IOPS). Throughput: type: integer description: The throughput to provision for a gp3 volume. SnapshotId: type: string description: The snapshot from which to create the volume. Encrypted: type: boolean description: Specifies whether the volume should be encrypted. KmsKeyId: type: string description: The identifier of the KMS key for encryption. examples: createVolumeRequestExample: summary: Default createVolume request x-microcks-default: true value: {} responses: '200': description: Successful response with the created volume details. content: application/xml: schema: $ref: '#/components/schemas/Volume' examples: createVolume200Example: summary: Default createVolume 200 response x-microcks-default: true value: volumeId: vol-0abc123def456789 size: 1 volumeType: vol-0abc123def456789 state: creating availabilityZone: example-string '400': description: Bad request error. x-microcks-operation: delay: 0 dispatcher: FALLBACK /#DeleteVolume: post: operationId: deleteVolume summary: Amazon EBS Delete Volume description: Deletes the specified EBS volume. The volume must be in the available state and not attached to any instance. parameters: - name: Action in: query required: true schema: type: string enum: - DeleteVolume example: DeleteVolume - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - VolumeId properties: VolumeId: type: string description: The ID of the volume to delete. examples: deleteVolumeRequestExample: summary: Default deleteVolume request x-microcks-default: true value: {} responses: '200': description: Successful deletion response. '400': description: Bad request error. tags: - '#DeleteVolume' x-microcks-operation: delay: 0 dispatcher: FALLBACK /#AttachVolume: post: operationId: attachVolume summary: Amazon EBS Attach Volume description: Attaches an EBS volume to a running or stopped instance and exposes it to the instance with the specified device name. parameters: - name: Action in: query required: true schema: type: string enum: - AttachVolume example: AttachVolume - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - VolumeId - InstanceId - Device properties: VolumeId: type: string description: The ID of the EBS volume. InstanceId: type: string description: The ID of the instance. Device: type: string description: The device name to expose the volume to the instance. examples: attachVolumeRequestExample: summary: Default attachVolume request x-microcks-default: true value: {} responses: '200': description: Successful response with attachment details. '400': description: Bad request error. tags: - '#AttachVolume' x-microcks-operation: delay: 0 dispatcher: FALLBACK /#DetachVolume: post: operationId: detachVolume summary: Amazon EBS Detach Volume description: Detaches an EBS volume from an instance. parameters: - name: Action in: query required: true schema: type: string enum: - DetachVolume example: DetachVolume - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - VolumeId properties: VolumeId: type: string description: The ID of the volume. InstanceId: type: string description: The ID of the instance. Device: type: string description: The device name. Force: type: boolean description: Forces detachment if the previous detachment attempt did not occur cleanly. examples: detachVolumeRequestExample: summary: Default detachVolume request x-microcks-default: true value: {} responses: '200': description: Successful response with detachment details. '400': description: Bad request error. tags: - '#DetachVolume' x-microcks-operation: delay: 0 dispatcher: FALLBACK /#CreateSnapshot: post: operationId: createSnapshot summary: Amazon EBS Create Snapshot description: Creates a snapshot of an EBS volume and stores it in Amazon S3. parameters: - name: Action in: query required: true schema: type: string enum: - CreateSnapshot example: CreateSnapshot - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 requestBody: content: application/x-www-form-urlencoded: schema: type: object required: - VolumeId properties: VolumeId: type: string description: The ID of the EBS volume. Description: type: string description: A description for the snapshot. examples: createSnapshotRequestExample: summary: Default createSnapshot request x-microcks-default: true value: {} responses: '200': description: Successful response with the snapshot details. '400': description: Bad request error. tags: - '#CreateSnapshot' x-microcks-operation: delay: 0 dispatcher: FALLBACK /#DescribeSnapshots: get: operationId: describeSnapshots summary: Amazon EBS Describe Snapshots description: Describes the specified EBS snapshots available to you or all of the EBS snapshots available to you. parameters: - name: Action in: query required: true schema: type: string enum: - DescribeSnapshots example: DescribeSnapshots - name: Version in: query required: true schema: type: string default: '2016-11-15' example: 5.0.0 - name: SnapshotId in: query schema: type: array items: type: string description: The snapshot IDs to describe. example: - snap-0abc123def456789 - name: MaxResults in: query schema: type: integer description: The maximum number of snapshots to return. example: 1 - name: NextToken in: query schema: type: string description: The token for the next set of results. example: example-string responses: '200': description: Successful response with snapshot details. '400': description: Bad request error. tags: - '#DescribeSnapshots' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: DescribeVolumesResult: type: object properties: volumeSet: type: array items: $ref: '#/components/schemas/Volume' example: - vol-0abc123def456789 nextToken: type: string example: example-string Volume: type: object properties: volumeId: type: string description: The ID of the volume. example: vol-0abc123def456789 size: type: integer description: The size of the volume, in GiBs. example: 1 volumeType: type: string description: The volume type. example: vol-0abc123def456789 state: type: string enum: - creating - available - in-use - deleting - deleted - error description: The volume state. example: creating availabilityZone: type: string description: The Availability Zone for the volume. example: example-string createTime: type: string format: date-time description: The time stamp when volume creation was initiated. example: '2025-03-15T14:30:00Z' encrypted: type: boolean description: Indicates whether the volume is encrypted. example: true kmsKeyId: type: string description: The Amazon Resource Name (ARN) of the KMS key. example: example-id-1234 iops: type: integer description: The number of I/O operations per second. example: 1 throughput: type: integer description: The throughput that the volume supports, in MiB/s. example: 1 snapshotId: type: string description: The snapshot from which the volume was created. example: snap-0abc123def456789 attachments: type: array items: type: object properties: volumeId: type: string instanceId: type: string device: type: string state: type: string attachTime: type: string format: date-time description: Information about the volume attachments. example: - volumeId: vol-0abc123def456789 instanceId: i-0abc123def456789 device: example-string tags: type: array items: type: object properties: key: type: string value: type: string description: Any tags assigned to the volume. example: - key: example-string value: example-string securitySchemes: aws_sigv4: type: apiKey name: Authorization in: header description: AWS Signature Version 4 authentication. tags: - name: '#AttachVolume' - name: '#CreateSnapshot' - name: '#DeleteVolume' - name: '#DescribeSnapshots' - name: '#DetachVolume'