diff --git a/SoftLayer/CLI/event_log/get.py b/SoftLayer/CLI/event_log/get.py index b505a4502..6e07d7645 100644 --- a/SoftLayer/CLI/event_log/get.py +++ b/SoftLayer/CLI/event_log/get.py @@ -27,13 +27,16 @@ help="UTC Offset for searching with dates. The default is -0000") @click.option('--metadata/--no-metadata', default=False, help="Display metadata if present") +@click.option('--limit', '-l', default=30, + help="How many results to get in one api call, default is 30.") @environment.pass_env -def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset, metadata): +def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset, metadata, limit): """Get Event Logs""" + mgr = SoftLayer.EventLogManager(env.client) usrmgr = SoftLayer.UserManager(env.client) request_filter = mgr.build_filter(date_min, date_max, obj_event, obj_id, obj_type, utc_offset) - logs = mgr.get_event_logs(request_filter) + logs = mgr.get_event_logs(request_filter, log_limit=limit) if logs is None: env.fout('None available.') @@ -43,11 +46,19 @@ def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset, metada COLUMNS.append('metadata') table = formatting.Table(COLUMNS) + if metadata: table.align['metadata'] = "l" for log in logs: user = log['userType'] + label = '' + + try: + label = log['label'] + except KeyError: + pass # label is already at default value. + if user == "CUSTOMER": user = usrmgr.get_user(log['userId'], "mask[username]")['username'] if metadata: @@ -58,9 +69,9 @@ def cli(env, date_min, date_max, obj_event, obj_id, obj_type, utc_offset, metada except ValueError: metadata_data = log['metaData'] - table.add_row([log['eventName'], log['label'], log['objectName'], + table.add_row([log['eventName'], label, log['objectName'], log['eventCreateDate'], user, metadata_data]) else: - table.add_row([log['eventName'], log['label'], log['objectName'], + table.add_row([log['eventName'], label, log['objectName'], log['eventCreateDate'], user]) env.fout(table) diff --git a/SoftLayer/managers/event_log.py b/SoftLayer/managers/event_log.py index 4e37e6d67..9e36471c3 100644 --- a/SoftLayer/managers/event_log.py +++ b/SoftLayer/managers/event_log.py @@ -19,13 +19,13 @@ class EventLogManager(object): def __init__(self, client): self.event_log = client['Event_Log'] - def get_event_logs(self, request_filter): + def get_event_logs(self, request_filter, log_limit=10): """Returns a list of event logs :param dict request_filter: filter dict :returns: List of event logs """ - results = self.event_log.getAllObjects(filter=request_filter) + results = self.event_log.getAllObjects(filter=request_filter, limit=log_limit) return results def get_event_log_types(self):