6f8cda2f39
Heading for json response example is wrong, it is json request instead of json response. Part of bp:api-ref-in-rst Change-Id: I709b2bf19520eb76e0264c358a2146bb0dbcee2b
269 lines
6.2 KiB
ReStructuredText
269 lines
6.2 KiB
ReStructuredText
.. -*- rst -*-
|
|
|
|
=========================================
|
|
Host aggregates (os-aggregates, action)
|
|
=========================================
|
|
|
|
Creates and manages host aggregates. An aggregate assigns metadata to
|
|
groups of compute nodes. Aggregates are only visible to the cloud
|
|
provider.
|
|
|
|
Create Aggregate
|
|
================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/os-aggregates
|
|
|
|
Creates an aggregate in an availability zone.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
|
|
**Example Create Aggregate: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-create-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Create Aggregate: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-create-resp.json
|
|
:language: javascript
|
|
|
|
List Aggregates
|
|
===============
|
|
|
|
.. rest_method:: GET /v2.1/{tenant_id}/os-aggregates
|
|
|
|
Lists all aggregates. Includes the ID, name, and availability zone for each aggregate.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
|
|
**Example List Aggregates: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-create-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example List Aggregates: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregates-list-resp.json
|
|
:language: javascript
|
|
|
|
Show Aggregate Details
|
|
======================
|
|
|
|
.. rest_method:: GET /v2.1/{tenant_id}/os-aggregates/{aggregate_id}
|
|
|
|
Shows details for an aggregate. Details include hosts and metadata.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
**Example Show Aggregate Details: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-create-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Show Aggregate Details: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-show-resp.json
|
|
:language: javascript
|
|
|
|
Delete Aggregate
|
|
================
|
|
|
|
.. rest_method:: DELETE /v2.1/{tenant_id}/os-aggregates/{aggregate_id}
|
|
|
|
Deletes an aggregate.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
Response
|
|
--------
|
|
|
|
Update Aggregate
|
|
================
|
|
|
|
.. rest_method:: PUT /v2.1/{tenant_id}/os-aggregates/{aggregate_id}
|
|
|
|
Updates either or both the name and availability zone for an aggregate.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
**Example Update Aggregate: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-update-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Update Aggregate: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-update-resp.json
|
|
:language: javascript
|
|
|
|
Add Host
|
|
========
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/os-aggregates/{aggregate_id}/action
|
|
|
|
Adds a host to an aggregate.
|
|
|
|
Specify the ``add_host`` action in the request body.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
**Example Add Host: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-add-host-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Add Host: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-add-host-resp.json
|
|
:language: javascript
|
|
|
|
Create Or Update Aggregate Metadata
|
|
===================================
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/os-aggregates/{aggregate_id}/action
|
|
|
|
Creates or replaces metadata for an aggregate.
|
|
|
|
Specify the ``set_metadata`` action in the request body.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
**Example Create Or Update Aggregate Metadata: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-metadata-create-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Create Or Update Aggregate Metadata: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-metadata-create-resp.json
|
|
:language: javascript
|
|
|
|
Remove Host
|
|
===========
|
|
|
|
.. rest_method:: POST /v2.1/{tenant_id}/os-aggregates/{aggregate_id}/action
|
|
|
|
Removes a host from an aggregate.
|
|
|
|
Specify the ``remove_host`` action in the request body.
|
|
|
|
Normal response codes: 200
|
|
|
|
Error response codes: computeFault(400, 500), serviceUnavailable(503), badRequest(400),
|
|
unauthorized(401), forbidden(403), badMethod(405), itemNotFound(404)
|
|
|
|
Request
|
|
-------
|
|
|
|
.. rest_parameters:: parameters.yaml
|
|
|
|
- tenant_id: tenant_id
|
|
- aggregate_id: aggregate_id
|
|
|
|
**Example Remove Host: JSON request**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-remove-host-req.json
|
|
:language: javascript
|
|
|
|
Response
|
|
--------
|
|
|
|
**Example Remove Host: JSON response**
|
|
|
|
.. literalinclude:: ../../doc/api_samples/os-aggregates/aggregate-remove-host-resp.json
|
|
:language: javascript
|
|
|