Files
cloudkitty/doc/source/webapi/v1.rst
Maxime Cottret 671fbb9fe3 Improve User Experience by adding an info REST entrypoint
This patch allow the user to query the API in order to:

* Get current collector configuration (period, services, etc)
* Get collected metadata list for a given service (using currently
  configured collector)

For this, the following work have been made:

* Each transformer can now export available metadata for a given
  resource (using a FakeData object and the strip_resource_data method)
* Each collector can now export information for a given resource
  about metadata (using associated transformer) and unit
* A new REST controller 'info' provides API entrypoints to those
  information:
  * configuration with GET /v1/info/config
  * all active services information with GET /v1/info/services
  * given active service information with GET /v1/info/services/SERVICE

Change-Id: I02b1bc5709371785748661b63c5e6f0705ce891b
Implements: blueprint user-experience-improvement (PARTIAL)
2017-01-09 08:51:42 +01:00

92 lines
2.4 KiB
ReStructuredText

========================
CloudKitty REST API (v1)
========================
Collector
=========
.. rest-controller:: cloudkitty.api.v1.controllers.collector:CollectorController
:webprefix: /v1/collector
.. rest-controller:: cloudkitty.api.v1.controllers.collector:MappingController
:webprefix: /v1/collector/mappings
.. rest-controller:: cloudkitty.api.v1.controllers.collector:CollectorStateController
:webprefix: /v1/collector/states
.. autotype:: cloudkitty.api.v1.datamodels.collector.CollectorInfos
:members:
.. autotype:: cloudkitty.api.v1.datamodels.collector.ServiceToCollectorMapping
:members:
.. autotype:: cloudkitty.api.v1.datamodels.collector.ServiceToCollectorMappingCollection
:members:
Info
====
.. rest-controller:: cloudkitty.api.v1.controllers.info:InfoController
:webprefix: /v1/info
.. rest-controller:: cloudkitty.api.v1.controllers.info:ServiceInfoController
:webprefix: /v1/info/services
.. autotype:: cloudkitty.api.v1.datamodels.info.CloudkittyServiceInfo
:members:
.. autotype:: cloudkitty.api.v1.datamodels.info.CloudkittyServiceInfoCollection
:members:
Rating
======
.. rest-controller:: cloudkitty.api.v1.controllers.rating:ModulesController
:webprefix: /v1/rating/modules
.. rest-controller:: cloudkitty.api.v1.controllers.rating:ModulesExposer
:webprefix: /v1/rating/module_config
.. rest-controller:: cloudkitty.api.v1.controllers.rating:RatingController
:webprefix: /v1/rating
.. autotype:: cloudkitty.api.v1.datamodels.rating.CloudkittyModule
:members:
.. autotype:: cloudkitty.api.v1.datamodels.rating.CloudkittyModuleCollection
:members:
.. autotype:: cloudkitty.api.v1.datamodels.rating.CloudkittyResource
:members:
.. autotype:: cloudkitty.api.v1.datamodels.rating.CloudkittyResourceCollection
:members:
Report
======
.. rest-controller:: cloudkitty.api.v1.controllers.report:ReportController
:webprefix: /v1/report
Storage
=======
.. rest-controller:: cloudkitty.api.v1.controllers.storage:StorageController
:webprefix: /v1/storage
.. rest-controller:: cloudkitty.api.v1.controllers.storage:DataFramesController
:webprefix: /v1/storage/dataframes
.. autotype:: cloudkitty.api.v1.datamodels.storage.RatedResource
:members:
.. autotype:: cloudkitty.api.v1.datamodels.storage.DataFrame
:members:
.. autotype:: cloudkitty.api.v1.datamodels.storage.DataFrameCollection
:members: