orbit-tui 1.1.1

Terminal UI for AWS - navigate, observe, and manage AWS resources
{
  "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" }
      }
    }
  }
}