{
"resources": {
"cloudwatch-log-groups": {
"display_name": "CloudWatch Log Groups",
"service": "cloudwatchlogs",
"sdk_method": "describe_log_groups",
"sdk_method_params": {},
"response_path": "log_groups",
"id_field": "logGroupName",
"name_field": "logGroupName",
"is_global": false,
"columns": [
{ "header": "LOG GROUP NAME", "json_path": "logGroupName", "width": 50 },
{ "header": "STORED BYTES", "json_path": "storedBytes", "width": 15 },
{ "header": "RETENTION (DAYS)", "json_path": "retentionInDays", "width": 18 },
{ "header": "CREATED", "json_path": "creationTime", "width": 25 }
],
"sub_resources": [
{
"shortcut": "s",
"display_name": "Log Streams",
"resource_key": "cloudwatch-log-streams",
"parent_id_field": "logGroupName",
"filter_param": "log_group_name"
}
],
"actions": [],
"api_config": {
"protocol": "json",
"service_name": "logs",
"action": "DescribeLogGroups",
"response_root": "/logGroups",
"pagination": {
"input_token": "nextToken",
"output_token": "/nextToken",
"max_results_param": "limit",
"max_results": 50
}
},
"field_mappings": {
"logGroupName": { "source": "/logGroupName", "default": "-" },
"logGroupArn": { "source": "/arn", "default": "-" },
"storedBytes": { "source": "/storedBytes", "default": "0" },
"retentionInDays": { "source": "/retentionInDays", "default": "Never" },
"creationTime": { "source": "/creationTime", "default": "-" }
}
},
"cloudwatch-log-streams": {
"display_name": "Log Streams",
"service": "cloudwatchlogs",
"sdk_method": "describe_log_streams",
"sdk_method_params": {},
"response_path": "log_streams",
"id_field": "logStreamName",
"name_field": "logStreamName",
"is_global": false,
"requires_parent": true,
"columns": [
{ "header": "STREAM NAME", "json_path": "logStreamName", "width": 45 },
{ "header": "LAST EVENT", "json_path": "lastEventTime", "width": 22 },
{ "header": "SIZE", "json_path": "storedBytes", "width": 12 },
{ "header": "FIRST EVENT", "json_path": "firstEventTime", "width": 21 }
],
"sub_resources": [],
"actions": [
{
"key": "t",
"display_name": "Tail Logs",
"shortcut": "t",
"sdk_method": "tail_logs"
}
],
"api_config": {
"protocol": "json",
"service_name": "logs",
"action": "DescribeLogStreams",
"response_root": "/logStreams",
"static_params": {
"orderBy": "LastEventTime",
"descending": true
},
"param_mapping": {
"log_group_name": "logGroupName"
},
"pagination": {
"input_token": "nextToken",
"output_token": "/nextToken",
"max_results_param": "limit",
"max_results": 50
}
},
"field_mappings": {
"logStreamName": { "source": "/logStreamName", "default": "-" },
"lastEventTime": { "source": "/lastEventTimestamp", "transform": "format_epoch_millis", "default": "-" },
"firstEventTime": { "source": "/firstEventTimestamp", "transform": "format_epoch_millis", "default": "-" },
"storedBytes": { "source": "/storedBytes", "transform": "format_bytes", "default": "0" },
"lastEventTimestamp": { "source": "/lastEventTimestamp", "default": "0" }
}
}
}
}