{
"resources": {
"s3-buckets": {
"display_name": "S3 Buckets",
"service": "s3",
"sdk_method": "list_buckets",
"sdk_method_params": {},
"response_path": "buckets",
"id_field": "Name",
"name_field": "Name",
"is_global": true,
"columns": [
{ "header": "BUCKET NAME", "json_path": "Name", "width": 40 },
{ "header": "CREATED", "json_path": "CreationDate", "width": 25 }
],
"sub_resources": [
{ "resource_key": "s3-objects", "display_name": "Objects", "shortcut": "o", "parent_id_field": "Name", "filter_param": "bucket_names" }
],
"enter_sub_resource": "s3-objects",
"actions": [
{ "key": "ctrl+d", "display_name": "Delete Bucket", "shortcut": "ctrl+d", "sdk_method": "delete_bucket", "confirm": { "message": "Delete S3 bucket", "default_yes": false, "destructive": true } }
],
"api_config": {
"protocol": "rest-xml",
"method": "GET",
"path": "/",
"response_root": "/ListAllMyBucketsResult/Buckets/Bucket"
},
"field_mappings": {
"Name": { "source": "/Name", "default": "-" },
"CreationDate": { "source": "/CreationDate", "default": "-" }
},
"action_configs": {
"delete_bucket": {
"action_id": "delete_bucket",
"protocol": "rest-xml",
"method": "DELETE",
"path": "/{resource_id}"
}
}
},
"s3-objects": {
"display_name": "S3 Objects",
"service": "s3",
"sdk_method": "list_objects_v2",
"sdk_method_params": {},
"response_path": "objects",
"id_field": "Key",
"name_field": "DisplayName",
"is_global": false,
"requires_parent": true,
"columns": [
{ "header": "NAME", "json_path": "DisplayName", "width": 50 },
{ "header": "SIZE", "json_path": "Size", "width": 12 },
{ "header": "LAST MODIFIED", "json_path": "LastModified", "width": 22 },
{ "header": "STORAGE CLASS", "json_path": "StorageClass", "width": 15 }
],
"sub_resources": [
{ "resource_key": "s3-objects", "display_name": "Open Folder", "shortcut": "o", "parent_id_field": "Key", "filter_param": "prefix" }
],
"enter_sub_resource": "s3-objects",
"actions": [
{ "key": "w", "display_name": "Download Object", "shortcut": "w", "sdk_method": "download_object" }
]
}
}
}