V2 Web API

V2 Web API

Capabilities

The Capabilities API allows you to directly discover which functions from the V2 API functionality, including the selectable aggregate functions, are supported by the currently configured storage driver. A capabilities query returns a flattened dictionary of properties with associated boolean values - a ‘False’ or absent value means that the corresponding feature is not available in the backend.

type Capabilities

A representation of the API and storage capabilities.

Usually constrained by restrictions imposed by the storage driver.

Data samples:

Json
{
    "api": {
        "events:query:simple": true
    }, 
    "event_storage": {
        "storage:production_ready": true
    }
}
XML
<value>
  <api>
    <item>
      <key>events:query:simple</key>
      <value>true</value>
    </item>
  </api>
  <event_storage>
    <item>
      <key>storage:production_ready</key>
      <value>true</value>
    </item>
  </event_storage>
</value>
api
Type:dict(unicode: bool)

A flattened dictionary of API capabilities

event_storage
Type:dict(unicode: bool)

A flattened dictionary of event storage capabilities

Events and Traits

type Event

A System event.

Data samples:

Json
{
    "event_type": "compute.instance.update", 
    "generated": "2015-01-01T12:00:00", 
    "message_id": "94834db1-8f1b-404d-b2ec-c35901f1b7f0", 
    "raw": {
        "status": {
            "nested": "started"
        }
    }, 
    "traits": [
        {
            "name": "request_id", 
            "value": "req-4e2d67b8-31a4-48af-bb2f-9df72a353a72"
        }, 
        {
            "name": "tenant_id", 
            "value": "7f13f2b17917463b9ee21aa92c4b36d6"
        }, 
        {
            "name": "service", 
            "value": "conductor.tem-devstack-01"
        }
    ]
}
XML
<value>
  <message_id>94834db1-8f1b-404d-b2ec-c35901f1b7f0</message_id>
  <event_type>compute.instance.update</event_type>
  <traits>
    <item>
      <name>request_id</name>
      <value>req-4e2d67b8-31a4-48af-bb2f-9df72a353a72</value>
    </item>
    <item>
      <name>tenant_id</name>
      <value>7f13f2b17917463b9ee21aa92c4b36d6</value>
    </item>
    <item>
      <name>service</name>
      <value>conductor.tem-devstack-01</value>
    </item>
  </traits>
  <generated>2015-01-01T12:00:00</generated>
  <raw>{'status': {'nested': 'started'}}</raw>
</value>
event_type
Type:unicode

The type of the event

generated
Type:datetime

The time the event occurred

message_id
Type:unicode

The message ID for the notification

raw
Type:json

The raw copy of notification

traits
Type:list(Trait)

Event specific properties

type Trait

A Trait associated with an event.

Data samples:

Json
{
    "name": "service", 
    "type": "string", 
    "value": "compute.hostname"
}
XML
<value>
  <name>service</name>
  <value>compute.hostname</value>
  <type>string</type>
</value>
name
Type:unicode

The name of the trait

type
Type:unicode

the type of the trait (string, integer, float or datetime)

value
Type:unicode

the value of the trait

type TraitDescription

A description of a trait, with no associated value.

Data samples:

Json
{
    "name": "service", 
    "type": "string"
}
XML
<value>
  <type>string</type>
  <name>service</name>
</value>
name
Type:unicode

the name of the trait

type
Type:unicode

the data type, defaults to string

Filtering Queries

See api-queries for how to query the API.

type EventQuery

Query arguments for Event Queries.

Data samples:

Json
{
    "field": "event_type", 
    "op": "eq", 
    "type": "string", 
    "value": "compute.instance.create.start"
}
XML
<value>
  <type>string</type>
  <field>event_type</field>
  <op>eq</op>
  <value>compute.instance.create.start</value>
</value>
field
Type:unicode

Name of the field to filter on. Can be either a trait name or field of an event. 1) Use start_timestamp/end_timestamp to filter on generated field. 2) Specify the ‘all_tenants=True’ query parameter to get all events for all projects, this is only allowed by admin users.

type
Type:unicode

the type of the trait filter, defaults to string

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.