CloudKitty REST API (v1)¶
Collector¶
- GET /v1/collector¶
- Unused function, hack to let pecan route requests to subcontrollers. 
- GET /v1/collector/mappings¶
- Return the list of every services mapped to a collector. - Parameters
- collector ( - str) – Filter on the collector name.
 
- Return
- Service to collector mappings collection. 
- Return type
 
- GET /v1/collector/mappings/(service)¶
- Return a service to collector mapping. - Parameters
- service ( - str) – Name of the service to filter on.
 
- Return type
 
- POST /v1/collector/mappings¶
- Create a service to collector mapping. - Parameters
- collector ( - str) – Name of the collector to apply mapping on.
- service ( - str) – Name of the service to apply mapping on.
 
- Return type
 
- DELETE /v1/collector/mappings¶
- Delete a service to collector mapping. - Parameters
- service ( - str) – Name of the service to filter on.
 
 
- GET /v1/collector/states¶
- Query the enable state of a collector. - Parameters
- name ( - str) – Name of the collector.
 
- Return
- State of the collector. 
- Return type
 
- PUT /v1/collector/states¶
- Set the enable state of a collector. - Parameters
- name ( - str) – Name of the collector.
- infos ( - CollectorInfos) – New state informations of the collector.
 
- Return
- State of the collector. 
- Return type
 
- type CollectorInfos¶
- Type describing a collector module. - Data samples: - Json
- { "enabled": true, "name": "gnocchi" } 
- XML
- b'<value>\n <name>gnocchi</name>\n <enabled>true</enabled>\n</value>' 
 - enabled¶
- State of the collector. 
 - name¶
- Name of the collector. 
 
- type ServiceToCollectorMapping¶
- Type describing a service to collector mapping. - Data samples: - Json
- { "collector": "gnocchi", "service": "compute" } 
- XML
- b'<value>\n <service>compute</service>\n <collector>gnocchi</collector>\n</value>' 
 - collector¶
- Name of the collector. 
 - service¶
- Name of the service. 
 
- type ServiceToCollectorMappingCollection¶
- Type describing a service to collector mapping collection. - Data samples: - Json
- { "mappings": [ { "collector": "gnocchi", "service": "compute" } ] } 
- XML
- b'<value>\n <mappings>\n <item>\n <service>compute</service>\n <collector>gnocchi</collector>\n </item>\n </mappings>\n</value>' 
 - mappings¶
- List of service to collector mappings. 
 
Info¶
- GET /v1/info/config¶
- Return current configuration. - Return type
- dict( - str:- None)
 
- GET /v1/info/metric¶
- Get the metric list. - Return
- List of every metrics. 
- Return type
 
- GET /v1/info/metric/(metric_name)¶
- Return a metric. - Parameters
- metric_name ( - str) – name of the metric.
 
- Return type
 
- type CloudkittyMetricInfo¶
- Type describing a metric info in CloudKitty. - Data samples: - Json
- { "metadata": [ "resource_id", "project_id", "qty", "unit" ], "metric_id": "image.size", "unit": "MiB" } 
- XML
- b'<value>\n <metric_id>image.size</metric_id>\n <metadata>\n <item>resource_id</item>\n <item>project_id</item>\n <item>qty</item>\n <item>unit</item>\n </metadata>\n <unit>MiB</unit>\n</value>' 
 - metadata¶
- List of metric metadata 
 - metric_id¶
- Name of the metric. 
 - unit¶
- Metric unit 
 
- type CloudkittyMetricInfoCollection¶
- A list of CloudKittyMetricInfo. - Data samples: - Json
- { "metrics": [ { "metadata": [ "resource_id", "project_id", "qty", "unit" ], "metric_id": "image.size", "unit": "MiB" } ] } 
- XML
- b'<value>\n <metrics>\n <item>\n <metric_id>image.size</metric_id>\n <metadata>\n <item>resource_id</item>\n <item>project_id</item>\n <item>qty</item>\n <item>unit</item>\n </metadata>\n <unit>MiB</unit>\n </item>\n </metrics>\n</value>' 
 
- GET /v1/info/service¶
- Get the service list (deprecated). - Return
- List of every services. 
- Return type
 
- GET /v1/info/service/(service_name)¶
- Return a service (deprecated). - Parameters
- service_name ( - str) – name of the service.
 
- Return type
 
Rating¶
- GET /v1/rating/modules¶
- return the list of loaded modules. - Return
- name of every loaded modules. 
- Return type
 
- GET /v1/rating/modules/(module_id)¶
- return a module - Return
- CloudKittyModule 
- Return type
 
- PUT /v1/rating/modules¶
- Change the state and priority of a module. - Parameters
- module_id ( - str) – name of the module to modify
- module ( - CloudkittyModule) – CloudKittyModule object describing the new desired state
 
- Return type
 
- POST /v1/rating/quote¶
- Get an instant quote based on multiple resource descriptions. - Parameters
- res_data ( - CloudkittyResourceCollection) – List of resource descriptions.
 
- Return
- Total price for these descriptions. 
- Return type
- float
 
- GET /v1/rating/reload_modules¶
- Trigger a rating module list reload. 
- type CloudkittyModule¶
- A rating extension summary - Data samples: - Json
- { "description": "Sample extension.", "enabled": true, "hot-config": false, "priority": 2 } 
- XML
- b'<value>\n <description>Sample extension.</description>\n <enabled>true</enabled>\n <hot-config>false</hot-config>\n <priority>2</priority>\n</value>' 
 - description¶
- Short description of the extension. 
 - enabled¶
- Extension status. 
 - hot_config¶
- On-the-fly configuration support. 
 - module_id¶
- Name of the extension. 
 - priority¶
- Priority of the extension. 
 
- type CloudkittyModuleCollection¶
- A list of rating extensions. - Data samples: - Json
- {}
- XML
- b'<value />' 
 
- type CloudkittyResource¶
- Type describing a resource in CloudKitty. - Data samples: - Json
- { "desc": { "image_id": "a41fba37-2429-4f15-aa00-b5bc4bf557bf" }, "service": "compute", "volume": "1" } 
- XML
- b'<value>\n <service>compute</service>\n <desc>\n <item>\n <key>image_id</key>\n <value>a41fba37-2429-4f15-aa00-b5bc4bf557bf</value>\n </item>\n </desc>\n <volume>1</volume>\n</value>' 
 - desc¶
- Description of the resources parameters. 
 - service¶
- Name of the service. 
 - volume¶
- Volume of resources. 
 
- type CloudkittyResourceCollection¶
- A list of CloudKittyResources. - Data samples: - Json
- {}
- XML
- b'<value />' 
 
Report¶
- GET /v1/report/summary¶
- Return the summary to pay for a given period. - Return type
- SummaryCollectionModel
 
- GET /v1/report/tenants¶
- Return the list of rated tenants. - Return type
- list( - str)
 
- GET /v1/report/total¶
- Return the amount to pay for a given period. - Return type
- Decimal
 
Storage¶
- GET /v1/storage/dataframes¶
- Return a list of rated resources for a time period and a tenant. - Parameters
- begin ( - datetime) – Start of the period
- end ( - datetime) – End of the period
- tenant_id ( - str) – UUID of the tenant to filter on.
- resource_type ( - str) – Type of the resource to filter on.
 
- Return
- Collection of DataFrame objects. 
- Return type
 
- type RatedResource¶
- Represents a rated CloudKitty resource. - Data samples: - Json
- { "desc": { "flavor": "m1.tiny", "vcpus": "1" }, "rating": "1.0", "service": "compute", "volume": "1.0" } 
- XML
- b'<value>\n <rating>1.0</rating>\n <service>compute</service>\n <desc>\n <item>\n <key>flavor</key>\n <value>m1.tiny</value>\n </item>\n <item>\n <key>vcpus</key>\n <value>1</value>\n </item>\n </desc>\n <volume>1.0</volume>\n</value>' 
 
- type DataFrame¶
- Type describing a stored data frame. - Data samples: - Json
- { "begin": "2015-04-22T07:00:00", "end": "2015-04-22T08:00:00", "resources": [ { "desc": { "flavor": "m1.tiny", "vcpus": "1" }, "rating": "1.0", "service": "compute", "volume": "1.0" } ], "tenant_id": "69d12143688f413cbf5c3cfe03ed0a12" } 
- XML
- b'<value>\n <begin>2015-04-22T07:00:00</begin>\n <end>2015-04-22T08:00:00</end>\n <tenant_id>69d12143688f413cbf5c3cfe03ed0a12</tenant_id>\n <resources>\n <item>\n <rating>1.0</rating>\n <service>compute</service>\n <desc>\n <item>\n <key>flavor</key>\n <value>m1.tiny</value>\n </item>\n <item>\n <key>vcpus</key>\n <value>1</value>\n </item>\n </desc>\n <volume>1.0</volume>\n </item>\n </resources>\n</value>' 
 - begin¶
- Begin date for the sample. 
 - end¶
- End date for the sample. 
 - resources¶
- A resource list. 
 - tenant_id¶
- Tenant owner of the sample. 
 
- type DataFrameCollection¶
- A list of stored data frames. - Data samples: - Json
- { "dataframes": [ { "begin": "2015-04-22T07:00:00", "end": "2015-04-22T08:00:00", "resources": [ { "desc": { "flavor": "m1.tiny", "vcpus": "1" }, "rating": "1.0", "service": "compute", "volume": "1.0" } ], "tenant_id": "69d12143688f413cbf5c3cfe03ed0a12" } ] } 
- XML
- b'<value>\n <dataframes>\n <item>\n <begin>2015-04-22T07:00:00</begin>\n <end>2015-04-22T08:00:00</end>\n <tenant_id>69d12143688f413cbf5c3cfe03ed0a12</tenant_id>\n <resources>\n <item>\n <rating>1.0</rating>\n <service>compute</service>\n <desc>\n <item>\n <key>flavor</key>\n <value>m1.tiny</value>\n </item>\n <item>\n <key>vcpus</key>\n <value>1</value>\n </item>\n </desc>\n <volume>1.0</volume>\n </item>\n </resources>\n </item>\n </dataframes>\n</value>' 
 
