Merge "API documentation"
This commit is contained in:
commit
39543011e2
228
README.rst
228
README.rst
@ -62,3 +62,231 @@ The ``fuel2`` CLI commands groups are the following:
|
|||||||
resource values
|
resource values
|
||||||
- ``config override``, ``config rm override`` - operations for resource values
|
- ``config override``, ``config rm override`` - operations for resource values
|
||||||
overrides
|
overrides
|
||||||
|
|
||||||
|
API
|
||||||
|
---
|
||||||
|
|
||||||
|
For all operations authentication is required. Auth token should be passed in
|
||||||
|
the X-Auth-Token HTTP header. Tuning Box installed as a Fuel Nailgun extension
|
||||||
|
thus base API URL is placed at ``http://MASTER_NODE_IP:8000/api/v1/config``
|
||||||
|
All operations URLs should be concatenated with the base API URL.
|
||||||
|
|
||||||
|
Environments operations
|
||||||
|
=======================
|
||||||
|
|
||||||
|
URL: ``/environments``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) list environments
|
||||||
|
- (POST) create environment
|
||||||
|
|
||||||
|
For environment creation POST:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
{
|
||||||
|
'hierarchy_levels': [
|
||||||
|
# list of hierarchy levels
|
||||||
|
],
|
||||||
|
'components': [
|
||||||
|
# list of components ids
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Environment operations
|
||||||
|
======================
|
||||||
|
|
||||||
|
URL: ``/environments/<int:component_id>``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get environment
|
||||||
|
- (PUT/PATCH) update environment
|
||||||
|
- (DELETE) delete environment
|
||||||
|
|
||||||
|
Components operations
|
||||||
|
=====================
|
||||||
|
|
||||||
|
URL: ``/components``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) list components
|
||||||
|
- (POST) create component
|
||||||
|
|
||||||
|
For component creation POST:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
{
|
||||||
|
'name': str,
|
||||||
|
'resource_definitions': [
|
||||||
|
{
|
||||||
|
'name': str, 'content': str
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Component operations
|
||||||
|
====================
|
||||||
|
|
||||||
|
URL: ``/components/<int:component_id>``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get component
|
||||||
|
- (PUT/PATCH) update component
|
||||||
|
- (DELETE) delete component
|
||||||
|
|
||||||
|
Hierarchy levels operations
|
||||||
|
===========================
|
||||||
|
|
||||||
|
URL: ``/environments/<int:environment_id>/hierarchy_levels``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) list environment hierarchy levels
|
||||||
|
|
||||||
|
Hierarchy levels modifications performed via environment
|
||||||
|
modifications.
|
||||||
|
|
||||||
|
Hierarchy level operations
|
||||||
|
==========================
|
||||||
|
|
||||||
|
URL: ``/environments/<int:component_id>/<string:level>``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get hierarchy level
|
||||||
|
|
||||||
|
.. _`keys operations`:
|
||||||
|
|
||||||
|
Keys operations
|
||||||
|
===============
|
||||||
|
|
||||||
|
For performing keys operation send PATCH request to the appropriate URL. As data use
|
||||||
|
list of keys written in the order of access. For instance you have the following data:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
{
|
||||||
|
'k0': {
|
||||||
|
'k1': 'val01',
|
||||||
|
'k2': 'val02,
|
||||||
|
'k3': [{'k4': 'val030'}]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
For access to the val02 key path will be: ['k0', 'k2']
|
||||||
|
If you want to modify value add required value to the keys path. For instance, if you
|
||||||
|
want change 'val02' to 'val02_new' key paths will be: ['k0', 'k2', 'val02_new']
|
||||||
|
|
||||||
|
If you want to delete 'k4' key use key path ['k0', 'k3', 0, 'k4']
|
||||||
|
|
||||||
|
Key operations work only in batch mode, so you should pass list of keys paths to the
|
||||||
|
appropriate API handler::
|
||||||
|
|
||||||
|
[['k0', 'k1', 'val01_new'], ['k0', 'k2', 'val02_new']]
|
||||||
|
|
||||||
|
For adding new key 'new_k' to the data you should send the following keys paths::
|
||||||
|
|
||||||
|
[['new_k', 'new_val']]
|
||||||
|
|
||||||
|
Resource definitions operations
|
||||||
|
===============================
|
||||||
|
|
||||||
|
URL: ``/resource_definitions``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) list resource definitions
|
||||||
|
- (POST) create resource definition
|
||||||
|
|
||||||
|
For resource definition creation POST:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
{
|
||||||
|
'name': str,
|
||||||
|
'component_id': int,
|
||||||
|
'content': str
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Resource definition operations
|
||||||
|
==============================
|
||||||
|
|
||||||
|
URL: ``/resource_definitions/<int:resource_definition_id>``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get resource definition
|
||||||
|
- (PUT/PATCH) update resource definition
|
||||||
|
- (DELETE) delete resource definition
|
||||||
|
|
||||||
|
Resource definition keys operations
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Operations with keys modifies resource definition content only.
|
||||||
|
These operations supports nested keys. For details see: `keys operations`_.
|
||||||
|
|
||||||
|
URL: ``/resource_definitions/<int:resource_definition_id>/keys/<keys_operation:operation>``
|
||||||
|
Handled keys operations:
|
||||||
|
|
||||||
|
- get resource value key
|
||||||
|
- update resource definition key
|
||||||
|
- delete resource definition key
|
||||||
|
|
||||||
|
Resource values operations
|
||||||
|
==========================
|
||||||
|
|
||||||
|
URL: ``/environments/<int:environment_id>/<levels:levels>resources/<id_or_name:resource_id_or_name>/values``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get resource value
|
||||||
|
- (PUT) create/update resource value
|
||||||
|
|
||||||
|
For resource value creation set PUT HTTP request with data as workload.
|
||||||
|
This data will be stored to the resource values bound to the appropriate
|
||||||
|
level value.
|
||||||
|
|
||||||
|
For merging data from all levels specify 'effective' parameter for GET
|
||||||
|
HTTP request.
|
||||||
|
|
||||||
|
For tracing the level from which data is got specify 'show_lookup'
|
||||||
|
parameter for the GET HTTP request. Lookup has sense only if you are
|
||||||
|
fetching the effective values.
|
||||||
|
|
||||||
|
Resource values keys operations
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Operations with keys modifies resource values only.
|
||||||
|
These operations supports nested keys. For details see: `keys operations`_.
|
||||||
|
|
||||||
|
URL: ``/environments/<int:environment_id>/<levels:levels>resources/<id_or_name:resource_id_or_name>/values/keys/<keys_operation:operation>``
|
||||||
|
Handled keys operations:
|
||||||
|
|
||||||
|
- get resource values key
|
||||||
|
- update resource values key
|
||||||
|
- delete resource values key
|
||||||
|
|
||||||
|
Resource overrides operations
|
||||||
|
=============================
|
||||||
|
|
||||||
|
URL: ``/environments/<int:environment_id>/<levels:levels>resources/<id_or_name:resource_id_or_name>/overrides``
|
||||||
|
Operations:
|
||||||
|
|
||||||
|
- (GET) get resource overrides
|
||||||
|
- (PUT) create/update resource overrides
|
||||||
|
|
||||||
|
For resource value creation set PUT HTTP request with data as workload.
|
||||||
|
This data will be stored to the resource override bound to the appropriate
|
||||||
|
level value.
|
||||||
|
|
||||||
|
Resource values keys operations
|
||||||
|
===============================
|
||||||
|
|
||||||
|
Operations with keys modifies resource overrides only.
|
||||||
|
These operations supports nested keys. For details see: `keys operations`_.
|
||||||
|
|
||||||
|
URL: ``/environments/<int:environment_id>/<levels:levels>resources/<id_or_name:resource_id_or_name>/overrides/keys/<keys_operation:operation>``
|
||||||
|
Handled keys operations:
|
||||||
|
|
||||||
|
- get resource value key
|
||||||
|
- update resource value key
|
||||||
|
- delete resource value key
|
||||||
|
Loading…
x
Reference in New Issue
Block a user