Retire Packaging Deb project repos

This commit is part of a series to retire the Packaging Deb
project. Step 2 is to remove all content from the project
repos, replacing it with a README notification where to find
ongoing work, and how to recover the repo if needed at some
future point (as in
https://docs.openstack.org/infra/manual/drivers.html#retiring-a-project).

Change-Id: I129f344c6ee18797445ad33b1e0a2b6a3b430544
This commit is contained in:
Tony Breeds 2017-09-12 15:37:34 -06:00
parent f2cd3ee8c2
commit 6f469263a2
2265 changed files with 14 additions and 683741 deletions

View File

@ -1,7 +0,0 @@
[run]
branch = True
source = cinder
omit = cinder/tests/*
[report]
ignore_errors = True

39
.gitignore vendored
View File

@ -1,39 +0,0 @@
*.DS_Store
*.log
*.mo
*.pyc
*.sqlite
/.*
!.coveragerc
!.gitignore
!.mailmap
!.testr.conf
.*.sw?
AUTHORS
Authors
build/*
build-stamp
CA/
ChangeLog
cinder.egg-info
cover/*
covhtml
dist/*
etc/cinder/cinder.conf.sample
instances
keeper
keys
local_settings.py
tools/lintstack.head.py
tools/pylint_exceptions
tags
# Files created by Sphinx build
doc/build
doc/source/_static/cinder.conf.sample
doc/source/drivers.rst
#Files created for API reference
api-ref/build
# Files created by releasenotes build
releasenotes/build

View File

@ -1,4 +0,0 @@
[gerrit]
host=review.openstack.org
port=29418
project=openstack/cinder.git

View File

@ -1,8 +0,0 @@
[DEFAULT]
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./cinder/tests/unit} $LISTOPT $IDOPTION
test_id_option=--load-list $IDFILE
test_list_option=--list

View File

@ -1,16 +0,0 @@
If you would like to contribute to the development of OpenStack,
you must follow the steps in this page:
https://docs.openstack.org/infra/manual/developers.html
Once those steps have been completed, changes to OpenStack
should be submitted for review via the Gerrit tool, following
the workflow documented at:
https://docs.openstack.org/infra/manual/developers.html#development-workflow
Pull requests submitted through GitHub will be ignored.
Bugs should be filed on Launchpad, not in GitHub's issue tracker:
https://bugs.launchpad.net/cinder

View File

@ -1,56 +0,0 @@
Cinder Style Commandments
=========================
- Step 1: Read the OpenStack Style Commandments
http://docs.openstack.org/developer/hacking/
- Step 2: Read on
Cinder Specific Commandments
----------------------------
- [N314] Check for vi editor configuration in source files.
- [N322] Ensure default arguments are not mutable.
- [N323] Add check for explicit import of _() to ensure proper translation.
- [N325] str() and unicode() cannot be used on an exception. Remove or use six.text_type().
- [N336] Must use a dict comprehension instead of a dict constructor with a sequence of key-value pairs.
- [C301] timeutils.utcnow() from oslo_utils should be used instead of datetime.now().
- [C302] six.text_type should be used instead of unicode.
- [C303] Ensure that there are no 'print()' statements in code that is being committed.
- [C304] Enforce no use of LOG.audit messages. LOG.info should be used instead.
- [C305] Prevent use of deprecated contextlib.nested.
- [C306] timeutils.strtime() must not be used (deprecated).
- [C307] LOG.warn is deprecated. Enforce use of LOG.warning.
- [C308] timeutils.isotime() must not be used (deprecated).
- [C309] Unit tests should not perform logging.
- [C310] Check for improper use of logging format arguments.
- [C311] Check for proper naming and usage in option registration.
- [C312] Validate that logs are not translated.
- [C313] Check that assertTrue(value) is used and not assertEqual(True, value).
General
-------
- Use 'raise' instead of 'raise e' to preserve original traceback or exception being reraised::
except Exception as e:
...
raise e # BAD
except Exception:
...
raise # OKAY
Creating Unit Tests
-------------------
For every new feature, unit tests should be created that both test and
(implicitly) document the usage of said feature. If submitting a patch for a
bug that had no unit test, a new passing unit test should be added. If a
submitted bug fix does have a unit test, be sure to add a new one that fails
without the patch and passes with the patch.
Cinder is transitioning to use mock, rather than mox, and so new tests should
use mock only.
For more information on creating unit tests and utilizing the testing
infrastructure in OpenStack Cinder, please see
http://docs.openstack.org/developer/cinder/devref/testing.html

176
LICENSE
View File

@ -1,176 +0,0 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

14
README Normal file
View File

@ -0,0 +1,14 @@
This project is no longer maintained.
The contents of this repository are still available in the Git
source code management system. To see the contents of this
repository before it reached its end of life, please check out the
previous commit with "git checkout HEAD^1".
For ongoing work on maintaining OpenStack packages in the Debian
distribution, please see the Debian OpenStack packaging team at
https://wiki.debian.org/OpenStack/.
For any further questions, please email
openstack-dev@lists.openstack.org or join #openstack-dev on
Freenode.

View File

@ -1,34 +0,0 @@
========================
Team and repository tags
========================
.. image:: https://governance.openstack.org/badges/cinder.svg
:target: https://governance.openstack.org/reference/tags/index.html
.. Change things from this point on
======
CINDER
======
You have come across a storage service for an open cloud computing service.
It has identified itself as `Cinder`. It was abstracted from the Nova project.
* Wiki: https://wiki.openstack.org/Cinder
* Developer docs: https://docs.openstack.org/cinder/latest/
Getting Started
---------------
If you'd like to run from the master branch, you can clone the git repo:
git clone https://git.openstack.org/openstack/cinder.git
For developer information please see
`HACKING.rst <https://git.openstack.org/cgit/openstack/cinder/plain/HACKING.rst>`_
You can raise bugs here https://bugs.launchpad.net/cinder
Python client
-------------
https://git.openstack.org/cgit/openstack/python-cinderclient

View File

@ -1,232 +0,0 @@
# -*- coding: utf-8 -*-
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# Cinder documentation build configuration file, created by
# sphinx-quickstart on Sat May 1 15:17:47 2010.
#
# This file is execfile()d with the current directory set to
# its containing dir.
#
# Note that not all possible configuration values are present in this
# autogenerated file.
#
# All configuration values have a default; values that are commented out
# serve to show the default.
import os
import subprocess
import sys
import openstackdocstheme # noqa
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('../../'))
sys.path.insert(0, os.path.abspath('../'))
sys.path.insert(0, os.path.abspath('./'))
# -- General configuration ----------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [
'os_api_ref'
]
# The suffix of source filenames.
source_suffix = '.rst'
# The encoding of source files.
#
# source_encoding = 'utf-8'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Block Storage API Reference'
copyright = u'OpenStack Foundation'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
from cinder.version import version_info
# The full version, including alpha/beta/rc tags.
release = version_info.release_string()
# The short X.Y version.
version = version_info.version_string()
# Config logABug feature
giturl = u'https://git.openstack.org/cgit/openstack/cinder/tree/api-ref/source'
# source tree
# html_context allows us to pass arbitrary values into the html template
html_context = {"bug_tag": "api-ref",
"giturl": giturl,
"bug_project": "cinder"}
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
# today = ''
# Else, today_fmt is used as the format for a strftime call.
# today_fmt = '%B %d, %Y'
# The reST default role (used for this markup: `text`) to use
# for all documents.
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
add_module_names = False
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# -- Options for man page output ----------------------------------------------
# Grouping the document tree for man pages.
# List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual'
# -- Options for HTML output --------------------------------------------------
# The theme to use for HTML and HTML Help pages. Major themes that come with
# Sphinx are currently 'default' and 'sphinxdoc'.
# html_theme_path = ["."]
# html_theme = '_theme'
html_theme = 'openstackdocs'
html_theme_path = [openstackdocstheme.get_html_theme_path()]
html_theme_options = {
"sidebar_mode": "toc",
}
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
# html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
# html_last_updated_fmt = '%b %d, %Y'
git_cmd = ["git", "log", "--pretty=format:%ad, commit %h", "--date=local",
"-n1"]
html_last_updated_fmt = subprocess.check_output(git_cmd).decode('utf-8')
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
# html_additional_pages = {}
# If false, no module index is generated.
# html_use_modindex = True
# If false, no index is generated.
# html_use_index = True
# If true, the index is split into individual pages for each letter.
# html_split_index = False
# If true, links to the reST sources are added to the pages.
# html_show_sourcelink = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
# html_use_opensearch = ''
# If nonempty, this is the file name suffix for HTML files (e.g. ".xhtml").
# html_file_suffix = ''
# Output file base name for HTML help builder.
htmlhelp_basename = 'cinderdoc'
# -- Options for LaTeX output -------------------------------------------------
# The paper size ('letter' or 'a4').
# latex_paper_size = 'letter'
# The font size ('10pt', '11pt' or '12pt').
# latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass
# [howto/manual]).
latex_documents = [
('index', 'Cinder.tex', u'OpenStack Block Storage API Documentation',
u'OpenStack Foundation', 'manual'),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
# latex_use_parts = False
# Additional stuff for the LaTeX preamble.
# latex_preamble = ''
# Documents to append as an appendix to all manuals.
# latex_appendices = []
# If false, no module index is generated.
# latex_use_modindex = True

View File

@ -1,19 +0,0 @@
=================
Block Storage API
=================
Contents:
.. toctree::
:maxdepth: 2
v3/index
v2/index
v1/index
Indices and tables
==================
* :ref:`genindex`
* :ref:`search`

View File

@ -1,13 +0,0 @@
: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

View File

@ -1,408 +0,0 @@
.. -*- 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

View File

@ -1,648 +0,0 @@
# 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

View File

@ -1,17 +0,0 @@
{
"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
}
}

View File

@ -1,17 +0,0 @@
{
"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
}
}

View File

@ -1,5 +0,0 @@
{
"quota_set": {
"security_groups": 45
}
}

View File

@ -1,16 +0,0 @@
{
"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
}
}

View File

@ -1,8 +0,0 @@
{
"snapshot": {
"display_name": "snap-001",
"display_description": "Daily backup",
"volume_id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
"force": true
}
}

View File

@ -1,16 +0,0 @@
{
"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"
}
}

View File

@ -1,5 +0,0 @@
{
"metadata": {
"key": "v1"
}
}

View File

@ -1,5 +0,0 @@
{
"metadata": {
"key": "v1"
}
}

View File

@ -1,11 +0,0 @@
{
"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"
}
}

View File

@ -1,26 +0,0 @@
{
"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": {}
}
]
}

View File

@ -1,64 +0,0 @@
{
"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
}
}
}

View File

@ -1,17 +0,0 @@
{
"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
}
}

View File

@ -1,6 +0,0 @@
{
"quota_set": {
"force": true,
"instances": 9
}
}

View File

@ -1,16 +0,0 @@
{
"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
}
}

View File

@ -1,24 +0,0 @@
{
"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/json",
"type": "application/vnd.openstack.volume+json;version=1"
}
],
"status": "DEPRECATED",
"updated": "2014-06-28T12:20:21Z"
}
}

View File

@ -1,26 +0,0 @@
{
"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"
}
]
}

View File

@ -1,18 +0,0 @@
{
"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"
]
}
}

View File

@ -1,27 +0,0 @@
{
"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"
}
}

View File

@ -1,8 +0,0 @@
{
"volume_type": {
"name": "vol-type-001",
"extra_specs": {
"capabilities": "gpu"
}
}
}

View File

@ -1,9 +0,0 @@
{
"volume_type": {
"id": "289da7f8-6440-407c-9fb4-7db01ec49164",
"name": "vol-type-001",
"extra_specs": {
"capabilities": "gpu"
}
}
}

View File

@ -1,16 +0,0 @@
{
"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": {}
}
]
}

View File

@ -1,41 +0,0 @@
{
"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"
}
]
}

View File

@ -1,187 +0,0 @@
.. -*- 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

View File

@ -1,217 +0,0 @@
.. -*- 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

View File

@ -1,52 +0,0 @@
.. -*- 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

View File

@ -1,233 +0,0 @@
.. -*- 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

View File

@ -1,26 +0,0 @@
.. -*- rst -*-
List Api Versions
=================
.. rest_method:: GET /
Lists information for all Block Storage API versions.
Normal response codes: 200,300
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
Request
~~~~~~~
Response
~~~~~~~~
**Example List Api Versions: JSON request**
.. literalinclude:: ./samples/versions-response.json
:language: javascript

View File

@ -1,50 +0,0 @@
.. -*- rst -*-
Capabilities for storage back ends (capabilities)
=================================================
Shows capabilities for a storage back end.
Show back-end capabilities
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/capabilities/{hostname}
Shows capabilities for a storage back end on the host.
The ``hostname`` takes the form of ``hostname@volume_backend_name``.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- hostname: hostname
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- pool_name: pool_name
- description: description
- volume_backend_name: volume_backend_name
- namespace: namespace
- visibility: visibility
- driver_version: driver_version
- vendor_name: vendor_name
- properties: properties
- storage_protocol: storage_protocol
- replication_targets: replication_targets
- display_name: display_name
Response Example
----------------
.. literalinclude:: ./samples/backend-capabilities-response.json
:language: javascript

View File

@ -1,267 +0,0 @@
.. -*- rst -*-
Consistency groups
==================
Consistency groups enable you to create snapshots at the exact same
point in time from multiple volumes. For example, a database might
place its tables, logs, and configuration on separate volumes. To
restore this database from a previous point in time, it makes sense
to restore the logs, tables, and configuration together from the
exact same point in time.
Use the ``policy.json`` file to grant permissions for these actions
to limit roles.
List consistency groups
~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/consistencygroups
Lists consistency groups.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-groups-list-response.json
:language: javascript
Create consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/consistencygroups
Creates a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- description: description_6
- availability_zone: availability_zone
- volume_types: volume_types_2
- name: name_15
Response
--------
.. rest_parameters:: parameters.yaml
- status: status_1
- description: description_11
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- name: name_15
- id: consistencygroup_id_1
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/consistency-group-create-response.json
:language: javascript
Show consistency group details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/consistencygroups/{consistencygroup_id}
Shows details for a consistency group.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_1
- description: description
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-group-show-response.json
:language: javascript
Create consistency group from source
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/consistencygroups/create_from_src
Creates a consistency group from source.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- status: status_1
- user_id: user_id
- description: description
- cgsnapshot_id: cgsnapshot_id
- source_cgid: source_cgid
- project_id: project_id
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-create-from-src-request.json
:language: javascript
Delete consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/consistencygroups/{consistencygroup_id}/delete
Deletes a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- force: force
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-delete-request.json
:language: javascript
List consistency groups with details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/consistencygroups/detail
Lists consistency groups with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_1
- description: description
- availability_zone: availability_zone
- created_at: created_at
- volume_types: volume_types
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/consistency-groups-list-detailed-response.json
:language: javascript
Update consistency group
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v2/{tenant_id}/consistencygroups/{consistencygroup_id}/update
Updates a consistency group.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- remove_volumes: remove_volumes
- description: description
- add_volumes: add_volumes
- name: name
- tenant_id: tenant_id
- consistencygroup_id: consistencygroup_id
Request Example
---------------
.. literalinclude:: ./samples/consistency-group-update-request.json
:language: javascript

View File

@ -1,68 +0,0 @@
.. -*- rst -*-
Backup actions (backups, action)
================================
Force-deletes a backup and reset status for a backup.
Force-delete backup
~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/backups/{backup_id}/action
Force-deletes a backup. Specify the ``os-force_delete`` action in the request body.
This operations deletes the backup and any backup data.
The backup driver returns the ``405`` status code if it does not
support this operation.
Normal response codes: 202
Error response codes: itemNotFound(404), badMethod(405)
Request
-------
.. rest_parameters:: parameters.yaml
- os-force_delete: os-force_delete
- tenant_id: tenant_id
- backup_id: backup_id
Request Example
---------------
.. literalinclude:: ./samples/backup-force-delete-request.json
:language: javascript
Reset backup's status
~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/backups/{backup_id}/action
Reset a backup's status. Specify the ``os-reset_status`` action in the request body.
Normal response codes: 202
Error response codes: badRequest(400), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- status: status_7
- os-reset_status: os-reset_status
- tenant_id: tenant_id
- backup_id: backup_id
Request Example
---------------
.. literalinclude:: ./samples/backup-reset-status-request.json
:language: javascript

View File

@ -1,286 +0,0 @@
.. -*- rst -*-
Backups (backups)
=================
A backup is a full copy of a volume stored in an external service.
The service can be configured. The only supported service is Object
Storage. A backup can subsequently be restored from the external
service to either the same volume that the backup was originally
taken from or to a new volume. Backup and restore operations can
only be carried out on volumes that are in an unattached and
available state.
When you create, list, or delete backups, these status values are
possible:
**Backup statuses**
+-----------------+---------------------------------------------+
| Status | Description |
+-----------------+---------------------------------------------+
| creating | The backup is being created. |
+-----------------+---------------------------------------------+
| available | The backup is ready to restore to a volume. |
+-----------------+---------------------------------------------+
| deleting | The backup is being deleted. |
+-----------------+---------------------------------------------+
| error | A backup error occurred. |
+-----------------+---------------------------------------------+
| restoring | The backup is being restored to a volume. |
+-----------------+---------------------------------------------+
| error_restoring | A backup restoration error occurred. |
+-----------------+---------------------------------------------+
If an error occurs, you can find more information about the error
in the ``fail_reason`` field for the backup.
List backups with details
~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/backups/detail
Lists Block Storage backups, with details, to which the tenant has access.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_4
- object_count: object_count
- fail_reason: fail_reason
- description: description
- links: links
- availability_zone: availability_zone
- created_at: created_at
- updated_at: updated_at
- name: name
- has_dependent_backups: has_dependent_backups
- volume_id: volume_id
- container: container
- backups: backups
- size: size
- id: id
- is_incremental: is_incremental
- data_timestamp: data_timestamp
- snapshot_id: snapshot_id_2
Response Example
----------------
.. literalinclude:: ./samples/backups-list-detailed-response.json
:language: javascript
Show backup details
~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/backups/{backup_id}
Shows details for a backup.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- backup_id: backup_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status_4
- object_count: object_count
- container: container
- description: description
- links: links
- availability_zone: availability_zone
- created_at: created_at
- updated_at: updated_at
- name: name
- has_dependent_backups: has_dependent_backups
- volume_id: volume_id
- fail_reason: fail_reason
- size: size
- backup: backup
- id: id
- is_incremental: is_incremental
- data_timestamp: data_timestamp
- snapshot_id: snapshot_id_2
Response Example
----------------
.. literalinclude:: ./samples/backup-show-response.json
:language: javascript
Delete backup
~~~~~~~~~~~~~
.. rest_method:: DELETE /v2/{tenant_id}/backups/{backup_id}
Deletes a backup.
Normal response codes: 202,
Error response codes: Bad Request(400)
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- backup_id: backup_id
Restore backup
~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/backups/{backup_id}/restore
Restores a Block Storage backup to an existing or new Block Storage volume.
You must specify either the UUID or name of the volume. If you
specify both the UUID and name, the UUID takes priority.
Normal response codes: 202,
Error response codes: Bad Request(400), Request Entity Too Large(413)
Request
-------
.. rest_parameters:: parameters.yaml
- restore: restore
- name: name
- volume_id: volume_id
- tenant_id: tenant_id
- backup_id: backup_id
Request Example
---------------
.. literalinclude:: ./samples/backup-restore-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- restore: restore
- backup_id: backup_id
- volume_id: volume_id
- volume_name: volume_name
Create backup
~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/backups
Creates a Block Storage backup from a volume.
Normal response codes: 202,
Error response codes: Bad Request(400), Internal Server Error(500)
Request
-------
.. rest_parameters:: parameters.yaml
- container: container
- description: description
- incremental: incremental
- volume_id: volume_id
- force: force
- backup: backup
- name: name
- tenant_id: tenant_id
- snapshot_id: snapshot_id_2
Request Example
---------------
.. literalinclude:: ./samples/backup-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- backup: backup
- id: id
- links: links
- name: name
List backups
~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/backups
Lists Block Storage backups to which the tenant has access.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- backups: backups
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/backups-list-response.json
:language: javascript

View File

@ -1,81 +0,0 @@
.. -*- rst -*-
Hosts extension (os-hosts)
====================================
Administrators only, depending on policy settings.
Lists, shows hosts.
List all hosts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{admin_tenant_id}/os-hosts
Lists all hosts summary info that is not disabled.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- admin_tenant_id: admin_tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- service-status: service_status
- service: host_service
- zone: availability_zone_3
- service-state: service_state
- host_name: hostname
- last-update: updated_at
Response Example
----------------
.. literalinclude:: ./samples/hosts-list-response.json
:language: javascript
Show Host Details
~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{admin_tenant_id}/os-hosts/{host_name}
Shows details for a host.
Normal response codes: 200
Error response codes: unauthorized(401), forbidden(403), itemNotFound(404)
Request
-------
.. rest_parameters:: parameters.yaml
- admin_tenant_id: admin_tenant_id
- host_name: hostname
Response
--------
.. rest_parameters:: parameters.yaml
- volume_count: total_count
- total_volume_gb: totalGigabytesUsed
- total_snapshot_gb: totalSnapshotsUsed
- project: admin_tenant_id
- host: host
- snapshot_count: totalSnapshotsUsed
**Example Show Host Details**
.. literalinclude:: ./samples/hosts-get-response.json
:language: javascript

View File

@ -1,29 +0,0 @@
:tocdepth: 2
=================================
Block Storage API V2 (DEPRECATED)
=================================
.. rest_expand_all::
.. include:: api-versions.inc
.. include:: ext-backups.inc
.. include:: ext-backups-actions-v2.inc
.. include:: capabilities-v2.inc
.. include:: os-cgsnapshots-v2.inc
.. include:: consistencygroups-v2.inc
.. include:: hosts.inc
.. include:: limits.inc
.. include:: os-vol-image-meta-v2.inc
.. include:: os-vol-pool-v2.inc
.. include:: os-vol-transfer-v2.inc
.. include:: qos-specs-v2-qos-specs.inc
.. include:: quota-sets.inc
.. include:: volume-manage.inc
.. include:: volume-type-access.inc
.. include:: volumes-v2-extensions.inc
.. include:: volumes-v2-snapshots.inc
.. include:: volumes-v2-types.inc
.. include:: volumes-v2-versions.inc
.. include:: volumes-v2-volumes-actions.inc
.. include:: volumes-v2-volumes.inc

View File

@ -1,56 +0,0 @@
.. -*- rst -*-
Limits (limits)
===============
Shows absolute limits for a tenant.
An absolute limit value of ``-1`` indicates that the absolute limit
for the item is infinite.
Show absolute limits
~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/limits
Shows absolute limits for a tenant.
An absolute limit value of ``-1`` indicates that the absolute limit
for the item is infinite.
Normal response codes: 200
Error response codes:203,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- totalSnapshotsUsed: totalSnapshotsUsed
- maxTotalBackups: maxTotalBackups
- maxTotalVolumeGigabytes: maxTotalVolumeGigabytes
- limits: limits
- maxTotalSnapshots: maxTotalSnapshots
- maxTotalBackupGigabytes: maxTotalBackupGigabytes
- totalBackupGigabytesUsed: totalBackupGigabytesUsed
- maxTotalVolumes: maxTotalVolumes
- totalVolumesUsed: totalVolumesUsed
- rate: rate
- totalBackupsUsed: totalBackupsUsed
- totalGigabytesUsed: totalGigabytesUsed
- absolute: absolute
Response Example
----------------
.. literalinclude:: ./samples/limits-show-response.json
:language: javascript

View File

@ -1,178 +0,0 @@
.. -*- rst -*-
Consistency group snapshots
===========================
Lists all, lists all with details, shows details for, creates, and
deletes consistency group snapshots.
Delete consistency group snapshot
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}
Deletes a consistency group snapshot.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- cgsnapshot_id: cgsnapshot_id
Show consistency group snapshot details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/cgsnapshots/{cgsnapshot_id}
Shows details for a consistency group snapshot.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- cgsnapshot_id: cgsnapshot_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-show-response.json
:language: javascript
List consistency group snapshots with details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/cgsnapshots/detail
Lists all consistency group snapshots with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-list-detailed-response.json
:language: javascript
List consistency group snapshots
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/cgsnapshots
Lists all consistency group snapshots.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/cgsnapshots-list-response.json
:language: javascript
Create consistency group snapshot
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/cgsnapshots
Creates a consistency group snapshot.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/cgsnapshots-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- status: status
- description: description
- created_at: created_at
- consistencygroup_id: consistencygroup_id
- id: id
- name: name

View File

@ -1,45 +0,0 @@
.. -*- rst -*-
Volume image metadata extension (os-vol-image-meta)
===================================================
Shows image metadata that is associated with a volume.
Show image metadata for volume
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/os-vol-image-meta
Shows image metadata for a volume.
When the request is made, the caller must specify a reference to an
existing storage volume in the ``ref`` element. Each storage driver
may interpret the existing storage volume reference differently but
should accept a reference structure containing either a ``source-
volume-id`` or ``source-volume-name`` element, if possible.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- description: description
- availability_zone: availability_zone
- bootable: bootable
- volume_type: volume_type
- name: name
- volume: volume
- host: host
- ref: ref
- metadata: metadata
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/image-metadata-show-request.json
:language: javascript

View File

@ -1,49 +0,0 @@
.. -*- rst -*-
Back-end storage pools
======================
Administrator only. Lists all back-end storage pools that are known
to the scheduler service.
List back-end storage pools
~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/scheduler-stats/get_pools
Lists all back-end storage pools.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- detail: detail
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- updated: updated
- QoS_support: QoS_support
- name: name
- total_capacity: total_capacity
- volume_backend_name: volume_backend_name
- capabilities: capabilities
- free_capacity: free_capacity
- driver_version: driver_version
- reserved_percentage: reserved_percentage
- storage_protocol: storage_protocol
Response Example
----------------
.. literalinclude:: ./samples/pools-list-detailed-response.json
:language: javascript

View File

@ -1,216 +0,0 @@
.. -*- rst -*-
Volume transfer
===============
Transfers a volume from one user to another user.
Accept volume transfer
~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/os-volume-transfer/{transfer_id}/accept
Accepts a volume transfer.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- auth_key: auth_key
- transfer_id: transfer_id
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/volume-transfer-accept-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- volume_id: volume_id
- id: id
- links: links
- name: name
Create volume transfer
~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/os-volume-transfer
Creates a volume transfer.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- name: name
- volume_id: volume_id
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/volume-transfer-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- auth_key: auth_key
- links: links
- created_at: created_at
- volume_id: volume_id
- id: id
- name: name
List volume transfers
~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/os-volume-transfer
Lists volume transfers.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfers-list-response.json
:language: javascript
Show volume transfer details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/os-volume-transfer/{transfer_id}
Shows details for a volume transfer.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- transfer_id: transfer_id
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- created_at: created_at
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfer-show-response.json
:language: javascript
Delete volume transfer
~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v2/{tenant_id}/os-volume-transfer/{transfer_id}
Deletes a volume transfer.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- transfer_id: transfer_id
- tenant_id: tenant_id
List volume transfers, with details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/os-volume-transfer/detail
Lists volume transfers, with details.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- created_at: created_at
- volume_id: volume_id
- id: id
- links: links
- name: name
Response Example
----------------
.. literalinclude:: ./samples/volume-transfers-list-detailed-response.json
:language: javascript

File diff suppressed because it is too large Load Diff

View File

@ -1,315 +0,0 @@
.. -*- rst -*-
Quality of service (QoS) specifications (qos-specs)
===================================================
Administrators only.
Creates, lists, shows details for, associates, disassociates, sets
keys, unsets keys, and deletes quality of service (QoS)
specifications.
Disassociate QoS specification from all associations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs/{qos_id}/disassociate_all
Disassociates a QoS specification from all associations.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Unset keys in QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v2/{tenant_id}/qos-specs/{qos_id}/delete_keys
Unsets keys in a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- keys: keys
- tenant_id: tenant_id
- qos_id: qos_id
Request Example
---------------
.. literalinclude:: ./samples/qos-unset-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/qos-unset-response.json
:language: javascript
Get all associations for QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs/{qos_id}/associations
Lists all associations for a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Response Example
----------------
.. literalinclude:: ./samples/qos-show-response.json
:language: javascript
Associate QoS specification with volume type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs/{qos_id}/associate
Associates a QoS specification with a volume type.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
- vol_type_id: vol_type_id
Disassociate QoS specification from volume type
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs/{qos_id}/disassociate
Disassociates a QoS specification from a volume type.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
- vol_type_id: vol_type_id
Show QoS specification details
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs/{qos_id}
Shows details for a QoS specification.
Normal response codes: 200
Error response codes: 413, 405, 404, 403, 401, 400, 503,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- name: name
- links: links
- id: id
- qos_specs: qos_specs
- consumer: consumer
- specs: specs
Response Example
----------------
.. literalinclude:: ./samples/qos-show-response.json
:language: javascript
Set keys in QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: PUT /v2/{tenant_id}/qos-specs/{qos_id}
Sets keys in a QoS specification.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- specs: specs
- tenant_id: tenant_id
- qos_id: qos_id
Request Example
---------------
.. literalinclude:: ./samples/qos-update-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ./samples/qos-update-response.json
:language: javascript
Delete QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: DELETE /v2/{tenant_id}/qos-specs/{qos_id}
Deletes a QoS specification.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- qos_id: qos_id
- force: force
Create QoS specification
~~~~~~~~~~~~~~~~~~~~~~~~
.. rest_method:: POST /v2/{tenant_id}/qos-specs
Creates a QoS specification.
Specify one or more key and value pairs in the request body.
Normal response codes: 202,
Request
-------
.. rest_parameters:: parameters.yaml
- qos_specs: qos_specs
- consumer: consumer
- name: name
- tenant_id: tenant_id
Request Example
---------------
.. literalinclude:: ./samples/qos-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- name: name
- links: links
- id: id
- qos_specs: qos_specs
- consumer: consumer
- specs: specs
List QoS specs
~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{tenant_id}/qos-specs
Lists quality of service (QoS) specifications.
Normal response codes: 200, 300,
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- sort_key: sort_key
- sort_dir: sort_dir
- limit: limit
- marker: marker
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- specs: specs
- qos_specs: qos_specs
- consumer: consumer
- id: id
- name: name
Response Example
----------------
.. literalinclude:: ./samples/qos-list-response.json
:language: javascript

View File

@ -1,206 +0,0 @@
.. -*- rst -*-
Quota sets extension (os-quota-sets)
====================================
Administrators only, depending on policy settings.
Shows, updates, and deletes quotas for a tenant.
Show quotas
~~~~~~~~~~~
.. rest_method:: GET /v2/{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
- tenant_id: quotas_tenant_id
- admin_tenant_id: admin_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
~~~~~~~~~~~~~
.. rest_method:: PUT /v2/{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
- 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
- tenant_id: quotas_tenant_id
- admin_tenant_id: admin_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
~~~~~~~~~~~~~
.. rest_method:: DELETE /v2/{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
- tenant_id: quotas_tenant_id
- admin_tenant_id: admin_tenant_id
Response Example
----------------
.. literalinclude:: ./samples/quotas-delete-response.json
:language: javascript
Get default quotas
~~~~~~~~~~~~~~~~~~
.. rest_method:: GET /v2/{admin_tenant_id}/os-quota-sets/{tenant_id}/defaults
Gets default quotas for a tenant.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- tenant_id: tenant_id
- admin_tenant_id: admin_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-show-defaults-response.json
:language: javascript

View File

@ -1,34 +0,0 @@
{
"namespace": "OS::Storage::Capabilities::fake",
"vendor_name": "OpenStack",
"volume_backend_name": "lvmdriver-1",
"pool_name": "pool",
"driver_version": "2.0.0",
"storage_protocol": "iSCSI",
"display_name": "Capabilities of Cinder LVM driver",
"description": "These are volume type options provided by Cinder LVM driver, blah, blah.",
"visibility": "public",
"replication_targets": [],
"properties": {
"compression": {
"title": "Compression",
"description": "Enables compression.",
"type": "boolean"
},
"qos": {
"title": "QoS",
"description": "Enables QoS.",
"type": "boolean"
},
"replication": {
"title": "Replication",
"description": "Enables replication.",
"type": "boolean"
},
"thin_provisioning": {
"title": "Thin Provisioning",
"description": "Sets thin provisioning.",
"type": "boolean"
}
}
}

View File

@ -1,9 +0,0 @@
{
"backup": {
"container": null,
"description": null,
"name": "backup001",
"volume_id": "64f5d2fb-d836-4063-b7e2-544d5c1ff607",
"incremental": true
}
}

View File

@ -1,16 +0,0 @@
{
"backup": {
"id": "deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"links": [
{
"href": "http://localhost:8776/v2/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "bookmark"
}
],
"name": "backup001"
}
}

View File

@ -1,3 +0,0 @@
{
"os-force_delete": {}
}

View File

@ -1,6 +0,0 @@
{
"backup-record": {
"backup_service": "cinder.backup.drivers.swift",
"backup_url": "eyJzdGF0"
}
}

View File

@ -1,6 +0,0 @@
{
"backup-record": {
"backup_service": "cinder.backup.drivers.swift",
"backup_url": "eyJzdGF0"
}
}

View File

@ -1,16 +0,0 @@
{
"backup": {
"id": "deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"links": [
{
"href": "http://localhost:8776/v2/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/deac8b8c-35c9-4c71-acaa-889c2d5d5c8e",
"rel": "bookmark"
}
],
"name": null
}
}

View File

@ -1,5 +0,0 @@
{
"os-reset_status": {
"status": "available"
}
}

View File

@ -1,6 +0,0 @@
{
"restore": {
"name": "vol-01",
"volume_id": "64f5d2fb-d836-4063-b7e2-544d5c1ff607"
}
}

View File

@ -1,6 +0,0 @@
{
"restore": {
"backup_id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"volume_id": "795114e8-7489-40be-a978-83797f2c1dd3"
}
}

View File

@ -1,27 +0,0 @@
{
"backup": {
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:35:27.000000",
"description": null,
"fail_reason": null,
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
}
}

View File

@ -1,54 +0,0 @@
{
"backups": [
{
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:35:27.000000",
"description": null,
"fail_reason": null,
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
},
{
"availability_zone": "az1",
"container": "volumebackups",
"created_at": "2013-04-02T10:21:48.000000",
"description": null,
"fail_reason": null,
"id": "4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "bookmark"
}
],
"name": "backup002",
"object_count": 22,
"size": 1,
"status": "available",
"volume_id": "e5185058-943a-4cb4-96d9-72c184c337d6",
"is_incremental": true,
"has_dependent_backups": false
}
]
}

View File

@ -1,32 +0,0 @@
{
"backups": [
{
"id": "2ef47aee-8844-490c-804d-2a8efe561c65",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/2ef47aee-8844-490c-804d-2a8efe561c65",
"rel": "bookmark"
}
],
"name": "backup001"
},
{
"id": "4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"links": [
{
"href": "http://localhost:8776/v1/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "self"
},
{
"href": "http://localhost:8776/c95fc3e4afe248a49a28828f286a7b38/backups/4dbf0ec2-0b57-4669-9823-9f7c76f2b4f8",
"rel": "bookmark"
}
],
"name": "backup002"
}
]
}

View File

@ -1,10 +0,0 @@
{
"cgsnapshot": {
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814546",
"name": "firstcg",
"description": "first consistency group",
"user_id": "6f519a48-3183-46cf-a32f-41815f814444",
"project_id": "6f519a48-3183-46cf-a32f-41815f815555",
"status": "creating"
}
}

View File

@ -1,6 +0,0 @@
{
"cgsnapshot": {
"id": "6f519a48-3183-46cf-a32f-41815f816666",
"name": "firstcg"
}
}

View File

@ -1,20 +0,0 @@
{
"cgsnapshots": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "available",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"consistencygroup_id": "aed36625-a6d7-4681-ba59-c7ba3d18dddd",
"status": "error",
"created_at": "2015-09-16T09:31:15.000000",
"name": "my-cg2",
"description": "Edited description"
}
]
}

View File

@ -1,12 +0,0 @@
{
"cgsnapshots": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"name": "my-cg1"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"name": "my-cg2"
}
]
}

View File

@ -1,10 +0,0 @@
{
"cgsnapshot": {
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"consistencygroup_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "available",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group"
}
}

View File

@ -1,11 +0,0 @@
{
"consistencygroup-from-src": {
"name": "firstcg",
"description": "first consistency group",
"cgsnapshot_id": "6f519a48-3183-46cf-a32f-41815f813986",
"source_cgid": "6f519a48-3183-46cf-a32f-41815f814546",
"user_id": "6f519a48-3183-46cf-a32f-41815f815555",
"project_id": "6f519a48-3183-46cf-a32f-41815f814444",
"status": "creating"
}
}

View File

@ -1,8 +0,0 @@
{
"consistencygroup": {
"name": "firstcg",
"description": "first consistency group",
"volume_types": "type1,type2",
"availability_zone": "az0"
}
}

View File

@ -1,11 +0,0 @@
{
"consistencygroup": {
"status": "error",
"description": "first consistency group",
"availability_zone": "az0",
"created_at": "2016-08-19T19:32:19.000000",
"volume_types": ["type1", "type2"],
"id": "63d1a274-de38-4384-a97e-475306777027",
"name": "firstcg"
}
}

View File

@ -1,5 +0,0 @@
{
"consistencygroup": {
"force": false
}
}

View File

@ -1,13 +0,0 @@
{
"consistencygroup": {
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"status": "available",
"availability_zone": "az1",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group",
"volume_types": [
"123456"
]
}
}

View File

@ -1,8 +0,0 @@
{
"consistencygroup": {
"name": "my_cg",
"description": "My consistency group",
"add_volumes": "volume-uuid-1,volume-uuid-2",
"remove_volumes": "volume-uuid-8,volume-uuid-9"
}
}

View File

@ -1,26 +0,0 @@
{
"consistencygroups": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"status": "available",
"availability_zone": "az1",
"created_at": "2015-09-16T09:28:52.000000",
"name": "my-cg1",
"description": "my first consistency group",
"volume_types": [
"123456"
]
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"status": "error",
"availability_zone": "az2",
"created_at": "2015-09-16T09:31:15.000000",
"name": "my-cg2",
"description": "Edited description",
"volume_types": [
"234567"
]
}
]
}

View File

@ -1,12 +0,0 @@
{
"consistencygroups": [
{
"id": "6f519a48-3183-46cf-a32f-41815f813986",
"name": "my-cg1"
},
{
"id": "aed36625-a6d7-4681-ba59-c7ba3d18c148",
"name": "my-cg2"
}
]
}

View File

@ -1,8 +0,0 @@
{
"encryption":{
"key_size": 128,
"provider": "nova.volume.encryptors.luks.LuksEncryptor",
"control_location":"front-end",
"cipher": "aes-xts-plain64"
}
}

View File

@ -1,10 +0,0 @@
{
"encryption": {
"volume_type_id": "2d29462d-76cb-417c-8a9f-fb23140f1577",
"control_location": "front-end",
"encryption_id": "81e069c6-7394-4856-8df7-3b237ca61f74",
"key_size": 128,
"provider": "nova.volume.encryptors.luks.LuksEncryptor",
"cipher": "aes-xts-plain64"
}
}

View File

@ -1,12 +0,0 @@
{
"volume_type_id": "2d29462d-76cb-417c-8a9f-fb23140f1577",
"control_location": "front-end",
"deleted": false,
"created_at": "2016-12-28T02:32:25.000000",
"updated_at": null,
"encryption_id": "81e069c6-7394-4856-8df7-3b237ca61f74",
"key_size": 128,
"provider": "nova.volume.encryptors.luks.LuksEncryptor",
"deleted_at": null,
"cipher": "aes-xts-plain64"
}

View File

@ -1,7 +0,0 @@
{
"encryption":{
"key_size": 64,
"provider": "cinder.keymgr.conf_key_mgr.ConfKeyManager",
"control_location":"back-end"
}
}

View File

@ -1,7 +0,0 @@
{
"encryption":{
"key_size": 64,
"provider": "cinder.keymgr.conf_key_mgr.ConfKeyManager",
"control_location":"back-end"
}
}

View File

@ -1,212 +0,0 @@
{
"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."
}
]
}

View File

@ -1,5 +0,0 @@
{
"os-attach": {
"host_name": "my_host"
}
}

View File

@ -1,22 +0,0 @@
{
"host": [{
"resource": {
"volume_count": "8",
"total_volume_gb": "11",
"total_snapshot_gb": "1",
"project": "(total)",
"host": "node1@rbd-sas",
"snapshot_count": "1"
}
},
{
"resource": {
"volume_count": "8",
"total_volume_gb": "11",
"total_snapshot_gb": "1",
"project": "f21a9c86d7114bf99c711f4874d80474",
"host": "node1@rbd-sas",
"snapshot_count": "1"
}
}]
}

View File

@ -1,26 +0,0 @@
{
"hosts": [{
"service-status": "available",
"service": "cinder-backup",
"zone": "nova",
"service-state": "enabled",
"host_name": "node1",
"last-update": "2017-03-09T21:38:41.000000"
},
{
"service-status": "available",
"service": "cinder-scheduler",
"zone": "nova",
"service-state": "enabled",
"host_name": "node1",
"last-update": "2017-03-09T21:38:38.000000"
},
{
"service-status": "available",
"service": "cinder-volume",
"zone": "nova",
"service-state": "enabled",
"host_name": "node1@lvm",
"last-update": "2017-03-09T21:38:35.000000"
}]
}

View File

@ -1,18 +0,0 @@
{
"volume": {
"host": "geraint-VirtualBox",
"ref": {
"source-volume-name": "existingLV",
"source-volume-id": "1234"
},
"name": "New Volume",
"availability_zone": "az2",
"description": "Volume imported from existingLV",
"volume_type": null,
"bootable": true,
"metadata": {
"key1": "value1",
"key2": "value2"
}
}
}

View File

@ -1,33 +0,0 @@
{
"volume": {
"status": "creating",
"user_id": "eae1472b5fc5496998a3d06550929e7e",
"attachments": [],
"links": [
{
"href": "http://10.0.2.15:8776/v2/87c8522052ca4eed98bc672b4c1a3ddb/volumes/23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"rel": "self"
},
{
"href": "http://10.0.2.15:8776/87c8522052ca4eed98bc672b4c1a3ddb/volumes/23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"rel": "bookmark"
}
],
"availability_zone": "az2",
"bootable": "false",
"encrypted": "false",
"created_at": "2014-07-18T00:12:54.000000",
"description": "Volume imported from existingLV",
"os-vol-tenant-attr:tenant_id": "87c8522052ca4eed98bc672b4c1a3ddb",
"volume_type": null,
"name": "New Volume",
"source_volid": null,
"snapshot_id": null,
"metadata": {
"key2": "value2",
"key1": "value1"
},
"id": "23cf872b-c781-4cd4-847d-5f2ec8cbd91c",
"size": 0
}
}

View File

@ -1,17 +0,0 @@
{
"limits": {
"rate": [],
"absolute": {
"totalSnapshotsUsed": 0,
"maxTotalBackups": 10,
"maxTotalVolumeGigabytes": 1000,
"maxTotalSnapshots": 10,
"maxTotalBackupGigabytes": 1000,
"totalBackupGigabytesUsed": 0,
"maxTotalVolumes": 10,
"totalVolumesUsed": 0,
"totalBackupsUsed": 0,
"totalGigabytesUsed": 0
}
}
}

View File

@ -1,30 +0,0 @@
{
"pools": [
{
"name": "pool1",
"capabilities": {
"updated": "2014-10-28T00:00:00-00:00",
"total_capacity": 1024,
"free_capacity": 100,
"volume_backend_name": "pool1",
"reserved_percentage": 0,
"driver_version": "1.0.0",
"storage_protocol": "iSCSI",
"QoS_support": false
}
},
{
"name": "pool2",
"capabilities": {
"updated": "2014-10-28T00:00:00-00:00",
"total_capacity": 512,
"free_capacity": 200,
"volume_backend_name": "pool2",
"reserved_percentage": 0,
"driver_version": "1.0.1",
"storage_protocol": "iSER",
"QoS_support": true
}
}
]
}

View File

@ -1,7 +0,0 @@
{
"qos_specs": {
"availability": "100",
"name": "reliability-spec",
"numberOfFailures": "0"
}
}

View File

@ -1,21 +0,0 @@
{
"qos_specs": {
"specs": {
"numberOfFailures": "0",
"availability": "100"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "599ef437-1c99-42ec-9fc6-239d0519fef1"
},
"links": [
{
"href": "http://23.253.248.171:8776/v2/bab7d5c60cd041a0a36f7c4b6e1dd978/qos_specs/599ef437-1c99-42ec-9fc6-239d0519fef1",
"rel": "self"
},
{
"href": "http://23.253.248.171:8776/bab7d5c60cd041a0a36f7c4b6e1dd978/qos_specs/599ef437-1c99-42ec-9fc6-239d0519fef1",
"rel": "bookmark"
}
]
}

View File

@ -1,22 +0,0 @@
{
"qos_specs": [
{
"specs": {
"availability": "100",
"numberOfFailures": "0"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "0388d6c6-d5d4-42a3-b289-95205c50dd15"
},
{
"specs": {
"delay": "0",
"throughput": "100"
},
"consumer": "back-end",
"name": "performance-spec",
"id": "ecfc6e2e-7117-44a4-8eec-f84d04f531a8"
}
]
}

View File

@ -1,21 +0,0 @@
{
"qos_specs": {
"specs": {
"availability": "100",
"numberOfFailures": "0"
},
"consumer": "back-end",
"name": "reliability-spec",
"id": "0388d6c6-d5d4-42a3-b289-95205c50dd15"
},
"links": [
{
"href": "http://23.253.228.211:8776/v2/e1cf63117ae74309a5bcc2002a23be8b/qos_specs/0388d6c6-d5d4-42a3-b289-95205c50dd15",
"rel": "self"
},
{
"href": "http://23.253.228.211:8776/e1cf63117ae74309a5bcc2002a23be8b/qos_specs/0388d6c6-d5d4-42a3-b289-95205c50dd15",
"rel": "bookmark"
}
]
}

View File

@ -1,5 +0,0 @@
{
"keys": [
"key1"
]
}

Some files were not shown because too many files have changed in this diff Show More