nova/placement-api-ref/source/resource_providers.inc
Eric Fried 558540a27c rp: GET /resource_providers?required=<traits>
Introduce placement microversion 1.18 with a new ?required=<trait list>
query parameter accepted on the GET /resource_providers API.  Results
are filtered by providers possessing *all* of the specified traits.
Empty/invalid traits result in 400 errors.

Change-Id: I8191c9a390cb02b2a38a3f1c6e29457435994981
blueprint: traits-on-list-resource-providers
2018-02-23 12:08:32 -06:00

91 lines
2.2 KiB
PHP

==================
Resource Providers
==================
Resource providers are entities which provide consumable inventory of one or
more classes of resource (such as disk or memory). They can be listed (with
filters), created, updated and deleted.
List resource providers
=======================
.. rest_method:: GET /resource_providers
List an optionally filtered collection of resource providers.
Normal Response Codes: 200
Request
-------
Several query parameters are available to filter the returned list of
resource providers. If multiple different parameters are provided, the results
of all filters are merged with a boolean `AND`.
.. rest_parameters:: parameters.yaml
- name: resource_provider_name_query
- uuid: resource_provider_uuid_query
- member_of: member_of
- resources: resources_query
- required: resource_provider_required_query
- in_tree: resource_provider_tree_query
Response
--------
.. rest_parameters:: parameters.yaml
- resource_providers: resource_providers
- generation: resource_provider_generation
- uuid: resource_provider_uuid
- links: resource_provider_links
- name: resource_provider_name
- parent_provider_uuid: resource_provider_parent_provider_uuid_required
- root_provider_uuid: resource_provider_root_provider_uuid_required
Response Example
----------------
.. literalinclude:: ./samples/resource_providers/get-resource_providers.json
:language: javascript
Create resource provider
========================
.. rest_method:: POST /resource_providers
Create a new resource provider.
Normal Response Codes: 201
Error response codes: conflict(409)
A `409 Conflict` response code will
be returned if another resource provider exists with the provided name
or uuid.
Request
-------
.. rest_parameters:: parameters.yaml
- name: resource_provider_name
- uuid: resource_provider_uuid_opt
- parent_provider_uuid: resource_provider_parent_provider_uuid
Request example
---------------
.. literalinclude:: ./samples/resource_providers/create-resource_providers-request.json
:language: javascript
Response
--------
.. rest_parameters:: parameters.yaml
- Location: location
No body content is returned on a successful POST.