# Path: vitrageclient/common/utils.py
# def args_to_dict(args, attrs):
# def list2cols(cols, objs):
# def list2cols_with_rename(names_and_keys, objs):
# def get_client(obj):
# def wait_for_action_to_end(timeout, func, **kwargs):
# def find_template_with_uuid(uuid, templates):
# 
# Path: vitrageclient/exceptions.py
# class CommandError(Exception):
# class ClientException(Exception):
#     def __init__(self, code, message=None, request_id=None,
#                  url=None, method=None):
#     def __str__(self):
# def from_response(resp, url, method):


from cliff import lister
from cliff import show
from vitrageclient.common import utils
from vitrageclient import exceptions as exc
        parser.add_argument("vitrage_id",
                            default='all',
                            nargs='?',
                            metavar="<vitrage id>",
                            help="Vitrage id of the affected resource")

        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows alarms of all the tenants in the '
                                 'entity graph')

        parser.add_argument('--limit',
                            dest='limit',
                            help='Maximal number of alarms to show. Default '
                                 'is 1000')

        parser.add_argument('--marker',
                            dest='marker',
                            help='Marker for the next page')

        return parser

    def take_action(self, parsed_args):
        vitrage_id = parsed_args.vitrage_id
        all_tenants = parsed_args.all_tenants
        limit = parsed_args.limit
        marker = parsed_args.marker


# Path: vitrageclient/common/utils.py
# def args_to_dict(args, attrs):
# def list2cols(cols, objs):
# def list2cols_with_rename(names_and_keys, objs):
# def get_client(obj):
# def wait_for_action_to_end(timeout, func, **kwargs):
# def find_template_with_uuid(uuid, templates):
# 
# Path: vitrageclient/exceptions.py
# class CommandError(Exception):
# class ClientException(Exception):
#     def __init__(self, code, message=None, request_id=None,
#                  url=None, method=None):
#     def __str__(self):
# def from_response(resp, url, method):


# Path: vitrageclient/v1/cli/alarm.py
from cliff import lister
from cliff import show
from vitrageclient.common import utils
from vitrageclient import exceptions as exc

        parser.add_argument("vitrage_id",
                            default='all',
                            nargs='?',
                            metavar="<vitrage id>",
                            help="Vitrage id of the affected resource")

        parser.add_argument('--all-tenants',
                            default=False,
                            dest='all_tenants',
                            action='store_true',
                            help='Shows alarms of all the tenants in the '
                                 'entity graph')

        parser.add_argument('--limit',
                            dest='limit',
                            help='Maximal number of alarms to show. Default '
                                 'is 1000')

        parser.add_argument('--marker',
                            dest='marker',
                            help='Marker for the next page')

        return parser

    def take_action(self, parsed_args):
        vitrage_id = parsed_args.vitrage_id
        all_tenants = parsed_args.all_tenants
        limit = parsed_args.limit
        marker = parsed_args.marker


        alarms = utils.get_client(self).alarm.list(vitrage_id=vitrage_id,