api-site/api-ref/source/image/v2/metadefs-namespaces-objects-v2.inc
Anne Gentle ac4cc65cb5 Adds migrated RST + YAML files from WADL
Contains .inc files which have all the contents of the .rst files
but are grouped together for easier editing.
Contains parameters.yaml, which has all parameters in one file.
Contains request and response samples (JSON and XML) that are
pointed to from the .inc files.

Change-Id: I42d5451300f95774a3ec4df66bc95cb36795844d
2016-05-02 17:42:49 -05:00

237 lines
4.9 KiB
ReStructuredText

.. -*- rst -*-
============================================================================
Metadata definition objects (since API v2.0) (metadefs, namespaces, objects)
============================================================================
Creates, lists, shows details for, updates, and deletes metadata
definition objects.
Show object definition
======================
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_id}/objects/{object_name}
Shows the definition for an object.
The response body shows a single object entity.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- object_name: object_name
- namespace_id: namespace_id
Response Example
----------------
.. literalinclude:: ../samples/metadef-object-details-response.json
:language: javascript
Update object definition
========================
.. rest_method:: PUT /v2/metadefs/namespaces/{namespace_id}/objects/{object_name}
Updates an object definition in a namespace.
Normal response codes: 200
Error response codes:
Request
-------
.. rest_parameters:: parameters.yaml
- object_name: object_name
- namespace_id: namespace_id
Request Example
---------------
.. literalinclude:: ../samples/metadef-object-update-request.json
:language: javascript
Response Example
----------------
.. literalinclude:: ../samples/metadef-object-update-response.json
:language: javascript
Delete property definition
==========================
.. rest_method:: DELETE /v2/metadefs/namespaces/{namespace_id}/objects/{object_name}
Deletes an object definition from a namespace.
To delete a protected object from a namespace, you must first set
the ``protected`` attribute to false (boolean) on the namespace and
then perform the delete. If you try to delete a protected object,
the call returns the ``403`` response code.
When you successfully delete an object from a namespace, the
response is empty and the response code is ``204``.
Error response codes:403,204,
Request
-------
.. rest_parameters:: parameters.yaml
- object_name: object_name
- namespace_id: namespace_id
Create object
=============
.. rest_method:: POST /v2/metadefs/namespaces/{namespace_id}/objects
Creates an object definition in a namespace.
Error response codes:201,
Request
-------
.. rest_parameters:: parameters.yaml
- display_name: display_name
- description: description
- objects: objects
- namespace: namespace
- visibility: visibility
- protected: protected
- resource_type_associations: resource_type_associations
- properties: properties
- namespace_id: namespace_id
Request Example
---------------
.. literalinclude:: ../samples/metadef-object-create-request.json
:language: javascript
Response Parameters
-------------------
.. rest_parameters:: parameters.yaml
- display_name: display_name
- description: description
- objects: objects
- namespace: namespace
- visibility: visibility
- protected: protected
- resource_type_associations: resource_type_associations
- properties: properties
List object definitions
=======================
.. rest_method:: GET /v2/metadefs/namespaces/{namespace_id}/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:
Request
-------
.. rest_parameters:: parameters.yaml
- namespace_id: namespace_id
- visibility: visibility
- resource_types: resource_types
- sort_key: sort_key
- sort_dir: sort_dir
Response Parameters
-------------------
.. rest_parameters:: 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: javascript