Ejemplo n.º 1
0
def do_user_list(cc, args={}):
    '''List the users.'''
    kwargs = {'source': args.source}
    users = cc.users.list(**kwargs)
    field_labels = ['User ID']
    fields = ['user_id']
    utils.print_list(users, fields, field_labels, sortby=0)
Ejemplo n.º 2
0
def do_resource_list(cc, args={}):
    '''List the resources.'''
    resources = cc.resources.list(q=options.cli_to_array(args.query))

    field_labels = ['Resource ID', 'Source', 'User ID', 'Project ID']
    fields = ['resource_id', 'source', 'user_id', 'project_id']
    utils.print_list(resources, fields, field_labels, sortby=1)
Ejemplo n.º 3
0
def do_user_list(cc, args={}):
    """List the users"""
    kwargs = {"source": args.source}
    users = cc.users.list(**kwargs)
    field_labels = ["User ID"]
    fields = ["user_id"]
    utils.print_list(users, fields, field_labels, sortby=0)
Ejemplo n.º 4
0
def do_resource_list(cc, args={}):
    """List the resources."""
    resources = cc.resources.list(q=options.cli_to_array(args.query))

    field_labels = ["Resource ID", "Source", "User ID", "Project ID"]
    fields = ["resource_id", "source", "user_id", "project_id"]
    utils.print_list(resources, fields, field_labels, sortby=1)
Ejemplo n.º 5
0
def do_project_list(cc, args={}):
    """List the projects"""
    kwargs = {"source": args.source}
    projects = cc.projects.list(**kwargs)

    field_labels = ["Project ID"]
    fields = ["project_id"]
    utils.print_list(projects, fields, field_labels, sortby=0)
Ejemplo n.º 6
0
def do_resource_list(cc, args={}):
    '''List the resources.'''
    resources = cc.resources.list(q=options.cli_to_array(args.query))

    field_labels = ['Resource ID', 'Source', 'User ID', 'Project ID']
    fields = ['resource_id', 'source', 'user_id', 'project_id']
    utils.print_list(resources, fields, field_labels,
                     sortby=1)
Ejemplo n.º 7
0
def do_user_list(cc, args={}):
    '''List the users.'''
    kwargs = {'source': args.source}
    users = cc.users.list(**kwargs)
    field_labels = ['User ID']
    fields = ['user_id']
    utils.print_list(users, fields, field_labels,
                     sortby=0)
Ejemplo n.º 8
0
def do_trait_list(cc, args={}):
    '''List trait all traits with name <trait_name> for Event Type
    <event_type>.
    '''
    traits = cc.traits.list(args.event_type, args.trait_name)
    field_labels = ['Trait Name', 'Value', 'Data Type']
    fields = ['name', 'value', 'type']
    utils.print_list(traits, fields, field_labels)
Ejemplo n.º 9
0
def do_project_list(cc, args={}):
    """List the projects."""
    kwargs = {'source': args.source}
    projects = cc.projects.list(**kwargs)

    field_labels = ['Project ID']
    fields = ['project_id']
    utils.print_list(projects, fields, field_labels, sortby=0)
Ejemplo n.º 10
0
def do_meter_list(cc, args={}):
    '''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'
    ]
    fields = ['name', 'type', 'unit', 'resource_id', 'user_id', 'project_id']
    utils.print_list(meters, fields, field_labels, sortby=0)
Ejemplo n.º 11
0
def do_trait_list(cc, args={}):
    '''List trait all traits with name <trait_name> for Event Type
    <event_type>.
    '''
    traits = cc.traits.list(args.event_type, args.trait_name)
    field_labels = ['Trait Name', 'Value', 'Data Type']
    fields = ['name', 'value', 'type']
    utils.print_list(traits, fields, field_labels)
Ejemplo n.º 12
0
 def do_print_list(sortby):
     with mock.patch('sys.stdout', new=six.StringIO()) as stdout:
         utils.print_list(foo_list,
                          ['one', 'two', 'three'],
                          ['1st', '2nd', '3rd'],
                          {'one': lambda o: o.one * 10},
                          sortby)
         return stdout.getvalue()
 def do_print_list(sortby):
     with mock.patch('sys.stdout', new=six.StringIO()) as stdout:
         utils.print_list(foo_list,
                          ['one', 'two', 'three'],
                          ['1st', '2nd', '3rd'],
                          {'one': lambda o: o.one * 10},
                          sortby)
         return stdout.getvalue()
Ejemplo n.º 14
0
def do_project_list(cc, args={}):
    '''List the projects.'''
    kwargs = {'source': args.source}
    projects = cc.projects.list(**kwargs)

    field_labels = ['Project ID']
    fields = ['project_id']
    utils.print_list(projects, fields, field_labels,
                     sortby=0)
Ejemplo n.º 15
0
def do_meter_list(cc, args={}):
    '''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']
    fields = ['name', 'type', 'unit', 'resource_id', 'user_id',
              'project_id']
    utils.print_list(meters, fields, field_labels,
                     sortby=0)
Ejemplo n.º 16
0
def do_resource_list(cc, args={}):
    '''List the users'''
    kwargs = {'source': args.source,
              'user_id': args.user_id}
    resources = cc.resources.list(**kwargs)

    field_labels = ['Resource ID', 'Source', 'User ID', 'Project ID']
    fields = ['resource_id', 'source', 'user_id', 'project_id']
    utils.print_list(resources, fields, field_labels,
                     sortby=1)
Ejemplo n.º 17
0
def do_event_list(cc, args={}):
    '''List events.'''
    events = cc.events.list(q=options.cli_to_array(args.query))
    field_labels = ['Message ID', 'Event Type', 'Generated', 'Traits']
    fields = ['message_id', 'event_type', 'generated', 'traits']
    utils.print_list(events, fields, field_labels,
                     formatters={
                         'traits': utils.nested_list_of_dict_formatter(
                             'traits', ['name', 'type', 'value']
                         )})
Ejemplo n.º 18
0
def _do_old_sample_list(cc, args):
    fields = {"meter_name": args.meter, "q": options.cli_to_array(args.query), "limit": args.limit}
    try:
        samples = cc.samples.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError("Samples not found: %s" % args.meter)
    else:
        field_labels = ["Resource ID", "Name", "Type", "Volume", "Unit", "Timestamp"]
        fields = ["resource_id", "counter_name", "counter_type", "counter_volume", "counter_unit", "timestamp"]
        utils.print_list(samples, fields, field_labels, sortby=None)
Ejemplo n.º 19
0
def do_event_list(cc, args={}):
    '''List events.'''
    events = cc.events.list(q=options.cli_to_array(args.query))
    field_labels = ['Message ID', 'Event Type', 'Generated', 'Traits']
    fields = ['message_id', 'event_type', 'generated', 'traits']
    utils.print_list(events, fields, field_labels,
                     formatters={
                         'traits': utils.nested_list_of_dict_formatter(
                             'traits', ['name', 'type', 'value']
                         )})
Ejemplo n.º 20
0
 def do_print_list(sortby):
     saved_stdout = sys.stdout
     try:
         sys.stdout = output = six.StringIO()
         utils.print_list(
             foo_list, ["one", "two", "three"], ["1st", "2nd", "3rd"], {"one": lambda o: o.one * 10}, sortby
         )
     finally:
         sys.stdout = saved_stdout
     return output.getvalue()
Ejemplo n.º 21
0
def do_query_samples(cc, args):
    """Query samples."""
    fields = {"filter": args.filter, "orderby": args.orderby, "limit": args.limit}
    try:
        samples = cc.query_samples.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError("Samples not found")
    else:
        field_labels = ["Resource ID", "Meter", "Type", "Volume", "Unit", "Timestamp"]
        fields = ["resource_id", "meter", "type", "volume", "unit", "timestamp"]
        utils.print_list(samples, fields, field_labels, sortby=None)
Ejemplo n.º 22
0
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 = ['Alarm ID', 'Name', 'State', 'Enabled', 'Continuous',
                    'Alarm condition']
    fields = ['alarm_id', 'name', 'state', 'enabled', 'repeat_actions',
              'rule']
    utils.print_list(alarms, fields, field_labels,
                     formatters={'rule': alarm_rule_formatter}, sortby=0)
Ejemplo n.º 23
0
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 = ['Alarm ID', 'Name', 'State', 'Enabled', 'Continuous',
                    'Alarm condition']
    fields = ['alarm_id', 'name', 'state', 'enabled', 'repeat_actions',
              'rule']
    utils.print_list(alarms, fields, field_labels,
                     formatters={'rule': alarm_rule_formatter}, sortby=0)
Ejemplo n.º 24
0
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', 'State', 'Enabled', 'Continuous',
                    'Alarm ID', 'User ID', 'Project ID']
    fields = ['name', 'description', 'state', 'enabled', 'repeat_actions',
              'alarm_id', 'user_id', 'project_id']
    utils.print_list(alarms, fields, field_labels,
                     sortby=0)
Ejemplo n.º 25
0
def do_meter_list(cc, args={}):
    """List the user's meter"""
    fields = {
        "resource_id": args.resource_id,
        "user_id": args.user_id,
        "project_id": args.project_id,
        "source": args.source,
    }
    meters = cc.meters.list(**fields)
    field_labels = ["Name", "Type", "Resource ID", "User ID", "Project ID"]
    fields = ["name", "type", "resource_id", "user_id", "project_id"]
    utils.print_list(meters, fields, field_labels, sortby=0)
Ejemplo n.º 26
0
def do_meter_list(cc, args={}):
    '''List the user's meter.'''
    fields = {
        'resource_id': args.resource_id,
        'user_id': args.user_id,
        'project_id': args.project_id,
        'source': args.source
    }
    meters = cc.meters.list(**fields)
    field_labels = ['Name', 'Type', 'Resource ID', 'User ID', 'Project ID']
    fields = ['name', 'type', 'resource_id', 'user_id', 'project_id']
    utils.print_list(meters, fields, field_labels, sortby=0)
Ejemplo n.º 27
0
 def do_print_list(sortby):
     saved_stdout = sys.stdout
     try:
         sys.stdout = output = six.StringIO()
         utils.print_list(foo_list,
                          ['one', 'two', 'three'],
                          ['1st', '2nd', '3rd'],
                          {'one': lambda o: o.one * 10},
                          sortby)
     finally:
         sys.stdout = saved_stdout
     return output.getvalue()
Ejemplo n.º 28
0
def _display_alarm_list(alarms, sortby=None):
    # omit action initially to keep output width sane
    # (can switch over to vertical formatting when available from CLIFF)
    field_labels = ['Alarm ID', 'Name', 'State', 'Enabled', 'Continuous',
                    'Alarm condition', 'Time constraints']
    fields = ['alarm_id', 'name', 'state', 'enabled', 'repeat_actions',
              'rule', 'time_constraints']
    utils.print_list(
        alarms, fields, field_labels,
        formatters={'rule': alarm_rule_formatter,
                    'time_constraints': time_constraints_formatter_brief},
        sortby=sortby)
Ejemplo n.º 29
0
def do_meter_list(cc, args={}):
    '''List the user's meter.'''
    fields = {'resource_id': args.resource_id,
              'user_id': args.user_id,
              'project_id': args.project_id,
              'source': args.source}
    meters = cc.meters.list(**fields)
    field_labels = ['Name', 'Type', 'Resource ID', 'User ID', 'Project ID']
    fields = ['name', 'type', 'resource_id',
              'user_id', 'project_id']
    utils.print_list(meters, fields, field_labels,
                     sortby=0)
Ejemplo n.º 30
0
def do_sample_list(cc, args):
    """List the samples for this meters"""
    fields = {"meter_name": args.meter, "q": options.cli_to_array(args.query)}
    if args.meter is None:
        raise exc.CommandError("Meter name not provided (-m <meter name>)")
    try:
        samples = cc.samples.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError("Samples not found: %s" % args.meter)
    else:
        field_labels = ["Resource ID", "Name", "Type", "Volume", "Unit", "Timestamp"]
        fields = ["resource_id", "counter_name", "counter_type", "counter_volume", "counter_unit", "timestamp"]
        utils.print_list(samples, fields, field_labels, sortby=0)
Ejemplo n.º 31
0
def do_alarm_history(cc, args={}):
    '''Display the change history of an alarm.'''
    kwargs = dict(alarm_id=args.alarm_id,
                  q=options.cli_to_array(args.query))
    try:
        history = cc.alarms.get_history(**kwargs)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarm not found: %s' % args.alarm_id)
    field_labels = ['Type', 'Timestamp', 'Detail']
    fields = ['type', 'timestamp', 'detail']
    utils.print_list(history, fields, field_labels,
                     formatters={'detail': alarm_change_detail_formatter},
                     sortby=1)
Ejemplo n.º 32
0
def do_query_alarm_history(cc, args):
    """Query Alarm History."""
    fields = {"filter": args.filter, "orderby": args.orderby, "limit": args.limit}
    try:
        alarm_history = cc.query_alarm_history.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError("Alarm history not found")
    else:
        field_labels = ["Alarm ID", "Event ID", "Type", "Detail", "Timestamp"]
        fields = ["alarm_id", "event_id", "type", "detail", "timestamp"]
        utils.print_list(
            alarm_history, fields, field_labels, formatters={"rule": alarm_change_detail_formatter}, sortby=None
        )
Ejemplo n.º 33
0
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)
Ejemplo n.º 34
0
def do_alarm_history(cc, args={}):
    '''Display the change history of an alarm.'''
    kwargs = dict(alarm_id=args.alarm_id,
                  q=options.cli_to_array(args.query))
    try:
        history = cc.alarms.get_history(**kwargs)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarm not found: %s' % args.alarm_id)
    field_labels = ['Type', 'Timestamp', 'Detail']
    fields = ['type', 'timestamp', 'detail']
    utils.print_list(history, fields, field_labels,
                     formatters={'detail': alarm_change_detail_formatter},
                     sortby=1)
Ejemplo n.º 35
0
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)
Ejemplo n.º 36
0
def do_alarm_history(cc, args={}):
    """Display the change history of an alarm."""
    kwargs = dict(alarm_id=args.alarm_id, q=options.cli_to_array(args.query))
    try:
        history = cc.alarms.get_history(**kwargs)
    except exc.HTTPNotFound:
        raise exc.CommandError("Alarm not found: %s" % args.alarm_id)
    field_labels = ["Type", "Timestamp", "Detail"]
    fields = ["type", "timestamp", "detail"]
    # We're using sortby=None as the alarm history returned from the Ceilometer
    # is already sorted in the "the newer state is the earlier one in the
    # list". If we'll pass any field as a sortby param, it'll be sorted in the
    # ASC way by the PrettyTable
    utils.print_list(history, fields, field_labels, formatters={"detail": alarm_change_detail_formatter}, sortby=None)
Ejemplo n.º 37
0
def do_resource_list(cc, args={}):
    '''List the resources.'''
    kwargs = {'source': args.source,
              'user_id': args.user_id,
              'project_id': args.project_id,
              'start_timestamp': args.start,
              'end_timestamp': args.end,
              'metaquery': args.metaquery}
    resources = cc.resources.list(**kwargs)

    field_labels = ['Resource ID', 'Source', 'User ID', 'Project ID']
    fields = ['resource_id', 'source', 'user_id', 'project_id']
    utils.print_list(resources, fields, field_labels,
                     sortby=1)
Ejemplo n.º 38
0
def do_query_alarm_history(cc, args):
    '''Query Alarm History.'''
    fields = {'filter': args.filter,
              'orderby': args.orderby,
              'limit': args.limit}
    try:
        alarm_history = cc.query_alarm_history.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarm history not found')
    else:
        field_labels = ['Alarm ID', 'Event ID', 'Type', 'Detail', 'Timestamp']
        fields = ['alarm_id', 'event_id', 'type', 'detail', 'timestamp']
        utils.print_list(alarm_history, fields, field_labels,
                         formatters={'rule': alarm_change_detail_formatter},
                         sortby=None)
def do_sample_list(cc, args):
    '''List the samples for this meters.'''
    fields = {'meter_name': args.meter,
              'q': options.cli_to_array(args.query)}
    try:
        samples = cc.samples.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.meter)
    else:
        field_labels = ['Resource ID', 'Name', 'Type', 'Volume', 'Unit',
                        'Timestamp']
        fields = ['resource_id', 'counter_name', 'counter_type',
                  'counter_volume', 'counter_unit', 'timestamp']
        utils.print_list(samples, fields, field_labels,
                         sortby=0)
Ejemplo n.º 40
0
def do_event_list(cc, args={}):
    """List events."""
    events = cc.events.list(q=options.cli_to_array(args.query))
    field_labels = ["Message ID", "Event Type", "Generated", "Traits"]
    fields = ["message_id", "event_type", "generated", "traits"]
    if args.no_traits:
        field_labels.pop()
        fields.pop()
    utils.print_list(
        events,
        fields,
        field_labels,
        formatters={"traits": utils.nested_list_of_dict_formatter("traits", ["name", "type", "value"])},
        sortby=None,
    )
Ejemplo n.º 41
0
def do_resource_list(cc, args={}):
    """List the resources."""
    kwargs = {
        'source': args.source,
        'user_id': args.user_id,
        'project_id': args.project_id,
        'start_timestamp': args.start,
        'end_timestamp': args.end,
        'metaquery': args.metaquery
    }
    resources = cc.resources.list(**kwargs)

    field_labels = ['Resource ID', 'Source', 'User ID', 'Project ID']
    fields = ['resource_id', 'source', 'user_id', 'project_id']
    utils.print_list(resources, fields, field_labels, sortby=1)
Ejemplo n.º 42
0
def do_resource_list(cc, args={}):
    """List the resources"""
    kwargs = {
        "source": args.source,
        "user_id": args.user_id,
        "project_id": args.project_id,
        "start_timestamp": args.start,
        "end_timestamp": args.end,
        "metaquery": args.metaquery,
    }
    resources = cc.resources.list(**kwargs)

    field_labels = ["Resource ID", "Source", "User ID", "Project ID"]
    fields = ["resource_id", "source", "user_id", "project_id"]
    utils.print_list(resources, fields, field_labels, sortby=1)
Ejemplo n.º 43
0
def do_query_alarm_history(cc, args):
    '''Query Alarm History.'''
    fields = {'filter': args.filter,
              'orderby': args.orderby,
              'limit': args.limit}
    try:
        alarm_history = cc.query_alarm_history.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarm history not found')
    else:
        field_labels = ['Alarm ID', 'Event ID', 'Type', 'Detail', 'Timestamp']
        fields = ['alarm_id', 'event_id', 'type', 'detail', 'timestamp']
        utils.print_list(alarm_history, fields, field_labels,
                         formatters={'rule': alarm_change_detail_formatter},
                         sortby=None)
Ejemplo n.º 44
0
def do_query_samples(cc, args):
    '''Query samples.'''
    fields = {'filter': args.filter,
              'orderby': args.orderby,
              'limit': args.limit}
    try:
        samples = cc.query_samples.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found')
    else:
        field_labels = ['Resource ID', 'Meter', 'Type', 'Volume', 'Unit',
                        'Timestamp']
        fields = ['resource_id', 'meter', 'type',
                  'volume', 'unit', 'timestamp']
        utils.print_list(samples, fields, field_labels,
                         sortby=None)
Ejemplo n.º 45
0
def do_sample_list(cc, args):
    '''List the samples for a meter.'''
    fields = {'meter_name': args.meter,
              'q': options.cli_to_array(args.query),
              'limit': args.limit}
    try:
        samples = cc.samples.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.meter)
    else:
        field_labels = ['Resource ID', 'Name', 'Type', 'Volume', 'Unit',
                        'Timestamp']
        fields = ['resource_id', 'counter_name', 'counter_type',
                  'counter_volume', 'counter_unit', 'timestamp']
        utils.print_list(samples, fields, field_labels,
                         sortby=None)
Ejemplo n.º 46
0
def do_alarm_history(cc, args={}):
    '''Display the change history of an alarm.'''
    kwargs = dict(alarm_id=args.alarm_id,
                  q=options.cli_to_array(args.query))
    try:
        history = cc.alarms.get_history(**kwargs)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarm not found: %s' % args.alarm_id)
    field_labels = ['Type', 'Timestamp', 'Detail']
    fields = ['type', 'timestamp', 'detail']
    # We're using sortby=None as the alarm history returned from the Ceilometer
    # is already sorted in the "the newer state is the earlier one in the
    # list". If we'll pass any field as a sortby param, it'll be sorted in the
    # ASC way by the PrettyTable
    utils.print_list(history, fields, field_labels,
                     formatters={'detail': alarm_change_detail_formatter},
                     sortby=None)
Ejemplo n.º 47
0
def do_query_alarms(cc, args):
    '''Query Alarms.'''
    fields = {'filter': args.filter,
              'orderby': args.orderby,
              'limit': args.limit}
    try:
        alarms = cc.query_alarms.query(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Alarms not found')
    else:
        field_labels = ['Alarm ID', 'Name', 'State', 'Enabled', 'Continuous',
                        'Alarm condition']
        fields = ['alarm_id', 'name', 'state', 'enabled', 'repeat_actions',
                  'rule']
        utils.print_list(alarms, fields, field_labels,
                         formatters={'rule': alarm_rule_formatter},
                         sortby=None)
Ejemplo n.º 48
0
def _display_alarm_list(alarms, sortby=None):
    # omit action initially to keep output width sane
    # (can switch over to vertical formatting when available from CLIFF)
    field_labels = [
        'Alarm ID', 'Name', 'State', 'Severity', 'Enabled', 'Continuous',
        'Alarm condition', 'Time constraints'
    ]
    fields = [
        'alarm_id', 'name', 'state', 'severity', 'enabled', 'repeat_actions',
        'rule', 'time_constraints'
    ]
    utils.print_list(alarms,
                     fields,
                     field_labels,
                     formatters={
                         'rule': alarm_rule_formatter,
                         'time_constraints': time_constraints_formatter_brief
                     },
                     sortby=sortby)
Ejemplo n.º 49
0
def do_statistics(cc, args):
    '''List the statistics for a meter.'''
    aggregates = []
    for a in args.aggregate:
        aggregates.append(dict(zip(('func', 'param'), a.split("<-"))))
    api_args = {
        'meter_name': args.meter,
        'q': options.cli_to_array(args.query),
        'period': args.period,
        'groupby': args.groupby,
        'aggregates': aggregates
    }
    try:
        statistics = cc.statistics.list(**api_args)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.meter)
    else:
        fields_display = {
            'duration': 'Duration',
            'duration_end': 'Duration End',
            'duration_start': 'Duration Start',
            'period': 'Period',
            'period_end': 'Period End',
            'period_start': 'Period Start',
            'groupby': 'Group By'
        }
        fields_display.update(AGGREGATES)
        fields = ['period', 'period_start', 'period_end']
        if args.groupby:
            fields.append('groupby')
        if args.aggregate:
            for a in aggregates:
                if 'param' in a:
                    fields.append("%(func)s/%(param)s" % a)
                else:
                    fields.append(a['func'])
            for stat in statistics:
                stat.__dict__.update(stat.aggregate)
        else:
            fields.extend(['max', 'min', 'avg', 'sum', 'count'])
        fields.extend(['duration', 'duration_start', 'duration_end'])
        cols = [fields_display.get(f, f) for f in fields]
        utils.print_list(statistics, fields, cols)
Ejemplo n.º 50
0
def do_statistics(cc, args):
    '''List the statistics for this meter.'''
    fields = {'meter_name': args.meter,
              'q': options.cli_to_array(args.query),
              'period': args.period}
    if args.meter is None:
        raise exc.CommandError('Meter name not provided (-m <meter name>)')
    try:
        statistics = cc.statistics.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.meter)
    else:
        field_labels = ['Period', 'Period Start', 'Period End',
                        'Count', 'Min', 'Max', 'Sum', 'Avg',
                        'Duration', 'Duration Start', 'Duration End']
        fields = ['period', 'period_start', 'period_end',
                  'count', 'min', 'max', 'sum', 'avg',
                  'duration', 'duration_start', 'duration_end']
        utils.print_list(statistics, fields, field_labels)
Ejemplo n.º 51
0
def do_statistics(cc, args):
    '''List the statistics for a meter.'''
    fields = {'meter_name': args.meter,
              'q': options.cli_to_array(args.query),
              'period': args.period,
              'groupby': args.groupby}
    try:
        statistics = cc.statistics.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.meter)
    else:
        field_labels = ['Period', 'Period Start', 'Period End',
                        'Count', 'Min', 'Max', 'Sum', 'Avg',
                        'Duration', 'Duration Start', 'Duration End']
        fields = ['period', 'period_start', 'period_end',
                  'count', 'min', 'max', 'sum', 'avg',
                  'duration', 'duration_start', 'duration_end']
        if args.groupby:
            field_labels.append('Group By')
            fields.append('groupby')
        utils.print_list(statistics, fields, field_labels)
Ejemplo n.º 52
0
def do_sample_list(cc, args):
    '''List the samples for this meters.'''
    fields = {
        'counter_name': args.counter_name,
        'resource_id': args.resource_id,
        'user_id': args.user_id,
        'project_id': args.project_id,
        'source': args.source,
        'start_timestamp': args.start,
        'end_timestamp': args.end,
        'metaquery': args.metaquery
    }
    try:
        samples = cc.samples.list(**fields)
    except exc.HTTPNotFound:
        raise exc.CommandError('Samples not found: %s' % args.counter_name)
    else:
        field_labels = ['Resource ID', 'Name', 'Type', 'Volume', 'Timestamp']
        fields = [
            'resource_id', 'counter_name', 'counter_type', 'counter_volume',
            'timestamp'
        ]
        utils.print_list(samples, fields, field_labels, sortby=0)
Ejemplo n.º 53
0
def do_event_type_list(cc, args={}):
    '''List event types.'''
    event_types = cc.event_types.list()
    utils.print_list(event_types, ['event_type'], ['Event Type'])
Ejemplo n.º 54
0
def do_trait_description_list(cc, args={}):
    '''List trait info for an event type.'''
    trait_descriptions = cc.trait_descriptions.list(args.event_type)
    field_labels = ['Trait Name', 'Data Type']
    fields = ['name', 'type']
    utils.print_list(trait_descriptions, fields, field_labels)