Commands
Verbs over nouns. Type what you want to happen; awsutopia talks to AWS.
| Command | What you get |
|---|---|
init | A project file so resources get tagged |
login | SSO session + identity check |
create bucket | Private encrypted versioned S3 bucket |
create secret | SSM SecureString under /utopia/… |
create fn | Lambda + Function URL from a source folder |
create cron | EventBridge schedule → utopia function |
create site | Private S3 + CloudFront static site |
create domain | ACM + Route53 → attach a custom domain |
create server | EC2 + SSM (no SSH keys, closed SG) |
create db | Private Postgres RDS + connection secret |
create kv | DynamoDB on-demand (pk/sk) |
create queue | Standard SQS queue |
list | Utopia-tagged inventory (+ best-effort CE costs) |
costs | Inventory costs + static create hints |
connect / ssh | SSM Session Manager shell |
db connect | Tunnel to private RDS via a server |
bucket share | Temporary HTTPS URL for an object |
secret set / get | Update or read a secret |
logs | CloudWatch Logs tail (short fn names resolve) |
destroy bucket | Empty + delete a tagged bucket |
destroy secret | Delete a tagged SSM parameter |
destroy fn | Delete a tagged Lambda |
destroy cron | Delete a tagged EventBridge rule |
destroy site | Tear down CloudFront + origin bucket |
destroy server | Terminate a tagged EC2 instance |
destroy db | Delete RDS (--keep-data snapshot) |
destroy kv | Delete DynamoDB table |
destroy queue | Delete SQS queue (+ messages) |
deploy fn / deploy site are aliases for create with --src.
Flow that sticks
bash
awsutopia login --profile my-sso
awsutopia init my-app --env dev
awsutopia create db postgres app --size small
awsutopia create kv sessions
awsutopia create queue jobs
awsutopia create server web --image ubuntu-24 --size small
awsutopia db connect app --via web --dry-run
awsutopia list
awsutopia costs
awsutopia destroy kv sessions --yes
awsutopia destroy db app --keep-data --yesNext up
Hosted dashboard is on the roadmap after costs ships.