|
9 | 9 | from SoftLayer.CLI import environment |
10 | 10 | from SoftLayer.CLI import formatting |
11 | 11 |
|
12 | | -COLUMNS = ['event', 'label', 'date', 'metadata'] |
| 12 | +COLUMNS = ['event', 'label', 'date'] |
13 | 13 |
|
14 | 14 |
|
15 | 15 | @click.command() |
|
25 | 25 | help="The type of the object we want to get event logs for") |
26 | 26 | @click.option('--utc-offset', '-z', |
27 | 27 | help="UTC Offset for searching with dates. The default is -0000") |
| 28 | +@click.option('--metadata/--no-metadata', default=False, |
| 29 | + help="Display metadata if present") |
28 | 30 | @environment.pass_env |
29 | | -def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset): |
| 31 | +def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset, metadata): |
30 | 32 | """Get Event Logs""" |
31 | 33 | mgr = SoftLayer.EventLogManager(env.client) |
32 | | - |
33 | 34 | request_filter = mgr.build_filter(date_min, date_max, obj_event, obj_id, obj_type, utc_offset) |
34 | 35 | logs = mgr.get_event_logs(request_filter) |
35 | 36 |
|
| 37 | + if logs == None: |
| 38 | + env.fout('None available.') |
| 39 | + return |
| 40 | + |
| 41 | + if metadata: |
| 42 | + COLUMNS.append('metadata') |
| 43 | + |
36 | 44 | table = formatting.Table(COLUMNS) |
37 | | - table.align['metadata'] = "l" |
| 45 | + env.out("Table size: " + str(len(table.columns))) |
| 46 | + if metadata: |
| 47 | + table.align['metadata'] = "l" |
38 | 48 |
|
39 | 49 | for log in logs: |
40 | | - try: |
41 | | - metadata = json.dumps(json.loads(log['metaData']), indent=4, sort_keys=True) |
42 | | - except ValueError: |
43 | | - metadata = log['metaData'] |
44 | | - |
45 | | - table.add_row([log['eventName'], log['label'], log['eventCreateDate'], metadata]) |
46 | | - |
| 50 | + if metadata: |
| 51 | + try: |
| 52 | + metadata_data = json.dumps(json.loads(log['metaData']), indent=4, sort_keys=True) |
| 53 | + except ValueError: |
| 54 | + metadata_data = log['metaData'] |
| 55 | + |
| 56 | + table.add_row([log['eventName'], log['label'], log['eventCreateDate'], metadata_data]) |
| 57 | + else: |
| 58 | + table.add_row([log['eventName'], log['label'], log['eventCreateDate']]) |
47 | 59 | env.fout(table) |
0 commit comments