def do_alarm_definition_create(mc, args): '''Create an alarm definition.''' fields = {} fields['name'] = args.name if args.description: fields['description'] = args.description fields['expression'] = args.expression if args.alarm_actions: fields['alarm_actions'] = args.alarm_actions if args.ok_actions: fields['ok_actions'] = args.ok_actions if args.undetermined_actions: fields['undetermined_actions'] = args.undetermined_actions if args.severity: if not _validate_severity(args.severity): return fields['severity'] = args.severity if args.match_by: fields['match_by'] = args.match_by.split(',') try: alarm = mc.alarm_definitions.create(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def do_alarm_definition_patch(mc, args): '''Patch the alarm definition.''' fields = {} fields['alarm_id'] = args.id if args.name: fields['name'] = args.name if args.description: fields['description'] = args.description if args.expression: fields['expression'] = args.expression if args.alarm_actions: fields['alarm_actions'] = args.alarm_actions if args.ok_actions: fields['ok_actions'] = args.ok_actions if args.undetermined_actions: fields['undetermined_actions'] = args.undetermined_actions if args.actions_enabled: if args.actions_enabled not in enabled_types: errmsg = 'Invalid value, not one of [' + \ ', '.join(enabled_types) + ']' print(errmsg) return fields['actions_enabled'] = args.actions_enabled in ['true', 'True'] if args.severity: if not _validate_severity(args.severity): return fields['severity'] = args.severity try: alarm = mc.alarm_definitions.patch(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def do_alarm_definition_create(mc, args): '''Create an alarm definition.''' fields = {} fields['name'] = args.name if args.description: fields['description'] = args.description fields['expression'] = args.expression if args.alarm_actions: fields['alarm_actions'] = args.alarm_actions if args.ok_actions: fields['ok_actions'] = args.ok_actions if args.undetermined_actions: fields['undetermined_actions'] = args.undetermined_actions if args.severity: if args.severity.upper() not in severity_types: errmsg = 'Invalid severity, not one of [' + \ ', '.join(severity_types) + ']' print(errmsg) return fields['severity'] = args.severity if args.match_by: fields['match_by'] = args.match_by.split(',') try: alarm = mc.alarm_definitions.create(**fields) except exc.HTTPException as he: raise exc.CommandError('HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def do_alarm_definition_create(mc, args): '''Create an alarm definition.''' fields = {} fields['name'] = args.name if args.description: fields['description'] = args.description fields['expression'] = args.expression if args.alarm_actions: fields['alarm_actions'] = args.alarm_actions if args.ok_actions: fields['ok_actions'] = args.ok_actions if args.undetermined_actions: fields['undetermined_actions'] = args.undetermined_actions if args.severity: if args.severity.upper() not in severity_types: errmsg = 'Invalid severity, not one of [' + \ ', '.join(severity_types) + ']' print(errmsg) return fields['severity'] = args.severity if args.match_by: fields['match_by'] = args.match_by.split(',') try: alarm = mc.alarm_definitions.create(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def do_notification_create(mc, args): '''Create notification.''' if args.type.upper() not in notification_types: errmsg = 'Invalid type, not one of [' + \ ', '.join(notification_types) + ']' print(errmsg) return fields = {} fields['name'] = args.name fields['type'] = args.type fields['address'] = args.address try: notification = mc.notifications.create(**fields) except exc.HTTPException as he: raise exc.CommandError('HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(notification, indent=2))
def do_notification_create(mc, args): '''Create notification.''' if args.type.upper() not in notification_types: errmsg = 'Invalid type, not one of [' + \ ', '.join(notification_types) + ']' print(errmsg) return fields = {} fields['name'] = args.name fields['type'] = args.type fields['address'] = args.address try: notification = mc.notifications.create(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(notification, indent=2))
def json_request(self, method, url, **kwargs): kwargs.setdefault('headers', {}) kwargs['headers'].setdefault('Content-Type', 'application/json') kwargs['headers'].setdefault('Accept', 'application/json') if 'data' in kwargs: kwargs['data'] = jsonutils.dumps(kwargs['data']) resp = self._http_request(url, method, **kwargs) body = resp.content if 'application/json' in resp.headers.get('content-type', ''): try: body = resp.json() except ValueError: LOG.error('Could not decode response body as JSON') else: body = None return resp, body
def do_alarm_update(mc, args): '''Update the alarm state.''' fields = {} fields['alarm_id'] = args.id if args.state.upper() not in state_types: errmsg = 'Invalid state, not one of [' + \ ', '.join(state_types) + ']' print(errmsg) return fields['state'] = args.state fields['lifecycle_state'] = args.lifecycle_state fields['link'] = args.link try: alarm = mc.alarms.update(**fields) except exc.HTTPException as he: raise exc.CommandError('HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def json_request(self, method, url, **kwargs): kwargs.setdefault('headers', {}) kwargs['headers'].setdefault('Content-Type', 'application/json') kwargs['headers'].setdefault('Accept', 'application/json') if 'data' in kwargs: kwargs['data'] = jsonutils.dumps(kwargs['data']) resp = self._http_request(url, method, **kwargs) body = resp.content if 'application/json' in resp.headers.get('content-type', ''): try: body = resp.json() except ValueError: LOG.error('Could not decode response body as JSON') else: body = None return resp, body
def do_alarm_update(mc, args): '''Update the alarm state.''' fields = {} fields['alarm_id'] = args.id if args.state.upper() not in state_types: errmsg = 'Invalid state, not one of [' + \ ', '.join(state_types) + ']' print(errmsg) return fields['state'] = args.state fields['lifecycle_state'] = args.lifecycle_state fields['link'] = args.link try: alarm = mc.alarms.update(**fields) except exc.HTTPException as he: raise exc.CommandError( 'HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def do_alarm_definition_patch(mc, args): '''Patch the alarm definition.''' fields = {} fields['alarm_id'] = args.id if args.name: fields['name'] = args.name if args.description: fields['description'] = args.description if args.expression: fields['expression'] = args.expression if args.alarm_actions: fields['alarm_actions'] = args.alarm_actions if args.ok_actions: fields['ok_actions'] = args.ok_actions if args.undetermined_actions: fields['undetermined_actions'] = args.undetermined_actions if args.actions_enabled: if args.actions_enabled not in enabled_types: errmsg = 'Invalid value, not one of [' + \ ', '.join(enabled_types) + ']' print(errmsg) return fields['actions_enabled'] = args.actions_enabled in ['true', 'True'] if args.severity: if args.severity.upper() not in severity_types: errmsg = 'Invalid severity, not one of [' + \ ', '.join(severity_types) + ']' print(errmsg) return fields['severity'] = args.severity try: alarm = mc.alarm_definitions.patch(**fields) except exc.HTTPException as he: raise exc.CommandError('HTTPException code=%s message=%s' % (he.code, he.message)) else: print(jsonutils.dumps(alarm, indent=2))
def json_formatter(js): return (jsonutils.dumps(js, indent=2, ensure_ascii=False)).encode('utf-8')
import numbers import os import sys import textwrap import uuid import prettytable import yaml from monascaclient import exc from monascaclient.openstack.common import importutils from monascaclient.openstack.common import jsonutils supported_formats = { "json": lambda x: jsonutils.dumps(x, indent=2), "yaml": yaml.safe_dump } # Decorator for cli-args def arg(*args, **kwargs): def _decorator(func): # Because of the semantics of decorator composition if we just append # to the options list positional options will appear to be backwards. func.__dict__.setdefault('arguments', []).insert(0, (args, kwargs)) return func return _decorator def link_formatter(links):
def json_formatter(js): return (jsonutils.dumps(js, indent=2, ensure_ascii=False)).encode('utf-8')
import numbers import os import sys import textwrap import uuid import prettytable import yaml from monascaclient import exc from monascaclient.openstack.common import importutils from monascaclient.openstack.common import jsonutils supported_formats = { "json": lambda x: jsonutils.dumps(x, indent=2), "yaml": yaml.safe_dump } # Decorator for cli-args def arg(*args, **kwargs): def _decorator(func): # Because of the semantics of decorator composition if we just append # to the options list positional options will appear to be backwards. func.__dict__.setdefault('arguments', []).insert(0, (args, kwargs)) return func return _decorator