Files
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

79 lines
5.6 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "copilot",
Description: "Name of the application",
Subcommands: []spec.Subcommand{
{Name: "init", Description: "Create a new ECS or App Runner application"},
{Name: "docs", Description: "Open the copilot docs"},
{Name: "ls", Description: "Lists all the applications in your account"},
{Name: "show", Description: "Shows info about an application"},
{Name: "delete", Description: "Delete all resources associated with the application"},
{Name: "upgrade", Description: "Upgrades the template of an application to the latest version"},
{Name: "svc", Description: "Commands for services. Services are long-running ECS or App Runner services"},
{Name: "package", Description: "Prints the AWS CloudFormation template of a service"},
{Name: "deploy", Description: "Deploys a service to an environment"},
{Name: "status", Description: "Shows status of a deployed service"},
{Name: "logs", Description: "Displays logs of a deployed service"},
{Name: "exec", Description: "Execute a command in a running container part of a service"},
{Name: "pause", Description: "Pause running App Runner service"},
{Name: "resume", Description: "Resumes a paused service"},
{Name: "job", Description: "Commands for jobs. Jobs are tasks that are triggered by events"},
{Name: "run", Description: "Run a one-off task on Amazon ECS"},
{Name: "storage", Description: "Commands for working with storage and databases"},
{Name: "version", Description: "Print the version number"},
{Name: "completion", Description: "Output shell completion code"},
{Name: "pipeline", Description: "Commands for pipelines. Continuous delivery pipelines to release services"},
{Name: "update", Description: "Deploys a pipeline for the services in your workspace"},
{Name: "help", Description: "Help about any command"},
},
Options: []spec.Option{
{Name: "--app", Description: "Name of the application"},
{Name: "--name", Description: "Name of the environment"},
{Name: "--help", Description: "Help for command"},
{Name: "--json", Description: "Outputs in JSON format"},
{Name: "--yes", Description: "Skips confirmation prompt"},
{Name: "--deploy", Description: "Optional. Deploy your service or job to a test environment"},
{Name: "--image", Description: "The location of an existing Docker image"},
{Name: "--port", Description: "The port on which your service listens"},
{Name: "--retries", Description: "Optional. The number of times to try restarting the job on a failure"},
{Name: "--schedule", Description: "Optional. The schedule on which to run the job (cron expression or rate)"},
{Name: "--timeout", Description: "Optional. The timeout duration for the execution of the task or job"},
{Name: "--domain", Description: "Optional. Your existing custom domain name"},
{Name: "--resource-tags", Description: "Optional. Labels with key and value separated by commas to add to your resources"},
{Name: "--aws-access-key-id", Description: "Optional. An AWS access key"},
{Name: "--aws-secret-access-key", Description: "Optional. An AWS secret access key"},
{Name: "--aws-session-token", Description: "Optional. An AWS session token for temporary credentials"},
{Name: "--default-config", Description: "Optional. Skip prompting and use default environment configuration"},
{Name: "--import-private-subnets", Description: "Optional. Use existing private subnet IDs"},
{Name: "--import-public-subnets", Description: "Optional. Use existing public subnet IDs"},
{Name: "--import-vpc-id", Description: "Optional. Use an existing VPC ID"},
{Name: "--override-az-names", Description: "Optional. Availability Zone names. (default 2 random AZs)"},
{Name: "--override-private-cidrs", Description: "Optional. CIDR to use for private subnets. (default 10.0.2.0/24,10.0.3.0/24)"},
{Name: "--override-public-cidrs", Description: "Optional. CIDR to use for public subnets. (default 10.0.0.0/24,10.0.1.0/24)"},
{Name: "--override-vpc-cidr", Description: "Optional. Global CIDR to use for VPC. (default 10.0.0.0/16)"},
{Name: "--prod", Description: "If the environment contains production services"},
{Name: "--profile", Description: "Name of the profile"},
{Name: "--region", Description: "Optional. An AWS region where the environment will be created"},
{Name: "--resources", Description: "Optional. Show the resources in your environment"},
{Name: "--dockerfile", Description: "Path to the Dockerfile"},
{Name: "--no-subscribe", Description: "Optional. Turn off selection for adding subscriptions for worker services"},
{Name: "--subscribe-topics", Description: "Type of service to create"},
{Name: "--local", Description: "Only show services in the workspace"},
{Name: "--output-dir", Description: "Optional. Writes the stack template and template configuration to a directory"},
{Name: "--tag", Description: "Optional. The container image tag"},
{Name: "--force", Description: "Optional. Force a new service deployment using the existing image"},
{Name: "--end-time", Description: "Optional. Specifies if the logs should be streamed"},
{Name: "--limit", Description: "Optional. Only return logs from specific log group"},
{Name: "--since", Description: "Optional. Only return logs after a specific date (RFC3339). Defaults to all logs"},
{Name: "--tasks", Description: "Optional. Only return logs from specific task IDs"},
{Name: "--command", Description: "Optional. The command that is passed to a running container"},
},
})
}