--- swagger: '2.0' info: title: volume-api-v2 version: Unknown consumes: - application/json produces: - application/json paths: "/": get: operationId: listVersions summary: List API versions description: | Lists information about all Block Storage API versions. produces: - application/json responses: '200': description: 200 300 response examples: application/json: |- { "versions": [ { "status": "CURRENT", "updated": "2012-01-04T11:33:21Z", "id": "v1.0", "links": [ { "href": "http://23.253.228.211:8776/v1/", "rel": "self" } ] }, { "status": "CURRENT", "updated": "2012-11-21T11:33:21Z", "id": "v2.0", "links": [ { "href": "http://23.253.228.211:8776/v2/", "rel": "self" } ] } ] } '300': description: 200 300 response examples: application/json: |- { "versions": [ { "status": "CURRENT", "updated": "2012-01-04T11:33:21Z", "id": "v1.0", "links": [ { "href": "http://23.253.228.211:8776/v1/", "rel": "self" } ] }, { "status": "CURRENT", "updated": "2012-11-21T11:33:21Z", "id": "v2.0", "links": [ { "href": "http://23.253.228.211:8776/v2/", "rel": "self" } ] } ] } "/v2": get: operationId: versionDetails summary: Show API version details description: | Shows details for Block Storage API v2. produces: - application/json responses: '200': description: 200 203 response examples: application/json: |- { "version": { "status": "CURRENT", "updated": "2012-01-04T11:33:21Z", "media-types": [ { "base": "application/xml", "type": "application/vnd.openstack.volume+xml;version=1" }, { "base": "application/json", "type": "application/vnd.openstack.volume+json;version=1" } ], "id": "v1.0", "links": [ { "href": "http://23.253.228.211:8776/v2/", "rel": "self" }, { "href": "http://jorgew.github.com/block-storage-api/content/os-block-storage-1.0.pdf", "type": "application/pdf", "rel": "describedby" }, { "href": "http://docs.rackspacecloud.com/servers/api/v1.1/application.wadl", "type": "application/vnd.sun.wadl+xml", "rel": "describedby" } ] } } '203': description: 200 203 response examples: application/json: |- { "version": { "status": "CURRENT", "updated": "2012-01-04T11:33:21Z", "media-types": [ { "base": "application/xml", "type": "application/vnd.openstack.volume+xml;version=1" }, { "base": "application/json", "type": "application/vnd.openstack.volume+json;version=1" } ], "id": "v1.0", "links": [ { "href": "http://23.253.228.211:8776/v2/", "rel": "self" }, { "href": "http://jorgew.github.com/block-storage-api/content/os-block-storage-1.0.pdf", "type": "application/pdf", "rel": "describedby" }, { "href": "http://docs.rackspacecloud.com/servers/api/v1.1/application.wadl", "type": "application/vnd.sun.wadl+xml", "rel": "describedby" } ] } } "/v2/{tenant_id}/extensions": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. get: operationId: listExtensions-cinder-v2 summary: List API extensions description: | Lists Block Storage API extensions. produces: - application/json responses: '200': description: 200 300 response examples: application/json: |- { "extensions": [ { "updated": "2013-04-18T00:00:00+00:00", "name": "SchedulerHints", "links": [], "namespace": "http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2", "alias": "OS-SCH-HNT", "description": "Pass arbitrary key/value pairs to the scheduler." }, { "updated": "2011-06-29T00:00:00+00:00", "name": "Hosts", "links": [], "namespace": "http://docs.openstack.org/volume/ext/hosts/api/v1.1", "alias": "os-hosts", "description": "Admin-only host administration." }, { "updated": "2011-11-03T00:00:00+00:00", "name": "VolumeTenantAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_tenant_attribute/api/v1", "alias": "os-vol-tenant-attr", "description": "Expose the internal project_id as an attribute of a volume." }, { "updated": "2011-08-08T00:00:00+00:00", "name": "Quotas", "links": [], "namespace": "http://docs.openstack.org/volume/ext/quotas-sets/api/v1.1", "alias": "os-quota-sets", "description": "Quota management support." }, { "updated": "2011-08-24T00:00:00+00:00", "name": "TypesManage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/types-manage/api/v1", "alias": "os-types-manage", "description": "Types manage support." }, { "updated": "2013-07-10T00:00:00+00:00", "name": "VolumeEncryptionMetadata", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-volume-encryption-metadata/api/v1", "alias": "os-volume-encryption-metadata", "description": "Volume encryption metadata retrieval support." }, { "updated": "2012-12-12T00:00:00+00:00", "name": "Backups", "links": [], "namespace": "http://docs.openstack.org/volume/ext/backups/api/v1", "alias": "backups", "description": "Backups support." }, { "updated": "2013-07-16T00:00:00+00:00", "name": "SnapshotActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/snapshot-actions/api/v1.1", "alias": "os-snapshot-actions", "description": "Enable snapshot manager actions." }, { "updated": "2012-05-31T00:00:00+00:00", "name": "VolumeActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-actions/api/v1.1", "alias": "os-volume-actions", "description": "Enable volume actions\n " }, { "updated": "2013-10-03T00:00:00+00:00", "name": "UsedLimits", "links": [], "namespace": "http://docs.openstack.org/volume/ext/used-limits/api/v1.1", "alias": "os-used-limits", "description": "Provide data on limited resources that are being used." }, { "updated": "2012-05-31T00:00:00+00:00", "name": "VolumeUnmanage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-unmanage/api/v1.1", "alias": "os-volume-unmanage", "description": "Enable volume unmanage operation." }, { "updated": "2011-11-03T00:00:00+00:00", "name": "VolumeHostAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_host_attribute/api/v1", "alias": "os-vol-host-attr", "description": "Expose host as an attribute of a volume." }, { "updated": "2013-07-01T00:00:00+00:00", "name": "VolumeTypeEncryption", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-type-encryption/api/v1", "alias": "encryption", "description": "Encryption support for volume types." }, { "updated": "2013-06-27T00:00:00+00:00", "name": "AvailabilityZones", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-availability-zone/api/v1", "alias": "os-availability-zone", "description": "Describe Availability Zones." }, { "updated": "2013-08-02T00:00:00+00:00", "name": "Qos_specs_manage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/qos-specs/api/v1", "alias": "qos-specs", "description": "QoS specs support." }, { "updated": "2011-08-24T00:00:00+00:00", "name": "TypesExtraSpecs", "links": [], "namespace": "http://docs.openstack.org/volume/ext/types-extra-specs/api/v1", "alias": "os-types-extra-specs", "description": "Type extra specs support." }, { "updated": "2013-08-08T00:00:00+00:00", "name": "VolumeMigStatusAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_mig_status_attribute/api/v1", "alias": "os-vol-mig-status-attr", "description": "Expose migration_status as an attribute of a volume." }, { "updated": "2012-08-13T00:00:00+00:00", "name": "CreateVolumeExtension", "links": [], "namespace": "http://docs.openstack.org/volume/ext/image-create/api/v1", "alias": "os-image-create", "description": "Allow creating a volume from an image in the Create Volume v1 API." }, { "updated": "2014-01-10T00:00:00-00:00", "name": "ExtendedServices", "links": [], "namespace": "http://docs.openstack.org/volume/ext/extended_services/api/v2", "alias": "os-extended-services", "description": "Extended services support." }, { "updated": "2012-06-19T00:00:00+00:00", "name": "ExtendedSnapshotAttributes", "links": [], "namespace": "http://docs.openstack.org/volume/ext/extended_snapshot_attributes/api/v1", "alias": "os-extended-snapshot-attributes", "description": "Extended SnapshotAttributes support." }, { "updated": "2012-12-07T00:00:00+00:00", "name": "VolumeImageMetadata", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_image_metadata/api/v1", "alias": "os-vol-image-meta", "description": "Show image metadata associated with the volume." }, { "updated": "2012-03-12T00:00:00+00:00", "name": "QuotaClasses", "links": [], "namespace": "http://docs.openstack.org/volume/ext/quota-classes-sets/api/v1.1", "alias": "os-quota-class-sets", "description": "Quota classes management support." }, { "updated": "2013-05-29T00:00:00+00:00", "name": "VolumeTransfer", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-transfer/api/v1.1", "alias": "os-volume-transfer", "description": "Volume transfer management support." }, { "updated": "2014-02-10T00:00:00+00:00", "name": "VolumeManage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-volume-manage/api/v1", "alias": "os-volume-manage", "description": "Allows existing backend storage to be 'managed' by Cinder." }, { "updated": "2012-08-25T00:00:00+00:00", "name": "AdminActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/admin-actions/api/v1.1", "alias": "os-admin-actions", "description": "Enable admin actions." }, { "updated": "2012-10-28T00:00:00-00:00", "name": "Services", "links": [], "namespace": "http://docs.openstack.org/volume/ext/services/api/v2", "alias": "os-services", "description": "Services support." } ] } '300': description: 200 300 response examples: application/json: |- { "extensions": [ { "updated": "2013-04-18T00:00:00+00:00", "name": "SchedulerHints", "links": [], "namespace": "http://docs.openstack.org/block-service/ext/scheduler-hints/api/v2", "alias": "OS-SCH-HNT", "description": "Pass arbitrary key/value pairs to the scheduler." }, { "updated": "2011-06-29T00:00:00+00:00", "name": "Hosts", "links": [], "namespace": "http://docs.openstack.org/volume/ext/hosts/api/v1.1", "alias": "os-hosts", "description": "Admin-only host administration." }, { "updated": "2011-11-03T00:00:00+00:00", "name": "VolumeTenantAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_tenant_attribute/api/v1", "alias": "os-vol-tenant-attr", "description": "Expose the internal project_id as an attribute of a volume." }, { "updated": "2011-08-08T00:00:00+00:00", "name": "Quotas", "links": [], "namespace": "http://docs.openstack.org/volume/ext/quotas-sets/api/v1.1", "alias": "os-quota-sets", "description": "Quota management support." }, { "updated": "2011-08-24T00:00:00+00:00", "name": "TypesManage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/types-manage/api/v1", "alias": "os-types-manage", "description": "Types manage support." }, { "updated": "2013-07-10T00:00:00+00:00", "name": "VolumeEncryptionMetadata", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-volume-encryption-metadata/api/v1", "alias": "os-volume-encryption-metadata", "description": "Volume encryption metadata retrieval support." }, { "updated": "2012-12-12T00:00:00+00:00", "name": "Backups", "links": [], "namespace": "http://docs.openstack.org/volume/ext/backups/api/v1", "alias": "backups", "description": "Backups support." }, { "updated": "2013-07-16T00:00:00+00:00", "name": "SnapshotActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/snapshot-actions/api/v1.1", "alias": "os-snapshot-actions", "description": "Enable snapshot manager actions." }, { "updated": "2012-05-31T00:00:00+00:00", "name": "VolumeActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-actions/api/v1.1", "alias": "os-volume-actions", "description": "Enable volume actions\n " }, { "updated": "2013-10-03T00:00:00+00:00", "name": "UsedLimits", "links": [], "namespace": "http://docs.openstack.org/volume/ext/used-limits/api/v1.1", "alias": "os-used-limits", "description": "Provide data on limited resources that are being used." }, { "updated": "2012-05-31T00:00:00+00:00", "name": "VolumeUnmanage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-unmanage/api/v1.1", "alias": "os-volume-unmanage", "description": "Enable volume unmanage operation." }, { "updated": "2011-11-03T00:00:00+00:00", "name": "VolumeHostAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_host_attribute/api/v1", "alias": "os-vol-host-attr", "description": "Expose host as an attribute of a volume." }, { "updated": "2013-07-01T00:00:00+00:00", "name": "VolumeTypeEncryption", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-type-encryption/api/v1", "alias": "encryption", "description": "Encryption support for volume types." }, { "updated": "2013-06-27T00:00:00+00:00", "name": "AvailabilityZones", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-availability-zone/api/v1", "alias": "os-availability-zone", "description": "Describe Availability Zones." }, { "updated": "2013-08-02T00:00:00+00:00", "name": "Qos_specs_manage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/qos-specs/api/v1", "alias": "qos-specs", "description": "QoS specs support." }, { "updated": "2011-08-24T00:00:00+00:00", "name": "TypesExtraSpecs", "links": [], "namespace": "http://docs.openstack.org/volume/ext/types-extra-specs/api/v1", "alias": "os-types-extra-specs", "description": "Type extra specs support." }, { "updated": "2013-08-08T00:00:00+00:00", "name": "VolumeMigStatusAttribute", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_mig_status_attribute/api/v1", "alias": "os-vol-mig-status-attr", "description": "Expose migration_status as an attribute of a volume." }, { "updated": "2012-08-13T00:00:00+00:00", "name": "CreateVolumeExtension", "links": [], "namespace": "http://docs.openstack.org/volume/ext/image-create/api/v1", "alias": "os-image-create", "description": "Allow creating a volume from an image in the Create Volume v1 API." }, { "updated": "2014-01-10T00:00:00-00:00", "name": "ExtendedServices", "links": [], "namespace": "http://docs.openstack.org/volume/ext/extended_services/api/v2", "alias": "os-extended-services", "description": "Extended services support." }, { "updated": "2012-06-19T00:00:00+00:00", "name": "ExtendedSnapshotAttributes", "links": [], "namespace": "http://docs.openstack.org/volume/ext/extended_snapshot_attributes/api/v1", "alias": "os-extended-snapshot-attributes", "description": "Extended SnapshotAttributes support." }, { "updated": "2012-12-07T00:00:00+00:00", "name": "VolumeImageMetadata", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume_image_metadata/api/v1", "alias": "os-vol-image-meta", "description": "Show image metadata associated with the volume." }, { "updated": "2012-03-12T00:00:00+00:00", "name": "QuotaClasses", "links": [], "namespace": "http://docs.openstack.org/volume/ext/quota-classes-sets/api/v1.1", "alias": "os-quota-class-sets", "description": "Quota classes management support." }, { "updated": "2013-05-29T00:00:00+00:00", "name": "VolumeTransfer", "links": [], "namespace": "http://docs.openstack.org/volume/ext/volume-transfer/api/v1.1", "alias": "os-volume-transfer", "description": "Volume transfer management support." }, { "updated": "2014-02-10T00:00:00+00:00", "name": "VolumeManage", "links": [], "namespace": "http://docs.openstack.org/volume/ext/os-volume-manage/api/v1", "alias": "os-volume-manage", "description": "Allows existing backend storage to be 'managed' by Cinder." }, { "updated": "2012-08-25T00:00:00+00:00", "name": "AdminActions", "links": [], "namespace": "http://docs.openstack.org/volume/ext/admin-actions/api/v1.1", "alias": "os-admin-actions", "description": "Enable admin actions." }, { "updated": "2012-10-28T00:00:00-00:00", "name": "Services", "links": [], "namespace": "http://docs.openstack.org/volume/ext/services/api/v2", "alias": "os-services", "description": "Services support." } ] } "/v2/{tenant_id}/volumes": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. post: operationId: createVolume summary: Create volume description: | Creates a volume. produces: - application/json responses: '202': description: 202 response examples: application/json: |- { "volume": { "status": "creating", "size": 10, "name": "my_volume", "availability_zone": "nova", "bootable": "false", "created_at": "2014-02-21T19:52:04.949734", "description": null, "volume_type": "None", "source_volid": null, "snapshot_id": null, "metadata": {}, "id": "93c2e2aa-7744-4fd6-a31a-80c4726b08d7", "attachments": [] } } get: operationId: getVolumesSimple summary: List volumes description: | Lists summary information for all Block Storage volumes that the tenant who submits the request can access. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volumes": [ { "id": "45baf976-c20a-4894-a7c3-c94b7376bf55", "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/45baf976-c20a-4894-a7c3-c94b7376bf55", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/45baf976-c20a-4894-a7c3-c94b7376bf55", "rel": "bookmark" } ], "name": "vol-004" }, { "id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "bookmark" } ], "name": "vol-003" } ] } "/v2/{tenant_id}/volumes/detail": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. get: operationId: getVolumesDetail summary: List volumes (detailed) description: | Lists detailed information for all Block Storage volumes that the tenant who submits the request can access. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volumes": [ { "status": "available", "attachments": [], "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/45baf976-c20a-4894-a7c3-c94b7376bf55", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/45baf976-c20a-4894-a7c3-c94b7376bf55", "rel": "bookmark" } ], "availability_zone": "nova", "os-vol-host-attr:host": "ip-10-168-107-25", "created_at": "2013-02-25T06:36:28.000000", "os-vol-tenant-attr:tenant_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": { "contents": "junk" }, "source_volid": null, "name": "vol-004", "volume_type": "None", "snapshot_id": null, "size": 1, "id": "45baf976-c20a-4894-a7c3-c94b7376bf55", "description": "Another volume." }, { "status": "available", "attachments": [], "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "bookmark" } ], "availability_zone": "nova", "os-vol-host-attr:host": "ip-10-168-107-25", "created_at": "2013-02-25T02:40:21.000000", "os-vol-tenant-attr:tenant_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": { "contents": "not junk" }, "source_volid": null, "name": "vol-003", "volume_type": "None", "snapshot_id": null, "size": 1, "id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "description": "This is yet, another volume." } ] } "/v2/{tenant_id}/volumes/{volume_id}": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. - name: volume_id required: true in: path type: string description: | The unique identifier of an existing volume. get: operationId: getVolume summary: Show volume information description: | Shows information about a specified volume. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume": { "status": "available", "attachments": [], "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "bookmark" } ], "availability_zone": "nova", "bootable": "false", "created_at": "2013-02-25T02:40:21.000000", "os-vol-tenant-attr:tenant_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": { "contents": "not junk" }, "source_volid": null, "name": "vol-002", "os-vol-host-attr:host": "ip-10-168-107-25", "volume_type": "None", "snapshot_id": null, "size": 1, "id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "description": "Super volume." } } put: operationId: updateVolume summary: Update volume description: | Updates a volume. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume": { "status": "available", "attachments": [], "links": [ { "href": "http://localhost:8776/v2/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "self" }, { "href": "http://localhost:8776/0c2eba2c5af04d3f9e9d0d410b371fde/volumes/5aa119a8-d25b-45a7-8d1b-88e127885635", "rel": "bookmark" } ], "availability_zone": "nova", "created_at": "2013-02-25T02:40:21.000000", "metadata": { "contents": "not junk" }, "source_volid": null, "name": "vol-003", "volume_type": "None", "snapshot_id": null, "size": 1, "id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "description": "This is yet, another volume." } } parameters: - name: description required: false in: query type: string description: | A description of the volume. - name: name required: false in: query type: string description: | The name of the volume. delete: operationId: deleteVolume summary: Delete volume description: | Deletes a specified volume. produces: [] responses: '202': description: 202 response "/v2/{tenant_id}/types": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. get: operationId: getVolumeTypes summary: List volume types description: | Lists volume types. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume_types": [ { "extra_specs": { "capabilities": "gpu" }, "id": "6685584b-1eac-4da6-b5c3-555430cf68ff", "name": "SSD" }, { "extra_specs": {}, "id": "8eb69a46-df97-4e41-9586-9a40a7533803", "name": "SATA" } ] } post: operationId: createVolumeType summary: Create volume type description: | Creates a volume type. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume_type": { "extra_specs": { "capabilities": "gpu" }, "id": "6685584b-1eac-4da6-b5c3-555430cf68ff", "name": "vol-type-001" } } "/v2/{tenant_id}/types/{volume_type_id}": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. - name: volume_type_id required: true in: path type: string description: | The unique identifier for an existing volume type. put: operationId: updateVolumeTypeExtraSpecs summary: Update extra specs for a volume type description: | Updates the extra specifications assigned to a volume type. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume_type": { "extra_specs": { "capabilities": "gpu" }, "id": "289da7f8-6440-407c-9fb4-7db01ec49164", "name": "vol-type-001" } } get: operationId: getVolumeType summary: Show volume type information description: | Shows information about a specified volume type. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "volume_type": { "extra_specs": { "capabilities": "gpu" }, "id": "6685584b-1eac-4da6-b5c3-555430cf68ff", "name": "vol-type-001" } } delete: operationId: deleteVolumeType summary: Delete volume type description: | Deletes a specified volume type. produces: [] responses: '202': description: 202 response "/v2/{tenant_id}/snapshots": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. post: operationId: createSnapshot summary: Create snapshot description: | Creates a snapshot, which is a point-in-time complete copy of a volume. You can create a volume from the snapshot. produces: - application/json responses: '202': description: 202 response examples: application/json: |- { "snapshot": { "status": "creating", "description": "Daily backup", "created_at": "2013-02-25T03:56:53.081642", "name": "snap-001", "volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "metadata": {}, "id": "ffa9bc5e-1172-4021-acaf-cdcd78a9584d", "size": 1 } } parameters: - name: snapshot required: true in: query type: string description: | A partial representation of a snapshot used in the creation process. - name: volume_id required: true in: query type: string description: | To create a snapshot from an existing volume, specify the ID of the existing volume. - name: force required: false in: query type: boolean description: | [True/False] Indicate whether to snapshot, even if the volume is attached. Default==False. - name: name required: false in: query type: string description: | Name of the snapshot. Default==None. - name: description required: false in: query type: string description: | Description of snapshot. Default==None. get: operationId: getSnapshotsSimple summary: List snapshots description: | Lists summary information for all Block Storage snapshots that the tenant who submits the request can access. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "snapshots": [ { "status": "available", "description": "Very important", "created_at": "2013-02-25T04:13:17.000000", "name": "snap-001", "volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "metadata": {}, "id": "2bb856e1-b3d8-4432-a858-09e4ce939389", "size": 1 }, { "status": "available", "description": "Weekly backup", "created_at": "2013-02-25T07:20:38.000000", "name": "snap-002", "volume_id": "806092e3-7551-4fff-a005-49016f4943b1", "metadata": {}, "id": "e820db06-58b5-439d-bac6-c01faa3f6499", "size": 1 } ] } "/v2/{tenant_id}/snapshots/detail": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. get: operationId: getSnapshotsDetail summary: List snapshots (detailed) description: | Lists detailed information for all Block Storage snapshots that the tenant who submits the request can access. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "snapshots": [ { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": "Daily backup", "name": "snap-001", "created_at": "2013-02-25T07:30:12.000000", "id": "43f20e0e-2c2c-4770-9d4e-c3d769ae5470", "volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "size": 30, "os-extended-snapshot-attributes:project_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": {} }, { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": "Weekly backup", "name": "snap-002", "created_at": "2013-02-25T07:20:38.000000", "id": "e820db06-58b5-439d-bac6-c01faa3f6499", "volume_id": "806092e3-7551-4fff-a005-49016f4943b1", "size": 1, "os-extended-snapshot-attributes:project_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": {} } ] } "/v2/{tenant_id}/snapshots/{snapshot_id}": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. - name: snapshot_id required: true in: path type: string description: | The unique identifier of an existing snapshot. get: operationId: getSnapshot summary: Show snapshot information description: | Shows information for a specified snapshot. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "snapshot": { "status": "available", "os-extended-snapshot-attributes:progress": "100%", "description": "Daily backup", "name": "snap-001", "created_at": "2013-02-25T04:13:17.000000", "id": "2bb856e1-b3d8-4432-a858-09e4ce939389", "volume_id": "5aa119a8-d25b-45a7-8d1b-88e127885635", "size": 1, "os-extended-snapshot-attributes:project_id": "0c2eba2c5af04d3f9e9d0d410b371fde", "metadata": {} } } put: operationId: updateSnapshot summary: Update snapshot description: | Updates a specified snapshot. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "snapshot": { "status": "available", "description": "This is yet, another snapshot", "created_at": "2013-02-20T08:11:34.000000", "name": "vol-002", "volume_id": "2402b902-0b7a-458c-9c07-7435a826f794", "id": "4b502fcb-1f26-45f8-9fe5-3b9a0a52eaf2", "size": 1 } } parameters: - name: description required: false in: query type: string description: | Describes the snapshot. - name: name required: false in: query type: string description: | The name of the snapshot. delete: operationId: deleteSnapshot summary: Delete snapshot description: | Deletes a specified snapshot. produces: [] responses: '202': description: 202 response "/v2/{tenant_id}/snapshots/{snapshot_id}/metadata": parameters: - name: tenant_id required: true in: path type: string description: | The unique identifier of the tenant or account. - name: snapshot_id required: true in: path type: string description: | The unique identifier of an existing snapshot. get: operationId: showSnapshotMetadata summary: Show snapshot metadata description: | Shows the metadata for a specified snapshot. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "snapshot": { "status": "available", "os-extended-snapshot-attributes:progress": "0%", "description": null, "name": "my-snapshot", "created_at": "2014-05-06T17:59:52.000000", "id": "dfcd17fe-3b64-44ba-b95f-1c9c7109ef95", "volume_id": "ebd80b99-bc3d-4154-9d28-5583baa80580", "size": 10, "os-extended-snapshot-attributes:project_id": "7e0105e19cd2466193729ef78b604f79", "metadata": { "key": "v2" } } } put: operationId: updateSnapshotMetadata summary: Update snapshot metadata description: | Updates the metadata for a specified snapshot. produces: - application/json responses: '200': description: 200 response examples: application/json: |- { "metadata": { "key": "v2" } }