149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. -*- rst -*-
 | 
						|
 | 
						|
========================================
 | 
						|
 Usage reports (os-simple-tenant-usage)
 | 
						|
========================================
 | 
						|
 | 
						|
Reports usage statistics of compute and storage resources periodically
 | 
						|
for an individual tenant or all tenants. The usage statistics will include
 | 
						|
all instances' CPU, memory and local disk during a specific period.
 | 
						|
 | 
						|
Microversion 2.40 added pagination (and ``next`` links) to the usage
 | 
						|
statistics via optional ``limit`` and ``marker`` query parameters. If
 | 
						|
``limit`` isn't provided, the configurable ``max_limit`` will be used which
 | 
						|
currently defaults to 1000. Older microversions will not accept these new
 | 
						|
paging query parameters, but they will start to silently limit by
 | 
						|
``max_limit``.
 | 
						|
 | 
						|
.. code-block:: none
 | 
						|
 | 
						|
    /os-simple-tenant-usage?limit={limit}&marker={instance_uuid}
 | 
						|
    /os-simple-tenant-usage/{tenant_id}?limit={limit}&marker={instance_uuid}
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   A tenant's usage statistics may span multiple pages when the number of
 | 
						|
   instances exceeds ``limit``, and API consumers will need to stitch together
 | 
						|
   the aggregate results if they still want totals for all instances in a
 | 
						|
   specific time window, grouped by tenant.
 | 
						|
 | 
						|
List Tenant Usage Statistics For All Tenants
 | 
						|
============================================
 | 
						|
 | 
						|
.. rest_method:: GET /os-simple-tenant-usage
 | 
						|
 | 
						|
Lists usage statistics for all tenants.
 | 
						|
 | 
						|
Normal response codes: 200
 | 
						|
 | 
						|
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
  - detailed: detailed_simple_tenant_usage
 | 
						|
  - end: end_simple_tenant_usage
 | 
						|
  - start: start_simple_tenant_usage
 | 
						|
  - limit: usage_limit
 | 
						|
  - marker: usage_marker
 | 
						|
 | 
						|
Response
 | 
						|
--------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
  - tenant_usages: tenant_usages
 | 
						|
  - start: start_simple_tenant_usage_body
 | 
						|
  - stop: stop_simple_tenant_usage
 | 
						|
  - tenant_id: tenant_id_body
 | 
						|
  - total_hours: total_hours
 | 
						|
  - total_local_gb_usage: total_local_gb_usage
 | 
						|
  - total_memory_mb_usage: total_memory_mb_usage
 | 
						|
  - total_vcpus_usage: total_vcpus_usage
 | 
						|
  - server_usages: server_usages_optional
 | 
						|
  - server_usages.ended_at: ended_at_optional
 | 
						|
  - server_usages.flavor: flavor_name_optional
 | 
						|
  - server_usages.hours: hours_optional
 | 
						|
  - server_usages.instance_id: server_id_optional
 | 
						|
  - server_usages.local_gb: local_gb_simple_tenant_usage_optional
 | 
						|
  - server_usages.memory_mb: memory_mb_simple_tenant_usage_optional
 | 
						|
  - server_usages.name: server_name_optional
 | 
						|
  - server_usages.started_at: started_at_optional
 | 
						|
  - server_usages.state: vm_state_optional
 | 
						|
  - server_usages.tenant_id: tenant_id_optional
 | 
						|
  - server_usages.uptime: uptime_simple_tenant_usage_optional
 | 
						|
  - server_usages.vcpus: vcpus_optional
 | 
						|
  - tenant_usages_links: usage_links
 | 
						|
 | 
						|
**Example List Tenant Usage For All Tenants (v2.40): JSON response**
 | 
						|
 | 
						|
If the ``detailed`` query parameter is not specified or
 | 
						|
is set to other than 1 (e.g. ``detailed=0``), the response is as follows:
 | 
						|
 | 
						|
.. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/v2.40/simple-tenant-usage-get.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
If the ``detailed`` query parameter is set to one (``detailed=1``),
 | 
						|
the response includes ``server_usages`` information for each tenant.
 | 
						|
The response is as follows:
 | 
						|
 | 
						|
.. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/v2.40/simple-tenant-usage-get-detail.json
 | 
						|
   :language: javascript
 | 
						|
 | 
						|
Show Usage Statistics For Tenant
 | 
						|
================================
 | 
						|
 | 
						|
.. rest_method:: GET /os-simple-tenant-usage/{tenant_id}
 | 
						|
 | 
						|
Shows usage statistics for a tenant.
 | 
						|
 | 
						|
Normal response codes: 200
 | 
						|
 | 
						|
Error response codes: badRequest(400), unauthorized(401), forbidden(403)
 | 
						|
 | 
						|
Request
 | 
						|
-------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
  - tenant_id: tenant_id
 | 
						|
  - end: end_simple_tenant_usage
 | 
						|
  - start: start_simple_tenant_usage
 | 
						|
  - limit: usage_limit
 | 
						|
  - marker: usage_marker
 | 
						|
 | 
						|
Response
 | 
						|
--------
 | 
						|
 | 
						|
.. rest_parameters:: parameters.yaml
 | 
						|
 | 
						|
  - tenant_usage: tenant_usage
 | 
						|
  - server_usages: server_usages
 | 
						|
  - server_usages.ended_at: ended_at
 | 
						|
  - server_usages.flavor: flavor_name
 | 
						|
  - server_usages.hours: hours
 | 
						|
  - server_usages.instance_id: server_id
 | 
						|
  - server_usages.local_gb: local_gb_simple_tenant_usage
 | 
						|
  - server_usages.memory_mb: memory_mb_simple_tenant_usage
 | 
						|
  - server_usages.name: server_name
 | 
						|
  - server_usages.started_at: started_at
 | 
						|
  - server_usages.state: OS-EXT-STS:vm_state
 | 
						|
  - server_usages.tenant_id: tenant_id_body
 | 
						|
  - server_usages.uptime: uptime_simple_tenant_usage
 | 
						|
  - server_usages.vcpus: vcpus
 | 
						|
  - start: start_simple_tenant_usage_body
 | 
						|
  - stop: stop_simple_tenant_usage
 | 
						|
  - tenant_id: tenant_id_body
 | 
						|
  - total_hours: total_hours
 | 
						|
  - total_local_gb_usage: total_local_gb_usage
 | 
						|
  - total_memory_mb_usage: total_memory_mb_usage
 | 
						|
  - total_vcpus_usage: total_vcpus_usage
 | 
						|
  - tenant_usage_links: usage_links
 | 
						|
 | 
						|
**Example Show Usage Details For Tenant (v2.40): JSON response**
 | 
						|
 | 
						|
.. literalinclude:: ../../doc/api_samples/os-simple-tenant-usage/v2.40/simple-tenant-usage-get-specific.json
 | 
						|
   :language: javascript
 |