orbit-tui 1.2.0

Terminal UI for AWS - navigate, observe, and manage AWS resources
{
  "resources": {
    "ecs-clusters": {
      "display_name": "ECS Clusters",
      "service": "ecs",
      "sdk_method": "list_clusters",
      "sdk_method_params": {},
      "response_path": "clusters",
      "id_field": "clusterArn",
      "name_field": "clusterArn",
      "is_global": false,
      "columns": [
        { "header": "CLUSTER ARN", "json_path": "clusterArn", "width": 80 }
      ],
      "sub_resources": [
        { "shortcut": "s", "display_name": "Services", "resource_key": "ecs-services", "parent_id_field": "clusterArn", "filter_param": "cluster" },
        { "shortcut": "t", "display_name": "Tasks", "resource_key": "ecs-tasks", "parent_id_field": "clusterArn", "filter_param": "cluster" }
      ],
      "actions": [
        { "key": "ctrl+d", "display_name": "Delete Cluster", "shortcut": "ctrl+d", "sdk_method": "delete_cluster", "confirm": { "message": "Delete ECS cluster", "default_yes": false, "destructive": true } }
      ],
      "api_config": {
        "protocol": "json",
        "action": "ListClusters",
        "response_root": "/clusterArns",
        "pagination": {
          "input_token": "nextToken",
          "output_token": "/nextToken",
          "max_results_param": "maxResults",
          "max_results": 100
        }
      },
      "field_mappings": {
        "clusterArn": { "source": "", "default": "-" }
      },
      "action_configs": {
        "delete_cluster": {
          "action_id": "delete_cluster",
          "protocol": "json",
          "action": "DeleteCluster",
          "body_template": "{\"cluster\": \"{resource_id}\"}"
        }
      },
      "describe_config": {
        "protocol": "json",
        "action": "DescribeClusters",
        "body_template": "{\"clusters\": [\"{resource_id}\"]}",
        "response_path": "/clusters/0"
      }
    },
    "ecs-services": {
      "display_name": "ECS Services",
      "service": "ecs",
      "sdk_method": "list_services",
      "sdk_method_params": {},
      "response_path": "services",
      "id_field": "serviceArn",
      "name_field": "serviceArn",
      "is_global": false,
      "requires_parent": true,
      "columns": [
        { "header": "SERVICE ARN", "json_path": "serviceArn", "width": 80 }
      ],
      "sub_resources": [],
      "actions": [
        { "key": "ctrl+d", "display_name": "Delete Service", "shortcut": "ctrl+d", "sdk_method": "delete_service", "confirm": { "message": "Delete ECS service", "default_yes": false, "destructive": true } }
      ],
      "api_config": {
        "protocol": "json",
        "action": "ListServices",
        "response_root": "/serviceArns",
        "param_mapping": {
          "cluster": "cluster"
        },
        "pagination": {
          "input_token": "nextToken",
          "output_token": "/nextToken",
          "max_results_param": "maxResults",
          "max_results": 100
        }
      },
      "field_mappings": {
        "serviceArn": { "source": "", "default": "-" }
      },
      "action_configs": {
        "delete_service": {
          "action_id": "delete_service",
          "protocol": "json",
          "action": "DeleteService",
          "body_template": "{\"cluster\": \"{cluster}\", \"service\": \"{resource_id}\", \"force\": true}",
          "special_handling": "parse_arn_for_cluster"
        }
      }
    },
    "ecs-tasks": {
      "display_name": "ECS Tasks",
      "service": "ecs",
      "sdk_method": "list_tasks",
      "sdk_method_params": {},
      "response_path": "tasks",
      "id_field": "taskArn",
      "name_field": "taskArn",
      "is_global": false,
      "requires_parent": true,
      "columns": [
        { "header": "TASK ARN", "json_path": "taskArn", "width": 80 }
      ],
      "sub_resources": [],
      "actions": [
        { "key": "S", "display_name": "Stop Task", "shortcut": "S", "sdk_method": "stop_task", "confirm": { "message": "Stop ECS task", "default_yes": false } }
      ],
      "api_config": {
        "protocol": "json",
        "action": "ListTasks",
        "response_root": "/taskArns",
        "param_mapping": {
          "cluster": "cluster"
        },
        "pagination": {
          "input_token": "nextToken",
          "output_token": "/nextToken",
          "max_results_param": "maxResults",
          "max_results": 100
        }
      },
      "field_mappings": {
        "taskArn": { "source": "", "default": "-" }
      },
      "action_configs": {
        "stop_task": {
          "action_id": "stop_task",
          "protocol": "json",
          "action": "StopTask",
          "body_template": "{\"cluster\": \"{cluster}\", \"task\": \"{resource_id}\"}",
          "special_handling": "parse_arn_for_cluster"
        }
      }
    }
  }
}