def take_action(self, parsed_args):
     if parsed_args.query:
         if any([parsed_args.limit, parsed_args.sort, parsed_args.marker]):
             raise exceptions.CommandError(
                 "Query and pagination options are mutually "
                 "exclusive.")
         query = jsonutils.dumps(
             utils.search_query_builder(parsed_args.query))
         alarms = utils.get_client(self).alarm.query(query=query)
     else:
         filters = dict(parsed_args.filter) if parsed_args.filter else None
         alarms = utils.get_client(self).alarm.list(
             filters=filters, sorts=parsed_args.sort,
             limit=parsed_args.limit, marker=parsed_args.marker)
     return utils.list2cols(ALARM_LIST_COLS, alarms)
Beispiel #2
0
 def take_action(self, parsed_args):
     history = utils.get_client(self).alarm_history.get(
         alarm_id=parsed_args.alarm_id,
         sorts=parsed_args.sort,
         limit=parsed_args.limit,
         marker=parsed_args.marker)
     return utils.list2cols(self.COLS, history)
Beispiel #3
0
 def take_action(self, parsed_args):
     query = None
     if parsed_args.query:
         query = jsonutils.dumps(
             utils.search_query_builder(parsed_args.query))
     history = utils.get_client(self).alarm_history.search(query=query)
     return utils.list2cols(self.COLS, history)
    def take_action(self, parsed_args):
        c = utils.get_client(self)
        quota = c.quota.list(project=parsed_args.project)

        ret = {}
        for q in quota['quotas']:
            ret[q['resource']] = q['limit']

        return self.dict2columns(ret)
    def take_action(self, parsed_args):
        _check_name_and_id(parsed_args, 'delete')
        c = utils.get_client(self)

        if parsed_args.name:
            _id = _find_alarm_id_by_name(c, parsed_args.name)
        elif uuidutils.is_uuid_like(parsed_args.id):
            try:
                return c.alarm.delete(parsed_args.id)
            except exceptions.NotFound:
                # Maybe it was not an ID after all
                _id = _find_alarm_id_by_name(c, parsed_args.id)
        else:
            _id = _find_alarm_id_by_name(c, parsed_args.id)

        c.alarm.delete(_id)
    def take_action(self, parsed_args):
        _check_name_and_id(parsed_args, 'query')
        c = utils.get_client(self)
        if parsed_args.name:
            alarm = _find_alarm_by_name(c, parsed_args.name)
        else:
            if uuidutils.is_uuid_like(parsed_args.id):
                try:
                    alarm = c.alarm.get(alarm_id=parsed_args.id)
                except exceptions.NotFound:
                    # Maybe it's a name
                    alarm = _find_alarm_by_name(c, parsed_args.id)
            else:
                alarm = _find_alarm_by_name(c, parsed_args.id)

        return self.dict2columns(_format_alarm(alarm))
    def take_action(self, parsed_args):
        _check_name_and_id(parsed_args, 'set state of')
        c = utils.get_client(self)

        if parsed_args.name:
            _id = _find_alarm_id_by_name(c, parsed_args.name)
        elif uuidutils.is_uuid_like(parsed_args.id):
            try:
                state = c.alarm.set_state(parsed_args.id, parsed_args.state)
            except exceptions.NotFound:
                # Maybe it was not an ID after all
                _id = _find_alarm_id_by_name(c, parsed_args.id)
            else:
                return self.dict2columns({'state': state})
        else:
            _id = _find_alarm_id_by_name(c, parsed_args.id)

        state = c.alarm.set_state(_id, parsed_args.state)
        return self.dict2columns({'state': state})
    def take_action(self, parsed_args):
        resource_quotas = []
        if parsed_args.alarm is not None:
            if parsed_args.alarm < -1:
                raise exceptions.CommandError(
                    'Quota limit cannot be less than -1.')
            resource_quotas.append({
                'resource': 'alarms',
                'limit': parsed_args.alarm
            })

        c = utils.get_client(self)
        quota = c.quota.create(parsed_args.project, resource_quotas)

        ret = {}
        for q in quota['quotas']:
            ret[q['resource']] = q['limit']

        return self.dict2columns(ret)
    def take_action(self, parsed_args):
        attributes = self._alarm_from_args(parsed_args)
        _check_name_and_id_exist(parsed_args, 'update')
        c = utils.get_client(self)

        if uuidutils.is_uuid_like(parsed_args.id):
            try:
                alarm = c.alarm.update(alarm_id=parsed_args.id,
                                       alarm_update=attributes)
            except exceptions.NotFound:
                # Maybe it was not an ID but a name, damn
                _id = _find_alarm_id_by_name(c, parsed_args.id)
            else:
                return self.dict2columns(_format_alarm(alarm))
        elif parsed_args.id:
            _id = _find_alarm_id_by_name(c, parsed_args.id)
        else:
            _id = _find_alarm_id_by_name(c, parsed_args.name)

        alarm = c.alarm.update(alarm_id=_id, alarm_update=attributes)
        return self.dict2columns(_format_alarm(alarm))
Beispiel #10
0
 def take_action(self, parsed_args):
     alarm = utils.get_client(self).alarm.create(
         alarm=self._alarm_from_args(parsed_args))
     return self.dict2columns(_format_alarm(alarm))
Beispiel #11
0
 def take_action(self, parsed_args):
     caps = utils.get_client(self).capabilities.list()
     return self.dict2columns(caps)