diff options
Diffstat (limited to 'ceilometerclient')
| -rw-r--r-- | ceilometerclient/v2/alarms.py | 33 | ||||
| -rw-r--r-- | ceilometerclient/v2/client.py | 2 | ||||
| -rw-r--r-- | ceilometerclient/v2/shell.py | 19 |
3 files changed, 53 insertions, 1 deletions
diff --git a/ceilometerclient/v2/alarms.py b/ceilometerclient/v2/alarms.py new file mode 100644 index 0000000..2a1f8b7 --- /dev/null +++ b/ceilometerclient/v2/alarms.py @@ -0,0 +1,33 @@ +# -*- encoding: utf-8 -*- +# +# Copyright © 2013 Red Hat, Inc +# +# Author: Eoghan Glynn <eglynn@redhat.com> +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from ceilometerclient.common import base +from ceilometerclient.v2 import options + + +class Alarm(base.Resource): + def __repr__(self): + return "<Alarm %s>" % self._info + + +class AlarmManager(base.Manager): + resource_class = Alarm + + def list(self, q=None): + path = '/v2/alarms' + return self._list(options.build_url(path, q)) diff --git a/ceilometerclient/v2/client.py b/ceilometerclient/v2/client.py index 71622a6..d3c64e1 100644 --- a/ceilometerclient/v2/client.py +++ b/ceilometerclient/v2/client.py @@ -14,6 +14,7 @@ # under the License. from ceilometerclient.common import http +from ceilometerclient.v2 import alarms from ceilometerclient.v2 import meters from ceilometerclient.v2 import resources from ceilometerclient.v2 import samples @@ -37,3 +38,4 @@ class Client(http.HTTPClient): self.samples = samples.SampleManager(self) self.statistics = statistics.StatisticsManager(self) self.resources = resources.ResourceManager(self) + self.alarms = alarms.AlarmManager(self) diff --git a/ceilometerclient/v2/shell.py b/ceilometerclient/v2/shell.py index f577229..946dabc 100644 --- a/ceilometerclient/v2/shell.py +++ b/ceilometerclient/v2/shell.py @@ -71,7 +71,7 @@ def do_sample_list(cc, args): @utils.arg('-q', '--query', metavar='<QUERY>', help='key[op]value; list.') def do_meter_list(cc, args={}): - '''List the user's meter''' + '''List the user's meters''' meters = cc.meters.list(q=options.cli_to_array(args.query)) field_labels = ['Name', 'Type', 'Unit', 'Resource ID', 'User ID', 'Project ID'] @@ -83,6 +83,23 @@ def do_meter_list(cc, args={}): @utils.arg('-q', '--query', metavar='<QUERY>', help='key[op]value; list.') +def do_alarm_list(cc, args={}): + '''List the user's alarms''' + alarms = cc.alarms.list(q=options.cli_to_array(args.query)) + # omit action initially to keep output width sane + # (can switch over to vertical formatting when available from CLIFF) + field_labels = ['Name', 'Description', 'Metric', 'Period', 'Count', + 'Threshold', 'Comparison', 'State', 'Enabled', 'Alarm ID', + 'User ID', 'Project ID'] + fields = ['name', 'description', 'counter_name', 'period', + 'evaluation_periods', 'threshold', 'comparison_operator', + 'state', 'enabled', 'alarm_id', 'user_id', 'project_id'] + utils.print_list(alarms, fields, field_labels, + sortby=0) + + +@utils.arg('-q', '--query', metavar='<QUERY>', + help='key[op]value; list.') def do_resource_list(cc, args={}): '''List the resources''' resources = cc.resources.list(q=options.cli_to_array(args.query)) |
