Revert "Remove v1 API reference"
The v1 API is still in the tree, even if it is off by
default and deprecated. We need to keep documentation on
how it works at least until we remove the code. This was
published to [1] which was the primary way to find this
information, and it is now missing.
[1] https://developer.openstack.org/api-ref/block-storage/v1/
This marks v1 as deprecated in the toctree.
This reverts commit 8139f7f108
.
Change-Id: Ic9d0fcce5ca0f8455c212292664b8f9694edfce3
This commit is contained in:
parent
a72c4c9228
commit
52e0f003fb
@ -9,6 +9,7 @@ Contents:
|
||||
|
||||
v2/index
|
||||
v3/index
|
||||
Block Storage API v1 (DEPRECATED) <v1/index>
|
||||
|
||||
|
||||
Indices and tables
|
||||
|
13
api-ref/source/v1/index.rst
Normal file
13
api-ref/source/v1/index.rst
Normal file
@ -0,0 +1,13 @@
|
||||
:tocdepth: 2
|
||||
|
||||
=================================
|
||||
Block Storage API V1 (DEPRECATED)
|
||||
=================================
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: os-quota-sets-v1.inc
|
||||
.. include:: volumes-v1-snapshots.inc
|
||||
.. include:: volumes-v1-types.inc
|
||||
.. include:: volumes-v1-versions.inc
|
||||
.. include:: volumes-v1-volumes.inc
|
408
api-ref/source/v1/os-quota-sets-v1.inc
Normal file
408
api-ref/source/v1/os-quota-sets-v1.inc
Normal file
@ -0,0 +1,408 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Quota sets extension (os-quota-sets)
|
||||
====================================
|
||||
|
||||
Administrators only, depending on policy settings.
|
||||
|
||||
Shows, updates, and deletes quotas for a tenant.
|
||||
|
||||
|
||||
Show quota details for user (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}/detail/{user_id}
|
||||
|
||||
Shows details for quotas for a tenant and user.
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
- user_id: user_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- limit: limit
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-show-detail-response.json
|
||||
:language: javascript
|
||||
|
||||
Show default quotas
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/os-quota-sets/defaults
|
||||
|
||||
Shows default quotas for a tenant.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/quotas-defaults-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Show quotas (v1)
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}
|
||||
|
||||
Shows quotas for a tenant.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
- usage: usage
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/quotas-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Update quotas (v1)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}
|
||||
|
||||
Updates quotas for a tenant.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- id: id
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- security_groups: security_groups
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/quotas-update-request.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/quotas-update-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Delete quotas (v1)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}
|
||||
|
||||
Deletes quotas for a tenant so the quotas revert to default values.
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-delete-response.json
|
||||
:language: javascript
|
||||
|
||||
Show quotas for user (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
|
||||
|
||||
Enables an admin user to show quotas for a tenant and user.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
- user_id: user_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
|
||||
|
||||
Update quotas for user (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
|
||||
|
||||
Updates quotas for a tenant and user.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- id: id
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- security_groups: security_groups
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
- user_id: user_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-update-request.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- injected_file_content_bytes: injected_file_content_bytes
|
||||
- metadata_items: metadata_items
|
||||
- reserved: reserved
|
||||
- in_use: in_use
|
||||
- ram: ram
|
||||
- floating_ips: floating_ips
|
||||
- key_pairs: key_pairs
|
||||
- injected_file_path_bytes: injected_file_path_bytes
|
||||
- instances: instances
|
||||
- security_group_rules: security_group_rules
|
||||
- injected_files: injected_files
|
||||
- quota_set: quota_set
|
||||
- cores: cores
|
||||
- fixed_ips: fixed_ips
|
||||
- id: id
|
||||
- security_groups: security_groups
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-update-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Delete quotas for user (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/{admin_tenant_id}/os-quota-sets/{tenant_id}/{user_id}
|
||||
|
||||
Deletes quotas for a user so that the quotas revert to default values.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- admin_tenant_id: admin_tenant_id
|
||||
- tenant_id: tenant_id
|
||||
- user_id: user_id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/user-quotas-delete-response.json
|
||||
:language: javascript
|
648
api-ref/source/v1/parameters.yaml
Normal file
648
api-ref/source/v1/parameters.yaml
Normal file
@ -0,0 +1,648 @@
|
||||
# variables in header
|
||||
x-openstack-request-id:
|
||||
description: >
|
||||
foo
|
||||
in: header
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
admin_tenant_id:
|
||||
description: |
|
||||
The UUID of the administrative tenant.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
snapshot_id_1:
|
||||
description: |
|
||||
The UUID of the snapshot.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
tenant_id:
|
||||
description: |
|
||||
The UUID of the tenant in a multi-tenancy cloud.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
user_id:
|
||||
description: |
|
||||
The user ID. Specify in the URI as
|
||||
``user_id={user_id}``.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
volume_id:
|
||||
description: |
|
||||
The UUID of the volume.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
volume_type_id:
|
||||
description: |
|
||||
The UUID for an existing volume type.
|
||||
in: path
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in query
|
||||
usage:
|
||||
description: |
|
||||
Set to ``usage=true`` to show quota usage.
|
||||
Default is ``false``.
|
||||
in: query
|
||||
required: false
|
||||
type: boolean
|
||||
|
||||
# variables in body
|
||||
attachments:
|
||||
description: |
|
||||
Instance attachment information. If this volume
|
||||
is attached to a server instance, the attachments list includes
|
||||
the UUID of the attached server, an attachment UUID, the name of
|
||||
the attached host, if any, the volume UUID, the device, and the
|
||||
device UUID. Otherwise, this list is empty.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
availability_zone:
|
||||
description: |
|
||||
The availability zone.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
availability_zone_1:
|
||||
description: |
|
||||
The availability zone.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
bootable:
|
||||
description: |
|
||||
Enables or disables the bootable attribute. You
|
||||
can boot an instance from a bootable volume.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
consistencygroup_id:
|
||||
description: |
|
||||
The UUID of the consistency group.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
consistencygroup_id_1:
|
||||
description: |
|
||||
The UUID of the consistency group.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
cores:
|
||||
description: |
|
||||
The number of instance cores that are allowed for
|
||||
each tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
cores_1:
|
||||
description: |
|
||||
A ``cores`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
cores_2:
|
||||
description: |
|
||||
The number of instance cores that are allowed for
|
||||
each tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
created_at:
|
||||
description: |
|
||||
The date and time when the resource was created.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss±hh:mm
|
||||
|
||||
For example, ``2015-08-27T09:49:58-05:00``.
|
||||
|
||||
The ``±hh:mm`` value, if included, is the time zone as an offset
|
||||
from UTC.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
description:
|
||||
description: |
|
||||
The volume description.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
description_1:
|
||||
description: |
|
||||
The volume description.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
encrypted:
|
||||
description: |
|
||||
If true, this volume is encrypted.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
extra_specs:
|
||||
description: |
|
||||
A set of key and value pairs that contains the
|
||||
specifications for a volume type.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
fixed_ips:
|
||||
description: |
|
||||
The number of fixed IP addresses that are allowed
|
||||
for each tenant. Must be equal to or greater than the number of
|
||||
allowed instances.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
fixed_ips_1:
|
||||
description: |
|
||||
A ``fixed_ips`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
fixed_ips_2:
|
||||
description: |
|
||||
The number of fixed IP addresses that are allowed
|
||||
for each tenant. Must be equal to or greater than the number of
|
||||
allowed instances.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
floating_ips:
|
||||
description: |
|
||||
The number of floating IP addresses that are
|
||||
allowed for each tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
floating_ips_1:
|
||||
description: |
|
||||
A ``floating_ips`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
floating_ips_2:
|
||||
description: |
|
||||
The number of floating IP addresses that are
|
||||
allowed for each tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
id:
|
||||
description: |
|
||||
The UUID of the volume.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
id_1:
|
||||
description: |
|
||||
The ID for the quota set.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
id_2:
|
||||
description: |
|
||||
The ID for the quota set.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
id_3:
|
||||
description: |
|
||||
The ID for the quota set.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
imageRef:
|
||||
description: |
|
||||
The UUID of the image from which you want to
|
||||
create the volume. Required to create a bootable volume.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
in_use:
|
||||
description: |
|
||||
The in use data size. Visible only if you set the
|
||||
``usage=true`` query parameter.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
in_use_1:
|
||||
description: |
|
||||
The number of items in use.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
injected_file_content_bytes:
|
||||
description: |
|
||||
The number of bytes of content that are allowed
|
||||
for each injected file.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
injected_file_content_bytes_1:
|
||||
description: |
|
||||
An ``injected_file_content_bytes`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
injected_file_content_bytes_2:
|
||||
description: |
|
||||
The number of bytes of content that are allowed
|
||||
for each injected file.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
injected_file_path_bytes:
|
||||
description: |
|
||||
The number of bytes that are allowed for each
|
||||
injected file path.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
injected_file_path_bytes_1:
|
||||
description: |
|
||||
An ``injected_file_path_bytes`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
injected_file_path_bytes_2:
|
||||
description: |
|
||||
The number of bytes that are allowed for each
|
||||
injected file path.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
injected_files:
|
||||
description: |
|
||||
The number of injected files that are allowed for
|
||||
each tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
injected_files_1:
|
||||
description: |
|
||||
An ``injected_files`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
injected_files_2:
|
||||
description: |
|
||||
The number of injected files that are allowed for
|
||||
each tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
instances:
|
||||
description: |
|
||||
The number of instances that are allowed for each
|
||||
tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
instances_1:
|
||||
description: |
|
||||
An ``instances`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
instances_2:
|
||||
description: |
|
||||
The number of instances that are allowed for each
|
||||
tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
key_pairs:
|
||||
description: |
|
||||
The number of key pairs that are allowed for each
|
||||
user.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
key_pairs_1:
|
||||
description: |
|
||||
A ``key_pairs`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
key_pairs_2:
|
||||
description: |
|
||||
The number of key pairs that are allowed for each
|
||||
user.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
limit:
|
||||
description: |
|
||||
The number of items permitted for this tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
links:
|
||||
description: |
|
||||
The volume links.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
metadata:
|
||||
description: |
|
||||
One or more metadata key and value pairs that are
|
||||
associated with the volume.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
metadata_1:
|
||||
description: |
|
||||
One or more metadata key and value pairs that are
|
||||
associated with the volume.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
metadata_2:
|
||||
description: |
|
||||
One or more metadata key and value pairs for the
|
||||
snapshot.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
metadata_items:
|
||||
description: |
|
||||
The number of metadata items that are allowed for
|
||||
each instance.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
metadata_items_1:
|
||||
description: |
|
||||
A ``metadata_items`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
metadata_items_2:
|
||||
description: |
|
||||
The number of metadata items that are allowed for
|
||||
each instance.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
migration_status:
|
||||
description: |
|
||||
The volume migration status.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
multiattach:
|
||||
description: |
|
||||
To enable this volume to attach to more than one
|
||||
server, set this value to ``true``. Default is ``false``.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
multiattach_1:
|
||||
description: |
|
||||
If true, this volume can attach to more than one
|
||||
instance.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
name:
|
||||
description: |
|
||||
The name of the volume type.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
name_1:
|
||||
description: |
|
||||
The volume name.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
name_2:
|
||||
description: |
|
||||
The volume name.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
OS-SCH-HNT:scheduler_hints:
|
||||
description: |
|
||||
The dictionary of data to send to the scheduler.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
quota_set:
|
||||
description: |
|
||||
A ``quota_set`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
quota_set_1:
|
||||
description: |
|
||||
A ``quota_set`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
ram:
|
||||
description: |
|
||||
The amount of instance RAM in megabytes that are
|
||||
allowed for each tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
ram_1:
|
||||
description: |
|
||||
A ``ram`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
ram_2:
|
||||
description: |
|
||||
The amount of instance RAM in megabytes that are
|
||||
allowed for each tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
replication_status:
|
||||
description: |
|
||||
The volume replication status.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
reserved:
|
||||
description: |
|
||||
Reserved volume size. Visible only if you set the
|
||||
``usage=true`` query parameter.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
reserved_1:
|
||||
description: |
|
||||
The number of reserved items.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
security_group_rules:
|
||||
description: |
|
||||
The number of rules that are allowed for each
|
||||
security group.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
security_group_rules_1:
|
||||
description: |
|
||||
A ``security_group_rules`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
security_groups:
|
||||
description: |
|
||||
The number of security groups that are allowed
|
||||
for each tenant.
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
security_groups_1:
|
||||
description: |
|
||||
A ``security_groups`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
security_groups_2:
|
||||
description: |
|
||||
The number of security groups that are allowed
|
||||
for each tenant.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
size:
|
||||
description: |
|
||||
The size of the volume, in gibibytes (GiB).
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
snapshot:
|
||||
description: |
|
||||
A ``snapshot`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
snapshot_id:
|
||||
description: |
|
||||
To create a volume from an existing snapshot,
|
||||
specify the UUID of the volume snapshot. The volume is created in
|
||||
same availability zone and with same size as the snapshot.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
snapshot_id_2:
|
||||
description: |
|
||||
The UUID of the source volume snapshot. The API
|
||||
creates a new volume snapshot with the same size as the source
|
||||
volume snapshot.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
source_replica:
|
||||
description: |
|
||||
The UUID of the primary volume to clone.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
source_volid:
|
||||
description: |
|
||||
The UUID of the source volume. The API creates a
|
||||
new volume with the same size as the source volume.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
source_volid_1:
|
||||
description: |
|
||||
The UUID of the source volume.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
status:
|
||||
description: |
|
||||
The volume status.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
updated_at:
|
||||
description: |
|
||||
The date and time when the resource was updated.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss±hh:mm
|
||||
|
||||
For example, ``2015-08-27T09:49:58-05:00``.
|
||||
|
||||
The ``±hh:mm`` value, if included, is the time zone as an offset
|
||||
from UTC. In the previous example, the offset value is ``-05:00``.
|
||||
|
||||
If the ``updated_at`` date and time stamp is not set, its value is
|
||||
``null``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
user_id_1:
|
||||
description: |
|
||||
The UUID of the user.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
volume:
|
||||
description: |
|
||||
A ``volume`` object.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
volume_type:
|
||||
description: |
|
||||
The volume type. To create an environment with
|
||||
multiple-storage back ends, you must specify a volume type. Block
|
||||
Storage volume back ends are spawned as children to ``cinder-
|
||||
volume``, and they are keyed from a unique queue. They are named
|
||||
``cinder- volume.HOST.BACKEND``. For example, ``cinder-
|
||||
volume.ubuntu.lvmdriver``. When a volume is created, the scheduler
|
||||
chooses an appropriate back end to handle the request based on the
|
||||
volume type. Default is ``None``. For information about how to
|
||||
use volume types to create multiple- storage back ends, see
|
||||
`Configure multiple-storage back ends
|
||||
<http://docs.openstack.org/admin-
|
||||
guide/blockstorage_multi_backend.html>`_.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
volume_type_1:
|
||||
description: |
|
||||
The volume type. In an environment with multiple-
|
||||
storage back ends, the scheduler determines where to send the
|
||||
volume based on the volume type. For information about how to use
|
||||
volume types to create multiple- storage back ends, see `Configure
|
||||
multiple-storage back ends <http://docs.openstack.org/admin-
|
||||
guide/blockstorage_multi_backend.html>`_.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
volumes:
|
||||
description: |
|
||||
A list of ``volume`` objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
17
api-ref/source/v1/samples/quotas-defaults-show-response.json
Normal file
17
api-ref/source/v1/samples/quotas-defaults-show-response.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
"instances": 10,
|
||||
"key_pairs": 100,
|
||||
"metadata_items": 128,
|
||||
"ram": 51200,
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
17
api-ref/source/v1/samples/quotas-show-response.json
Normal file
17
api-ref/source/v1/samples/quotas-show-response.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
"instances": 10,
|
||||
"key_pairs": 100,
|
||||
"metadata_items": 128,
|
||||
"ram": 51200,
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
5
api-ref/source/v1/samples/quotas-update-request.json
Normal file
5
api-ref/source/v1/samples/quotas-update-request.json
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"security_groups": 45
|
||||
}
|
||||
}
|
16
api-ref/source/v1/samples/quotas-update-response.json
Normal file
16
api-ref/source/v1/samples/quotas-update-response.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
"instances": 10,
|
||||
"key_pairs": 100,
|
||||
"metadata_items": 128,
|
||||
"ram": 51200,
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 45
|
||||
}
|
||||
}
|
8
api-ref/source/v1/samples/snapshot-create-request.json
Normal file
8
api-ref/source/v1/samples/snapshot-create-request.json
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"snapshot": {
|
||||
"display_name": "snap-001",
|
||||
"display_description": "Daily backup",
|
||||
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
|
||||
"force": true
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
"snapshot": {
|
||||
"status": "available",
|
||||
"os-extended-snapshot-attributes:progress": "0%",
|
||||
"description": null,
|
||||
"created_at": "2014-05-06T17:59:52.000000",
|
||||
"metadata": {
|
||||
"key": "v1"
|
||||
},
|
||||
"volume_id": "ebd80b99-bc3d-4154-9d28-5583baa80580",
|
||||
"os-extended-snapshot-attributes:project_id": "7e0105e19cd2466193729ef78b604f79",
|
||||
"size": 10,
|
||||
"id": "dfcd17fe-3b64-44ba-b95f-1c9c7109ef95",
|
||||
"name": "my-snapshot"
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"metadata": {
|
||||
"key": "v1"
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"metadata": {
|
||||
"key": "v1"
|
||||
}
|
||||
}
|
11
api-ref/source/v1/samples/snapshot-show-response.json
Normal file
11
api-ref/source/v1/samples/snapshot-show-response.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"snapshot": {
|
||||
"id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
|
||||
"display_name": "snap-001",
|
||||
"display_description": "Daily backup",
|
||||
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
|
||||
"status": "available",
|
||||
"size": 30,
|
||||
"created_at": "2012-02-29T03:50:07Z"
|
||||
}
|
||||
}
|
26
api-ref/source/v1/samples/snapshots-list-response.json
Normal file
26
api-ref/source/v1/samples/snapshots-list-response.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"snapshots": [
|
||||
{
|
||||
"id": "3fbbcccf-d058-4502-8844-6feeffdf4cb5",
|
||||
"display_name": "snap-001",
|
||||
"display_description": "Daily backup",
|
||||
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
|
||||
"status": "available",
|
||||
"size": 30,
|
||||
"created_at": "2012-02-29T03:50:07Z",
|
||||
"metadata": {
|
||||
"contents": "junk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "e479997c-650b-40a4-9dfe-77655818b0d2",
|
||||
"display_name": "snap-002",
|
||||
"display_description": "Weekly backup",
|
||||
"volume_id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
|
||||
"status": "available",
|
||||
"size": 25,
|
||||
"created_at": "2012-03-19T01:52:47Z",
|
||||
"metadata": {}
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,64 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": {
|
||||
"in_use": 0,
|
||||
"limit": 20,
|
||||
"reserved": 0
|
||||
},
|
||||
"fixed_ips": {
|
||||
"in_use": 0,
|
||||
"limit": -1,
|
||||
"reserved": 0
|
||||
},
|
||||
"floating_ips": {
|
||||
"in_use": 0,
|
||||
"limit": 10,
|
||||
"reserved": 0
|
||||
},
|
||||
"injected_files": {
|
||||
"in_use": 0,
|
||||
"limit": 5,
|
||||
"reserved": 0
|
||||
},
|
||||
"instances": {
|
||||
"in_use": 0,
|
||||
"limit": 10,
|
||||
"reserved": 0
|
||||
},
|
||||
"key_pairs": {
|
||||
"in_use": 0,
|
||||
"limit": 100,
|
||||
"reserved": 0
|
||||
},
|
||||
"metadata_items": {
|
||||
"in_use": 0,
|
||||
"limit": 128,
|
||||
"reserved": 0
|
||||
},
|
||||
"ram": {
|
||||
"in_use": 0,
|
||||
"limit": 51200,
|
||||
"reserved": 0
|
||||
},
|
||||
"security_groups": {
|
||||
"in_use": 0,
|
||||
"limit": 10,
|
||||
"reserved": 0
|
||||
},
|
||||
"injected_file_content_bytes": {
|
||||
"in_use": 0,
|
||||
"limit": 10240,
|
||||
"reserved": 0
|
||||
},
|
||||
"injected_file_path_bytes": {
|
||||
"in_use": 0,
|
||||
"limit": 255,
|
||||
"reserved": 0
|
||||
},
|
||||
"security_group_rules": {
|
||||
"in_use": 0,
|
||||
"limit": 20,
|
||||
"reserved": 0
|
||||
}
|
||||
}
|
||||
}
|
17
api-ref/source/v1/samples/user-quotas-show-response.json
Normal file
17
api-ref/source/v1/samples/user-quotas-show-response.json
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"fixed_ips": -1,
|
||||
"floating_ips": 10,
|
||||
"id": "fake_tenant",
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
"instances": 10,
|
||||
"key_pairs": 100,
|
||||
"metadata_items": 128,
|
||||
"ram": 51200,
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"force": true,
|
||||
"instances": 9
|
||||
}
|
||||
}
|
16
api-ref/source/v1/samples/user-quotas-update-response.json
Normal file
16
api-ref/source/v1/samples/user-quotas-update-response.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"quota_set": {
|
||||
"cores": 20,
|
||||
"floating_ips": 10,
|
||||
"fixed_ips": -1,
|
||||
"injected_file_content_bytes": 10240,
|
||||
"injected_file_path_bytes": 255,
|
||||
"injected_files": 5,
|
||||
"instances": 9,
|
||||
"key_pairs": 100,
|
||||
"metadata_items": 128,
|
||||
"ram": 51200,
|
||||
"security_group_rules": 20,
|
||||
"security_groups": 10
|
||||
}
|
||||
}
|
28
api-ref/source/v1/samples/version-show-response.json
Normal file
28
api-ref/source/v1/samples/version-show-response.json
Normal file
@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": {
|
||||
"id": "v1.0",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://23.253.211.234:8776/v1/",
|
||||
"rel": "self"
|
||||
},
|
||||
{
|
||||
"href": "http://docs.openstack.org/",
|
||||
"rel": "describedby",
|
||||
"type": "text/html"
|
||||
}
|
||||
],
|
||||
"media-types": [
|
||||
{
|
||||
"base": "application/xml",
|
||||
"type": "application/vnd.openstack.volume+xml;version=1"
|
||||
},
|
||||
{
|
||||
"base": "application/json",
|
||||
"type": "application/vnd.openstack.volume+json;version=1"
|
||||
}
|
||||
],
|
||||
"status": "DEPRECATED",
|
||||
"updated": "2014-06-28T12:20:21Z"
|
||||
}
|
||||
}
|
26
api-ref/source/v1/samples/versions-list-response.json
Normal file
26
api-ref/source/v1/samples/versions-list-response.json
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"id": "v1.0",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://23.253.211.234:8776/v1/",
|
||||
"rel": "self"
|
||||
}
|
||||
],
|
||||
"status": "DEPRECATED",
|
||||
"updated": "2014-06-28T12:20:21Z"
|
||||
},
|
||||
{
|
||||
"id": "v2.0",
|
||||
"links": [
|
||||
{
|
||||
"href": "http://23.253.211.234:8776/v2/",
|
||||
"rel": "self"
|
||||
}
|
||||
],
|
||||
"status": "CURRENT",
|
||||
"updated": "2012-11-21T11:33:21Z"
|
||||
}
|
||||
]
|
||||
}
|
18
api-ref/source/v1/samples/volume-create-request.json
Normal file
18
api-ref/source/v1/samples/volume-create-request.json
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"volume": {
|
||||
"display_name": "vol-001",
|
||||
"display_description": "Another volume.",
|
||||
"size": 30,
|
||||
"volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
|
||||
"metadata": {
|
||||
"contents": "junk"
|
||||
},
|
||||
"availability_zone": "us-east1"
|
||||
},
|
||||
"OS-SCH-HNT:scheduler_hints": {
|
||||
"same_host": [
|
||||
"a0cf03a5-d921-4877-bb5c-86d26cf818e1",
|
||||
"8c19174f-4220-44f0-824a-cd1eeef10287"
|
||||
]
|
||||
}
|
||||
}
|
27
api-ref/source/v1/samples/volume-show-response.json
Normal file
27
api-ref/source/v1/samples/volume-show-response.json
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"volume": {
|
||||
"id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
|
||||
"display_name": "vol-001",
|
||||
"display_description": "Another volume.",
|
||||
"status": "active",
|
||||
"size": 30,
|
||||
"volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
|
||||
"metadata": {
|
||||
"contents": "junk"
|
||||
},
|
||||
"availability_zone": "us-east1",
|
||||
"bootable": "false",
|
||||
"snapshot_id": null,
|
||||
"attachments": [
|
||||
{
|
||||
"attachment_id": "03987cd1-0ad5-40d1-9b2a-7cc48295d4fa",
|
||||
"id": "47e9ecc5-4045-4ee3-9a4b-d859d546a0cf",
|
||||
"volume_id": "6c80f8ac-e3e2-480c-8e6e-f1db92fe4bfe",
|
||||
"server_id": "d1c4788b-9435-42e2-9b81-29f3be1cd01f",
|
||||
"host_name": "mitaka",
|
||||
"device": "/"
|
||||
}
|
||||
],
|
||||
"created_at": "2012-02-14T20:53:07Z"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"volume_type": {
|
||||
"name": "vol-type-001",
|
||||
"extra_specs": {
|
||||
"capabilities": "gpu"
|
||||
}
|
||||
}
|
||||
}
|
9
api-ref/source/v1/samples/volume-type-show-response.json
Normal file
9
api-ref/source/v1/samples/volume-type-show-response.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"volume_type": {
|
||||
"id": "289da7f8-6440-407c-9fb4-7db01ec49164",
|
||||
"name": "vol-type-001",
|
||||
"extra_specs": {
|
||||
"capabilities": "gpu"
|
||||
}
|
||||
}
|
||||
}
|
16
api-ref/source/v1/samples/volume-types-list-response.json
Normal file
16
api-ref/source/v1/samples/volume-types-list-response.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"volume_types": [
|
||||
{
|
||||
"id": "289da7f8-6440-407c-9fb4-7db01ec49164",
|
||||
"name": "vol-type-001",
|
||||
"extra_specs": {
|
||||
"capabilities": "gpu"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "96c3bda7-c82a-4f50-be73-ca7621794835",
|
||||
"name": "vol-type-002",
|
||||
"extra_specs": {}
|
||||
}
|
||||
]
|
||||
}
|
41
api-ref/source/v1/samples/volumes-list-response.json
Normal file
41
api-ref/source/v1/samples/volumes-list-response.json
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
"volumes": [
|
||||
{
|
||||
"id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
|
||||
"display_name": "vol-001",
|
||||
"display_description": "Another volume.",
|
||||
"status": "active",
|
||||
"size": 30,
|
||||
"volume_type": "289da7f8-6440-407c-9fb4-7db01ec49164",
|
||||
"metadata": {
|
||||
"contents": "junk"
|
||||
},
|
||||
"availability_zone": "us-east1",
|
||||
"snapshot_id": null,
|
||||
"attachments": [
|
||||
{
|
||||
"attachment_id": "03987cd1-0ad5-40d1-9b2a-7cc48295d4fa",
|
||||
"id": "47e9ecc5-4045-4ee3-9a4b-d859d546a0cf",
|
||||
"volume_id": "6c80f8ac-e3e2-480c-8e6e-f1db92fe4bfe",
|
||||
"server_id": "d1c4788b-9435-42e2-9b81-29f3be1cd01f",
|
||||
"host_name": "mitaka",
|
||||
"device": "/"
|
||||
}
|
||||
],
|
||||
"created_at": "2012-02-14T20:53:07Z"
|
||||
},
|
||||
{
|
||||
"id": "76b8950a-8594-4e5b-8dce-0dfa9c696358",
|
||||
"display_name": "vol-002",
|
||||
"display_description": "Yet another volume.",
|
||||
"status": "active",
|
||||
"size": 25,
|
||||
"volume_type": "96c3bda7-c82a-4f50-be73-ca7621794835",
|
||||
"metadata": {},
|
||||
"availability_zone": "us-east2",
|
||||
"snapshot_id": null,
|
||||
"attachments": [],
|
||||
"created_at": "2012-03-15T19:10:03Z"
|
||||
}
|
||||
]
|
||||
}
|
187
api-ref/source/v1/volumes-v1-snapshots.inc
Normal file
187
api-ref/source/v1/volumes-v1-snapshots.inc
Normal file
@ -0,0 +1,187 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Snapshots
|
||||
=========
|
||||
|
||||
Creates, lists, shows information for, and deletes snapshots. Shows
|
||||
and updates snapshot metadata.
|
||||
|
||||
|
||||
Show snapshot details (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/snapshots/{snapshot_id}
|
||||
|
||||
Shows details for a snapshot.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- snapshot_id: snapshot_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshot-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Delete snapshot (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/{tenant_id}/snapshots/{snapshot_id}
|
||||
|
||||
Deletes a snapshot.
|
||||
|
||||
Normal response codes:202,
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- snapshot_id: snapshot_id
|
||||
|
||||
|
||||
List snapshots with details (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/snapshots/detail
|
||||
|
||||
Lists all snapshots, with details.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshots-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Create snapshot (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v1/{tenant_id}/snapshots
|
||||
|
||||
Creates a snapshot.
|
||||
|
||||
Normal response codes:201
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- snapshot: snapshot
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshot-create-request.json
|
||||
:language: javascript
|
||||
|
||||
List snapshots (v1)
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/snapshots
|
||||
|
||||
Lists all snapshots.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshots-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Show snapshot metadata (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/snapshots/{snapshot_id}/metadata
|
||||
|
||||
Shows metadata for a snapshot.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- snapshot_id: snapshot_id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshot-metadata-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Update snapshot metadata (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/{tenant_id}/snapshots/{snapshot_id}/metadata
|
||||
|
||||
Updates metadata for a snapshot.
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- metadata: metadata
|
||||
- tenant_id: tenant_id
|
||||
- snapshot_id: snapshot_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshot-metadata-update-request.json
|
||||
:language: javascript
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/snapshot-metadata-update-response.json
|
||||
:language: javascript
|
217
api-ref/source/v1/volumes-v1-types.inc
Normal file
217
api-ref/source/v1/volumes-v1-types.inc
Normal file
@ -0,0 +1,217 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Volume types
|
||||
============
|
||||
|
||||
Lists, creates, updates, shows information for, and deletes volume
|
||||
types.
|
||||
|
||||
|
||||
List volume types (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/types
|
||||
|
||||
Lists volume types.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-types-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Create volume type (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v1/{tenant_id}/types
|
||||
|
||||
Creates a volume type.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-create-request.json
|
||||
:language: javascript
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Update volume type (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/{tenant_id}/types/{volume_type_id}
|
||||
|
||||
Updates a volume type.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
- tenant_id: tenant_id
|
||||
- volume_type_id: volume_type_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-create-request.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Update extra specs for a volume type (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/{tenant_id}/types/{volume_type_id}
|
||||
|
||||
Updates the extra specifications for a volume type.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
- tenant_id: tenant_id
|
||||
- volume_type_id: volume_type_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-create-request.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- extra_specs: extra_specs
|
||||
- name: name
|
||||
- volume_type: volume_type
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Show volume type details (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/types/{volume_type_id}
|
||||
|
||||
Shows details for a volume type.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- volume_type_id: volume_type_id
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-type-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Delete volume type (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/{tenant_id}/types/{volume_type_id}
|
||||
|
||||
Deletes a volume type.
|
||||
|
||||
Normal response codes: 202
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- volume_type_id: volume_type_id
|
52
api-ref/source/v1/volumes-v1-versions.inc
Normal file
52
api-ref/source/v1/volumes-v1-versions.inc
Normal file
@ -0,0 +1,52 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
API versions
|
||||
============
|
||||
|
||||
Lists information about API versions.
|
||||
|
||||
|
||||
Show API v1 details
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1
|
||||
|
||||
Shows Block Storage API v1 details.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:203,
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/version-show-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
List API versions (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /
|
||||
|
||||
Lists information about all Block Storage API versions.
|
||||
|
||||
|
||||
Normal response codes: 300
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/versions-list-response.json
|
||||
:language: javascript
|
233
api-ref/source/v1/volumes-v1-volumes.inc
Normal file
233
api-ref/source/v1/volumes-v1-volumes.inc
Normal file
@ -0,0 +1,233 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Volumes
|
||||
=======
|
||||
|
||||
The ``snapshot_id`` and ``source_volid`` parameters specify the ID
|
||||
of the snapshot or volume from which the volume originates. If the
|
||||
volume was not created from a snapshot or source volume, these
|
||||
values are null.
|
||||
|
||||
|
||||
List volumes, with details (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/volumes/detail
|
||||
|
||||
Lists all volumes, with details.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- migration_status: migration_status
|
||||
- attachments: attachments
|
||||
- links: links
|
||||
- availability_zone: availability_zone
|
||||
- encrypted: encrypted
|
||||
- updated_at: updated_at
|
||||
- replication_status: replication_status
|
||||
- snapshot_id: snapshot_id
|
||||
- id: id
|
||||
- size: size
|
||||
- user_id: user_id
|
||||
- metadata: metadata
|
||||
- status: status
|
||||
- description: description
|
||||
- multiattach: multiattach
|
||||
- source_volid: source_volid
|
||||
- consistencygroup_id: consistencygroup_id
|
||||
- name: name
|
||||
- bootable: bootable
|
||||
- created_at: created_at
|
||||
- volume_type: volume_type
|
||||
- volumes: volumes
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volumes-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Create volume (v1)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v1/{tenant_id}/volumes
|
||||
|
||||
Creates a volume.
|
||||
|
||||
Normal response codes: 201,
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- size: size
|
||||
- description: description
|
||||
- imageRef: imageRef
|
||||
- multiattach: multiattach
|
||||
- availability_zone: availability_zone
|
||||
- source_volid: source_volid
|
||||
- name: name
|
||||
- volume: volume
|
||||
- consistencygroup_id: consistencygroup_id
|
||||
- volume_type: volume_type
|
||||
- snapshot_id: snapshot_id
|
||||
- OS-SCH-HNT:scheduler_hints: OS-SCH-HNT:scheduler_hints
|
||||
- source_replica: source_replica
|
||||
- metadata: metadata
|
||||
- tenant_id: tenant_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-create-request.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- description: description
|
||||
- imageRef: imageRef
|
||||
- multiattach: multiattach
|
||||
- created_at: created_at
|
||||
- availability_zone: availability_zone
|
||||
- source_volid: source_volid
|
||||
- name: name
|
||||
- volume: volume
|
||||
- volume_type: volume_type
|
||||
- snapshot_id: snapshot_id
|
||||
- size: size
|
||||
- metadata: metadata
|
||||
|
||||
|
||||
List volumes (v1)
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/volumes
|
||||
|
||||
Lists all volumes.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- volumes: volumes
|
||||
- id: id
|
||||
- links: links
|
||||
- name: name
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volumes-list-response.json
|
||||
:language: javascript
|
||||
|
||||
|
||||
Show volume details (v1)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/{tenant_id}/volumes/{volume_id}
|
||||
|
||||
Shows details for a volume.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes:
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- volume_id: volume_id
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- migration_status: migration_status
|
||||
- attachments: attachments
|
||||
- links: links
|
||||
- availability_zone: availability_zone
|
||||
- encrypted: encrypted
|
||||
- updated_at: updated_at
|
||||
- replication_status: replication_status
|
||||
- snapshot_id: snapshot_id
|
||||
- id: id
|
||||
- size: size
|
||||
- user_id: user_id
|
||||
- metadata: metadata
|
||||
- status: status
|
||||
- description: description
|
||||
- multiattach: multiattach
|
||||
- source_volid: source_volid
|
||||
- volume: volume
|
||||
- consistencygroup_id: consistencygroup_id
|
||||
- name: name
|
||||
- bootable: bootable
|
||||
- created_at: created_at
|
||||
- volume_type: volume_type
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: ./samples/volume-show-response.json
|
||||
:language: javascript
|
||||
|
||||
Delete volume (v1)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/{tenant_id}/volumes/{volume_id}
|
||||
|
||||
Deletes a volume.
|
||||
|
||||
Normal response codes: 202,
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- tenant_id: tenant_id
|
||||
- volume_id: volume_id
|
2
tox.ini
2
tox.ini
@ -96,7 +96,7 @@ commands =
|
||||
python setup.py build_sphinx
|
||||
rm -rf api-ref/build
|
||||
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html/
|
||||
doc8 --ignore D001 --ignore-path .tox --ignore-path cinder.egg-info --ignore-path doc/src/api --ignore-path doc/source/drivers.rst --ignore-path doc/build -e txt -e rst
|
||||
doc8 --ignore D001 --ignore-path .tox --ignore-path cinder.egg-info --ignore-path doc/src/api --ignore-path doc/source/drivers.rst --ignore-path doc/build --ignore-path .eggs/*/EGG-INFO/*.txt -e txt -e rst
|
||||
whitelist_externals = rm
|
||||
|
||||
[testenv:gendriverlist]
|
||||
|
Loading…
Reference in New Issue
Block a user