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: I1f28a2ce2253aff8e93d24f9840245ab7fc52db1
This commit is contained in:
parent
adb219cf45
commit
0c6ea7f2a6
@ -1,7 +0,0 @@
|
||||
[run]
|
||||
branch = True
|
||||
source = glance
|
||||
omit = glance/tests/*
|
||||
|
||||
[report]
|
||||
ignore_errors = True
|
42
.gitignore
vendored
42
.gitignore
vendored
@ -1,42 +0,0 @@
|
||||
*.pyc
|
||||
*.log
|
||||
.glance-venv
|
||||
.venv
|
||||
.testrepository/
|
||||
.tox
|
||||
.coverage*
|
||||
cover/*
|
||||
covhtml
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
glance.sqlite
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
build
|
||||
dist
|
||||
*.egg
|
||||
.eggs/*
|
||||
glance.egg-info
|
||||
tests.sqlite
|
||||
glance/versioninfo
|
||||
subunit.log
|
||||
|
||||
# Swap files range from .saa to .swp
|
||||
*.s[a-w][a-p]
|
||||
|
||||
# Files created by doc build
|
||||
doc/source/api
|
||||
doc/source/_static/*.sample
|
||||
doc/source/contributor/api
|
||||
|
||||
# Files created by releasenotes build
|
||||
releasenotes/build
|
||||
|
||||
# IDE files
|
||||
.project
|
||||
.pydevproject
|
||||
.idea
|
||||
.e4p
|
||||
.eric5project/
|
||||
.issues/
|
||||
.ropeproject
|
@ -1,4 +0,0 @@
|
||||
[gerrit]
|
||||
host=review.openstack.org
|
||||
port=29418
|
||||
project=openstack/glance.git
|
26
.mailmap
26
.mailmap
@ -1,26 +0,0 @@
|
||||
# Format is:
|
||||
# <preferred e-mail> <other e-mail 1>
|
||||
# <preferred e-mail> <other e-mail 2>
|
||||
<adam.gandelman@canonical.com> <adamg@canonical.com>
|
||||
<brian.waldon@rackspace.com> <bcwaldon@gmail.com>
|
||||
<corywright@gmail.com> <cory.wright@rackspace.com>
|
||||
<dprince@redhat.com> <dan.prince@rackspace.com>
|
||||
<jsuh@isi.edu> <jsuh@bespin>
|
||||
<josh@jk0.org> <josh.kearney@rackspace.com>
|
||||
<lorin@nimbisservices.com> <lorin@isi.edu>
|
||||
<mr.alex.meade@gmail.com> <hatboy112@yahoo.com>
|
||||
<mr.alex.meade@gmail.com> <alex.meade@rackspace.com>
|
||||
<rconradharris@gmail.com> <rick.harris@rackspace.com>
|
||||
<rconradharris@gmail.com> <rick@quasar.racklabs.com>
|
||||
<rick@openstack.org> <rclark@chat-blanc>
|
||||
<soren.hansen@rackspace.com> <soren@linux2go.dk>
|
||||
<soren.hansen@rackspace.com> <soren@openstack.org>
|
||||
<jeblair@hp.com> <corvus@gnu.org>
|
||||
<jeblair@hp.com> <james.blair@rackspace.com>
|
||||
<chris@pistoncloud.com> <chris@slicehost.com>
|
||||
<ken.pepple@gmail.com> <ken.pepple@rabbityard.com>
|
||||
<gareth@unitedstack.com> <academicgareth@gmail.com>
|
||||
Zhongyue Luo <zhongyue.nah@intel.com> <lzyeval@gmail.com>
|
||||
Zhenguo Niu <zhenguo@unitedstack.com> <Niu.ZGlinux@gmail.com>
|
||||
<yufang521247@gmail.com> <zhangyufang@360.cn>
|
||||
David Koo <david.koo@huawei.com> <kpublicmail@gmail.com>
|
@ -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:-160} \
|
||||
${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./glance/tests} $LISTOPT $IDOPTION
|
||||
|
||||
test_id_option=--load-list $IDFILE
|
||||
test_list_option=--list
|
@ -1,27 +0,0 @@
|
||||
If you would like to contribute to the development of OpenStack,
|
||||
you must follow the steps documented at:
|
||||
|
||||
http://docs.openstack.org/infra/manual/developers.html#getting-started
|
||||
|
||||
Once those steps have been completed, changes to OpenStack
|
||||
should be submitted for review via the Gerrit tool, following
|
||||
the workflow documented at:
|
||||
|
||||
http://docs.openstack.org/infra/manual/developers.html#development-workflow
|
||||
|
||||
Pull requests submitted through GitHub will be ignored.
|
||||
|
||||
Bugs should be filed on Launchpad, not GitHub:
|
||||
|
||||
https://bugs.launchpad.net/glance
|
||||
|
||||
Additionally, specific guidelines for contributing to Glance may be found in
|
||||
Glance's Documentation:
|
||||
|
||||
http://docs.openstack.org/developer/glance/contributing
|
||||
|
||||
Please read and follow these Glance-specific guidelines, particularly the
|
||||
section on `Disallowed Minor Code Changes
|
||||
<http://docs.openstack.org/developer/glance/contributing/minor-code-changes.html>`_.
|
||||
You will thereby prevent your friendly review team from pulling out whatever
|
||||
hair they have left. Thank you for your cooperation.
|
24
HACKING.rst
24
HACKING.rst
@ -1,24 +0,0 @@
|
||||
glance Style Commandments
|
||||
=========================
|
||||
|
||||
- Step 1: Read the OpenStack Style Commandments
|
||||
http://docs.openstack.org/developer/hacking/
|
||||
- Step 2: Read on
|
||||
|
||||
glance Specific Commandments
|
||||
----------------------------
|
||||
|
||||
- [G316] Change assertTrue(isinstance(A, B)) by optimal assert like
|
||||
assertIsInstance(A, B)
|
||||
- [G317] Change assertEqual(type(A), B) by optimal assert like
|
||||
assertIsInstance(A, B)
|
||||
- [G318] Change assertEqual(A, None) or assertEqual(None, A) by optimal assert like
|
||||
assertIsNone(A)
|
||||
- [G319] Validate that debug level logs are not translated
|
||||
- [G320] For python 3 compatibility, use six.text_type() instead of unicode()
|
||||
- [G327] Prevent use of deprecated contextlib.nested
|
||||
- [G328] Must use a dict comprehension instead of a dict constructor with a sequence of key-value pairs
|
||||
- [G329] Python 3: Do not use xrange.
|
||||
- [G330] Python 3: do not use dict.iteritems.
|
||||
- [G331] Python 3: do not use dict.iterkeys.
|
||||
- [G332] Python 3: do not use dict.itervalues.
|
176
LICENSE
176
LICENSE
@ -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
14
README
Normal 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.
|
79
README.rst
79
README.rst
@ -1,79 +0,0 @@
|
||||
========================
|
||||
Team and repository tags
|
||||
========================
|
||||
|
||||
.. image:: http://governance.openstack.org/badges/glance.svg
|
||||
:target: http://governance.openstack.org/reference/tags/index.html
|
||||
:alt: The following tags have been asserted for the Glance project:
|
||||
"project:official",
|
||||
"tc:approved-release",
|
||||
"stable:follows-policy",
|
||||
"tc:starter-kit:compute",
|
||||
"vulnerability:managed",
|
||||
"team:diverse-affiliation",
|
||||
"assert:supports-upgrade",
|
||||
"assert:follows-standard-deprecation".
|
||||
Follow the link for an explanation of these tags.
|
||||
.. NOTE(rosmaita): the alt text above will have to be updated when
|
||||
additional tags are asserted for Glance. (The SVG in the
|
||||
governance repo is updated automatically.)
|
||||
|
||||
.. Change things from this point on
|
||||
|
||||
======
|
||||
Glance
|
||||
======
|
||||
|
||||
Glance is a project that provides services and associated libraries
|
||||
to store, browse, share, distribute and manage bootable disk images,
|
||||
other data closely associated with initializing compute resources,
|
||||
and metadata definitions.
|
||||
|
||||
Use the following resources to learn more:
|
||||
|
||||
API
|
||||
---
|
||||
|
||||
To learn how to use Glance's API, consult the documentation available
|
||||
online at:
|
||||
|
||||
* `Image Service APIs <http://developer.openstack.org/api-ref/image/>`_
|
||||
|
||||
Developers
|
||||
----------
|
||||
|
||||
For information on how to contribute to Glance, please see the contents
|
||||
of the CONTRIBUTING.rst in this repository.
|
||||
|
||||
Any new code must follow the development guidelines detailed in the
|
||||
HACKING.rst file, and pass all unit tests.
|
||||
|
||||
Further developer focused documentation is available at:
|
||||
|
||||
* `Official Glance documentation <http://docs.openstack.org/glance/>`_
|
||||
* `Official Client documentation <http://docs.openstack.org/python-glanceclient/>`_
|
||||
|
||||
Operators
|
||||
---------
|
||||
|
||||
To learn how to deploy and configure OpenStack Glance, consult the
|
||||
documentation available online at:
|
||||
|
||||
* `Openstack Glance <http://docs.openstack.org/glance/>`_
|
||||
|
||||
In the unfortunate event that bugs are discovered, they should be
|
||||
reported to the appropriate bug tracker. You can raise bugs here:
|
||||
|
||||
* `Bug Tracker <https://bugs.launchpad.net/glance/>`_
|
||||
|
||||
Other Information
|
||||
-----------------
|
||||
|
||||
During each design summit, we agree on what the whole community wants
|
||||
to focus on for the upcoming release. You can see image service plans:
|
||||
|
||||
* `Image Service Plans <http://specs.openstack.org/openstack/glance-specs/>`_
|
||||
|
||||
For more information about the Glance project please see:
|
||||
|
||||
* `Glance Project <https://launchpad.net/glance/>`_
|
@ -1,240 +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.
|
||||
#
|
||||
# glance api-ref build config file, copied from:
|
||||
# nova 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 warnings
|
||||
|
||||
import openstackdocstheme
|
||||
|
||||
extensions = [
|
||||
'os_api_ref',
|
||||
]
|
||||
|
||||
|
||||
html_theme = 'openstackdocs'
|
||||
html_theme_path = [openstackdocstheme.get_html_theme_path()]
|
||||
html_theme_options = {
|
||||
"sidebar_mode": "toc",
|
||||
}
|
||||
|
||||
# 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.
|
||||
|
||||
# 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'Image Service API Reference'
|
||||
copyright = u'2010-present, 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 glance.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()
|
||||
|
||||
# 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'
|
||||
|
||||
# Config logABug feature
|
||||
# source tree
|
||||
giturl = (
|
||||
u'https://git.openstack.org/cgit/openstack/glance/tree/api-ref/source')
|
||||
# html_context allows us to pass arbitrary values into the html template
|
||||
html_context = {'bug_tag': 'api-ref',
|
||||
'giturl': giturl,
|
||||
'bug_project': 'glance'}
|
||||
|
||||
# -- 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'
|
||||
|
||||
# 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"
|
||||
]
|
||||
try:
|
||||
html_last_updated_fmt = subprocess.check_output(git_cmd).decode('utf-8')
|
||||
except Exception:
|
||||
warnings.warn('Cannot get last updated time from git repository. '
|
||||
'Not setting "html_last_updated_fmt".')
|
||||
|
||||
# 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 = 'glancedoc'
|
||||
|
||||
|
||||
# -- 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', 'Glance.tex', u'OpenStack Image Service 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
|
@ -1,27 +0,0 @@
|
||||
..
|
||||
Copyright 2010 OpenStack Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
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.
|
||||
|
||||
==================
|
||||
Image Service APIs
|
||||
==================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
versions/index
|
||||
v1/index
|
||||
v2/index
|
||||
v2/metadefs-index
|
@ -1,344 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Images
|
||||
******
|
||||
|
||||
|
||||
Create image
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v1/images
|
||||
|
||||
Creates a metadata record of a virtual machine (VM) image and optionally
|
||||
stores the image data.
|
||||
|
||||
Image metadata fields are passed as HTTP headers prefixed with one of
|
||||
the strings ``x-image-meta-`` or ``x-image-meta-property-``. See the
|
||||
API documentation for details.
|
||||
|
||||
If there is no request body, an image record will be created in status
|
||||
``queued``. This is called *reserving an image*. The image data can be
|
||||
uploaded later using the `Update image`_ call.
|
||||
|
||||
If image data will be uploaded as part of this request, then the following
|
||||
image metadata must be included among the request headers:
|
||||
|
||||
- ``name``
|
||||
- ``disk_format``
|
||||
- ``container_format``
|
||||
|
||||
Additionally, if image data is uploaded as part of this request, the API
|
||||
will return a 400 under the following circumstances:
|
||||
|
||||
- The ``x-image-meta-size`` header is present and the length in bytes of
|
||||
the request body does not match the value of this header.
|
||||
- The ``x-image-meta-checksum`` header is present and MD5 checksum generated
|
||||
by the backend store while storing the data does not match the value of
|
||||
this header.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image data: createImage
|
||||
- x-image-meta-name: x-image-meta-name
|
||||
- x-image-meta-container_format: x-image-meta-container_format
|
||||
- x-image-meta-disk_format: x-image-meta-disk_format
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- location: location
|
||||
- image: image-object
|
||||
|
||||
|
||||
Response Example (create with data)
|
||||
-----------------------------------
|
||||
|
||||
::
|
||||
|
||||
HTTP/1.1 100 Continue
|
||||
|
||||
HTTP/1.1 201 Created
|
||||
Content-Type: application/json
|
||||
Content-Length: 491
|
||||
Location: http://glance.openstack.example.org/v1/images/de2f2211-3ac7-4260-9142-41db0ecfb425
|
||||
Etag: 7b1b10607acc1319506185e7227ca30d
|
||||
X-Openstack-Request-Id: req-70adeab4-740c-4db3-a002-fd1559ecf40f
|
||||
Date: Tue, 10 May 2016 21:41:41 GMT
|
||||
|
||||
.. literalinclude:: samples/images-create-with-data-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Example (reserve an image)
|
||||
-----------------------------------
|
||||
|
||||
This is an extreme example of reserving an image. It was created by a POST
|
||||
with no headers specified and no data passed. Here's the response:
|
||||
|
||||
::
|
||||
|
||||
HTTP/1.1 201 Created
|
||||
Content-Type: application/json
|
||||
Content-Length: 447
|
||||
Location: http://glance.openstack.example.org/v1/images/6b3ecfca-d445-4946-a8d1-c4938352b251
|
||||
X-Openstack-Request-Id: req-db1ff3c7-3d4f-451f-9ef1-c414343f809d
|
||||
Date: Tue, 10 May 2016 21:35:14 GMT
|
||||
|
||||
.. literalinclude:: samples/images-create-reserve-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
List images
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/images
|
||||
|
||||
Lists all VM images available to the user making the call. This list will
|
||||
include all public images, any images owned by the requestor, and any images
|
||||
shared with the requestor.
|
||||
|
||||
Various query filters can be applied to the URL to restrict the content of
|
||||
the response.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 403
|
||||
|
||||
.. note:: need to add info about sorting and pagination
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- name: name-in-query
|
||||
- container_format: container_format-in-query
|
||||
- disk_format: disk_format-in-query
|
||||
- status: status-in-query
|
||||
- size_min: size_min
|
||||
- size_max: size_max
|
||||
- changes-since: changes-since
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- images: images-list
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/images-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
List images with details
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/images/detail
|
||||
|
||||
Lists all available images with details.
|
||||
|
||||
Various query filters can be applied to the URL to restrict the content of
|
||||
the response.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 403
|
||||
|
||||
.. note:: need to add info about sorting and pagination
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- name: name-in-query
|
||||
- container_format: container_format-in-query
|
||||
- disk_format: disk_format-in-query
|
||||
- status: status-in-query
|
||||
- size_min: size_min
|
||||
- size_max: size_max
|
||||
- changes-since: changes-since
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- images: images-detail-list
|
||||
- previous: previous
|
||||
- next: next
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/images-list-details-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Update image
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/images/{image_id}
|
||||
|
||||
Updates the metadata for an image or uploads an image file.
|
||||
|
||||
Image metadata is updated by passing HTTP headers prefixed with one of the
|
||||
strings ``x-image-meta-`` or ``x-image-meta-property-``. See the API
|
||||
documentation for details.
|
||||
|
||||
If the image is in ``queued`` status, image data may be added by
|
||||
including it in the request body. Otherwise, attempting to add data
|
||||
will result in a 409 Conflict response.
|
||||
|
||||
If the request contains a body, the API will return a 400 under the following
|
||||
circumstances:
|
||||
|
||||
- The ``x-image-meta-size`` header is present and the length in bytes of
|
||||
the request body does not match the value of this header.
|
||||
- The ``x-image-meta-checksum`` header is present and MD5 checksum generated
|
||||
by the backend store while storing the data does not match the value of
|
||||
this header.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image: image-object
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show image details and image data
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/images/{image_id}
|
||||
|
||||
Returns the image metadata as headers; the image data is returned in the
|
||||
body of the response.
|
||||
|
||||
Standard image properties are returned in headers prefixed by
|
||||
``x-image-meta-`` (for example, ``x-image-meta-name``). Custom image
|
||||
properties are returned in headers prefixed by the string
|
||||
``x-image-meta-property-`` (for example, ``x-image-meta-property-foo``).
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 404, 403
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
|
||||
Show image metadata
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: HEAD /v1/images/{image_id}
|
||||
|
||||
Returns the image metadata information as response headers.
|
||||
|
||||
The Image system does not return a response body for the HEAD
|
||||
operation.
|
||||
|
||||
If the request succeeds, the operation returns the ``200`` response
|
||||
code.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
::
|
||||
|
||||
X-Image-Meta-Checksum: 8a40c862b5735975d82605c1dd395796
|
||||
X-Image-Meta-Container_format: aki
|
||||
X-Image-Meta-Created_at: 2016-01-06T03:22:20.000000
|
||||
X-Image-Meta-Deleted: false
|
||||
X-Image-Meta-Disk_format: aki
|
||||
X-Image-Meta-Id: 03bc0a8b-659c-4de9-b6bd-13c6e86e6455
|
||||
X-Image-Meta-Is_public: true
|
||||
X-Image-Meta-Min_disk: 0
|
||||
X-Image-Meta-Min_ram: 0
|
||||
X-Image-Meta-Name: cirros-0.3.4-x86_64-uec-kernel
|
||||
X-Image-Meta-Owner: 13cc6052265b41529e2fd0fc461fa8ef
|
||||
X-Image-Meta-Protected: false
|
||||
X-Image-Meta-Size: 4979632
|
||||
X-Image-Meta-Status: deactivated
|
||||
X-Image-Meta-Updated_at: 2016-02-25T03:02:05.000000
|
||||
X-Openstack-Request-Id: req-d5208320-28ed-4c22-b628-12dc6456d983
|
||||
|
||||
|
||||
Delete image
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/images/{image_id}
|
||||
|
||||
Deletes an image.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 404, 403
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
@ -1,150 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Sharing
|
||||
*******
|
||||
|
||||
Image sharing provides a means for one tenant (the "producer") to make a
|
||||
private image available to other tenants (the "consumers"). This ability
|
||||
can unfortunately be misused to spam tenants' image lists, so these calls
|
||||
may not be exposed in some deployments. (The Images v2 API has a more
|
||||
sophisticated sharing scheme that contains an anti-spam provision.)
|
||||
|
||||
Add member to image
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/images/{image_id}/members/{member_id}
|
||||
|
||||
Adds the tenant whose tenant ID is ``member_id`` as a member of the
|
||||
image denoted by ``image_id``.
|
||||
|
||||
By default, an image member cannot further share the image with other
|
||||
tenants. This behavior can be overridden by supplying a request body
|
||||
with the call that specifies ``can_share`` as ``true``.
|
||||
|
||||
Thus:
|
||||
|
||||
- If you omit the request body, this call adds the specified tenant as a
|
||||
member of the image with the ``can_share`` attribute set to ``false``.
|
||||
- If you include a request body, the ``can_share`` attribute will be set
|
||||
to the appropriate boolean value you have supplied in the request body.
|
||||
- If the specified tenant is already a member, and there is no request
|
||||
body, the membership (including the ``can_share`` attribute) remains
|
||||
unmodified.
|
||||
- If the specified tenant is already a member and the request includes
|
||||
a body, the ``can_share`` attribute of the tenant will be set to whatever
|
||||
value is specified in the request body.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member_id: member_id-in-path
|
||||
- can_share: can_share
|
||||
- member_id: member_id
|
||||
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-member-add-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Replace membership list for an image
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v1/images/{image_id}/members
|
||||
|
||||
Replaces the membership list for an image so that the tenants whose
|
||||
tenant IDs are listed in the member objects comprising the request body
|
||||
become all and only the members of the image denoted by ``image_id``.
|
||||
|
||||
If the ``can_share`` attribute is omitted for in any member object:
|
||||
|
||||
- If the member already exists on the image, that member's ``can_share``
|
||||
setting remains unchanged.
|
||||
- If the member did not already exist on the image, that member's
|
||||
``can_share`` attribute is set to ``false``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- memberships: memberships
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-members-add-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Remove member
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v1/images/{image_id}/members/{member_id}
|
||||
|
||||
Removes a member from an image.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member_id: member_id-in-path
|
||||
|
||||
|
||||
List shared images
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v1/shared-images/{owner_id}
|
||||
|
||||
Lists the VM images that an owner shares. The ``owner_id`` is the tenant ID
|
||||
of the image owner.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- owner_id: owner_id-in-path
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: parameters.yaml
|
||||
|
||||
- shared_images: shared_images
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/shared-images-list-response.json
|
||||
:language: json
|
@ -1,26 +0,0 @@
|
||||
..
|
||||
Copyright 2010 OpenStack Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
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.
|
||||
|
||||
:tocdepth: 3
|
||||
|
||||
=================================
|
||||
Image Service API v1 (DEPRECATED)
|
||||
=================================
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: images-images-v1.inc
|
||||
.. include:: images-sharing-v1.inc
|
@ -1,249 +0,0 @@
|
||||
# variables in header
|
||||
location:
|
||||
description: |
|
||||
A URI location for the image record.
|
||||
format: uri
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
x-image-meta-container_format:
|
||||
description: |
|
||||
The image ``container_format`` property. (Optional when only reserving
|
||||
an image.)
|
||||
|
||||
A container format defines the file format of the
|
||||
file that contains the image and metadata about the actual VM.
|
||||
For a VM image with a ``bare`` container format, the image is a
|
||||
blob of unstructured data. You can set the container format to
|
||||
one of these values:
|
||||
|
||||
- ``aki`` - Amazon kernel image.
|
||||
- ``ami`` - Amazon machine image.
|
||||
- ``ari`` - Amazon ramdisk image.
|
||||
- ``bare`` - No container or metadata envelope for the image.
|
||||
- ``docker`` - Docker tar archive of the container filesystem.
|
||||
- ``ova`` - OVA container format.
|
||||
- ``ovf`` - OVF container format.
|
||||
in: header
|
||||
required: true
|
||||
type: enum
|
||||
x-image-meta-disk_format:
|
||||
description: |
|
||||
The image ``disk_format`` property. (Optional when only reserving
|
||||
an image.)
|
||||
|
||||
The disk format of a VM image is the format of
|
||||
the underlying disk image. Virtual appliance vendors have
|
||||
different formats for laying out the information contained in a VM
|
||||
disk image. You can set the disk format for your image to one of
|
||||
these values:
|
||||
|
||||
- ``aki`` - An Amazon kernel image.
|
||||
- ``ami`` - An Amazon machine image.
|
||||
- ``ari`` - An Amazon ramdisk image.
|
||||
- ``iso`` - An archive format for the data contents of an optical
|
||||
disc, such as CDROM.
|
||||
- ``qcow2``- Supported by the QEMU emulator that can expand dynamically
|
||||
and supports Copy on Write.
|
||||
- ``raw`` - Unstructured disk image format.
|
||||
- ``vhd`` - VHD disk format, a common disk format used by hypervisors
|
||||
from VMWare, Xen, Microsoft, VirtualBox, and others.
|
||||
- ``vdi`` - Supported by VirtualBox VM monitor and the QEMU emulator.
|
||||
- ``vmdk`` - A common disk format that supported by many hypervisors.
|
||||
in: header
|
||||
required: true
|
||||
type: enum
|
||||
x-image-meta-name:
|
||||
description: |
|
||||
The image ``name`` property. (Optional when only reserving
|
||||
an image.)
|
||||
|
||||
An image name is not required to be unique, though of course it will be
|
||||
easier to tell your images apart if you give them distinct descriptive
|
||||
names. Names are limited to 255 chars.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
x-openstack-request-id:
|
||||
description: |
|
||||
Request identifier passed through by the various OpenStack services.
|
||||
in: header
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
image_id-in-path:
|
||||
description: |
|
||||
Image ID stored through the image API. Typically a UUID.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
member_id-in-path:
|
||||
description: |
|
||||
The tenant ID of the tenant with whom an image is shared, that is, the
|
||||
tenant ID of the image member.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
owner_id-in-path:
|
||||
description: |
|
||||
Owner ID, which is the tenant ID.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in query
|
||||
changes-since:
|
||||
description: |
|
||||
Filters the image list to those images that have changed since a time
|
||||
stamp value.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
container_format-in-query:
|
||||
description: |
|
||||
Filters the image list by a container format. A
|
||||
valid value is ``aki``, ``ami``, ``ari``, ``bare``, ``docker``,
|
||||
``ova``, or ``ovf``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
disk_format-in-query:
|
||||
description: |
|
||||
Filters the image list by a disk format. A valid
|
||||
value is ``aki``, ``ami``, ``ari``, ``iso``, ``qcow2``, ``raw``,
|
||||
``vhd``, ``vdi``, or ``vmdk``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
name-in-query:
|
||||
description: |
|
||||
Filters the image list by an image name, in string format.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
size_max:
|
||||
description: |
|
||||
Filters the image list by a maximum image size, in bytes.
|
||||
in: query
|
||||
required: false
|
||||
type: int
|
||||
size_min:
|
||||
description: |
|
||||
Filters the image list by a minimum image size, in bytes.
|
||||
in: query
|
||||
required: false
|
||||
type: int
|
||||
status-in-query:
|
||||
description: |
|
||||
Filters the image list by a status. A valid value is ``queued``,
|
||||
``saving``, ``active``, ``killed``, ``deleted``, or ``pending_delete``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in body
|
||||
can_share:
|
||||
description: |
|
||||
Indicates whether the image member whose tenant ID is ``member_id``
|
||||
is authorized to share the image. If the member can share the image,
|
||||
this value is ``true``. Otherwise, this value is ``false``.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
createImage:
|
||||
description: |
|
||||
The virtual machine image data. Do not include this if you are only
|
||||
reserving an image.
|
||||
in: body
|
||||
required: true
|
||||
type: binary
|
||||
image-object:
|
||||
description: |
|
||||
A JSON representation of the image. Includes all metadata fields.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
images-detail-list:
|
||||
description: |
|
||||
A list of image objects.
|
||||
|
||||
Each object contains the following fields:
|
||||
|
||||
- ``checksum`` - The MD5 checksum of the image data.
|
||||
- ``container_format`` - The container format.
|
||||
- ``created_at`` - Timestamp of image record creation.
|
||||
- ``deleted`` - ``true`` if the image is deleted, ``false``
|
||||
otherwise.
|
||||
- ``deleted_at`` - Timestamp when the image went to ``deleted``
|
||||
status.
|
||||
- ``disk_format`` - The disk format.
|
||||
- ``id`` - The image ID, typically a UUID.
|
||||
- ``is_public`` - This is ``true`` if the image is public,
|
||||
``false`` otherwise.
|
||||
- ``name`` - The name of the image.
|
||||
- ``owner`` - The image owner, usually the tenant_id.
|
||||
- ``properties`` - A dict of user-specified key:value pairs (that
|
||||
is, custom image metadata).
|
||||
- ``protected`` - A boolean value that must be ``false`` or the
|
||||
image cannot be deleted. Default value is ``false``.
|
||||
- ``size`` - The size of the stored image data in bytes.
|
||||
- ``status`` - The image status.
|
||||
- ``updated_at`` - Timestamp of when the image record was most
|
||||
recently modified.
|
||||
- ``virtual_size`` - The size of the virtual machine image (the
|
||||
virtual disk itself, not the containing package, if any) in bytes.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
images-list:
|
||||
description: |
|
||||
A list of image objects in a sparse representation.
|
||||
|
||||
Each object contains the following fields:
|
||||
|
||||
- ``checksum`` - The MD5 checksum of the image data.
|
||||
- ``container_format`` - The container format.
|
||||
- ``disk_format`` - The disk format.
|
||||
- ``id`` - The image ID, typically a UUID.
|
||||
- ``name`` - The name of the image.
|
||||
- ``size`` - The size of the image in bytes.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
member_id:
|
||||
description: |
|
||||
The tenant ID of the tenant with whom an image is shared, that is, the
|
||||
tenant ID of the image member.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
memberships:
|
||||
description: |
|
||||
List of image member objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
next:
|
||||
description: |
|
||||
Show the next item in the list.
|
||||
format: uri
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
previous:
|
||||
description: |
|
||||
Show the previous item in the list.
|
||||
format: uri
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
shared_images:
|
||||
description: |
|
||||
A list of objects, each of which contains an ``image_id`` and a
|
||||
``can_share`` field. If all the members of the image are such that
|
||||
``can_share`` is ``true`` for each member, then the ``can_share``
|
||||
value in this object will be ``true``, otherwise it will be ``false``.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"member_id": "eb5d80bd5f1e49f1818988148c70eabf",
|
||||
"can_share": false
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"memberships": [
|
||||
{
|
||||
"member_id": "eb5d80bd5f1e49f1818988148c70eabf",
|
||||
"can_share": false
|
||||
},
|
||||
{
|
||||
"member_id": "8f450f44647d4080a0e7ca505057b5ca",
|
||||
"can_share": false
|
||||
}
|
||||
]
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
{
|
||||
"memberships": [
|
||||
{
|
||||
"member_id": "tenant1",
|
||||
"can_share": false
|
||||
},
|
||||
{
|
||||
"...": "..."
|
||||
}
|
||||
]
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"image": {
|
||||
"checksum": "eb9139e4942121f22bbc2afc0400b2a4",
|
||||
"container_format": "bare",
|
||||
"created_at": "2016-03-15T15:09:07.000000",
|
||||
"deleted": false,
|
||||
"deleted_at": null,
|
||||
"disk_format": "vmdk",
|
||||
"id": "1086fa65-8c63-4081-9a0a-ddf7e88e485b",
|
||||
"is_public": false,
|
||||
"min_disk": 22,
|
||||
"min_ram": 11,
|
||||
"name": "Silas Marner",
|
||||
"owner": "c60b1d57c5034e0d86902aedf8c49be0",
|
||||
"properties": {
|
||||
"foo": "bar",
|
||||
"qe_status": "approved"
|
||||
},
|
||||
"protected": false,
|
||||
"size": 25165824,
|
||||
"status": "active",
|
||||
"updated_at": "2016-05-10T21:14:04.000000",
|
||||
"virtual_size": null
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"image": {
|
||||
"checksum": null,
|
||||
"container_format": null,
|
||||
"created_at": "2016-05-10T21:35:15.000000",
|
||||
"deleted": false,
|
||||
"deleted_at": null,
|
||||
"disk_format": null,
|
||||
"id": "6b3ecfca-d445-4946-a8d1-c4938352b251",
|
||||
"is_public": false,
|
||||
"min_disk": 0,
|
||||
"min_ram": 0,
|
||||
"name": null,
|
||||
"owner": "c60b1d57c5034e0d86902aedf8c49be0",
|
||||
"properties": {},
|
||||
"protected": false,
|
||||
"size": 0,
|
||||
"status": "queued",
|
||||
"updated_at": "2016-05-10T21:35:15.000000",
|
||||
"virtual_size": null
|
||||
}
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"image": {
|
||||
"checksum": "7b1b10607acc1319506185e7227ca30d",
|
||||
"container_format": "bare",
|
||||
"created_at": "2016-05-10T21:41:41.000000",
|
||||
"deleted": false,
|
||||
"deleted_at": null,
|
||||
"disk_format": "raw",
|
||||
"id": "de2f2211-3ac7-4260-9142-41db0ecfb425",
|
||||
"is_public": false,
|
||||
"min_disk": 0,
|
||||
"min_ram": 0,
|
||||
"name": "Fake Image",
|
||||
"owner": "c60b1d57c5034e0d86902aedf8c49be0",
|
||||
"properties": {},
|
||||
"protected": false,
|
||||
"size": 3908,
|
||||
"status": "active",
|
||||
"updated_at": "2016-05-10T21:41:41.000000",
|
||||
"virtual_size": null
|
||||
}
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
{
|
||||
"images": [
|
||||
{
|
||||
"checksum": "eb9139e4942121f22bbc2afc0400b2a4",
|
||||
"container_format": "bare",
|
||||
"created_at": "2016-03-15T15:09:07.000000",
|
||||
"deleted": false,
|
||||
"deleted_at": null,
|
||||
"disk_format": "vmdk",
|
||||
"id": "1086fa65-8c63-4081-9a0a-ddf7e88e485b",
|
||||
"is_public": false,
|
||||
"min_disk": 22,
|
||||
"min_ram": 11,
|
||||
"name": "Silas Marner",
|
||||
"owner": "c60b1d57c5034e0d86902aedf8c49be0",
|
||||
"properties": {
|
||||
"foo": "bar",
|
||||
"qe_status": "approved"
|
||||
},
|
||||
"protected": false,
|
||||
"size": 25165824,
|
||||
"status": "active",
|
||||
"updated_at": "2016-05-10T21:14:04.000000",
|
||||
"virtual_size": null
|
||||
},
|
||||
{
|
||||
"...": "..."
|
||||
}
|
||||
]
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"images": [
|
||||
{
|
||||
"checksum": "eb9139e4942121f22bbc2afc0400b2a4",
|
||||
"container_format": "ovf",
|
||||
"disk_format": "vmdk",
|
||||
"id": "008cc101-c3ee-40dd-8477-cd8d99dcbf3d",
|
||||
"name": "Harry",
|
||||
"size": 25165824
|
||||
},
|
||||
{
|
||||
"...": "..."
|
||||
}
|
||||
]
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"shared_images": [
|
||||
{
|
||||
"can_share": false,
|
||||
"image_id": "008cc101-c3ee-40dd-8477-cd8d99dcbf3d"
|
||||
},
|
||||
{
|
||||
"can_share": true,
|
||||
"image_id": "de2f2211-3ac7-4260-9142-41db0ecfb425"
|
||||
},
|
||||
{
|
||||
"...": "..."
|
||||
}
|
||||
]
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
.. _image-data:
|
||||
|
||||
Image data
|
||||
**********
|
||||
|
||||
Uploads and downloads raw image data.
|
||||
|
||||
*These operations may be restricted to administrators. Consult your cloud
|
||||
operator's documentation for details.*
|
||||
|
||||
|
||||
Upload binary image data
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v2/images/{image_id}/file
|
||||
|
||||
Uploads binary image data.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
Set the ``Content-Type`` request header to ``application/octet-stream``.
|
||||
|
||||
Example call:
|
||||
|
||||
::
|
||||
|
||||
curl -i -X PUT -H "X-Auth-Token: $token" \
|
||||
-H "Content-Type: application/octet-stream" \
|
||||
-d @/home/glance/ubuntu-12.10.qcow2 \
|
||||
$image_url/v2/images/{image_id}/file
|
||||
|
||||
**Preconditions**
|
||||
|
||||
Before you can store binary image data, you must meet the following
|
||||
preconditions:
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- You must set the disk and container formats in the image.
|
||||
|
||||
- The image status must be ``queued``.
|
||||
|
||||
- Your image storage quota must be sufficient.
|
||||
|
||||
- The size of the data that you want to store must not exceed the
|
||||
size that the OpenStack Image service allows.
|
||||
|
||||
**Synchronous Postconditions**
|
||||
|
||||
- With correct permissions, you can see the image status as
|
||||
``active`` through API calls.
|
||||
|
||||
- With correct access, you can see the stored data in the storage
|
||||
system that the OpenStack Image Service manages.
|
||||
|
||||
**Troubleshooting**
|
||||
|
||||
- If you cannot store the data, either your request lacks required
|
||||
information or you exceeded your allotted quota. Ensure that you
|
||||
meet the preconditions and run the request again. If the request
|
||||
fails again, review your API request.
|
||||
|
||||
- The storage back ends for storing the data must have enough free
|
||||
storage space to accommodate the size of the data.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409, 410, 413, 415, 503
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- Content-type: Content-Type-data
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Download binary image data
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/images/{image_id}/file
|
||||
|
||||
Downloads binary image data.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
Example call: ``curl -i -X GET -H "X-Auth-Token: $token"
|
||||
$image_url/v2/images/{image_id}/file``
|
||||
|
||||
The response body contains the raw binary data that represents the
|
||||
actual virtual disk. The ``Content-Type`` header contains the
|
||||
``application/octet-stream`` value. The ``Content-MD5`` header
|
||||
contains an MD5 checksum of the image data. Use this checksum to
|
||||
verify the integrity of the image data.
|
||||
|
||||
**Preconditions**
|
||||
|
||||
- The image must exist.
|
||||
|
||||
**Synchronous Postconditions**
|
||||
|
||||
- You can download the binary image data in your machine if the
|
||||
image has image data.
|
||||
|
||||
- If image data exists, the call returns the HTTP ``200`` response code for a
|
||||
full image download request.
|
||||
|
||||
- If image data exists, the call returns the HTTP ``206`` response code for a
|
||||
partial download request.
|
||||
|
||||
- If no image data exists, the call returns the HTTP ``204`` (No Content)
|
||||
response code.
|
||||
|
||||
- If no image record exists, the call returns the HTTP ``404`` response code
|
||||
for an attempted full image download request.
|
||||
|
||||
- For an unsatisfiable partial download request, the call returns the HTTP
|
||||
``416`` response code.
|
||||
|
||||
Normal response codes: 200, 204, 206
|
||||
|
||||
Error response codes: 400, 403, 404, 416
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- Range: Range
|
||||
|
||||
Response
|
||||
--------
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- Content-Type: Content-Type-data-response
|
||||
- Content-Md5: Content-Md5
|
||||
- Content-Length: Content-Length
|
||||
- Content-Range: Content-Range
|
@ -1,697 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Images
|
||||
******
|
||||
|
||||
Creates, lists, shows, updates, deletes, and performs other operations on
|
||||
images.
|
||||
|
||||
General information
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**Images**
|
||||
|
||||
An *image* is represented by a JSON Object, that is, as a set of key:value
|
||||
pairs. Some of these keys are *base properties* that are managed by the
|
||||
Image service. The remainder are properties put on the image by the operator
|
||||
or the image owner.
|
||||
|
||||
.. note::
|
||||
Another common term for "image properties" is "image metadata" because
|
||||
what we're talking about here are properties that *describe* the image
|
||||
data that can be consumed by various OpenStack services (for example,
|
||||
by the Compute service to boot a server, or by the Volume service to
|
||||
create a bootable volume).
|
||||
|
||||
Here's some important information about image properties:
|
||||
|
||||
* The base properties are always included in the image representation. A
|
||||
base property that doesn't have a value is displayed with its value set
|
||||
to ``null`` (that is, the JSON null data type).
|
||||
|
||||
* Additional properties, whose value is always a string data type, are
|
||||
only included in the response if they have a value.
|
||||
|
||||
* Since version 2.2, the Images API allows an operator to configure
|
||||
*property protections*, by which the create, read, update, and delete
|
||||
operations on specific image properties may be restricted to particular
|
||||
user roles. Consult the documentation of your cloud operator for details.
|
||||
|
||||
* Arguably the most important properties of an image are its *id*, which
|
||||
uniquely identifies the image, its *status*, which indicates the current
|
||||
situation of the image (which, in turn, indicates what you can do with the
|
||||
image), and its *visibility*, which indicates who has access to the image.
|
||||
|
||||
.. note::
|
||||
In addition to image properties, there's usually a data payload that is
|
||||
accessible via the image. In order to give image consumers some guarantees
|
||||
about the data payload (for example, that the data associated with image
|
||||
``06b73bc7-9d62-4d37-ad95-d4708f37734f`` is the same today as it was when
|
||||
you used it to boot a server yesterday) the Image service controls
|
||||
particular image properties (for example, ``checksum``) that cannot be
|
||||
modified. A shorthand way to refer to the way the image data payload is
|
||||
related to its representation as an *image* in the Images API is to say that
|
||||
"images are immutable". (This obviously applies to the image data payload,
|
||||
not its representation in the Image service.) See the :ref:`Image Data
|
||||
<image-data>` section of this document for more information.
|
||||
|
||||
**Image status**
|
||||
|
||||
The possible status values for images are presented in the following table.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Status
|
||||
- Description
|
||||
* - queued
|
||||
- The Image service reserved an image ID for the image in the catalog
|
||||
but did not yet upload any image data.
|
||||
* - saving
|
||||
- The Image service is in the process of saving the raw data for
|
||||
the image into the backing store.
|
||||
* - active
|
||||
- The image is active and ready for consumption in the Image service.
|
||||
* - killed
|
||||
- An image data upload error occurred.
|
||||
* - deleted
|
||||
- The Image service retains information about the image but the image is
|
||||
no longer available for use.
|
||||
* - pending_delete
|
||||
- Similar to the ``deleted`` status. An image in this state is not
|
||||
recoverable.
|
||||
* - deactivated
|
||||
- The image data is not available for use.
|
||||
|
||||
**Image visibility**
|
||||
|
||||
The possible values for image visibility are presented in the following table.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Visibility
|
||||
- Description
|
||||
* - ``public``
|
||||
- Any user may read the image and its data payload. Additionally, the
|
||||
image appears in the default image list of all users.
|
||||
* - ``community``
|
||||
- Any user may read the image and its data payload, but the image does
|
||||
*not* appear in the default image list of any user other than the
|
||||
owner.
|
||||
|
||||
*(This visibility value was added in the Image API v2.5)*
|
||||
* - ``shared``
|
||||
- An image must have this visibility in order for *image members* to be
|
||||
added to it. Only the owner and the specific image members who have
|
||||
been added to the image may read the image or its data payload.
|
||||
|
||||
The image appears in the default image list of the owner. It also
|
||||
appears in the default image list of members who have *accepted* the
|
||||
image. See the :ref:`Image Sharing <image-sharing>` section of this
|
||||
document for more information.
|
||||
|
||||
If you do not specify a visibility value when you create an image,
|
||||
it is assigned this visibility by default. Non-owners, however, will
|
||||
not have access to the image until they are added as image members.
|
||||
|
||||
*(This visibility value was added in the Image API v2.5)*
|
||||
* - ``private``
|
||||
- Only the owner image may read the image or its data payload.
|
||||
Additionally, the image appears in the owner's default image list.
|
||||
|
||||
*Since Image API v2.5, an image with private visibility cannot have
|
||||
members added to it.*
|
||||
|
||||
Note that the descriptions above discuss *read* access to images. Only the
|
||||
image owner (or an administrator) has write access to image properties and the
|
||||
image data payload. Further, in order to promise image immutability, the Image
|
||||
service will allow even the owner (or an administrator) only write-once
|
||||
permissions to specific image properties and the image data payload.
|
||||
|
||||
|
||||
Create an image
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/images
|
||||
|
||||
Creates a catalog record for an operating system disk image.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
The ``Location`` response header contains the URI for the image.
|
||||
The response body contains the new image entity.
|
||||
|
||||
Synchronous Postconditions
|
||||
|
||||
- With correct permissions, you can see the image status as
|
||||
``queued`` through API calls.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 409, 413, 415
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- container_format: container_format-in-request
|
||||
- disk_format: disk_format-in-request
|
||||
- id: id-in-request
|
||||
- min_disk: min_disk-in-request
|
||||
- min_ram: min_ram-in-request
|
||||
- name: name-in-request
|
||||
- protected: protected-in-request
|
||||
- tags: tags-in-request
|
||||
- visibility: visibility-in-request
|
||||
|
||||
Additionally, you may include additional properties specified as key:value
|
||||
pairs, where the value must be a string data type. Keys and values are limited
|
||||
to 255 chars in length. Available key names may be limited by the cloud's
|
||||
property protection configuration.
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-create-request.json
|
||||
:language: json
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- Location: Location
|
||||
- checksum: checksum
|
||||
- container_format: container_format
|
||||
- created_at: created_at
|
||||
- disk_format: disk_format
|
||||
- file: file
|
||||
- id: id
|
||||
- min_disk: min_disk
|
||||
- min_ram: min_ram
|
||||
- name: name
|
||||
- owner: owner
|
||||
- protected: protected
|
||||
- schema: schema-image
|
||||
- self: self
|
||||
- size: size
|
||||
- status: status
|
||||
- tags: tags
|
||||
- updated_at: updated_at
|
||||
- virtual_size: virtual_size
|
||||
- visibility: visibility
|
||||
- direct_url: direct_url
|
||||
- locations: locations
|
||||
|
||||
The response may also include additional properties specified as key:value
|
||||
pairs if additional properties were specified in the request.
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show image details
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/images/{image_id}
|
||||
|
||||
Shows details for an image.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
The response body contains a single image entity.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- checksum: checksum
|
||||
- container_format: container_format
|
||||
- created_at: created_at
|
||||
- disk_format: disk_format
|
||||
- file: file
|
||||
- id: id
|
||||
- min_disk: min_disk
|
||||
- min_ram: min_ram
|
||||
- name: name
|
||||
- owner: owner
|
||||
- protected: protected
|
||||
- schema: schema-image
|
||||
- self: self
|
||||
- size: size
|
||||
- status: status
|
||||
- tags: tags
|
||||
- updated_at: updated_at
|
||||
- virtual_size: virtual_size
|
||||
- visibility: visibility
|
||||
- direct_url: direct_url
|
||||
- locations: locations
|
||||
|
||||
The response may also include additional properties specified as key:value
|
||||
pairs if such properties have been added to the image by the owner or an
|
||||
administrator.
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show images
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/images
|
||||
|
||||
Lists public virtual machine (VM) images.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
**Pagination**
|
||||
|
||||
Returns a subset of the larger collection of images and a link that you can use
|
||||
to get the next set of images. You should always check for the presence of a
|
||||
``next`` link and use it as the URI in a subsequent HTTP GET request. You
|
||||
should follow this pattern until a ``next`` link is no longer provided.
|
||||
|
||||
The ``next`` link preserves any query parameters that you send in your initial
|
||||
request. You can use the ``first`` link to jump back to the first page of the
|
||||
collection. If you prefer to paginate through images manually, use the
|
||||
``limit`` and ``marker`` parameters.
|
||||
|
||||
**Query Filters**
|
||||
|
||||
The list operation accepts query parameters to filter the response.
|
||||
|
||||
A client can provide direct comparison filters by using most image attributes,
|
||||
such as ``name=Ubuntu``, ``visibility=public``, and so on.
|
||||
|
||||
To filter using image tags, use the filter ``tag`` (note the singular). To
|
||||
filter on multiple tags, include each tag separately in the query. For
|
||||
example, to find images with the tag **ready**, include ``tag=ready`` in your
|
||||
query string. To find images tagged with **ready** and **approved**, include
|
||||
``tag=ready&tag=approved`` in your query string. (Note that only images
|
||||
containing *both* tags will be included in the response.)
|
||||
|
||||
A client cannot use any ``link`` in the json-schema, such as self, file, or
|
||||
schema, to filter the response.
|
||||
|
||||
You can list VM images that have a status of ``active``, ``queued``, or
|
||||
``saving``.
|
||||
|
||||
**The** ``in`` **Operator**
|
||||
|
||||
As a convenience, you may specify several values for any of the following
|
||||
fields by using the ``in`` operator:
|
||||
|
||||
* container_format
|
||||
* disk_format
|
||||
* id
|
||||
* name
|
||||
* status
|
||||
|
||||
For most of these, usage is straight forward. For example, to list images
|
||||
in queued or saving status, use:
|
||||
|
||||
``GET /v2/images?status=in:saving,queued``
|
||||
|
||||
To find images in a particular list of image IDs, use:
|
||||
|
||||
``GET /v2/images?id=in:3afb79c1-131a-4c38-a87c-bc4b801d14e6,2e011209-660f-44b5-baf2-2eb4babae53d``
|
||||
|
||||
Using the ``in`` operator with the ``name`` property of images can be a bit
|
||||
trickier, depending upon how creatively you have named your images. The
|
||||
general rule is that if an image name contains a comma (``,``), you must
|
||||
enclose the entire name in quotation marks (``"``). As usual, you must URL
|
||||
encode any characters that require it.
|
||||
|
||||
For example, to find images named ``glass, darkly`` or ``share me``, you would
|
||||
use the following filter specification:
|
||||
|
||||
``GET v2/images?name=in:"glass,%20darkly",share%20me``
|
||||
|
||||
As with regular filtering by name, you must specify the complete name you are
|
||||
looking for. Thus, for example, the query string ``name=in:glass,share`` will
|
||||
only match images with the exact name ``glass`` or the exact name ``share``.
|
||||
It will not find an image named ``glass, darkly`` or an image named ``share
|
||||
me``.
|
||||
|
||||
**Size Comparison Filters**
|
||||
|
||||
You can use the ``size_min`` and ``size_max`` query parameters to filter images
|
||||
that are greater than or less than the image size. The size, in bytes, is the
|
||||
size of an image on disk.
|
||||
|
||||
For example, to filter the container to include only images that are from 1 to
|
||||
4 MB, set the ``size_min`` query parameter to ``1048576`` and the ``size_max``
|
||||
query parameter to ``4194304``.
|
||||
|
||||
.. _v2-comparison-ops:
|
||||
|
||||
**Time Comparison Filters**
|
||||
|
||||
You can use a *comparison operator* along with the ``created_at`` or
|
||||
``updated_at`` fields to filter your results. Specify the operator first, a
|
||||
colon (``:``) as a separator, and then the time in `ISO 8601 Format
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_. Available comparison operators
|
||||
are:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Operator
|
||||
- Description
|
||||
* - ``gt``
|
||||
- Return results more recent than the specified time.
|
||||
* - ``gte``
|
||||
- Return any results matching the specified time and also any more recent
|
||||
results.
|
||||
* - ``eq``
|
||||
- Return any results matching the specified time exactly.
|
||||
* - ``neq``
|
||||
- Return any results that do not match the specified time.
|
||||
* - ``lt``
|
||||
- Return results older than the specified time.
|
||||
* - ``lte``
|
||||
- Return any results matching the specified time and also any older
|
||||
results.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
GET v2/images?created_at=gt:2016-04-18T21:38:54Z
|
||||
|
||||
**Sorting**
|
||||
|
||||
You can use query parameters to sort the results of this operation.
|
||||
|
||||
- ``sort_key``. Sorts by an image attribute. Sorts in the natural
|
||||
sorting direction of the image attribute.
|
||||
|
||||
- ``sort_dir``. Sorts in a sort direction.
|
||||
|
||||
- ``sort``. Sorts by one or more sets of attribute and sort
|
||||
direction combinations. If you omit the sort direction in a set,
|
||||
the default is ``desc``.
|
||||
|
||||
To sort the response, use the ``sort_key`` and ``sort_dir`` query
|
||||
parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
GET /v2/images?sort_key=name&sort_dir=asc&sort_key=status&sort_dir=desc
|
||||
|
||||
Alternatively, specify the ``sort`` query parameter:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
GET /v2/images?sort=name:asc,status:desc
|
||||
|
||||
.. note::
|
||||
Although this call has been available since version 2.0 of this API,
|
||||
it has been enhanced from release to release. The filtering and
|
||||
sorting functionality and syntax described above apply to the most
|
||||
recent release (Newton). Not everything described above will be
|
||||
available in prior releases.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- limit: limit
|
||||
- marker: marker
|
||||
- name: name-in-query
|
||||
- owner: owner-in-query
|
||||
- status: status-in-query
|
||||
- tag: tag-in-query
|
||||
- visibility: visibility-in-query
|
||||
- member_status: member_status-in-query
|
||||
- size_max: size_max
|
||||
- size_min: size_min
|
||||
- created_at: created_at-in-query
|
||||
- updated_at: updated_at-in-query
|
||||
- sort_dir: sort_dir
|
||||
- sort_key: sort_key
|
||||
- sort: sort
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- images: images
|
||||
- first: first
|
||||
- next: next
|
||||
- schema: schema-images
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/images-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
.. _v2-image-update:
|
||||
|
||||
Update an image
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PATCH /v2/images/{image_id}
|
||||
|
||||
Updates an image.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
Conceptually, you update an image record by patching the JSON representation of
|
||||
the image, passing a request body conforming to one of the following media
|
||||
types:
|
||||
|
||||
- ``application/openstack-images-v2.0-json-patch`` *(deprecated)*
|
||||
- ``application/openstack-images-v2.1-json-patch`` *(since Image API v2.1)*
|
||||
|
||||
Attempting to make a PATCH call using some other media type will provoke a
|
||||
response code of 415 (Unsupported media type).
|
||||
|
||||
The ``application/openstack-images-v2.1-json-patch`` media type provides a
|
||||
useful and compatible subset of the functionality defined in JavaScript Object
|
||||
Notation (JSON) Patch `RFC6902 <http://tools.ietf.org/html/rfc6902>`_, which
|
||||
defines the ``application/json-patch+json`` media type.
|
||||
|
||||
.. note::
|
||||
The ``application/openstack-images-v2.0-json-patch`` media type is based on
|
||||
draft 4 of the standard. Its use is deprecated.
|
||||
|
||||
For information about the PATCH method and the available media types, see
|
||||
`Image API v2 HTTP PATCH media types
|
||||
<http://specs.openstack.org/openstack/glance-specs/specs/api/v2
|
||||
/http-patch-image-api-v2.html>`_.
|
||||
|
||||
Attempting to modify some image properties will cause the entire request to
|
||||
fail with a 403 (Forbidden) response code:
|
||||
|
||||
- An attempt to modify any of the "base" image properties that are managed by
|
||||
the Image Service. These are the properties specified as read only in the
|
||||
:ref:`Image Schema <image-schema>`.
|
||||
|
||||
- An attempt to create or modify image properties for which you do not have
|
||||
permission to do so *(since Image API v2.2)*. This depends upon how property
|
||||
protections are configured in the OpenStack cloud in which you are making the
|
||||
call. Consult your cloud's documentation for details.
|
||||
|
||||
Attempting to add a location path to an image that is not in ``queued`` or
|
||||
``active`` state will result in a 409 (Conflict) response code
|
||||
*(since Image API v2.4)*.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409, 413, 415
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- Content-Type: Content-Type-patch
|
||||
- image_id: image_id-in-path
|
||||
|
||||
The request body must conform to the
|
||||
``application/openstack-images-v2.1-json-patch`` media type definition (see
|
||||
above).
|
||||
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-update-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- checksum: checksum
|
||||
- container_format: container_format
|
||||
- created_at: created_at
|
||||
- disk_format: disk_format
|
||||
- file: file
|
||||
- id: id
|
||||
- min_disk: min_disk
|
||||
- min_ram: min_ram
|
||||
- owner: owner
|
||||
- name: name
|
||||
- protected: protected
|
||||
- schema: schema-image
|
||||
- self: self
|
||||
- size: size
|
||||
- status: status
|
||||
- tags: tags
|
||||
- updated_at: updated_at
|
||||
- visibility: visibility
|
||||
- direct_url: direct_url
|
||||
- locations: locations
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Delete an image
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v2/images/{image_id}
|
||||
|
||||
(Since Image API v2.0) Deletes an image.
|
||||
|
||||
You cannot delete images with the ``protected`` attribute set to
|
||||
``true`` (boolean).
|
||||
|
||||
Preconditions
|
||||
|
||||
- You can delete an image in any status except ``deleted``.
|
||||
|
||||
- The ``protected`` attribute of the image cannot be ``true``.
|
||||
|
||||
- You have permission to perform image deletion under the configured image
|
||||
deletion policy.
|
||||
|
||||
Synchronous Postconditions
|
||||
|
||||
- The response is empty and returns the HTTP ``204`` response code.
|
||||
|
||||
- The API deletes the image from the images index.
|
||||
|
||||
- If the image has associated binary image data in the storage backend, the
|
||||
OpenStack Image service deletes the data.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Deactivate image
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/images/{image_id}/actions/deactivate
|
||||
|
||||
Deactivates an image.
|
||||
*(Since Image API v2.3)*
|
||||
|
||||
By default, this operation is restricted to administrators only.
|
||||
|
||||
If you try to download a deactivated image, you will receive a 403 (Forbidden)
|
||||
response code. Additionally, only administrative users can view image
|
||||
locations for deactivated images.
|
||||
|
||||
The deactivate operation returns an error if the image status is
|
||||
not ``active`` or ``deactivated``.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Reactivate image
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/images/{image_id}/actions/reactivate
|
||||
|
||||
Reactivates an image.
|
||||
*(Since Image API v2.3)*
|
||||
|
||||
By default, this operation is restricted to administrators only.
|
||||
|
||||
The reactivate operation returns an error if the image status is
|
||||
not ``active`` or ``deactivated``.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
@ -1,17 +0,0 @@
|
||||
.. |p-start| raw:: html
|
||||
|
||||
<p>
|
||||
|
||||
.. |p-end| raw:: html
|
||||
|
||||
</p>
|
||||
|
||||
.. |disk_format_description| replace::
|
||||
|p-start|\ The format of the disk.\ |p-end|
|
||||
|p-start|\ Responses may vary based on the configuration available in a
|
||||
particular OpenStack cloud. See the :ref:`Image Schema <image-schema>`
|
||||
response from the cloud itself for the valid values available.\ |p-end|
|
||||
|p-start|\ Example formats are: ``ami``, ``ari``, ``aki``, ``vhd``,
|
||||
``vhdx``, ``vmdk``, ``raw``, ``qcow2``, ``vdi``, or ``iso``.\ |p-end|
|
||||
|p-start|\ The value might be ``null`` (JSON null data type).\ |p-end|
|
||||
**Newton changes**: The ``vhdx`` disk format is a supported value.
|
@ -1,597 +0,0 @@
|
||||
# variables in header
|
||||
Content-Length:
|
||||
description: |
|
||||
The length of the body in octets (8-bit bytes)
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Content-Md5:
|
||||
description: |
|
||||
The MD5 checksum of the body.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Content-Range:
|
||||
description: |
|
||||
The content range of image data. For details, see
|
||||
`Hypertext Transfer Protocol (HTTP/1.1): Range Requests
|
||||
<http://tools.ietf.org/html/rfc7233>`_.
|
||||
in: header
|
||||
required: false
|
||||
type: string
|
||||
Content-Type-data:
|
||||
description: |
|
||||
The media type descriptor for the request body. Use
|
||||
``application/octet-stream``
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Content-Type-data-response:
|
||||
description: |
|
||||
The media type descriptor of the response body, namely
|
||||
``application/octet-stream``
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Content-Type-json:
|
||||
description: |
|
||||
The media type descriptor for the request body. Use
|
||||
``application/json``.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Content-Type-patch:
|
||||
description: |
|
||||
The media type descriptor for the request body. Use
|
||||
``application/openstack-images-v2.1-json-patch``. (You can also use
|
||||
``application/openstack-images-v2.0-json-patch``, but keep in mind that
|
||||
it's deprecated.)
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Location:
|
||||
description: |
|
||||
The URL to access the image file from the
|
||||
external store.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Range:
|
||||
description: |
|
||||
The range of image data requested. Note that multi range requests are
|
||||
not supported. For details, see
|
||||
`Hypertext Transfer Protocol (HTTP/1.1): Range Requests
|
||||
<http://tools.ietf.org/html/rfc7233>`_.
|
||||
in: header
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
image_id-in-path:
|
||||
description: |
|
||||
The UUID of the image.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
member_id-in-path:
|
||||
description: |
|
||||
The ID of the image member. An image member is usually the project (also
|
||||
called the "tenant") with whom the image is shared.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
tag-in-path:
|
||||
description: |
|
||||
The image tag. A tag is limited to 255 chars in length. You may wish
|
||||
to use characters that can easily be written in a URL.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in query
|
||||
created_at-in-query:
|
||||
description: |
|
||||
Specify a *comparison filter* based on the date and time when the resource
|
||||
was created. (See :ref:`Time Comparison Filters <v2-comparison-ops>`).
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss±hh:mm
|
||||
|
||||
The ``±hh:mm`` value, if included, is the time zone as an offset
|
||||
from UTC.
|
||||
|
||||
For example, ``2015-08-27T09:49:58-05:00``.
|
||||
|
||||
If you omit the time zone, the UTC time zone is assumed.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
limit:
|
||||
description: |
|
||||
Requests a page size of items. Returns a number of items up to a limit
|
||||
value. Use the ``limit`` parameter to make an initial limited request and
|
||||
use the ID of the last-seen item from the response as the ``marker``
|
||||
parameter value in a subsequent limited request.
|
||||
in: query
|
||||
required: false
|
||||
type: integer
|
||||
marker:
|
||||
description: |
|
||||
The ID of the last-seen item. Use the ``limit`` parameter to make an
|
||||
initial limited request and use the ID of the last-seen item from the
|
||||
response as the ``marker`` parameter value in a subsequent limited request.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
member_status-in-query:
|
||||
description: |
|
||||
Filters the response by a member status. A valid value is ``accepted``,
|
||||
``pending``, ``rejected``, or ``all``. Default is ``accepted``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
name-in-query:
|
||||
description: |
|
||||
Filters the response by a name, as a string. A valid value is the name of
|
||||
an image.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
owner-in-query:
|
||||
description: |
|
||||
Filters the response by a project (also called a "tenant") ID. Shows only
|
||||
images that are shared with you by the specified owner.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
size_max:
|
||||
description: |
|
||||
Filters the response by a maximum image size, in
|
||||
bytes.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
size_min:
|
||||
description: |
|
||||
Filters the response by a minimum image size, in
|
||||
bytes.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
sort:
|
||||
description: |
|
||||
Sorts the response by one or more attribute and sort direction
|
||||
combinations. You can also set multiple sort keys and directions.
|
||||
Default direction is ``desc``.
|
||||
|
||||
Use the comma (``,``) character to separate multiple values. For
|
||||
example:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
GET /v2/images?sort=name:asc,status:desc
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
sort_dir:
|
||||
description: |
|
||||
Sorts the response by a set of one or more sort
|
||||
direction and attribute (``sort_key``) combinations. A valid value
|
||||
for the sort direction is ``asc`` (ascending) or ``desc``
|
||||
(descending). If you omit the sort direction in a set, the default
|
||||
is ``desc``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
sort_key:
|
||||
description: |
|
||||
Sorts the response by an attribute, such as
|
||||
``name``, ``id``, or ``updated_at``. Default is ``created_at``.
|
||||
The API uses the natural sorting direction of the ``sort_key``
|
||||
image attribute.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
status-in-query:
|
||||
description: |
|
||||
Filters the response by an image status.
|
||||
in: query
|
||||
required: false
|
||||
type: integer
|
||||
tag-in-query:
|
||||
description: |
|
||||
Filters the response by the specified tag value. May be repeated, but keep
|
||||
in mind that you're making a conjunctive query, so only images containing
|
||||
*all* the tags specified will appear in the response.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
updated_at-in-query:
|
||||
description: |
|
||||
Specify a *comparison filter* based on the date and time when the resource
|
||||
was most recently modified. (See :ref:`Time Comparison Filters
|
||||
<v2-comparison-ops>`).
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_:
|
||||
|
||||
::
|
||||
|
||||
CCYY-MM-DDThh:mm:ss±hh:mm
|
||||
|
||||
The ``±hh:mm`` value, if included, is the time zone as an offset
|
||||
from UTC.
|
||||
|
||||
For example, ``2015-08-27T09:49:58-05:00``.
|
||||
|
||||
If you omit the time zone, the UTC time zone is assumed.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
visibility-in-query:
|
||||
description: |
|
||||
Filters the response by an image visibility value. A valid value is
|
||||
``public``, ``private``, ``community``, or ``shared``. (Note that if you
|
||||
filter on ``shared``, the images included in the response will only be
|
||||
those where your member status is ``accepted`` unless you explicitly
|
||||
include a ``member_status`` filter in the request.) If you omit this
|
||||
parameter, the response shows ``public``, ``private``, and those ``shared``
|
||||
images with a member status of ``accepted``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in body
|
||||
checksum:
|
||||
description: |
|
||||
Hash that is used over the image data. The Image
|
||||
service uses this value for verification. The value might be
|
||||
``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
container_format:
|
||||
description: |
|
||||
Format of the image container. A valid value is one of
|
||||
``ami``, ``ari``, ``aki``, ``bare``, ``ovf``, ``ova``, or
|
||||
``docker``. The value might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: enum
|
||||
container_format-in-request:
|
||||
description: |
|
||||
Format of the image container. A valid value is one of
|
||||
``ami``, ``ari``, ``aki``, ``bare``, ``ovf``, ``ova``, or
|
||||
``docker``.
|
||||
in: body
|
||||
required: false
|
||||
type: enum
|
||||
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
|
||||
direct_url:
|
||||
description: |
|
||||
The URL to access the image file kept in external store. *It is present
|
||||
only if the* ``show_image_direct_url`` *option is* ``true`` *in the Image
|
||||
service's configuration file.* **Because it presents a security risk, this
|
||||
option is disabled by default.**
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
disk_format:
|
||||
description: |
|
||||
|disk_format_description|
|
||||
in: body
|
||||
required: true
|
||||
type: enum
|
||||
disk_format-in-request:
|
||||
description: |
|
||||
|disk_format_description|
|
||||
in: body
|
||||
required: false
|
||||
type: enum
|
||||
file:
|
||||
description: |
|
||||
The URL for the virtual machine image file.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
first:
|
||||
description: |
|
||||
The URI for the first page of response.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
id:
|
||||
description: |
|
||||
A unique, user-defined image UUID, in the format:
|
||||
|
||||
::
|
||||
|
||||
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
|
||||
|
||||
Where **n** is a hexadecimal digit from 0 to f, or F.
|
||||
|
||||
For example:
|
||||
|
||||
::
|
||||
|
||||
b2173dd3-7ad6-4362-baa6-a68bce3565cb
|
||||
|
||||
If you omit this value, the API generates a UUID for the image.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
id-in-request:
|
||||
description: |
|
||||
A unique, user-defined image UUID, in the format:
|
||||
|
||||
::
|
||||
|
||||
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
|
||||
|
||||
Where **n** is a hexadecimal digit from 0 to f, or F.
|
||||
|
||||
For example:
|
||||
|
||||
::
|
||||
|
||||
b2173dd3-7ad6-4362-baa6-a68bce3565cb
|
||||
|
||||
If you omit this value, the API generates a UUID for the image. If you
|
||||
specify a value that has already been assigned, the request fails with
|
||||
a ``409`` response code.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
image_id-in-body:
|
||||
description: |
|
||||
The UUID of the image.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
images:
|
||||
description: |
|
||||
A list of *image* objects, as described by the :ref:`Images Schema
|
||||
<images-schema>`.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
locations:
|
||||
description: |
|
||||
A list of objects, each of which describes an image location. Each object
|
||||
contains a ``url`` key, whose value is a URL specifying a location, and a
|
||||
``metadata`` key, whose value is a dict of key:value pairs containing
|
||||
information appropriate to the use of whatever external store is indicated
|
||||
by the URL. *This list appears only if the* ``show_multiple_locations``
|
||||
*option is set to* ``true`` *in the Image service's configuration file.*
|
||||
**Because it presents a security risk, this option is disabled by
|
||||
default.**
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
member_id:
|
||||
description: |
|
||||
The ID of the image member. An image member is usually a project (also
|
||||
called the "tenant") with whom the image is shared.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
member_status:
|
||||
description: |
|
||||
The status of this image member. Value is one of ``pending``,
|
||||
``accepted``, ``rejected``.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
members:
|
||||
description: |
|
||||
A list of *member* objects, as described by the :ref:`Image Members Schema
|
||||
<image-members-schema>`. Each *member* object describes a member with whom
|
||||
this image is being shared.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
min_disk:
|
||||
description: |
|
||||
Amount of disk space in GB that is required to boot the image.
|
||||
The value might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
min_disk-in-request:
|
||||
description: |
|
||||
Amount of disk space in GB that is required to boot the image.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
min_ram:
|
||||
description: |
|
||||
Amount of RAM in MB that is required to boot the image.
|
||||
The value might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
min_ram-in-request:
|
||||
description: |
|
||||
Amount of RAM in MB that is required to boot the image.
|
||||
in: body
|
||||
required: false
|
||||
type: integer
|
||||
name:
|
||||
description: |
|
||||
The name of the image. Value might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
name-in-request:
|
||||
description: |
|
||||
The name of the image.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
next:
|
||||
description: |
|
||||
The URI for the next page of response. Will not be present on the last
|
||||
page of the response.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
owner:
|
||||
description: |
|
||||
An identifier for the owner of the image, usually the project (also
|
||||
called the "tenant") ID.
|
||||
The value might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
protected:
|
||||
description: |
|
||||
A boolean value that must be ``false`` or the image cannot be deleted.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
protected-in-request:
|
||||
description: |
|
||||
Image protection for deletion. Valid value is ``true`` or ``false``.
|
||||
Default is ``false``.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
schema-image:
|
||||
description: |
|
||||
The URL for the schema describing a virtual machine image.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
schema-images:
|
||||
description: |
|
||||
The URL for the schema describing a list of images.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
schema-member:
|
||||
description: |
|
||||
The URL for the schema describing an image member.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
schema-members:
|
||||
description: |
|
||||
The URL for the schema describing an image member list.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
self:
|
||||
description: |
|
||||
The URL for the virtual machine image.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
size:
|
||||
description: |
|
||||
The size of the image data, in bytes. The value
|
||||
might be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
status:
|
||||
description: |
|
||||
The image status.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tags:
|
||||
description: |
|
||||
List of tags for this image, possibly an empty list.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
tags-in-request:
|
||||
description: |
|
||||
List of tags for this image. Each tag is a string of at most 255 chars.
|
||||
The maximum number of tags allowed on an image is set by the operator.
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
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
|
||||
url:
|
||||
description: |
|
||||
The URL to access the image file kept in external
|
||||
store.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
value:
|
||||
description: |
|
||||
Value of image property used in add or replace
|
||||
operations expressed in JSON notation. For example, you must
|
||||
enclose strings in quotation marks, and you do not enclose numeric
|
||||
values in quotation marks.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
virtual_size:
|
||||
description: |
|
||||
The virtual size of the image. The value might
|
||||
be ``null`` (JSON null data type).
|
||||
in: body
|
||||
required: true
|
||||
type: integer
|
||||
visibility:
|
||||
description: |
|
||||
Image visibility, that is, the access permission for the image.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
visibility-in-request:
|
||||
description: |
|
||||
Visibility for this image. Valid value is one of: ``public``, ``private``,
|
||||
``shared``, or ``community``.
|
||||
At most sites, only an administrator can make an image ``public``.
|
||||
Some sites may restrict what users can make an image ``community``.
|
||||
Some sites may restrict what users can perform member operations on
|
||||
a ``shared`` image.
|
||||
*Since the Image API v2.5, the default value is ``shared``.*
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
@ -1,138 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
.. note: You can get a 400 on a GET if you pass a request body
|
||||
(see router.py)
|
||||
|
||||
Image Schemas
|
||||
*************
|
||||
|
||||
Gets a JSON-schema document that represents the various entities talked
|
||||
about by the Images v2 API.
|
||||
|
||||
.. _images-schema:
|
||||
|
||||
Show images schema
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/images
|
||||
|
||||
*(Since Images v2.0)*
|
||||
|
||||
Shows a JSON schema document that represents an *images* entity.
|
||||
|
||||
An images entity is a container of image entities.
|
||||
|
||||
The following schema is solely an example. Consider only the
|
||||
response to the API call as authoritative.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
This operation has no request parameters and does not accept a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-images-list-response.json
|
||||
:language: json
|
||||
|
||||
.. _image-schema:
|
||||
|
||||
Show image schema
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/image
|
||||
|
||||
*(Since Images v2.0)*
|
||||
|
||||
Shows a JSON schema document that represents an *image* entity.
|
||||
|
||||
The following schema is solely an example. Consider only the
|
||||
response to the API call as authoritative.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
This operation has no request parameters and does not accept a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-image-show-response.json
|
||||
:language: json
|
||||
|
||||
.. _image-members-schema:
|
||||
|
||||
Show image members schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/members
|
||||
|
||||
*(Since Images v2.1)*
|
||||
|
||||
Shows a JSON schema document that represents an *image members* entity.
|
||||
|
||||
An image members entity is a container of image member entities.
|
||||
|
||||
The following schema is solely an example. Consider only the
|
||||
response to the API call as authoritative.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
This operation has no request parameters and does not accept a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-image-members-list-response.json
|
||||
:language: json
|
||||
|
||||
.. _image-member-schema:
|
||||
|
||||
Show image member schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/member
|
||||
|
||||
*(Since Images v2.1)*
|
||||
|
||||
Shows a JSON schema document that represents an *image member* entity.
|
||||
|
||||
The following schema is solely an example. Consider only the
|
||||
response to the API call as authoritative.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
This operation has no request parameters and does not accept a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-image-member-show-response.json
|
||||
:language: json
|
@ -1,381 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
.. _image-sharing:
|
||||
|
||||
Sharing
|
||||
*******
|
||||
|
||||
Images may be shared among projects by creating *members* on the image. Image
|
||||
members have read-only privileges on the image. The following calls allow you
|
||||
to create, list, update, and delete image members.
|
||||
|
||||
.. note::
|
||||
|
||||
An image member is an identifier for a consumer with whom the image is
|
||||
shared. In most OpenStack clouds, where the value of the ``owner`` property
|
||||
of an image is a project ID, the appropriate identifier to use for the
|
||||
``member_id`` is the consumer's project ID (also known as the "tenant ID").
|
||||
In these clouds, image sharing is project-to-project, and all the individual
|
||||
users in the consuming project have access to the image.
|
||||
|
||||
* Some deployments may choose instead to have the identifier of the user who
|
||||
created the image as the value of the ``owner`` property. In such clouds,
|
||||
the appropriate identifier to use for the ``member_id`` is the user ID of
|
||||
the person with whom you want to share the image. In these clouds, image
|
||||
sharing is user-to-user.
|
||||
|
||||
* Note that you, as an image owner, do not have a choice about what value to
|
||||
use for the ``member_id``. If, like most OpenStack clouds, your cloud
|
||||
uses the tenant ID for the image ``owner``, sharing will not work if you
|
||||
use a user ID as the ``member_id`` of an image (and vice-versa).
|
||||
|
||||
* Please consult your cloud's local documentation for details.
|
||||
|
||||
When an image is shared, the member is given immediate access to the image.
|
||||
In order to prevent spamming other users' image lists, a shared image does not
|
||||
appear in a member's image list until the member "accepts" the image.
|
||||
|
||||
Only the image owner may create members. Only an image member may modify his
|
||||
or her member status.
|
||||
|
||||
.. TODO(rosmaita): update the following reference when the "narrative" API
|
||||
docs have a final resting place
|
||||
|
||||
For a conceptual overview of image sharing, including a suggested workflow,
|
||||
please consult `Image API v2 Sharing`_.
|
||||
|
||||
.. _Image API v2 Sharing:
|
||||
http://specs.openstack.org/openstack/glance-specs/specs/api/v2/sharing-image-api-v2.html
|
||||
|
||||
.. note::
|
||||
|
||||
If you don't want to maintain a sharing relationship with particular
|
||||
image consumers, but instead want to make an image available to *all*
|
||||
users, you may update your image's ``visibility`` property to
|
||||
``community``.
|
||||
|
||||
* In some clouds, the ability to "communitize" an image may be prohibited
|
||||
or restricted to trusted users. Please consult your cloud's local
|
||||
documentation for details.
|
||||
|
||||
Create image member
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/images/{image_id}/members
|
||||
|
||||
Adds a tenant ID as an image member.
|
||||
*(Since Image API v2.1)*
|
||||
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- The image must have a ``visibility`` value of ``shared``.
|
||||
|
||||
- You must be the owner of the image.
|
||||
|
||||
Synchronous Postconditions
|
||||
|
||||
- With correct permissions, you can see the member status of the
|
||||
image member as ``pending`` through API calls.
|
||||
|
||||
Troubleshooting
|
||||
|
||||
- Even if you have correct permissions, if the ``visibility``
|
||||
attribute is not set to ``shared``, the request returns the HTTP
|
||||
``403`` response code. Ensure that you meet the preconditions and
|
||||
run the request again. If the request fails again, review your
|
||||
API request.
|
||||
|
||||
- If the member is already a member for the image, the service
|
||||
returns the ``Conflict (409)`` response code. If you meant to
|
||||
specify a different member, run the request again.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409, 413
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member: member_id
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-member-create-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- image_id: image_id-in-body
|
||||
- member_id: member_id
|
||||
- schema: schema-member
|
||||
- status: member_status
|
||||
- updated_at: updated_at
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-member-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show image member details
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/images/{image_id}/members/{member_id}
|
||||
|
||||
Shows image member details.
|
||||
*(Since Image API v2.1)*
|
||||
|
||||
Response body is a single image member entity.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- The image must have a ``visibility`` value of ``shared``.
|
||||
|
||||
- You must be the owner or the member of the image who's referenced in the
|
||||
call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member_id: member_id-in-path
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- image_id: image_id-in-body
|
||||
- member_id: member_id
|
||||
- schema: schema-member
|
||||
- status: member_status
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-member-details-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
List image members
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/images/{image_id}/members
|
||||
|
||||
Lists the tenants that share this image.
|
||||
*(Since Image API v2.1)*
|
||||
|
||||
If the image owner makes this call, the complete member list is
|
||||
returned.
|
||||
|
||||
If a user who is an image member makes this call, the member list
|
||||
contains only information for that user.
|
||||
|
||||
If a user who is not an image member makes this call, the call
|
||||
returns the HTTP ``404`` response code.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- The image must have a ``visibility`` value of ``shared``.
|
||||
|
||||
- You must be the owner or a member of the image.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- members: members
|
||||
- schema: schema-members
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-members-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Update image member
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v2/images/{image_id}/members/{member_id}
|
||||
|
||||
Sets the status for an image member.
|
||||
*(Since Image API v2.1)*
|
||||
|
||||
This call allows an image member to change his or her *member status*.
|
||||
|
||||
When an image is shared with you, you have immediate access to the image. What
|
||||
updating your member status on the image does for you is that it affects
|
||||
whether the image will appear in your image list response.
|
||||
|
||||
- When an image is shared with you, your member_status is ``pending``. You
|
||||
won't see the image unless you go looking for it, either by making a show
|
||||
image detail request using the image's ID, or by making an image list call
|
||||
specifically looking for a shared image in member status ``pending``. This
|
||||
way, other users cannot "spam" your image list with images you may not want
|
||||
to see.
|
||||
|
||||
- If you want to see a particular shared image in your image list, then you
|
||||
must use this call to change your member status on the image to ``accepted``.
|
||||
|
||||
- The image owner can see what your member status is on an image, but the owner
|
||||
*cannot* change the status. Only you (or an administrator) can do that.
|
||||
|
||||
- There are three member status values: ``pending``, ``accepted``, and
|
||||
``rejected``. The ``pending`` and ``rejected`` statuses are functionally
|
||||
identical. The difference is that ``pending`` indicates to the owner that
|
||||
you haven't updated the image, so perhaps you aren't aware that it's been
|
||||
shared with you. The ``rejected`` status indicates that you are aware that
|
||||
the image exists and you specifically decided that you don't want to see it
|
||||
in your image list response.
|
||||
|
||||
For a more detailed discussion of image sharing, please consult `Image API v2
|
||||
Sharing`_.
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- The image must have a ``visibility`` value of ``shared``.
|
||||
|
||||
- You must be the member of the image referenced in the call.
|
||||
|
||||
Synchronous Postconditions
|
||||
|
||||
- If you update the member status to ``accepted`` and have the
|
||||
correct permissions, you see the image in list images responses.
|
||||
|
||||
- With correct permissions, you can make API calls to see the
|
||||
updated member status of the image.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 404, 403
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member_id: member_id-in-path
|
||||
- status: member_status
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/image-member-update-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- image_id: image_id-in-body
|
||||
- member_id: member_id
|
||||
- schema: schema-member
|
||||
- status: member_status
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/image-member-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Delete image member
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v2/images/{image_id}/members/{member_id}
|
||||
|
||||
Deletes a tenant ID from the member list of an image.
|
||||
*(Since Image API v2.1)*
|
||||
|
||||
Preconditions
|
||||
|
||||
- The image must exist.
|
||||
|
||||
- The image must have a ``visibility`` value of ``shared``.
|
||||
|
||||
- You must be the owner of the image.
|
||||
|
||||
Synchronous Postconditions
|
||||
|
||||
- The API removes the member from the image members.
|
||||
|
||||
Troubleshooting
|
||||
|
||||
- Even if you have correct permissions, if you are not the owner of
|
||||
the image or you specify an incorrect image ID or member ID, the
|
||||
call returns the HTTP ``403`` or ``404`` response code. Ensure
|
||||
that you meet the preconditions and run the request again. If the
|
||||
request fails again, review your API request URI.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- member_id: member_id-in-path
|
@ -1,52 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Image tags
|
||||
**********
|
||||
|
||||
Adds and deletes image tags.
|
||||
|
||||
Image tags may also be modfied by the :ref:`v2-image-update` call.
|
||||
|
||||
|
||||
Add image tag
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v2/images/{image_id}/tags/{tag}
|
||||
|
||||
Adds a tag to an image.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 413
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- tag: tag-in-path
|
||||
|
||||
|
||||
Delete image tag
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v2/images/{image_id}/tags/{tag}
|
||||
|
||||
Deletes a tag from an image.
|
||||
*(Since Image API v2.0)*
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: images-parameters.yaml
|
||||
|
||||
- image_id: image_id-in-path
|
||||
- tag: tag-in-path
|
@ -1,32 +0,0 @@
|
||||
..
|
||||
Copyright 2010 OpenStack Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
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.
|
||||
|
||||
:tocdepth: 3
|
||||
|
||||
==============================
|
||||
Image Service API v2 (CURRENT)
|
||||
==============================
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
.. include:: images-parameters-descriptions.inc
|
||||
.. include:: images-images-v2.inc
|
||||
.. include:: images-sharing-v2.inc
|
||||
.. include:: images-tags.inc
|
||||
.. include:: images-schemas.inc
|
||||
.. include:: images-data.inc
|
||||
.. include:: tasks.inc
|
||||
.. include:: tasks-schemas.inc
|
@ -1,64 +0,0 @@
|
||||
..
|
||||
Copyright 2010 OpenStack Foundation
|
||||
All Rights Reserved.
|
||||
|
||||
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.
|
||||
|
||||
:tocdepth: 3
|
||||
|
||||
=============================================
|
||||
Metadata Definitions Service API v2 (CURRENT)
|
||||
=============================================
|
||||
|
||||
.. rest_expand_all::
|
||||
|
||||
Metadefs
|
||||
********
|
||||
|
||||
General information
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Metadata Definitions Service ("metadefs", for short) provides a common API
|
||||
for vendors, operators, administrators, services, and users to meaningfully
|
||||
define available key:value pairs that can be used on different types of cloud
|
||||
resources (for example, images, artifacts, volumes, flavors, aggregates,
|
||||
and other resources).
|
||||
|
||||
To get you started, Glance contains a default catalog of metadefs that may be
|
||||
installed at your site; see the `README
|
||||
<https://github.com/openstack/glance/tree/master/etc/metadefs/README>`_ in the
|
||||
code repository for details.
|
||||
|
||||
Once a common catalog of metadata definitions has been created, the catalog is
|
||||
available for querying through the API. Note that this service stores only the
|
||||
*catalog*, because metadefs are meta-metadata. Metadefs provide information
|
||||
*about* resource metadata, but do not themselves serve as actual metadata.
|
||||
|
||||
Actual key:value pairs are stored on the resources to which they apply using
|
||||
the metadata facilities provided by the appropriate API. (For example, the
|
||||
Images API would be used to put specific key:value pairs on a virtual machine
|
||||
image.)
|
||||
|
||||
A metadefs definition includes a property’s key, its description, its
|
||||
constraints, and the resource types to which it can be associated. See
|
||||
`Metadata Definition Concepts
|
||||
<http://docs.openstack.org/developer/glance/metadefs-concepts.html>`_ in the
|
||||
Glance Developer documentation for more information.
|
||||
|
||||
|
||||
.. include:: metadefs-namespaces.inc
|
||||
.. include:: metadefs-resourcetypes.inc
|
||||
.. include:: metadefs-namespaces-objects.inc
|
||||
.. include:: metadefs-namespaces-properties.inc
|
||||
.. include:: metadefs-namespaces-tags.inc
|
||||
.. include:: metadefs-schemas.inc
|
@ -1,280 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition objects
|
||||
***************************
|
||||
|
||||
Creates, lists, shows details for, updates, and deletes metadata definition
|
||||
objects.
|
||||
|
||||
*Since API v2.2*
|
||||
|
||||
Create object
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/metadefs/namespaces/{namespace_name}/objects
|
||||
|
||||
Creates an object definition in a namespace.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- name: object-name
|
||||
- description: object-description-in-request
|
||||
- properties: object-properties-in-request
|
||||
- required: object-required-in-request
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-object-create-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- description: object-description
|
||||
- name: object-name
|
||||
- properties: object-properties
|
||||
- required: object-required
|
||||
- schema: object-schema
|
||||
- self: self
|
||||
- updated_at: updated_at
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-object-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
List objects
|
||||
~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_name}/objects
|
||||
|
||||
Lists object definitions in a namespace.
|
||||
|
||||
Returns a subset of the larger collection of namespaces and a link
|
||||
that you can use to get the next set of namespaces. You should
|
||||
always check for the presence of a ``next`` link and use it as the
|
||||
URI in a subsequent HTTP GET request. You should follow this
|
||||
pattern until a ``next`` link is no longer provided. The next link
|
||||
preserves any query parameters that you send in your initial
|
||||
request. You can use the ``first`` link to jump back to the first
|
||||
page of the collection. If you prefer to paginate through
|
||||
namespaces manually, use the ``limit`` and ``marker`` parameters.
|
||||
|
||||
Use the ``resource_types`` and ``visibility`` query parameters to
|
||||
filter the response.
|
||||
|
||||
For example, set the ``resource_types`` query parameter to
|
||||
``OS::Glance::Image,OS::Nova::Flavor`` to filter the response to
|
||||
include only namespaces that are associated with the given resource
|
||||
types.
|
||||
|
||||
You can sort the results of this operation by using the
|
||||
``sort_key`` and ``sort_dir`` parameters. The API uses the natural
|
||||
sorting of whatever namespace attribute is provided as the
|
||||
``sort_key``.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- visibility: visibility-in-query
|
||||
- resource_types: resource_types-in-query
|
||||
- sort_key: sort_key
|
||||
- sort_dir: sort_dir
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- display_name: display_name
|
||||
- description: description
|
||||
- namespace: namespace
|
||||
- visibility: visibility
|
||||
- protected: protected
|
||||
- namespaces: namespaces
|
||||
- resource_type_associations: resource_type_associations
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-objects-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Show object
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}
|
||||
|
||||
Shows the definition for an object.
|
||||
|
||||
The response body shows a single object entity.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
.. yep, 400 if the request includes a body
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- object_name: object_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- description: object-description
|
||||
- name: object-name
|
||||
- properties: object-properties
|
||||
- required: object-required
|
||||
- schema: object-schema
|
||||
- self: self
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-object-details-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Update object
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}
|
||||
|
||||
Updates an object definition in a namespace.
|
||||
|
||||
The object resource is completely replaced by what you specify in the request
|
||||
body. Thus, if you leave out any of the optional parameters, and they exist in
|
||||
the current object, they will be eliminated by this call.
|
||||
|
||||
It is possible to change the name of the object with this call; if you do, note
|
||||
that the URL for the object (specified by the ``self`` field) will change.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- object_name: object_name
|
||||
- name: object-name
|
||||
- description: object-description-in-request
|
||||
- properties: object-properties-in-request
|
||||
- required: object-required-in-request
|
||||
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-object-update-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- description: object-description
|
||||
- name: object-name
|
||||
- properties: object-properties
|
||||
- required: object-required
|
||||
- schema: object-schema
|
||||
- self: self
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-object-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Delete object
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v2/metadefs/namespaces/{namespace_name}/objects/{object_name}
|
||||
|
||||
Deletes an object definition from a namespace.
|
||||
|
||||
.. note::
|
||||
If the namespace containing the object is protected, that is, if the
|
||||
``protected`` attribute of the namespace is ``true``, then you must first
|
||||
set the ``protected`` attribute to ``false`` on the namespace before you
|
||||
will be permitted to delete the object.
|
||||
|
||||
* If you try to delete an object from a protected namespace, the call
|
||||
returns the ``403`` response code.
|
||||
* To change the ``protected`` attribute of a namespace, use the
|
||||
:ref:`Update namespace <v2-update-namespace>` call.
|
||||
|
||||
When you successfully delete an object from a namespace, the
|
||||
response is empty and the response code is ``204``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- object_name: object_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
There is no response body.
|
@ -1,306 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition properties
|
||||
******************************
|
||||
|
||||
Creates, lists, shows details for, updates, and deletes metadata definition
|
||||
properties.
|
||||
|
||||
*Since API v2.2*
|
||||
|
||||
Create property
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/metadefs/namespaces/{namespace_name}/properties
|
||||
|
||||
Creates a property definition in a namespace.
|
||||
|
||||
The schema is a subset of the JSON property definition schema.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- name: name
|
||||
- title: title
|
||||
- type: type
|
||||
- additionalItems: additionalItems
|
||||
- description: property-description-in-request
|
||||
- default: default
|
||||
- items: items
|
||||
- operators: operators
|
||||
- enum: enum
|
||||
- maximum: maximum
|
||||
- minItems: minItems
|
||||
- readonly: readonly
|
||||
- minimum: minimum
|
||||
- maxItems: maxItems
|
||||
- maxLength: maxLength
|
||||
- uniqueItems: uniqueItems
|
||||
- pattern: pattern
|
||||
- minLength: minLength
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-property-create-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- additionalItems: additionalItems
|
||||
- description: property-description
|
||||
- title: title
|
||||
- default: default
|
||||
- items: items
|
||||
- operators: operators
|
||||
- enum: enum
|
||||
- maximum: maximum
|
||||
- minItems: minItems
|
||||
- readonly: readonly
|
||||
- minimum: minimum
|
||||
- maxItems: maxItems
|
||||
- maxLength: maxLength
|
||||
- uniqueItems: uniqueItems
|
||||
- pattern: pattern
|
||||
- type: type
|
||||
- minLength: minLength
|
||||
- name: name
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-property-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
List properties
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
GET /v2/metadefs/namespaces/{namespace_name}/properties
|
||||
|
||||
Lists property definitions in a namespace.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- properties: properties-dict
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-properties-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show property definition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
GET /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}
|
||||
|
||||
Shows the definition for a property.
|
||||
|
||||
If you use the ``resource_type`` query parameter, the API removes the prefix of
|
||||
the resource type from the property name before it submits the query. This
|
||||
enables you to look for a property name that starts with a prefix from an
|
||||
associated resource type.
|
||||
|
||||
The response body shows a single property entity.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- property_name: property_name
|
||||
- namespace_name: namespace_name
|
||||
- resource_type: resource_type-in-query
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- additionalItems: additionalItems
|
||||
- description: property-description
|
||||
- title: title
|
||||
- default: default
|
||||
- items: items
|
||||
- operators: operators
|
||||
- enum: enum
|
||||
- maximum: maximum
|
||||
- minItems: minItems
|
||||
- readonly: readonly
|
||||
- minimum: minimum
|
||||
- maxItems: maxItems
|
||||
- maxLength: maxLength
|
||||
- uniqueItems: uniqueItems
|
||||
- pattern: pattern
|
||||
- type: type
|
||||
- minLength: minLength
|
||||
- name: name
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-property-details-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
|
||||
Update property definition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
PUT /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}
|
||||
|
||||
Updates a property definition.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- property_name: property_name
|
||||
- name: name-property
|
||||
- title: title
|
||||
- type: type
|
||||
- additionalItems: additionalItems
|
||||
- description: description
|
||||
- default: default
|
||||
- items: items
|
||||
- operators: operators
|
||||
- enum: enum
|
||||
- maximum: maximum
|
||||
- minItems: minItems
|
||||
- readonly: readonly
|
||||
- minimum: minimum
|
||||
- maxItems: maxItems
|
||||
- maxLength: maxLength
|
||||
- uniqueItems: uniqueItems
|
||||
- pattern: pattern
|
||||
- minLength: minLength
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-property-create-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- additionalItems: additionalItems
|
||||
- description: description
|
||||
- title: title
|
||||
- default: default
|
||||
- items: items
|
||||
- operators: operators
|
||||
- enum: enum
|
||||
- maximum: maximum
|
||||
- minItems: minItems
|
||||
- readonly: readonly
|
||||
- minimum: minimum
|
||||
- maxItems: maxItems
|
||||
- maxLength: maxLength
|
||||
- uniqueItems: uniqueItems
|
||||
- pattern: pattern
|
||||
- type: type
|
||||
- minLength: minLength
|
||||
- name: name-property
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-property-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Remove property definition
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
DELETE /v2/metadefs/namespaces/{namespace_name}/properties/{property_name}
|
||||
|
||||
Removes a property definition from a namespace.
|
||||
|
||||
.. note::
|
||||
If the namespace containing the property is protected, that is, if the
|
||||
``protected`` attribute of the namespace is ``true``, then you must first
|
||||
set the ``protected`` attribute to ``false`` on the namespace before you
|
||||
will be permitted to delete the property.
|
||||
|
||||
* If you try to delete a property from a protected namespace, the call
|
||||
returns the ``403`` response code.
|
||||
* To change the ``protected`` attribute of a namespace, use the
|
||||
:ref:`Update namespace <v2-update-namespace>` call.
|
||||
|
||||
When you successfully delete a property from a namespace, the
|
||||
response is empty and the response code is ``204``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- property_name: property_name
|
||||
- namespace_name: namespace_name
|
||||
|
@ -1,300 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition tags
|
||||
************************
|
||||
|
||||
Creates, lists, shows details for, updates, and deletes metadata
|
||||
definition tags.
|
||||
|
||||
*Since API v2.2*
|
||||
|
||||
|
||||
Create tag definition
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
POST /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}
|
||||
|
||||
Adds a tag to the list of namespace tag definitions.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- tag_name: tag_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- name: name-tag
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tag-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Get tag definition
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
GET /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}
|
||||
|
||||
Gets a definition for a tag.
|
||||
|
||||
The response body shows a single tag entity.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- tag_name: tag_name
|
||||
- namespace_name: namespace_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- name: name-tag
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tag-details-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Update tag definition
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
PUT /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}
|
||||
|
||||
Renames a tag definition.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- tag_name: tag_name
|
||||
- namespace_name: namespace_name
|
||||
- name: name-tag
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tag-update-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- name: name-tag
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tag-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Delete tag definition
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
DELETE /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}
|
||||
|
||||
Deletes a tag definition within a namespace.
|
||||
|
||||
.. note::
|
||||
If the namespace containing the tag is protected, that is, if the
|
||||
``protected`` attribute of the namespace is ``true``, then you must first
|
||||
set the ``protected`` attribute to ``false`` on the namespace before you
|
||||
will be permitted to delete the tag.
|
||||
|
||||
* If you try to delete a tag from a protected namespace, the call returns
|
||||
the ``403`` response code.
|
||||
* To change the ``protected`` attribute of a namespace, use the
|
||||
:ref:`Update namespace <v2-update-namespace>` call.
|
||||
|
||||
When you successfully delete a tag from a namespace, the response is empty and
|
||||
the response code is ``204``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- tag_name: tag_name
|
||||
|
||||
|
||||
Create tags
|
||||
~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/metadefs/namespaces/{namespace_name}/tags
|
||||
|
||||
Creates one or more tag definitions in a namespace.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- tags: tags
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tags-create-request.json
|
||||
:language: json
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- name: name
|
||||
- tags: tags
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tag-create-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
List tags
|
||||
~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
GET /v2/metadefs/namespaces/{namespace_name}/tags
|
||||
|
||||
Lists the tag definitions within a namespace.
|
||||
|
||||
To manually paginate through the list of tags, use the ``limit``
|
||||
and ``marker`` parameters.
|
||||
|
||||
To sort the results of this operation use the ``sort_key`` and
|
||||
``sort_dir`` parameters. The API uses the natural sort order of the
|
||||
tag attribute of the ``sort_key`` parameter.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- limit: limit-tags
|
||||
- marker: marker-tags
|
||||
- sort_key: sort_key-tags
|
||||
- sort_dir: sort_dir
|
||||
|
||||
There is no request body.
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- tags: tags
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-tags-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Delete all tag definitions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
DELETE /v2/metadefs/namespaces/{namespace_name}/tags
|
||||
|
||||
Deletes all tag definitions within a namespace.
|
||||
|
||||
.. note::
|
||||
If the namespace containing the tags is protected, that is, if the
|
||||
``protected`` attribute of the namespace is ``true``, then you must first
|
||||
set the ``protected`` attribute to ``false`` on the namespace before you
|
||||
will be permitted to delete the tags. If you try to delete the tags
|
||||
from a protected namespace, the call returns the ``403`` response code.
|
||||
|
||||
When you successfully delete the tags from a namespace, the
|
||||
response is empty and the response code is ``204``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
There is no response body.
|
@ -1,337 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition namespaces
|
||||
******************************
|
||||
|
||||
Creates, lists, shows details for, updates, and deletes metadata
|
||||
definition namespaces. Defines namespaces that can contain property
|
||||
definitions, object definitions, and resource type associations.
|
||||
|
||||
*Since API v2.2*
|
||||
|
||||
|
||||
Create namespace
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: POST /v2/metadefs/namespaces
|
||||
|
||||
Creates a namespace.
|
||||
|
||||
A namespace must be unique across all users. Attempting to create an already
|
||||
existing namespace will result in a 409 (Conflict) response.
|
||||
|
||||
The ``Location`` response header contains the newly-created URI for
|
||||
the namespace.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace: namespace
|
||||
- display_name: display_name
|
||||
- description: description
|
||||
- visibility: visibility-in-request
|
||||
- protected: protected-in-request
|
||||
|
||||
The request body may also contain properties, objects, and resource type
|
||||
associations, or these can be added later by the :ref:`v2-update-namespace`
|
||||
call.
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-create-request-simple.json
|
||||
:language: json
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- Location: Location
|
||||
- created_at: created_at
|
||||
- description: description
|
||||
- display_name: display_name
|
||||
- namespace: namespace
|
||||
- owner: owner
|
||||
- protected: protected
|
||||
- schema: schema-namespace
|
||||
- self: self
|
||||
- updated_at: updated_at
|
||||
- visibility: visibility
|
||||
|
||||
If the request body contained properties, objects, or resource type
|
||||
associations, these will be included in the response.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
HTTP/1.1 201 Created
|
||||
Content-Length: 427
|
||||
Content-Type: application/json; charset=UTF-8
|
||||
Location: http://glance.openstack.example.org/v2/metadefs/namespaces/FredCo::SomeCategory::Example
|
||||
X-Openstack-Request-Id: req-6d4a8ad2-c018-4bfc-8fe5-1a36c23c43eb
|
||||
Date: Thu, 19 May 2016 16:05:48 GMT
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-create-response-simple.json
|
||||
:language: json
|
||||
|
||||
|
||||
List namespaces
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/namespaces
|
||||
|
||||
Lists available namespaces.
|
||||
|
||||
Returns a list of namespaces to which the authenticated user has access. If
|
||||
the list is too large to fit in a single response, either because of operator
|
||||
configuration or because you've included a ``limit`` query parameter in the
|
||||
request to restrict the response size, the response will contain a link that
|
||||
you can use to get the next page of namespaces. Check for the presence of a
|
||||
``next`` link and use it as the URI in a subsequent HTTP GET request. Follow
|
||||
this pattern until a ``next`` link is no longer provided.
|
||||
|
||||
The ``next`` link preserves any query parameters that you send in your initial
|
||||
request. You can use the ``first`` link to return to the first page in the
|
||||
collection. If you prefer to paginate through namespaces manually, use the
|
||||
``limit`` and ``marker`` parameters.
|
||||
|
||||
The list operation accepts the ``resource_types`` and ``visibility`` query
|
||||
parameters, which you can use to filter the response.
|
||||
|
||||
To sort the results of this operation, use the ``sort_key`` and ``sort_dir``
|
||||
parameters. The API uses the natural sorting order in the namespace attribute
|
||||
that you provide as the ``sort_key`` parameter.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- limit: limit
|
||||
- marker: marker
|
||||
- visibility: visibility-in-query
|
||||
- resource_types: resource_types-in-query
|
||||
- sort_key: sort_key
|
||||
- sort_dir: sort_dir
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- first: first
|
||||
- namespaces: namespaces
|
||||
- next: next
|
||||
- schema: schema-namespaces
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-namespaces-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Get namespace details
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_name}
|
||||
|
||||
Gets details for a namespace.
|
||||
|
||||
The response body shows a single namespace entity with all details
|
||||
including properties, objects, and resource type associations.
|
||||
|
||||
If the namespace contains a resource type association that specifies a prefix,
|
||||
you may optionally include the name of the resource type as a query parameter.
|
||||
In that case, the prefix will be applied to all property names in the response.
|
||||
(See below for an example.)
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
.. returns 400 if a request body is sent
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- resource_type: resource_type-in-query-namespace-detail
|
||||
|
||||
The request does not take a body.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- description: description
|
||||
- display_name: display_name
|
||||
- namespace: namespace
|
||||
- objects: objects
|
||||
- owner: owner
|
||||
- properties: properties-dict
|
||||
- protected: protected
|
||||
- resource_type_associations: resource_type_associations
|
||||
- schema: schema-namespace
|
||||
- self: self
|
||||
- visibility: visibility
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-details-response.json
|
||||
:language: json
|
||||
|
||||
Response Example (with resource_type query parameter)
|
||||
-----------------------------------------------------
|
||||
|
||||
This is the result of the following request:
|
||||
|
||||
``GET /v2/metadefs/namespaces/OS::Compute::Libvirt?resource_type=OS::Glance::Image``
|
||||
|
||||
Note that the name of each property has had the appropriate prefix applied to
|
||||
it.
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-details-with-rt-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
.. _v2-update-namespace:
|
||||
|
||||
Update namespace
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: PUT /v2/metadefs/namespaces/{namespace_name}
|
||||
|
||||
Updates a namespace.
|
||||
|
||||
.. note::
|
||||
Be careful using this call, especially when all you want to do is change the
|
||||
``protected`` value so that you can delete some objects, properties, or
|
||||
resource type associations in the namespace.
|
||||
|
||||
While only the ``namespace`` is required in the request body, if this call
|
||||
is made with *only* the ``namespace`` in request body, the other attributes
|
||||
listed below will be set to their default values -- which in the case of
|
||||
``description`` and ``display_name``, is null.
|
||||
|
||||
So if you want to change *only* the ``protected`` value with this call, be
|
||||
sure to also include the current values of the following parameters in the
|
||||
request body:
|
||||
|
||||
- ``description``
|
||||
- ``display_name``
|
||||
- ``namespace``
|
||||
- ``visibility``
|
||||
|
||||
The objects, properties, and resource type associations in a namespace
|
||||
are unaffected by this call.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- description: description
|
||||
- display_name: display_name
|
||||
- namespace: namespace
|
||||
- protected: protected-in-request
|
||||
- visibility: visibility-in-request
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-update-request.json
|
||||
:language: json
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- description: description
|
||||
- display_name: display_name
|
||||
- namespace: namespace
|
||||
- owner: owner
|
||||
- protected: protected
|
||||
- schema: schema-namespace
|
||||
- self: self
|
||||
- updated_at: updated_at
|
||||
- visibility: visibility
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-namespace-update-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Delete namespace
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: DELETE /v2/metadefs/namespaces/{namespace_name}
|
||||
|
||||
Deletes a namespace and its properties, objects, and any resource type
|
||||
associations.
|
||||
|
||||
.. note::
|
||||
|
||||
If the namespace is protected, that is, if the ``protected`` attribute of
|
||||
the namespace is ``true``, then you must first set the ``protected``
|
||||
attribute to ``false`` on the namespace before you will be permitted to
|
||||
delete it.
|
||||
|
||||
* If you try to delete a protected namespace, the call returns the ``403``
|
||||
response code.
|
||||
* To change the ``protected`` attribute of a namespace, use the
|
||||
:ref:`Update namespace <v2-update-namespace>` call.
|
||||
|
||||
A successful operation returns the HTTP ``204`` (No Content) response code.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
|
||||
The request does not take a body.
|
||||
|
||||
The request does not return a body.
|
@ -1,527 +0,0 @@
|
||||
# variables in header
|
||||
Content-Type-json:
|
||||
description: |
|
||||
The media type descriptor for the request body. Use
|
||||
``application/json``.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
Location:
|
||||
description: |
|
||||
The newly-created URI for the namespace.
|
||||
in: header
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in path
|
||||
name:
|
||||
description: |
|
||||
Name of the resource type.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
namespace_name:
|
||||
description: |
|
||||
The name of the namespace whose details you want to see. (The name is the
|
||||
value of a namespace's ``namespace`` field.)
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
object_name:
|
||||
description: |
|
||||
The name of the object.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
property_name:
|
||||
description: |
|
||||
The name of the property.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
resource_type_name:
|
||||
description: |
|
||||
The name of the resource type.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
tag_name:
|
||||
description: |
|
||||
The name of the tag.
|
||||
in: path
|
||||
required: true
|
||||
type: string
|
||||
|
||||
# variables in query
|
||||
limit:
|
||||
description: |
|
||||
Requests a page size of items. Returns a number of items up to a limit
|
||||
value. Use the ``limit`` parameter to make an initial limited request and
|
||||
use the ID of the last-seen item from the response as the ``marker``
|
||||
parameter value in a subsequent limited request.
|
||||
in: query
|
||||
required: false
|
||||
type: integer
|
||||
limit-tags:
|
||||
description: |
|
||||
Requests a page size of tags. Returns a number of tags up to a limit
|
||||
value. Use the ``limit`` parameter to make an initial limited request and
|
||||
use the name of the last-seen tag from the response as the ``marker``
|
||||
parameter value in a subsequent limited request.
|
||||
in: query
|
||||
required: false
|
||||
type: integer
|
||||
marker:
|
||||
description: |
|
||||
Allows specification of a *namespace identifier*. When present, only
|
||||
namespaces occurring after that namespace will be listed, that is,
|
||||
those namespaces having a ``sort_key`` later than that of the marker
|
||||
in the ``sort_dir`` direction.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
marker-tags:
|
||||
description: |
|
||||
Allows specification of a tag name. When present, only tags occurring
|
||||
*after* the named tag will be listed, that is, those namespaces having a
|
||||
``sort_key`` later than that of the marker in the ``sort_dir`` direction.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
resource_type-in-query:
|
||||
description: |
|
||||
Filters the response by property names that start with a prefix from an
|
||||
associated resource type. The API removes the prefix of the resource type
|
||||
from the property name in the response.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
resource_type-in-query-namespace-detail:
|
||||
description: |
|
||||
Apply the prefix for the specified resource type to the names of the
|
||||
properties listed in the response. If the resource type specified does not
|
||||
have an association with this namespace, or if the resource type is
|
||||
associated but does not have a prefix defined in this namespace, this
|
||||
parameter is ignored.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
resource_types-in-query:
|
||||
description: |
|
||||
Filters the response to include only those namespaces that contain the
|
||||
specified resource type or types as resource type associations. Use the
|
||||
comma (``,``) character to separate multiple values. For example,
|
||||
``OS::Glance::Image,OS::Nova::Flavor`` shows only namespaces associated
|
||||
with these resource types.
|
||||
in: query
|
||||
required: false
|
||||
type: integer
|
||||
sort_dir:
|
||||
description: |
|
||||
Sorts the response. Use ``asc`` for ascending or ``desc`` for descending
|
||||
order. The default is ``desc``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
sort_key:
|
||||
description: |
|
||||
Sorts the response by an attribute. Accepted values are ``namespace``,
|
||||
``created_at``, and ``updated_at``. Default is ``created_at``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
sort_key-tags:
|
||||
description: |
|
||||
Sorts the response by an attribute. Accepted values are ``name``,
|
||||
``created_at``, and ``updated_at``. Default is ``created_at``.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
visibility-in-query:
|
||||
description: |
|
||||
Filters the response by a namespace visibility value. A valid value is
|
||||
``public`` or ``private``. If you omit this parameter, the response shows
|
||||
both ``public`` and ``private`` namespaces.
|
||||
in: query
|
||||
required: false
|
||||
type: string
|
||||
|
||||
# variables in body
|
||||
additionalItems:
|
||||
description: |
|
||||
Describes extra items, if you use tuple typing. If the value of ``items``
|
||||
is an array (tuple typing) and the instance is longer than the list of
|
||||
schemas in ``items``, the additional items are described by the schema in
|
||||
this property. If this value is ``false``, the instance cannot be longer
|
||||
than the list of schemas in ``items``. If this value is ``true``, that is
|
||||
equivalent to the empty schema (anything goes).
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
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>`_.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
default:
|
||||
description: |
|
||||
Default property description.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
description:
|
||||
description: |
|
||||
The description of the namespace.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
display_name:
|
||||
description: |
|
||||
User-friendly name to use in a UI to display the namespace name.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
enum:
|
||||
description: |
|
||||
Enumerated list of property values.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
enum-in-request:
|
||||
description: |
|
||||
Enumerated list of property values.
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
first:
|
||||
description: |
|
||||
The URI for the first page of response.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
hypervisor_type:
|
||||
description: |
|
||||
Hypervisor type of property values.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
items:
|
||||
description: |
|
||||
Schema for the items in an array.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
maximum:
|
||||
description: |
|
||||
Maximum allowed numerical value.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
maxItems:
|
||||
description: |
|
||||
Maximum length of an array.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
maxLength:
|
||||
description: |
|
||||
Maximum allowed string length.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
minimum:
|
||||
description: |
|
||||
Minimum allowed numerical value.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
minItems:
|
||||
description: |
|
||||
Minimum length of an array.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
minLength:
|
||||
description: |
|
||||
Minimum allowed string length.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
name-property:
|
||||
description: |
|
||||
The name of the property.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
name-resource-type:
|
||||
description: |
|
||||
Name of the resource type.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
name-tag:
|
||||
description: |
|
||||
The name of the tag.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
namespace:
|
||||
description: |
|
||||
An identifier (a name) for the namespace. The value must be unique across
|
||||
all users.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
namespaces:
|
||||
description: |
|
||||
A list of ``namespace`` objects.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
next:
|
||||
description: |
|
||||
The URI for the next page of response. Will not be present on the last
|
||||
page of the response.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
object-description:
|
||||
description: |
|
||||
Detailed description of the object.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
object-description-in-request:
|
||||
description: |
|
||||
Detailed description of the object.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
object-name:
|
||||
description: |
|
||||
The name of the object, suitable for use as an identifier.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
object-properties:
|
||||
description: |
|
||||
A set of key:value pairs, where each value is a *property* entity.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
object-properties-in-request:
|
||||
description: |
|
||||
A set of key:value pairs, where each value is a *property* entity.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
object-required:
|
||||
description: |
|
||||
A list of the names of properties that are required on this object.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
object-required-in-request:
|
||||
description: |
|
||||
A list of the names of properties that are required on this object.
|
||||
in: body
|
||||
required: false
|
||||
type: array
|
||||
object-schema:
|
||||
description: |
|
||||
The URI of the JSON schema describing an *object*.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
objects:
|
||||
description: |
|
||||
One or more object definitions of the namespace.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
objects-namespace:
|
||||
description: |
|
||||
Namespace object definitions, if any.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
operators:
|
||||
description: |
|
||||
Operators property description.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
owner:
|
||||
description: |
|
||||
An identifier for the owner of this resource, usually the tenant ID.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
pattern:
|
||||
description: |
|
||||
A regular expression ( `ECMA 262
|
||||
<http://www.ecma-international.org/publications/standards/Ecma-262.htm>`_ )
|
||||
that a string value must match.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
prefix:
|
||||
description: |
|
||||
Prefix for any properties in the namespace that you want to apply to the
|
||||
resource type. If you specify a prefix, you must append a prefix separator,
|
||||
such as the colon (``:``) character.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
properties-dict:
|
||||
description: |
|
||||
A dictionary of key:value pairs, where each value is a *property* object as
|
||||
defined by the :ref:`Metadefs Property Schema <md-schema-property>`.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
properties-nonempty:
|
||||
description: |
|
||||
One or more property definitions for the
|
||||
namespace.
|
||||
in: body
|
||||
required: true
|
||||
type: object
|
||||
properties-nullable:
|
||||
description: |
|
||||
Namespace property definitions, if any.
|
||||
in: body
|
||||
required: false
|
||||
type: object
|
||||
properties_target:
|
||||
description: |
|
||||
Some resource types allow more than one key and value pair for each
|
||||
instance. For example, the Image service allows both user and image
|
||||
metadata on volumes. The ``properties_target`` parameter enables a
|
||||
namespace target to remove the ambiguity.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
property-description:
|
||||
description: |
|
||||
Detailed description of the property.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
property-description-in-request:
|
||||
description: |
|
||||
Detailed description of the property.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
protected:
|
||||
description: |
|
||||
Namespace protection for deletion, either ``true`` or ``false``.
|
||||
in: body
|
||||
required: true
|
||||
type: boolean
|
||||
protected-in-request:
|
||||
description: |
|
||||
Namespace protection for deletion. A valid value is ``true`` or
|
||||
``false``. Default is ``false``.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
readonly:
|
||||
description: |
|
||||
Indicates whether this is a read-only property.
|
||||
in: body
|
||||
required: false
|
||||
type: boolean
|
||||
resource_type_associations:
|
||||
description: |
|
||||
A list, each element of which is described by the :ref:`Metadefs Resource
|
||||
Type Association Schema <md-schema-rt-assoc>`.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
resource_types-list:
|
||||
description: |
|
||||
A list of abbreviated *resource type* JSON objects, where each object
|
||||
contains the ``name`` of the resource type and its ``created_at``
|
||||
and ``updated_at`` timestamps in `ISO 8601 Format
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
schema-namespace:
|
||||
description: |
|
||||
The URI of the JSON schema describing a *namespace*.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
schema-namespaces:
|
||||
description: |
|
||||
The URI of the JSON schema describing a *namespaces* entity, that is, an
|
||||
entity consisting of a list of abbreviated namespace objects.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
self:
|
||||
description: |
|
||||
The URI for this resource.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tag-name:
|
||||
description: |
|
||||
The name of the tag.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
tags:
|
||||
description: |
|
||||
A list of *tag* objects, where each object is defined by the
|
||||
:ref:`Metadefs Tag Schema <md-schema-tag>`.
|
||||
in: body
|
||||
required: true
|
||||
type: array
|
||||
title:
|
||||
description: |
|
||||
The title of the property.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
type:
|
||||
description: |
|
||||
The property type.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
uniqueItems:
|
||||
description: |
|
||||
Indicates whether all values in the array must be distinct.
|
||||
in: body
|
||||
required: false
|
||||
type: string
|
||||
updated_at:
|
||||
description: |
|
||||
The date and time when the resource was last updated.
|
||||
|
||||
The date and time stamp format is `ISO 8601
|
||||
<https://en.wikipedia.org/wiki/ISO_8601>`_.
|
||||
in: body
|
||||
required: true
|
||||
type: string
|
||||
visibility:
|
||||
description: |
|
||||
The namespace visibility, either ``public`` or ``private``.
|
||||
in: body
|
||||
required: true
|
||||
type: enum
|
||||
visibility-in-request:
|
||||
description: |
|
||||
The namespace visibility. A valid value is ``public`` or ``private``.
|
||||
Default is ``private``.
|
||||
in: body
|
||||
required: false
|
||||
type: enum
|
@ -1,169 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition resource types
|
||||
**********************************
|
||||
|
||||
Lists resource types. Also, creates, lists, and removes resource type
|
||||
associations in a namespace.
|
||||
|
||||
*Since API v2.2*
|
||||
|
||||
|
||||
List resource types
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/resource_types
|
||||
|
||||
Lists all available resource types.
|
||||
|
||||
Using the other API calls in this section, you can create and maintain
|
||||
*resource type associations* between metadata definition namespaces and the
|
||||
resource types that are returned by this call.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- resource_types: resource_types-list
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-resource-types-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Create resource type association
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
POST /v2/metadefs/namespaces/{namespace_name}/resource_types
|
||||
|
||||
Creates a resource type association between a namespace and the resource
|
||||
type specified in the body of the request.
|
||||
|
||||
.. note::
|
||||
If the resource type name specified does not name an existing resource type,
|
||||
a new resource type will be created as a side effect of this operation.
|
||||
|
||||
Normal response codes: 201
|
||||
|
||||
Error response codes: 400, 401, 403, 404, 409
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- name: name
|
||||
- prefix: prefix
|
||||
- properties_target: properties_target
|
||||
|
||||
|
||||
Request Example
|
||||
---------------
|
||||
|
||||
.. literalinclude:: samples/metadef-resource-type-create-request.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- created_at: created_at
|
||||
- prefix: prefix
|
||||
- properties_target: properties_target
|
||||
- name: name
|
||||
- updated_at: updated_at
|
||||
|
||||
|
||||
List resource type associations
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_name}/resource_types
|
||||
|
||||
Lists resource type associations in a namespace.
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
|
||||
There is no request body.
|
||||
|
||||
|
||||
Response Parameters
|
||||
-------------------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- resource_type_associations: resource_type_associations
|
||||
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/metadef-resource-types-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Remove resource type association
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method::
|
||||
DELETE /v2/metadefs/namespaces/{namespace_name}/resource_types/{name}
|
||||
|
||||
Removes a resource type association in a namespace.
|
||||
|
||||
.. note::
|
||||
If the namespace containing the association is protected, that is, if the
|
||||
``protected`` attribute of the namespace is ``true``, then you must first
|
||||
set the ``protected`` attribute to ``false`` on the namespace before you
|
||||
will be permitted to remove the resource type association.
|
||||
|
||||
* If you try to delete a resource type association from a protected
|
||||
namespace, the call returns the ``403`` response code.
|
||||
* To change the ``protected`` attribute of a namespace, use the
|
||||
:ref:`Update namespace <v2-update-namespace>` call.
|
||||
|
||||
When you successfully delete a resource type association from a namespace, the
|
||||
response is empty and the response code is ``204``.
|
||||
|
||||
Normal response codes: 204
|
||||
|
||||
Error response codes: 400, 401, 403, 404
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
.. rest_parameters:: metadefs-parameters.yaml
|
||||
|
||||
- namespace_name: namespace_name
|
||||
- name: resource_type_name
|
@ -1,326 +0,0 @@
|
||||
.. -*- rst -*-
|
||||
|
||||
Metadata definition schemas
|
||||
***************************
|
||||
|
||||
Gets a JSON-schema document that represents a metadata definition
|
||||
entity.
|
||||
|
||||
*(Since API v2.2)*
|
||||
|
||||
|
||||
Show metadata definition namespace schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/namespace
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *namespace* entity.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-namespace-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Show metadata definition namespaces schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/namespaces
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *namespaces*
|
||||
entity.
|
||||
|
||||
A namespaces entity is a container for *namespace* entities.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-namespaces-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
.. _md-schema-rt-assoc:
|
||||
|
||||
Show metadata definition namespace resource type association schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/resource_type
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition namespace
|
||||
*resource type association* entity.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-resource-type-association-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show metadata definition namespace resource type associations schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/resource_types
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition namespace
|
||||
*resource type associations* entity.
|
||||
|
||||
A resource type associations entity is a container for *resource type
|
||||
association* entities.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-resource-type-associations-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show metadata definition object schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/object
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *object*
|
||||
entity.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-object-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
Show metadata definition objects schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/objects
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *objects*
|
||||
entity.
|
||||
|
||||
An objects entity is a container for *object* entities.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-objects-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
.. _md-schema-property:
|
||||
|
||||
Show metadata definition property schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/property
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *property*
|
||||
entity.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-property-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Show metadata definition properties schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/properties
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *properties* entity.
|
||||
|
||||
A properties entity is a container for *property* entities.
|
||||
|
||||
The following schema document is an example. The authoritative
|
||||
response is the actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-properties-list-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
.. _md-schema-tag:
|
||||
|
||||
Show metadata definition tag schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/tag
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *tag* entity.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-tag-show-response.json
|
||||
:language: json
|
||||
|
||||
|
||||
|
||||
Show metadata definition tags schema
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. rest_method:: GET /v2/schemas/metadefs/tags
|
||||
|
||||
Shows a JSON schema document that represents a metadata definition *tags*
|
||||
entity.
|
||||
|
||||
A tags entity is a container for *tag* entities.
|
||||
|
||||
The following schema document is an example. The authoritative response is the
|
||||
actual response to the API call.
|
||||
|
||||
|
||||
Normal response codes: 200
|
||||
|
||||
Error response codes: 400, 401
|
||||
|
||||
|
||||
Request
|
||||
-------
|
||||
|
||||
There are no request parameters. The call does not take a request body.
|
||||
|
||||
|
||||
Response Example
|
||||
----------------
|
||||
|
||||
.. literalinclude:: samples/schemas-metadef-tags-list-response.json
|
||||
:language: json
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"container_format": "bare",
|
||||
"disk_format": "raw",
|
||||
"name": "Ubuntu",
|
||||
"id": "b2173dd3-7ad6-4362-baa6-a68bce3565cb"
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
{
|
||||
"status": "queued",
|
||||
"name": "Ubuntu",
|
||||
"tags": [],
|
||||
"container_format": "bare",
|
||||
"created_at": "2015-11-29T22:21:42Z",
|
||||
"size": null,
|
||||
"disk_format": "raw",
|
||||
"updated_at": "2015-11-29T22:21:42Z",
|
||||
"visibility": "private",
|
||||
"locations": [],
|
||||
"self": "/v2/images/b2173dd3-7ad6-4362-baa6-a68bce3565cb",
|
||||
"min_disk": 0,
|
||||
"protected": false,
|
||||
"id": "b2173dd3-7ad6-4362-baa6-a68bce3565cb",
|
||||
"file": "/v2/images/b2173dd3-7ad6-4362-baa6-a68bce3565cb/file",
|
||||
"checksum": null,
|
||||
"owner": "bab7d5c60cd041a0a36f7c4b6e1dd978",
|
||||
"virtual_size": null,
|
||||
"min_ram": 0,
|
||||
"schema": "/v2/schemas/image"
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"status": "deactivated",
|
||||
"name": "cirros-0.3.2-x86_64-disk",
|
||||
"tags": [],
|
||||
"container_format": "bare",
|
||||
"created_at": "2014-05-05T17:15:10Z",
|
||||
"disk_format": "qcow2",
|
||||
"updated_at": "2014-05-05T17:15:11Z",
|
||||
"visibility": "public",
|
||||
"self": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"min_disk": 0,
|
||||
"protected": false,
|
||||
"id": "1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"file": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27/file",
|
||||
"checksum": "64d7c1cd2b6f60c92c14662941cb7913",
|
||||
"owner": "5ef70662f8b34079a6eddb8da9d75fe8",
|
||||
"size": 13167616,
|
||||
"min_ram": 0,
|
||||
"schema": "/v2/schemas/image",
|
||||
"virtual_size": null
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"member": "8989447062e04a818baf9e073fd04fa7"
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"created_at": "2013-09-20T19:22:19Z",
|
||||
"image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
|
||||
"member_id": "8989447062e04a818baf9e073fd04fa7",
|
||||
"schema": "/v2/schemas/member",
|
||||
"status": "pending",
|
||||
"updated_at": "2013-09-20T19:25:31Z"
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"status": "pending",
|
||||
"created_at": "2013-11-26T07:21:21Z",
|
||||
"updated_at": "2013-11-26T07:21:21Z",
|
||||
"image_id": "0ae74cc5-5147-4239-9ce2-b0c580f7067e",
|
||||
"member_id": "8989447062e04a818baf9e073fd04fa7",
|
||||
"schema": "/v2/schemas/member"
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"status": "accepted"
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
{
|
||||
"created_at": "2013-09-20T19:22:19Z",
|
||||
"image_id": "a96be11e-8536-4910-92cb-de50aa19dfe6",
|
||||
"member_id": "8989447062e04a818baf9e073fd04fa7",
|
||||
"schema": "/v2/schemas/member",
|
||||
"status": "accepted",
|
||||
"updated_at": "2013-09-20T20:15:31Z"
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"members": [
|
||||
{
|
||||
"created_at": "2013-10-07T17:58:03Z",
|
||||
"image_id": "dbc999e3-c52f-4200-bedd-3b18fe7f87fe",
|
||||
"member_id": "123456789",
|
||||
"schema": "/v2/schemas/member",
|
||||
"status": "pending",
|
||||
"updated_at": "2013-10-07T17:58:03Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2013-10-07T17:58:55Z",
|
||||
"image_id": "dbc999e3-c52f-4200-bedd-3b18fe7f87fe",
|
||||
"member_id": "987654321",
|
||||
"schema": "/v2/schemas/member",
|
||||
"status": "accepted",
|
||||
"updated_at": "2013-10-08T12:08:55Z"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/members"
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
{
|
||||
"status": "active",
|
||||
"name": "cirros-0.3.2-x86_64-disk",
|
||||
"tags": [],
|
||||
"container_format": "bare",
|
||||
"created_at": "2014-05-05T17:15:10Z",
|
||||
"disk_format": "qcow2",
|
||||
"updated_at": "2014-05-05T17:15:11Z",
|
||||
"visibility": "public",
|
||||
"self": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"min_disk": 0,
|
||||
"protected": false,
|
||||
"id": "1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"file": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27/file",
|
||||
"checksum": "64d7c1cd2b6f60c92c14662941cb7913",
|
||||
"owner": "5ef70662f8b34079a6eddb8da9d75fe8",
|
||||
"size": 13167616,
|
||||
"min_ram": 0,
|
||||
"schema": "/v2/schemas/image",
|
||||
"virtual_size": null
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
[
|
||||
{
|
||||
"op": "replace",
|
||||
"path": "/name",
|
||||
"value": "Fedora 17"
|
||||
},
|
||||
{
|
||||
"op": "replace",
|
||||
"path": "/tags",
|
||||
"value": [
|
||||
"fedora",
|
||||
"beefy"
|
||||
]
|
||||
}
|
||||
]
|
@ -1,24 +0,0 @@
|
||||
{
|
||||
"checksum": "710544e7f0c828b42f51207342622d33",
|
||||
"container_format": "ovf",
|
||||
"created_at": "2016-06-29T16:13:07Z",
|
||||
"disk_format": "vhd",
|
||||
"file": "/v2/images/2b61ed2b-f800-4da0-99ff-396b742b8646/file",
|
||||
"id": "2b61ed2b-f800-4da0-99ff-396b742b8646",
|
||||
"min_disk": 20,
|
||||
"min_ram": 512,
|
||||
"name": "Fedora 17",
|
||||
"owner": "02a7fb2dd4ef434c8a628c511dcbbeb6",
|
||||
"protected": false,
|
||||
"schema": "/v2/schemas/image",
|
||||
"self": "/v2/images/2b61ed2b-f800-4da0-99ff-396b742b8646",
|
||||
"size": 21909,
|
||||
"status": "active",
|
||||
"tags": [
|
||||
"beefy",
|
||||
"fedora"
|
||||
],
|
||||
"updated_at": "2016-07-25T14:48:18Z",
|
||||
"virtual_size": null,
|
||||
"visibility": "private"
|
||||
}
|
@ -1,48 +0,0 @@
|
||||
{
|
||||
"images": [
|
||||
{
|
||||
"status": "active",
|
||||
"name": "cirros-0.3.2-x86_64-disk",
|
||||
"tags": [],
|
||||
"container_format": "bare",
|
||||
"created_at": "2014-11-07T17:07:06Z",
|
||||
"disk_format": "qcow2",
|
||||
"updated_at": "2014-11-07T17:19:09Z",
|
||||
"visibility": "public",
|
||||
"self": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"min_disk": 0,
|
||||
"protected": false,
|
||||
"id": "1bea47ed-f6a9-463b-b423-14b9cca9ad27",
|
||||
"file": "/v2/images/1bea47ed-f6a9-463b-b423-14b9cca9ad27/file",
|
||||
"checksum": "64d7c1cd2b6f60c92c14662941cb7913",
|
||||
"owner": "5ef70662f8b34079a6eddb8da9d75fe8",
|
||||
"size": 13167616,
|
||||
"min_ram": 0,
|
||||
"schema": "/v2/schemas/image",
|
||||
"virtual_size": null
|
||||
},
|
||||
{
|
||||
"status": "active",
|
||||
"name": "F17-x86_64-cfntools",
|
||||
"tags": [],
|
||||
"container_format": "bare",
|
||||
"created_at": "2014-10-30T08:23:39Z",
|
||||
"disk_format": "qcow2",
|
||||
"updated_at": "2014-11-03T16:40:10Z",
|
||||
"visibility": "public",
|
||||
"self": "/v2/images/781b3762-9469-4cec-b58d-3349e5de4e9c",
|
||||
"min_disk": 0,
|
||||
"protected": false,
|
||||
"id": "781b3762-9469-4cec-b58d-3349e5de4e9c",
|
||||
"file": "/v2/images/781b3762-9469-4cec-b58d-3349e5de4e9c/file",
|
||||
"checksum": "afab0f79bac770d61d24b4d0560b5f70",
|
||||
"owner": "5ef70662f8b34079a6eddb8da9d75fe8",
|
||||
"size": 476704768,
|
||||
"min_ram": 0,
|
||||
"schema": "/v2/schemas/image",
|
||||
"virtual_size": null
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/images",
|
||||
"first": "/v2/images"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"namespace": "FredCo::SomeCategory::Example",
|
||||
"display_name": "An Example Namespace",
|
||||
"description": "A metadata definitions namespace for example use.",
|
||||
"visibility": "public",
|
||||
"protected": true
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
{
|
||||
"description": "Choose capabilities that should be provided by the Compute Host. This provides the ability to fine tune the hardware specification required when a new vm is requested.",
|
||||
"display_name": "Hypervisor Selection",
|
||||
"namespace": "OS::Compute::Hypervisor",
|
||||
"properties": {
|
||||
"hypervisor_type": {
|
||||
"description": "The hypervisor type.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
},
|
||||
"vm_mode": {
|
||||
"description": "The virtual machine mode.",
|
||||
"enum": [
|
||||
"hvm",
|
||||
"xen",
|
||||
"uml",
|
||||
"exe"
|
||||
],
|
||||
"title": "VM Mode",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"name": "OS::Glance::Image"
|
||||
}
|
||||
],
|
||||
"visibility": "public"
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"created_at": "2016-05-19T16:05:48Z",
|
||||
"description": "A metadata definitions namespace for example use.",
|
||||
"display_name": "An Example Namespace",
|
||||
"namespace": "FredCo::SomeCategory::Example",
|
||||
"owner": "c60b1d57c5034e0d86902aedf8c49be0",
|
||||
"protected": true,
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/FredCo::SomeCategory::Example",
|
||||
"updated_at": "2016-05-19T16:05:48Z",
|
||||
"visibility": "public"
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
{
|
||||
"description": "Choose capabilities that should be provided by the Compute Host. This provides the ability to fine tune the hardware specification required when a new vm is requested.",
|
||||
"display_name": "Hypervisor Selection",
|
||||
"namespace": "OS::Compute::Hypervisor",
|
||||
"properties": {
|
||||
"hypervisor_type": {
|
||||
"description": "The hypervisor type.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
},
|
||||
"vm_mode": {
|
||||
"description": "The virtual machine mode.",
|
||||
"enum": [
|
||||
"hvm",
|
||||
"xen",
|
||||
"uml",
|
||||
"exe"
|
||||
],
|
||||
"title": "VM Mode",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"name": "OS::Glance::Image"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Hypervisor",
|
||||
"visibility": "public"
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"description": "The libvirt compute driver options.",
|
||||
"display_name": "libvirt Driver Options",
|
||||
"namespace": "OS::Compute::Libvirt",
|
||||
"owner": "admin",
|
||||
"properties": {
|
||||
"boot_menu": {
|
||||
"description": "If true, enables the BIOS bootmenu.",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
],
|
||||
"title": "Boot Menu",
|
||||
"type": "string"
|
||||
},
|
||||
"serial_port_count": {
|
||||
"description": "Specifies the count of serial ports.",
|
||||
"minimum": 0,
|
||||
"title": "Serial Port Count",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"name": "OS::Glance::Image",
|
||||
"prefix": "hw_"
|
||||
},
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"prefix": "hw:"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Libvirt",
|
||||
"visibility": "public"
|
||||
}
|
@ -1,40 +0,0 @@
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"description": "The libvirt compute driver options.",
|
||||
"display_name": "libvirt Driver Options",
|
||||
"namespace": "OS::Compute::Libvirt",
|
||||
"owner": "admin",
|
||||
"properties": {
|
||||
"hw_boot_menu": {
|
||||
"description": "If true, enables the BIOS bootmenu.",
|
||||
"enum": [
|
||||
"true",
|
||||
"false"
|
||||
],
|
||||
"title": "Boot Menu",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_serial_port_count": {
|
||||
"description": "Specifies the count of serial ports.",
|
||||
"minimum": 0,
|
||||
"title": "Serial Port Count",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"name": "OS::Glance::Image",
|
||||
"prefix": "hw_"
|
||||
},
|
||||
{
|
||||
"created_at": "2016-06-28T14:57:10Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"prefix": "hw:"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Libvirt",
|
||||
"visibility": "public"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"description": "Choose capabilities that should be provided by the Compute Host. This provides the ability to fine tune the hardware specification required when a new vm is requested.",
|
||||
"display_name": "Hypervisor Selection",
|
||||
"namespace": "OS::Compute::Hypervisor",
|
||||
"protected": false,
|
||||
"visibility": "public"
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"created_at": "2014-09-19T13:31:37Z",
|
||||
"description": "Choose capabilities that should be provided by the Compute Host. This provides the ability to fine tune the hardware specification required when a new vm is requested.",
|
||||
"display_name": "Hypervisor Selection",
|
||||
"namespace": "OS::Compute::Hypervisor",
|
||||
"owner": "7ec22942411e427692e8a3436be1031a",
|
||||
"protected": false,
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Hypervisor",
|
||||
"updated_at": "2014-09-19T13:31:37Z",
|
||||
"visibility": "public"
|
||||
}
|
@ -1,96 +0,0 @@
|
||||
{
|
||||
"first": "/v2/metadefs/namespaces?sort_key=created_at&sort_dir=asc",
|
||||
"namespaces": [
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"description": "The libvirt compute driver options. These are properties specific to compute drivers. For a list of all hypervisors, see here: https://wiki.openstack.org/wiki/HypervisorSupportMatrix.",
|
||||
"display_name": "libvirt Driver Options",
|
||||
"namespace": "OS::Compute::Libvirt",
|
||||
"owner": "admin",
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Glance::Image",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Libvirt",
|
||||
"updated_at": "2014-08-28T17:13:06Z",
|
||||
"visibility": "public"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"description": "Compute drivers may enable quotas on CPUs available to a VM, disk tuning, bandwidth I/O, and instance VIF traffic control. See: http://docs.openstack.org/admin-guide-cloud/compute-flavors.html",
|
||||
"display_name": "Flavor Quota",
|
||||
"namespace": "OS::Compute::Quota",
|
||||
"owner": "admin",
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota",
|
||||
"updated_at": "2014-08-28T17:13:06Z",
|
||||
"visibility": "public"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"description": "Trusted compute pools with Intel\u00ae Trusted Execution Technology (Intel\u00ae TXT) support IT compliance by protecting virtualized data centers - private, public, and hybrid clouds against attacks toward hypervisor and BIOS, firmware, and other pre-launch software components.",
|
||||
"display_name": "Trusted Compute Pools (Intel\u00ae TXT)",
|
||||
"namespace": "OS::Compute::Trust",
|
||||
"owner": "admin",
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Trust",
|
||||
"updated_at": "2014-08-28T17:13:06Z",
|
||||
"visibility": "public"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"description": "This provides the preferred socket/core/thread counts for the virtual CPU instance exposed to guests. This enables the ability to avoid hitting limitations on vCPU topologies that OS vendors place on their products. See also: http://git.openstack.org/cgit/openstack/nova-specs/tree/specs/juno/virt-driver-vcpu-topology.rst",
|
||||
"display_name": "Virtual CPU Topology",
|
||||
"namespace": "OS::Compute::VirtCPUTopology",
|
||||
"owner": "admin",
|
||||
"protected": true,
|
||||
"resource_type_associations": [
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Glance::Image",
|
||||
"prefix": "hw_",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Cinder::Volume",
|
||||
"prefix": "hw_",
|
||||
"properties_target": "image",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T17:13:06Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"prefix": "hw:",
|
||||
"updated_at": "2014-08-28T17:13:06Z"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespace",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::VirtCPUTopology",
|
||||
"updated_at": "2014-08-28T17:13:06Z",
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"schema": "/v2/schemas/metadefs/namespaces"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
{
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_period": {
|
||||
"description": "Specifies the enforcement interval (unit: microseconds) for QEMU and LXC hypervisors. Within a period, each VCPU of the domain is not allowed to consume more than the quota worth of runtime. The value should be in range [1000, 1000000]. A period with value 0 means no value.",
|
||||
"maximum": 1000000,
|
||||
"minimum": 1000,
|
||||
"title": "Quota: CPU Period",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_quota": {
|
||||
"description": "Specifies the maximum allowed bandwidth (unit: microseconds). A domain with a negative-value quota indicates that the domain has infinite bandwidth, which means that it is not bandwidth controlled. The value should be in range [1000, 18446744073709551] or less than 0. A quota with value 0 means no value. You can use this feature to ensure that all vCPUs run at the same speed.",
|
||||
"title": "Quota: CPU Quota",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
{
|
||||
"created_at": "2014-09-19T18:20:56Z",
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_period": {
|
||||
"description": "Specifies the enforcement interval (unit: microseconds) for QEMU and LXC hypervisors. Within a period, each VCPU of the domain is not allowed to consume more than the quota worth of runtime. The value should be in range [1000, 1000000]. A period with value 0 means no value.",
|
||||
"maximum": 1000000,
|
||||
"minimum": 1000,
|
||||
"title": "Quota: CPU Period",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_quota": {
|
||||
"description": "Specifies the maximum allowed bandwidth (unit: microseconds). A domain with a negative-value quota indicates that the domain has infinite bandwidth, which means that it is not bandwidth controlled. The value should be in range [1000, 18446744073709551] or less than 0. A quota with value 0 means no value. You can use this feature to ensure that all vCPUs run at the same speed.",
|
||||
"title": "Quota: CPU Quota",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/CPU Limits",
|
||||
"updated_at": "2014-09-19T18:20:56Z"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
{
|
||||
"created_at": "2014-09-19T18:20:56Z",
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_period": {
|
||||
"description": "Specifies the enforcement interval (unit: microseconds) for QEMU and LXC hypervisors. Within a period, each VCPU of the domain is not allowed to consume more than the quota worth of runtime. The value should be in range [1000, 1000000]. A period with value 0 means no value.",
|
||||
"maximum": 1000000,
|
||||
"minimum": 1000,
|
||||
"title": "Quota: CPU Period",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_quota": {
|
||||
"description": "Specifies the maximum allowed bandwidth (unit: microseconds). A domain with a negative-value quota indicates that the domain has infinite bandwidth, which means that it is not bandwidth controlled. The value should be in range [1000, 18446744073709551] or less than 0. A quota with value 0 means no value. You can use this feature to ensure that all vCPUs run at the same speed.",
|
||||
"title": "Quota: CPU Quota",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/CPU Limits",
|
||||
"updated_at": "2014-09-19T18:20:56Z"
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
{
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
}
|
@ -1,16 +0,0 @@
|
||||
{
|
||||
"created_at": "2014-09-19T19:20:56Z",
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/CPU Limits",
|
||||
"updated_at": "2014-09-19T19:20:56Z"
|
||||
}
|
@ -1,112 +0,0 @@
|
||||
{
|
||||
"objects": [
|
||||
{
|
||||
"created_at": "2014-09-18T18:16:35Z",
|
||||
"description": "You can configure the CPU limits with control parameters.",
|
||||
"name": "CPU Limits",
|
||||
"properties": {
|
||||
"quota:cpu_period": {
|
||||
"description": "Specifies the enforcement interval (unit: microseconds) for QEMU and LXC hypervisors. Within a period, each VCPU of the domain is not allowed to consume more than the quota worth of runtime. The value should be in range [1000, 1000000]. A period with value 0 means no value.",
|
||||
"maximum": 1000000,
|
||||
"minimum": 1000,
|
||||
"title": "Quota: CPU Period",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_quota": {
|
||||
"description": "Specifies the maximum allowed bandwidth (unit: microseconds). A domain with a negative-value quota indicates that the domain has infinite bandwidth, which means that it is not bandwidth controlled. The value should be in range [1000, 18446744073709551] or less than 0. A quota with value 0 means no value. You can use this feature to ensure that all vCPUs run at the same speed.",
|
||||
"title": "Quota: CPU Quota",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:cpu_shares": {
|
||||
"description": "Specifies the proportional weighted share for the domain. If this element is omitted, the service defaults to the OS provided defaults. There is no unit for the value; it is a relative measure based on the setting of other VMs. For example, a VM configured with value 2048 gets twice as much CPU time as a VM configured with value 1024.",
|
||||
"title": "Quota: CPU Shares",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/CPU Limits"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-09-18T18:16:35Z",
|
||||
"description": "Using disk I/O quotas, you can set maximum disk write to 10 MB per second for a VM user.",
|
||||
"name": "Disk QoS",
|
||||
"properties": {
|
||||
"quota:disk_read_bytes_sec": {
|
||||
"description": "Sets disk I/O quota for disk read bytes / sec.",
|
||||
"title": "Quota: Disk read bytes / sec",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:disk_read_iops_sec": {
|
||||
"description": "Sets disk I/O quota for disk read IOPS / sec.",
|
||||
"title": "Quota: Disk read IOPS / sec",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:disk_total_bytes_sec": {
|
||||
"description": "Sets disk I/O quota for total disk bytes / sec.",
|
||||
"title": "Quota: Disk Total Bytes / sec",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:disk_total_iops_sec": {
|
||||
"description": "Sets disk I/O quota for disk total IOPS / sec.",
|
||||
"title": "Quota: Disk Total IOPS / sec",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:disk_write_bytes_sec": {
|
||||
"description": "Sets disk I/O quota for disk write bytes / sec.",
|
||||
"title": "Quota: Disk Write Bytes / sec",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:disk_write_iops_sec": {
|
||||
"description": "Sets disk I/O quota for disk write IOPS / sec.",
|
||||
"title": "Quota: Disk Write IOPS / sec",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/Disk QoS"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-09-18T18:16:35Z",
|
||||
"description": "Bandwidth QoS tuning for instance virtual interfaces (VIFs) may be specified with these properties. Incoming and outgoing traffic can be shaped independently. If not specified, no quality of service (QoS) is applied on that traffic direction. So, if you want to shape only the network's incoming traffic, use inbound only (and vice versa). The OpenStack Networking service abstracts the physical implementation of the network, allowing plugins to configure and manage physical resources. Virtual Interfaces (VIF) in the logical model are analogous to physical network interface cards (NICs). VIFs are typically owned a managed by an external service; for instance when OpenStack Networking is used for building OpenStack networks, VIFs would be created, owned, and managed in Nova. VIFs are connected to OpenStack Networking networks via ports. A port is analogous to a port on a network switch, and it has an administrative state. When a VIF is attached to a port the OpenStack Networking API creates an attachment object, which specifies the fact that a VIF with a given identifier is plugged into the port.",
|
||||
"name": "Virtual Interface QoS",
|
||||
"properties": {
|
||||
"quota:vif_inbound_average": {
|
||||
"description": "Network Virtual Interface (VIF) inbound average in kilobytes per second. Specifies average bit rate on the interface being shaped.",
|
||||
"title": "Quota: VIF Inbound Average",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:vif_inbound_burst": {
|
||||
"description": "Network Virtual Interface (VIF) inbound burst in total kilobytes. Specifies the amount of bytes that can be burst at peak speed.",
|
||||
"title": "Quota: VIF Inbound Burst",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:vif_inbound_peak": {
|
||||
"description": "Network Virtual Interface (VIF) inbound peak in kilobytes per second. Specifies maximum rate at which an interface can receive data.",
|
||||
"title": "Quota: VIF Inbound Peak",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:vif_outbound_average": {
|
||||
"description": "Network Virtual Interface (VIF) outbound average in kilobytes per second. Specifies average bit rate on the interface being shaped.",
|
||||
"title": "Quota: VIF Outbound Average",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:vif_outbound_burst": {
|
||||
"description": "Network Virtual Interface (VIF) outbound burst in total kilobytes. Specifies the amount of bytes that can be burst at peak speed.",
|
||||
"title": "Quota: VIF Outbound Burst",
|
||||
"type": "integer"
|
||||
},
|
||||
"quota:vif_outbound_peak": {
|
||||
"description": "Network Virtual Interface (VIF) outbound peak in kilobytes per second. Specifies maximum rate at which an interface can send data.",
|
||||
"title": "Quota: VIF Outbound Burst",
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [],
|
||||
"schema": "/v2/schemas/metadefs/object",
|
||||
"self": "/v2/metadefs/namespaces/OS::Compute::Quota/objects/Virtual Interface QoS"
|
||||
}
|
||||
],
|
||||
"schema": "v2/schemas/metadefs/objects"
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
{
|
||||
"properties": {
|
||||
"hw_disk_bus": {
|
||||
"description": "Specifies the type of disk controller to attach disk devices to.",
|
||||
"enum": [
|
||||
"scsi",
|
||||
"virtio",
|
||||
"uml",
|
||||
"xen",
|
||||
"ide",
|
||||
"usb"
|
||||
],
|
||||
"title": "Disk Bus",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_machine_type": {
|
||||
"description": "Enables booting an ARM system using the specified machine type. By default, if an ARM image is used and its type is not specified, Compute uses vexpress-a15 (for ARMv7) or virt (for AArch64) machine types. Valid types can be viewed by using the virsh capabilities command (machine types are displayed in the machine tag).",
|
||||
"title": "Machine Type",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_qemu_guest_agent": {
|
||||
"description": "It is a daemon program running inside the domain which is supposed to help management applications with executing functions which need assistance of the guest OS. For example, freezing and thawing filesystems, entering suspend. However, guest agent (GA) is not bullet proof, and hostile guest OS can send spurious replies.",
|
||||
"enum": [
|
||||
"yes",
|
||||
"no"
|
||||
],
|
||||
"title": "QEMU Guest Agent",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_rng_model": {
|
||||
"default": "virtio",
|
||||
"description": "Adds a random-number generator device to the image's instances. The cloud administrator can enable and control device behavior by configuring the instance's flavor. By default: The generator device is disabled. /dev/random is used as the default entropy source. To specify a physical HW RNG device, use the following option in the nova.conf file: rng_dev_path=/dev/hwrng",
|
||||
"title": "Random Number Generator Device",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_scsi_model": {
|
||||
"default": "virtio-scsi",
|
||||
"description": "Enables the use of VirtIO SCSI (virtio-scsi) to provide block device access for compute instances; by default, instances use VirtIO Block (virtio-blk). VirtIO SCSI is a para-virtualized SCSI controller device that provides improved scalability and performance, and supports advanced SCSI hardware.",
|
||||
"title": "SCSI Model",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_video_model": {
|
||||
"description": "The video image driver used.",
|
||||
"enum": [
|
||||
"vga",
|
||||
"cirrus",
|
||||
"vmvga",
|
||||
"xen",
|
||||
"qxl"
|
||||
],
|
||||
"title": "Video Model",
|
||||
"type": "string"
|
||||
},
|
||||
"hw_video_ram": {
|
||||
"description": "Maximum RAM for the video image. Used only if a hw_video:ram_max_mb value has been set in the flavor's extra_specs and that value is higher than the value set in hw_video_ram.",
|
||||
"title": "Max Video Ram",
|
||||
"type": "integer"
|
||||
},
|
||||
"hw_vif_model": {
|
||||
"description": "Specifies the model of virtual network interface device to use. The valid options depend on the configured hypervisor. KVM and QEMU: e1000, ne2k_pci, pcnet, rtl8139, and virtio. VMware: e1000, e1000e, VirtualE1000, VirtualE1000e, VirtualPCNet32, VirtualSriovEthernetCard, and VirtualVmxnet. Xen: e1000, netfront, ne2k_pci, pcnet, and rtl8139.",
|
||||
"enum": [
|
||||
"e1000",
|
||||
"ne2k_pci",
|
||||
"pcnet",
|
||||
"rtl8139",
|
||||
"virtio",
|
||||
"e1000",
|
||||
"e1000e",
|
||||
"VirtualE1000",
|
||||
"VirtualE1000e",
|
||||
"VirtualPCNet32",
|
||||
"VirtualSriovEthernetCard",
|
||||
"VirtualVmxnet",
|
||||
"netfront",
|
||||
"ne2k_pci"
|
||||
],
|
||||
"title": "Virtual Network Interface",
|
||||
"type": "string"
|
||||
},
|
||||
"os_command_line": {
|
||||
"description": "The kernel command line to be used by the libvirt driver, instead of the default. For linux containers (LXC), the value is used as arguments for initialization. This key is valid only for Amazon kernel, ramdisk, or machine images (aki, ari, or ami).",
|
||||
"title": "Kernel Command Line",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"description": "The hypervisor type. It may be used by the host properties filter for scheduling. The ImagePropertiesFilter filters compute nodes that satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties. Image properties are contained in the image dictionary in the request_spec.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"name": "hypervisor_type",
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"description": "The hypervisor type. It may be used by the host properties filter for scheduling. The ImagePropertiesFilter filters compute nodes that satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties. Image properties are contained in the image dictionary in the request_spec.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"name": "hypervisor_type",
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"description": "The hypervisor type. It may be used by the host properties filter for scheduling. The ImagePropertiesFilter filters compute nodes that satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties. Image properties are contained in the image dictionary in the request_spec.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"name": "hypervisor_type",
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"description": "The hypervisor type. It may be used by the host properties filter for scheduling. The ImagePropertiesFilter filters compute nodes that satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties. Image properties are contained in the image dictionary in the request_spec.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"name": "hypervisor_type",
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
{
|
||||
"description": "The hypervisor type. It may be used by the host properties filter for scheduling. The ImagePropertiesFilter filters compute nodes that satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties. Image properties are contained in the image dictionary in the request_spec.",
|
||||
"enum": [
|
||||
"xen",
|
||||
"qemu",
|
||||
"kvm",
|
||||
"lxc",
|
||||
"uml",
|
||||
"vmware",
|
||||
"hyperv"
|
||||
],
|
||||
"name": "hypervisor_type",
|
||||
"title": "Hypervisor Type",
|
||||
"type": "string"
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
{
|
||||
"created_at": "2014-09-19T16:09:13Z",
|
||||
"name": "OS::Cinder::Volume",
|
||||
"prefix": "hw_",
|
||||
"properties_target": "image",
|
||||
"updated_at": "2014-09-19T16:09:13Z"
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"name": "OS::Cinder::Volume",
|
||||
"prefix": "hw_",
|
||||
"properties_target": "image"
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
{
|
||||
"resource_types": [
|
||||
{
|
||||
"created_at": "2014-08-28T18:13:04Z",
|
||||
"name": "OS::Glance::Image",
|
||||
"updated_at": "2014-08-28T18:13:04Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T18:13:04Z",
|
||||
"name": "OS::Cinder::Volume",
|
||||
"updated_at": "2014-08-28T18:13:04Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T18:13:04Z",
|
||||
"name": "OS::Nova::Flavor",
|
||||
"updated_at": "2014-08-28T18:13:04Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T18:13:04Z",
|
||||
"name": "OS::Nova::Aggregate",
|
||||
"updated_at": "2014-08-28T18:13:04Z"
|
||||
},
|
||||
{
|
||||
"created_at": "2014-08-28T18:13:04Z",
|
||||
"name": "OS::Nova::Instance",
|
||||
"updated_at": "2014-08-28T18:13:04Z"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"created_at": "2015-05-09T01:12:31Z",
|
||||
"name": "added-sample-tag",
|
||||
"updated_at": "2015-05-09T01:12:31Z"
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"created_at": "2015-05-06T23:16:12Z",
|
||||
"name": "sample-tag2",
|
||||
"updated_at": "2015-05-06T23:16:12Z"
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
{
|
||||
"name": "new-tag-name"
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"created_at": "2016-05-21T18:49:38Z",
|
||||
"name": "new-tag-name",
|
||||
"updated_at": "2016-05-21T19:04:22Z"
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"tags": [
|
||||
{
|
||||
"name": "sample-tag1"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag2"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag3"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"tags": [
|
||||
{
|
||||
"name": "sample-tag1"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag2"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag3"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
{
|
||||
"tags": [
|
||||
{
|
||||
"name": "sample-tag1"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag2"
|
||||
},
|
||||
{
|
||||
"name": "sample-tag3"
|
||||
}
|
||||
]
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
{
|
||||
"name": "member",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of image member creation",
|
||||
"type": "string"
|
||||
},
|
||||
"image_id": {
|
||||
"description": "An identifier for the image",
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": "string"
|
||||
},
|
||||
"member_id": {
|
||||
"description": "An identifier for the image member (tenantId)",
|
||||
"type": "string"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "The status of this image member",
|
||||
"enum": [
|
||||
"pending",
|
||||
"accepted",
|
||||
"rejected"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of last modification of image member",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
{
|
||||
"links": [
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "members",
|
||||
"properties": {
|
||||
"members": {
|
||||
"items": {
|
||||
"name": "member",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of image member creation",
|
||||
"type": "string"
|
||||
},
|
||||
"image_id": {
|
||||
"description": "An identifier for the image",
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": "string"
|
||||
},
|
||||
"member_id": {
|
||||
"description": "An identifier for the image member (tenantId)",
|
||||
"type": "string"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "The status of this image member",
|
||||
"enum": [
|
||||
"pending",
|
||||
"accepted",
|
||||
"rejected"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of last modification of image member",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,236 +0,0 @@
|
||||
{
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "{self}",
|
||||
"rel": "self"
|
||||
},
|
||||
{
|
||||
"href": "{file}",
|
||||
"rel": "enclosure"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "image",
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"description": "Operating system architecture as specified in https://docs.openstack.org/cli-reference/glance-property-keys.html",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"checksum": {
|
||||
"description": "md5 hash of image contents.",
|
||||
"maxLength": 32,
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"container_format": {
|
||||
"description": "Format of the container",
|
||||
"enum": [
|
||||
null,
|
||||
"ami",
|
||||
"ari",
|
||||
"aki",
|
||||
"bare",
|
||||
"ovf",
|
||||
"ova",
|
||||
"docker"
|
||||
],
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"created_at": {
|
||||
"description": "Date and time of image registration",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"direct_url": {
|
||||
"description": "URL to access the image file kept in external store",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"disk_format": {
|
||||
"description": "Format of the disk",
|
||||
"enum": [
|
||||
null,
|
||||
"ami",
|
||||
"ari",
|
||||
"aki",
|
||||
"vhd",
|
||||
"vhdx",
|
||||
"vmdk",
|
||||
"raw",
|
||||
"qcow2",
|
||||
"vdi",
|
||||
"iso",
|
||||
"ploop"
|
||||
],
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"file": {
|
||||
"description": "An image file url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "An identifier for the image",
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": "string"
|
||||
},
|
||||
"instance_uuid": {
|
||||
"description": "Metadata which can be used to record which instance this image is associated with. (Informational only, does not create an instance snapshot.)",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"kernel_id": {
|
||||
"description": "ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.",
|
||||
"is_base": false,
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"locations": {
|
||||
"description": "A set of URLs to access the image file kept in external store",
|
||||
"items": {
|
||||
"properties": {
|
||||
"metadata": {
|
||||
"type": "object"
|
||||
},
|
||||
"url": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"url",
|
||||
"metadata"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"min_disk": {
|
||||
"description": "Amount of disk space (in GB) required to boot image.",
|
||||
"type": "integer"
|
||||
},
|
||||
"min_ram": {
|
||||
"description": "Amount of ram (in MB) required to boot image.",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "Descriptive name for the image",
|
||||
"maxLength": 255,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"os_distro": {
|
||||
"description": "Common name of operating system distribution as specified in https://docs.openstack.org/cli-reference/glance-property-keys.html",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"os_version": {
|
||||
"description": "Operating system version as specified by the distributor",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"owner": {
|
||||
"description": "Owner of the image",
|
||||
"maxLength": 255,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"protected": {
|
||||
"description": "If true, image will not be deletable.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"ramdisk_id": {
|
||||
"description": "ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.",
|
||||
"is_base": false,
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"schema": {
|
||||
"description": "An image schema url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"description": "An image self url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"size": {
|
||||
"description": "Size of image file in bytes",
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the image",
|
||||
"enum": [
|
||||
"queued",
|
||||
"saving",
|
||||
"active",
|
||||
"killed",
|
||||
"deleted",
|
||||
"pending_delete",
|
||||
"deactivated"
|
||||
],
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"description": "List of strings related to the image",
|
||||
"items": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last image modification",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"virtual_size": {
|
||||
"description": "Virtual size of image in bytes",
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"visibility": {
|
||||
"description": "Scope of image accessibility",
|
||||
"enum": [
|
||||
"public",
|
||||
"private"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,267 +0,0 @@
|
||||
{
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "images",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"images": {
|
||||
"items": {
|
||||
"additionalProperties": {
|
||||
"type": "string"
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "{self}",
|
||||
"rel": "self"
|
||||
},
|
||||
{
|
||||
"href": "{file}",
|
||||
"rel": "enclosure"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "image",
|
||||
"properties": {
|
||||
"architecture": {
|
||||
"description": "Operating system architecture as specified in https://docs.openstack.org/cli-reference/glance-property-keys.html",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"checksum": {
|
||||
"description": "md5 hash of image contents.",
|
||||
"maxLength": 32,
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"container_format": {
|
||||
"description": "Format of the container",
|
||||
"enum": [
|
||||
null,
|
||||
"ami",
|
||||
"ari",
|
||||
"aki",
|
||||
"bare",
|
||||
"ovf",
|
||||
"ova",
|
||||
"docker"
|
||||
],
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"created_at": {
|
||||
"description": "Date and time of image registration",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"direct_url": {
|
||||
"description": "URL to access the image file kept in external store",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"disk_format": {
|
||||
"description": "Format of the disk",
|
||||
"enum": [
|
||||
null,
|
||||
"ami",
|
||||
"ari",
|
||||
"aki",
|
||||
"vhd",
|
||||
"vhdx",
|
||||
"vmdk",
|
||||
"raw",
|
||||
"qcow2",
|
||||
"vdi",
|
||||
"iso",
|
||||
"ploop"
|
||||
],
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"file": {
|
||||
"description": "An image file url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "An identifier for the image",
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": "string"
|
||||
},
|
||||
"instance_uuid": {
|
||||
"description": "Metadata which can be used to record which instance this image is associated with. (Informational only, does not create an instance snapshot.)",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"kernel_id": {
|
||||
"description": "ID of image stored in Glance that should be used as the kernel when booting an AMI-style image.",
|
||||
"is_base": false,
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"locations": {
|
||||
"description": "A set of URLs to access the image file kept in external store",
|
||||
"items": {
|
||||
"properties": {
|
||||
"metadata": {
|
||||
"type": "object"
|
||||
},
|
||||
"url": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"url",
|
||||
"metadata"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"min_disk": {
|
||||
"description": "Amount of disk space (in GB) required to boot image.",
|
||||
"type": "integer"
|
||||
},
|
||||
"min_ram": {
|
||||
"description": "Amount of ram (in MB) required to boot image.",
|
||||
"type": "integer"
|
||||
},
|
||||
"name": {
|
||||
"description": "Descriptive name for the image",
|
||||
"maxLength": 255,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"os_distro": {
|
||||
"description": "Common name of operating system distribution as specified in https://docs.openstack.org/cli-reference/glance-property-keys.html",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"os_version": {
|
||||
"description": "Operating system version as specified by the distributor",
|
||||
"is_base": false,
|
||||
"type": "string"
|
||||
},
|
||||
"owner": {
|
||||
"description": "Owner of the image",
|
||||
"maxLength": 255,
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"protected": {
|
||||
"description": "If true, image will not be deletable.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"ramdisk_id": {
|
||||
"description": "ID of image stored in Glance that should be used as the ramdisk when booting an AMI-style image.",
|
||||
"is_base": false,
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"schema": {
|
||||
"description": "An image schema url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"description": "An image self url",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"size": {
|
||||
"description": "Size of image file in bytes",
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"description": "Status of the image",
|
||||
"enum": [
|
||||
"queued",
|
||||
"saving",
|
||||
"active",
|
||||
"killed",
|
||||
"deleted",
|
||||
"pending_delete",
|
||||
"deactivated"
|
||||
],
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"description": "List of strings related to the image",
|
||||
"items": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last image modification",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"virtual_size": {
|
||||
"description": "Virtual size of image in bytes",
|
||||
"readOnly": true,
|
||||
"type": [
|
||||
"null",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
"visibility": {
|
||||
"description": "Scope of image accessibility",
|
||||
"enum": [
|
||||
"public",
|
||||
"private"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,234 +0,0 @@
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"additionalProperties": {
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"type"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"name": "namespace",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of namespace creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Provides a user friendly description of the namespace.",
|
||||
"maxLength": 500,
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
"description": "The user friendly name for the namespace. Used by UI if available.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"namespace": {
|
||||
"description": "The unique namespace text.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"objects": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"owner": {
|
||||
"description": "Owner of the namespace.",
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"protected": {
|
||||
"description": "If true, namespace will not be deletable.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"resource_type_associations": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"prefix": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties_target": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last namespace modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"visibility": {
|
||||
"description": "Scope of namespace accessibility.",
|
||||
"enum": [
|
||||
"public",
|
||||
"private"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"namespace"
|
||||
]
|
||||
}
|
@ -1,265 +0,0 @@
|
||||
{
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"additionalProperties": {
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"type"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "namespaces",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"namespaces": {
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"name": "namespace",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of namespace creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"description": "Provides a user friendly description of the namespace.",
|
||||
"maxLength": 500,
|
||||
"type": "string"
|
||||
},
|
||||
"display_name": {
|
||||
"description": "The user friendly name for the namespace. Used by UI if available.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"namespace": {
|
||||
"description": "The unique namespace text.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"objects": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"owner": {
|
||||
"description": "Owner of the namespace.",
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"protected": {
|
||||
"description": "If true, namespace will not be deletable.",
|
||||
"type": "boolean"
|
||||
},
|
||||
"resource_type_associations": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"prefix": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties_target": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"items": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last namespace modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"visibility": {
|
||||
"description": "Scope of namespace accessibility.",
|
||||
"enum": [
|
||||
"public",
|
||||
"private"
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"namespace"
|
||||
]
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,164 +0,0 @@
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"additionalProperties": {
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"type"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"name": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of object creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last object modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
}
|
@ -1,195 +0,0 @@
|
||||
{
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"property": {
|
||||
"additionalProperties": {
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"title",
|
||||
"type"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "objects",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"objects": {
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"name": "object",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of object creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"$ref": "#/definitions/property"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last object modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,152 +0,0 @@
|
||||
{
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "properties",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"properties": {
|
||||
"additionalProperties": {
|
||||
"additionalProperties": false,
|
||||
"name": "property",
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"title"
|
||||
]
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,122 +0,0 @@
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"definitions": {
|
||||
"positiveInteger": {
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"positiveIntegerDefault0": {
|
||||
"allOf": [
|
||||
{
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
{
|
||||
"default": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"stringArray": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array",
|
||||
"uniqueItems": true
|
||||
}
|
||||
},
|
||||
"name": "property",
|
||||
"properties": {
|
||||
"additionalItems": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"default": {},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"items": {
|
||||
"properties": {
|
||||
"enum": {
|
||||
"type": "array"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"maxItems": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maxLength": {
|
||||
"$ref": "#/definitions/positiveInteger"
|
||||
},
|
||||
"maximum": {
|
||||
"type": "number"
|
||||
},
|
||||
"minItems": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minLength": {
|
||||
"$ref": "#/definitions/positiveIntegerDefault0"
|
||||
},
|
||||
"minimum": {
|
||||
"type": "number"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"operators": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"pattern": {
|
||||
"format": "regex",
|
||||
"type": "string"
|
||||
},
|
||||
"readonly": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"required": {
|
||||
"$ref": "#/definitions/stringArray"
|
||||
},
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"enum": [
|
||||
"array",
|
||||
"boolean",
|
||||
"integer",
|
||||
"number",
|
||||
"object",
|
||||
"string",
|
||||
null
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"uniqueItems": {
|
||||
"default": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type",
|
||||
"title",
|
||||
"name"
|
||||
]
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"name": "resource_type_association",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of resource type association",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Resource type names should be aligned with Heat resource types whenever possible: http://docs.openstack.org/developer/heat/template_guide/openstack.html",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"prefix": {
|
||||
"description": "Specifies the prefix to use for the given resource type. Any properties in the namespace should be prefixed with this prefix when being applied to the specified resource type. Must include prefix separator (e.g. a colon :).",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"properties_target": {
|
||||
"description": "Some resource types allow more than one key / value pair per instance. For example, Cinder allows user and image metadata on volumes. Only the image properties metadata is evaluated by Nova (scheduling or drivers). This property allows a namespace target to remove the ambiguity.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last resource type association modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
{
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "resource_type_associations",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"resource_type_associations": {
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"name": "resource_type_association",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of resource type association",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "Resource type names should be aligned with Heat resource types whenever possible: http://docs.openstack.org/developer/heat/template_guide/openstack.html",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"prefix": {
|
||||
"description": "Specifies the prefix to use for the given resource type. Any properties in the namespace should be prefixed with this prefix when being applied to the specified resource type. Must include prefix separator (e.g. a colon :).",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"properties_target": {
|
||||
"description": "Some resource types allow more than one key / value pair per instance. For example, Cinder allows user and image metadata on volumes. Only the image properties metadata is evaluated by Nova (scheduling or drivers). This property allows a namespace target to remove the ambiguity.",
|
||||
"maxLength": 80,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last resource type association modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{
|
||||
"additionalProperties": false,
|
||||
"name": "tag",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of tag creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last tag modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
{
|
||||
"links": [
|
||||
{
|
||||
"href": "{first}",
|
||||
"rel": "first"
|
||||
},
|
||||
{
|
||||
"href": "{next}",
|
||||
"rel": "next"
|
||||
},
|
||||
{
|
||||
"href": "{schema}",
|
||||
"rel": "describedby"
|
||||
}
|
||||
],
|
||||
"name": "tags",
|
||||
"properties": {
|
||||
"first": {
|
||||
"type": "string"
|
||||
},
|
||||
"next": {
|
||||
"type": "string"
|
||||
},
|
||||
"schema": {
|
||||
"type": "string"
|
||||
},
|
||||
"tags": {
|
||||
"items": {
|
||||
"additionalProperties": false,
|
||||
"name": "tag",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Date and time of tag creation",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"maxLength": 255,
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Date and time of the last tag modification",
|
||||
"format": "date-time",
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
]
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
{
|
||||
"name": "task",
|
||||
"properties": {
|
||||
"created_at": {
|
||||
"description": "Datetime when this resource was created",
|
||||
"type": "string"
|
||||
},
|
||||
"expires_at": {
|
||||
"description": "Datetime when this resource would be subject to removal",
|
||||
"type": [
|
||||
"null",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
"id": {
|
||||
"description": "An identifier for the task",
|
||||
"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$",
|
||||
"type": "string"
|
||||
},
|
||||
"input": {
|
||||
"description": "The parameters required by task, JSON blob",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"message": {
|
||||
"description": "Human-readable informative message only included when appropriate (usually on failure)",
|
||||
"type": "string"
|
||||
},
|
||||
"owner": {
|
||||
"description": "An identifier for the owner of this task",
|
||||
"type": "string"
|
||||
},
|
||||
"result": {
|
||||
"description": "The result of current task, JSON blob",
|
||||
"type": [
|
||||
"null",
|
||||
"object"
|
||||
]
|
||||
},
|
||||
"schema": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"self": {
|
||||
"readOnly": true,
|
||||
"type": "string"
|
||||
},
|
||||
"status": {
|
||||
"description": "The current status of this task",
|
||||
"enum": [
|
||||
"pending",
|
||||
"processing",
|
||||
"success",
|
||||
"failure"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"type": {
|
||||
"description": "The type of task represented by this content",
|
||||
"enum": [
|
||||
"import"
|
||||
],
|
||||
"type": "string"
|
||||
},
|
||||
"updated_at": {
|
||||
"description": "Datetime when this resource was updated",
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user