summaryrefslogtreecommitdiff
path: root/ceilometerclient/v2/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'ceilometerclient/v2/shell.py')
-rw-r--r--ceilometerclient/v2/shell.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/ceilometerclient/v2/shell.py b/ceilometerclient/v2/shell.py
index 23246a2..713d5a9 100644
--- a/ceilometerclient/v2/shell.py
+++ b/ceilometerclient/v2/shell.py
@@ -147,7 +147,8 @@ def _display_alarm(alarm):
fields = ['name', 'description', 'counter_name', 'period',
'evaluation_periods', 'threshold', 'comparison_operator',
'state', 'enabled', 'alarm_id', 'user_id', 'project_id',
- 'alarm_actions', 'ok_actions', 'insufficient_data_actions']
+ 'alarm_actions', 'ok_actions', 'insufficient_data_actions',
+ 'matching_metadata']
data = dict([(f, getattr(alarm, f, '')) for f in fields])
utils.print_dict(data, wrap=72)
@@ -204,9 +205,14 @@ def do_alarm_show(cc, args={}):
metavar='<Webhook URL>', action='append', default=None,
help=('URL to invoke when state transitions to unkown. '
'May be used multiple times.'))
+@utils.arg('--matching-metadata', dest='matching_metadata',
+ metavar='<Matching Metadata>', action='append', default=None,
+ help=('A meter should match this resource metadata (key=value)'
+ 'additionnal to the counter_name'))
def do_alarm_create(cc, args={}):
'''Create a new alarm.'''
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
+ fields = utils.args_array_to_dict(fields, "matching_metadata")
alarm = cc.alarms.create(**fields)
_display_alarm(alarm)
@@ -243,9 +249,14 @@ def do_alarm_create(cc, args={}):
metavar='<Webhook URL>', action='append', default=None,
help=('URL to invoke when state transitions to unkown. '
'May be used multiple times.'))
+@utils.arg('--matching-metadata', dest='matching_metadata',
+ metavar='<Matching Metadata>', action='append', default=None,
+ help=('A meter should match this resource metadata (key=value)'
+ 'additionnal to the counter_name'))
def do_alarm_update(cc, args={}):
'''Update an existing alarm.'''
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
+ fields = utils.args_array_to_dict(fields, "matching_metadata")
fields.pop('alarm_id')
alarm = cc.alarms.update(args.alarm_id, **fields)
_display_alarm(alarm)