~ubuntu-branches/ubuntu/vivid/ceilometer/vivid-proposed

« back to all changes in this revision

Viewing changes to doc/source/webapi/v2.rst

  • Committer: Package Import Robot
  • Author(s): James Page, James Page, Corey Bryant
  • Date: 2015-03-30 11:06:18 UTC
  • mfrom: (1.2.4)
  • Revision ID: package-import@ubuntu.com-20150330110618-e2tv3bmga3lmun41
Tags: 2015.1~b3-0ubuntu1
[ James Page ]
* d/pydist-overrides: Add overrides for oslo packages.
* d/p/disable-kafka.patch: Disable requirement for Apache Kafka for Ubuntu
  Vivid release.
* d/control: Fixup minor typos in package descriptions (LP: #1256279).

[ Corey Bryant ]
* New upstream milestone release for OpenStack kilo:
  - d/control: Align with upstream dependencies.
  - d/p/skip-test.patch: Rebased.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
Resources
8
8
=========
9
9
 
10
 
.. rest-controller:: ceilometer.api.controllers.v2:ResourcesController
 
10
.. rest-controller:: ceilometer.api.controllers.v2.resources:ResourcesController
11
11
   :webprefix: /v2/resources
12
12
 
13
 
.. autotype:: ceilometer.api.controllers.v2.Resource
 
13
.. autotype:: ceilometer.api.controllers.v2.resources.Resource
14
14
   :members:
15
15
 
16
16
Meters
17
17
======
18
18
 
19
 
.. rest-controller:: ceilometer.api.controllers.v2:MetersController
20
 
   :webprefix: /v2/meters
21
 
 
22
 
.. rest-controller:: ceilometer.api.controllers.v2:MeterController
23
 
   :webprefix: /v2/meters
24
 
 
25
 
.. autotype:: ceilometer.api.controllers.v2.Meter
 
19
.. rest-controller:: ceilometer.api.controllers.v2.meters:MetersController
 
20
   :webprefix: /v2/meters
 
21
 
 
22
.. rest-controller:: ceilometer.api.controllers.v2.meters:MeterController
 
23
   :webprefix: /v2/meters
 
24
 
 
25
.. autotype:: ceilometer.api.controllers.v2.meters.Meter
26
26
   :members:
27
27
 
28
 
.. autotype:: ceilometer.api.controllers.v2.OldSample
 
28
.. autotype:: ceilometer.api.controllers.v2.meters.OldSample
29
29
   :members:
30
30
 
31
31
Samples and Statistics
32
32
======================
33
33
 
34
 
.. rest-controller:: ceilometer.api.controllers.v2:SamplesController
 
34
.. rest-controller:: ceilometer.api.controllers.v2.samples:SamplesController
35
35
   :webprefix: /v2/samples
36
36
 
37
 
.. autotype:: ceilometer.api.controllers.v2.Sample
 
37
.. autotype:: ceilometer.api.controllers.v2.samples.Sample
38
38
   :members:
39
39
 
40
 
.. autotype:: ceilometer.api.controllers.v2.Statistics
 
40
.. autotype:: ceilometer.api.controllers.v2.meters.Statistics
41
41
   :members:
42
42
 
43
43
When a simple statistics request is invoked (using GET /v2/meters/<meter_name>/statistics), it will return the standard set of *Statistics*: *avg*, *sum*,
61
61
 
62
62
.. note:: Currently only *cardinality* needs aggregate.param to be specified.
63
63
 
64
 
.. autotype:: ceilometer.api.controllers.v2.Aggregate
 
64
.. autotype:: ceilometer.api.controllers.v2.meters.Aggregate
65
65
   :members:
66
66
 
67
67
Capabilities
74
74
a 'False' or absent value means that the corresponding feature is not
75
75
available in the backend.
76
76
 
77
 
.. rest-controller:: ceilometer.api.controllers.v2:CapabilitiesController
 
77
.. rest-controller:: ceilometer.api.controllers.v2.capabilities:CapabilitiesController
78
78
   :webprefix: /v2/capabilities
79
79
 
80
 
.. autotype:: ceilometer.api.controllers.v2.Capabilities
 
80
.. autotype:: ceilometer.api.controllers.v2.capabilities.Capabilities
81
81
   :members:
82
82
 
83
83
.. _alarms-api:
85
85
Alarms
86
86
======
87
87
 
88
 
.. rest-controller:: ceilometer.api.controllers.v2:AlarmsController
89
 
   :webprefix: /v2/alarms
90
 
 
91
 
.. rest-controller:: ceilometer.api.controllers.v2:AlarmController
92
 
   :webprefix: /v2/alarms
93
 
 
94
 
.. autotype:: ceilometer.api.controllers.v2.Alarm
95
 
   :members:
96
 
 
97
 
.. autotype:: ceilometer.api.controllers.v2.AlarmThresholdRule
98
 
   :members:
99
 
 
100
 
.. autotype:: ceilometer.api.controllers.v2.AlarmCombinationRule
101
 
   :members:
102
 
 
103
 
.. autotype:: ceilometer.api.controllers.v2.AlarmTimeConstraint
104
 
   :members:
105
 
 
106
 
.. autotype:: ceilometer.api.controllers.v2.AlarmChange
 
88
.. rest-controller:: ceilometer.api.controllers.v2.alarms:AlarmsController
 
89
   :webprefix: /v2/alarms
 
90
 
 
91
.. rest-controller:: ceilometer.api.controllers.v2.alarms:AlarmController
 
92
   :webprefix: /v2/alarms
 
93
 
 
94
.. autotype:: ceilometer.api.controllers.v2.alarms.Alarm
 
95
   :members:
 
96
 
 
97
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.threshold.AlarmThresholdRule
 
98
   :members:
 
99
 
 
100
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.combination.AlarmCombinationRule
 
101
   :members:
 
102
 
 
103
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.gnocchi.AlarmGnocchiMetricOfResourcesThresholdRule
 
104
   :members:
 
105
 
 
106
.. autotype:: ceilometer.api.controllers.v2.alarm_rules.gnocchi.AlarmGnocchiMetricsThresholdRule
 
107
   :members:
 
108
 
 
109
.. autotype:: ceilometer.api.controllers.v2.alarms.AlarmTimeConstraint
 
110
   :members:
 
111
 
 
112
.. autotype:: ceilometer.api.controllers.v2.alarms.AlarmChange
107
113
   :members:
108
114
 
109
115
Events and Traits
110
116
=================
111
117
 
112
 
.. rest-controller:: ceilometer.api.controllers.v2:EventTypesController
 
118
.. rest-controller:: ceilometer.api.controllers.v2.events:EventTypesController
113
119
   :webprefix: /v2/event_types
114
120
 
115
 
.. rest-controller:: ceilometer.api.controllers.v2:TraitsController
 
121
.. rest-controller:: ceilometer.api.controllers.v2.events:TraitsController
116
122
   :webprefix: /v2/event_types/(event_type)/traits
117
123
 
118
 
.. rest-controller:: ceilometer.api.controllers.v2:EventsController
 
124
.. rest-controller:: ceilometer.api.controllers.v2.events:EventsController
119
125
   :webprefix: /v2/events
120
126
 
121
 
.. autotype:: ceilometer.api.controllers.v2.Event
122
 
   :members:
123
 
 
124
 
.. autotype:: ceilometer.api.controllers.v2.Trait
125
 
   :members:
126
 
 
127
 
.. autotype:: ceilometer.api.controllers.v2.TraitDescription
 
127
.. autotype:: ceilometer.api.controllers.v2.events.Event
 
128
   :members:
 
129
 
 
130
.. autotype:: ceilometer.api.controllers.v2.events.Trait
 
131
   :members:
 
132
 
 
133
.. autotype:: ceilometer.api.controllers.v2.events.TraitDescription
128
134
   :members:
129
135
 
130
136
Filtering Queries
155
161
want to apply a filter on, you always filter on the fields of the *Sample*
156
162
type (for example, if you apply a filter on a query for statistics,
157
163
you won't target *duration_start* field of *Statistics*, but *timestamp*
158
 
field of *Sample*).
 
164
field of *Sample*). See :ref:`api-queries` for how to query the API.
159
165
 
160
 
.. autotype:: ceilometer.api.controllers.v2.Query
 
166
.. autotype:: ceilometer.api.controllers.v2.base.Query
161
167
   :members:
162
168
 
163
169
Event Query
168
174
But there are some differences. If a field is one of the following:
169
175
event_type, message_id, start_timestamp, end_timestamp, then this field
170
176
will be applied on event, otherwise it will be treated as trait name and
171
 
applied on trait.
 
177
applied on trait. See :ref:`api-queries` for how to query the API.
172
178
 
173
 
.. autotype:: ceilometer.api.controllers.v2.EventQuery
 
179
.. autotype:: ceilometer.api.controllers.v2.events.EventQuery
174
180
   :members:
175
181
 
176
182
Complex Query
180
186
of *Sample*, *Alarm* and *AlarmChange*. The following comparison operators are
181
187
supported: *=*, *!=*, *<*, *<=*, *>*, *>=* and *in*; and the following logical
182
188
operators can be used: *and* *or* and *not*. The field names are validated
183
 
against the database models.
 
189
against the database models. See :ref:`api-queries` for how to query the API.
184
190
 
185
191
.. note:: The *not* operator has different meaning in Mongo DB and in SQL DB engine.
186
192
   If the *not* operator is applied on a non existent metadata field then
188
194
   {"not": {"metadata.nonexistent_field" : "some value"}} filter is used in a query
189
195
   the Mongo DB will return every Sample object as *not* operator evaluated true
190
196
   for every Sample where the given field does not exists. See more in the Mongod DB doc.
191
 
   In the other hand SQL based DB engine will return empty result as the join operation
192
 
   on the metadata table will return zero row as the on clause of the join which
 
197
   On the other hand SQL based DB engine will return empty result as the join operation
 
198
   on the metadata table will return zero rows as the on clause of the join which
193
199
   tries to match on the metadata field name is never fulfilled.
194
200
 
195
201
Complex Query supports defining the list of orderby expressions in the form
199
205
 
200
206
The *filter*, *orderby* and *limit* are all optional fields in a query.
201
207
 
202
 
.. rest-controller:: ceilometer.api.controllers.v2:QuerySamplesController
 
208
.. rest-controller:: ceilometer.api.controllers.v2.query:QuerySamplesController
203
209
   :webprefix: /v2/query/samples
204
210
 
205
 
.. rest-controller:: ceilometer.api.controllers.v2:QueryAlarmsController
 
211
.. rest-controller:: ceilometer.api.controllers.v2.query:QueryAlarmsController
206
212
   :webprefix: /v2/query/alarms
207
213
 
208
 
.. rest-controller:: ceilometer.api.controllers.v2:QueryAlarmHistoryController
 
214
.. rest-controller:: ceilometer.api.controllers.v2.query:QueryAlarmHistoryController
209
215
   :webprefix: /v2/query/alarms/history
210
216
 
211
 
.. autotype:: ceilometer.api.controllers.v2.ComplexQuery
 
217
.. autotype:: ceilometer.api.controllers.v2.query.ComplexQuery
212
218
   :members:
213
219
 
214
220
Links
215
221
=====
216
222
 
217
 
.. autotype:: ceilometer.api.controllers.v2.Link
 
223
.. autotype:: ceilometer.api.controllers.v2.base.Link
218
224
   :members:
219
225
 
220
226
API and CLI query examples
230
236
.. note:: The *username*, *password*, and *tenant-name* options are required to be present in these commands or specified via environment variables. Note that the in-line commands will override the environment variables.
231
237
 
232
238
 
 
239
.. _api-queries:
 
240
 
233
241
API Queries
234
242
+++++++++++
235
243
 
347
355
 
348
356
Now you may want to have statistics on the meters you are targeting.
349
357
Consider the following example where you are getting the list of samples
350
 
about CPU utilisation of a given instance (identified by its *resource_id*)
 
358
about CPU utilization of a given instance (identified by its *resource_id*)
351
359
running for June 2013::
352
360
 
353
361
    GET /v2/meters/cpu_util