id = "amazon-ecs-cli"
name = "Amazon ECS CLI"
homepage = "https://github.com/aws/amazon-ecs-cli"
description = "Command line interface for Amazon ECS"
executables = ["ecs-cli"]
[dotfiles]
paths = [
"~/.ecs/config",
"%LOCALAPPDATA%/ecs/config",
]
secret = [
"~/.ecs/credentials",
"%LOCALAPPDATA%/ecs/credentials",
]
side_effect = false
[commands]
format = 1
label = "Amazon ECS CLI"
description = "Create an ECS cluster with ecs-cli up. Compose, task and service commands are not covered."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["up"]
label = "Create a cluster"
description = "Create an ECS cluster (EC2 or Fargate). Other options such as VPC and subnets are left out."
[[commands.subcommand.source]]
id = "readme"
kind = "help"
url = "https://github.com/aws/amazon-ecs-cli/blob/master/README.md"
revision = "2026-10-27"
evidence = """
ecs-cli up --keypair my-key --capability-iam --size 2
ecs-cli up --cluster myCluster --empty
ecs-cli up --launch-type FARGATE
ecs-cli configure --cluster cluster_name --region region_name --config-name configuration_name
"""
[[commands.subcommand.field]]
id = "cluster"
label = "Cluster name"
type = "string"
option = ["--cluster"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "launch_type"
label = "Launch type"
type = "enum"
choices = [{ value = "EC2", label = "EC2" }, { value = "FARGATE", label = "Fargate" }]
option = ["--launch-type"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "keypair"
label = "EC2 key pair"
type = "string"
option = ["--keypair"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "capability_iam"
label = "Allow IAM resource creation"
type = "boolean"
option = ["--capability-iam"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "size"
label = "Number of instances"
type = "integer"
option = ["--size"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "empty"
label = "Empty cluster"
description = "Create the cluster without container instances."
type = "boolean"
option = ["--empty"]
sources = ["readme"]
[[commands.subcommand.task]]
id = "ec2"
label = "EC2 cluster"
fields = ["cluster", "keypair", "capability_iam", "size", "launch_type"]
required = ["keypair"]
set = { launch_type = ["EC2"], capability_iam = [true] }
[[commands.subcommand.task]]
id = "fargate"
label = "Fargate cluster"
fields = ["cluster", "launch_type"]
set = { launch_type = ["FARGATE"] }
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["cluster", "launch_type", "keypair", "capability_iam", "size", "empty"]