{
"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"
}
}
}
}
}