Rounds 406-410: Hetzner/Vultr/OVH/Scaleway, Fly.io/Railway/Render/Vercel, Netlify/Cloudflare/Fastly/Akamai, AWS S3/EC2/Lambda/ECS, AWS RDS/DynamoDB/SQS/SNS (100 commands)

ober

675c35afa49693c63b0f2f11869fcebd280c6949

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index f5f284f..18282ff 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,131 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 410 — AWS RDS ext, AWS DynamoDB ext, AWS SQS ext, AWS SNS ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| RDS instances | — | `rds-instances` | :orange_circle: Scaffolded |
+| RDS clusters | — | `rds-clusters` | :orange_circle: Scaffolded |
+| RDS snapshots | — | `rds-snapshots` | :orange_circle: Scaffolded |
+| RDS parameters | — | `rds-parameters` | :orange_circle: Scaffolded |
+| RDS events | — | `rds-events` | :orange_circle: Scaffolded |
+| DynamoDB indexes | — | `dynamodb-indexes` | :orange_circle: Scaffolded |
+| DynamoDB items | — | `dynamodb-items` | :orange_circle: Scaffolded |
+| DynamoDB streams | — | `dynamodb-streams` | :orange_circle: Scaffolded |
+| DynamoDB backups | — | `dynamodb-backups` | :orange_circle: Scaffolded |
+| DynamoDB global tables | — | `dynamodb-global-tables` | :orange_circle: Scaffolded |
+| SQS queues | — | `sqs-queues` | :orange_circle: Scaffolded |
+| SQS messages | — | `sqs-messages` | :orange_circle: Scaffolded |
+| SQS dead letter | — | `sqs-dead-letter` | :orange_circle: Scaffolded |
+| SQS attributes | — | `sqs-attributes` | :orange_circle: Scaffolded |
+| SQS purge | — | `sqs-purge` | :orange_circle: Scaffolded |
+| SNS topics | — | `sns-topics` | :orange_circle: Scaffolded |
+| SNS subscriptions | — | `sns-subscriptions` | :orange_circle: Scaffolded |
+| SNS publish | — | `sns-publish` | :orange_circle: Scaffolded |
+| SNS platforms | — | `sns-platforms` | :orange_circle: Scaffolded |
+| SNS attributes | — | `sns-attributes` | :orange_circle: Scaffolded |
+
+### Round 409 — AWS S3 ext, AWS EC2 ext, AWS Lambda ext, AWS ECS ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| S3 sync | — | `s3-sync` | :orange_circle: Scaffolded |
+| S3 presign | — | `s3-presign` | :orange_circle: Scaffolded |
+| S3 lifecycle | — | `s3-lifecycle` | :orange_circle: Scaffolded |
+| S3 CORS | — | `s3-cors` | :orange_circle: Scaffolded |
+| S3 versioning | — | `s3-versioning` | :orange_circle: Scaffolded |
+| EC2 describe | — | `ec2-describe` | :orange_circle: Scaffolded |
+| EC2 security groups | — | `ec2-security-groups` | :orange_circle: Scaffolded |
+| EC2 key pairs | — | `ec2-key-pairs` | :orange_circle: Scaffolded |
+| EC2 snapshots | — | `ec2-snapshots` | :orange_circle: Scaffolded |
+| EC2 AMIs | — | `ec2-amis` | :orange_circle: Scaffolded |
+| Lambda layers | — | `lambda-layers` | :orange_circle: Scaffolded |
+| Lambda aliases | — | `lambda-aliases` | :orange_circle: Scaffolded |
+| Lambda invoke | — | `lambda-invoke` | :orange_circle: Scaffolded |
+| Lambda versions | — | `lambda-versions` | :orange_circle: Scaffolded |
+| Lambda concurrency | — | `lambda-concurrency` | :orange_circle: Scaffolded |
+| ECS services | — | `ecs-services` | :orange_circle: Scaffolded |
+| ECS tasks | — | `ecs-tasks` | :orange_circle: Scaffolded |
+| ECS clusters | — | `ecs-clusters` | :orange_circle: Scaffolded |
+| ECS task definitions | — | `ecs-task-definitions` | :orange_circle: Scaffolded |
+| ECS capacity | — | `ecs-capacity` | :orange_circle: Scaffolded |
+
+### Round 408 — Netlify ext, Cloudflare ext, Fastly ext, Akamai ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Netlify deploys | — | `netlify-deploys` | :orange_circle: Scaffolded |
+| Netlify identity | — | `netlify-identity` | :orange_circle: Scaffolded |
+| Netlify build | — | `netlify-build` | :orange_circle: Scaffolded |
+| Netlify hooks | — | `netlify-hooks` | :orange_circle: Scaffolded |
+| Cloudflare zones | — | `cloudflare-zones` | :orange_circle: Scaffolded |
+| Cloudflare tunnels | — | `cloudflare-tunnels` | :orange_circle: Scaffolded |
+| Cloudflare firewall | — | `cloudflare-firewall` | :orange_circle: Scaffolded |
+| Cloudflare R2 | — | `cloudflare-r2` | :orange_circle: Scaffolded |
+| Cloudflare KV | — | `cloudflare-kv` | :orange_circle: Scaffolded |
+| Fastly services | — | `fastly-services` | :orange_circle: Scaffolded |
+| Fastly domains | — | `fastly-domains` | :orange_circle: Scaffolded |
+| Fastly backends | — | `fastly-backends` | :orange_circle: Scaffolded |
+| Fastly logging | — | `fastly-logging` | :orange_circle: Scaffolded |
+| Fastly ACLs | — | `fastly-acls` | :orange_circle: Scaffolded |
+| Akamai properties | — | `akamai-properties` | :orange_circle: Scaffolded |
+| Akamai CP codes | — | `akamai-cpcodes` | :orange_circle: Scaffolded |
+| Akamai origins | — | `akamai-origins` | :orange_circle: Scaffolded |
+| Akamai rules | — | `akamai-rules` | :orange_circle: Scaffolded |
+| Akamai diagnostics | — | `akamai-diagnostics` | :orange_circle: Scaffolded |
+| Vercel promote | — | `vercel-promote` | :orange_circle: Scaffolded |
+
+### Round 407 — Fly.io ext, Railway ext, Render ext, Vercel ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Fly.io apps | — | `flyio-apps` | :orange_circle: Scaffolded |
+| Fly.io regions | — | `flyio-regions` | :orange_circle: Scaffolded |
+| Fly.io WireGuard | — | `flyio-wireguard` | :orange_circle: Scaffolded |
+| Fly.io Postgres | — | `flyio-postgres` | :orange_circle: Scaffolded |
+| Fly.io tokens | — | `flyio-tokens` | :orange_circle: Scaffolded |
+| Fly.io extensions | — | `flyio-extensions` | :orange_circle: Scaffolded |
+| Railway up | — | `railway-up` | :orange_circle: Scaffolded |
+| Railway variables | — | `railway-variables` | :orange_circle: Scaffolded |
+| Railway domains | — | `railway-domains` | :orange_circle: Scaffolded |
+| Railway services | — | `railway-services` | :orange_circle: Scaffolded |
+| Railway connect | — | `railway-connect` | :orange_circle: Scaffolded |
+| Railway shell | — | `railway-shell` | :orange_circle: Scaffolded |
+| Render services | — | `render-services` | :orange_circle: Scaffolded |
+| Render deploys | — | `render-deploys` | :orange_circle: Scaffolded |
+| Render env groups | — | `render-envgroups` | :orange_circle: Scaffolded |
+| Render jobs | — | `render-jobs` | :orange_circle: Scaffolded |
+| Render databases | — | `render-databases` | :orange_circle: Scaffolded |
+| Vercel secrets | — | `vercel-secrets` | :orange_circle: Scaffolded |
+| Vercel certs | — | `vercel-certs` | :orange_circle: Scaffolded |
+| Vercel inspect | — | `vercel-inspect` | :orange_circle: Scaffolded |
+
+### Round 406 — Hetzner ext, Vultr ext, OVH ext, Scaleway ext
+
+| Feature | Emacs | jemacs | Status |
+|---|---|---|---|
+| Hetzner servers | — | `hetzner-servers` | :orange_circle: Scaffolded |
+| Hetzner volumes | — | `hetzner-volumes` | :orange_circle: Scaffolded |
+| Hetzner networks | — | `hetzner-networks` | :orange_circle: Scaffolded |
+| Hetzner firewalls | — | `hetzner-firewalls` | :orange_circle: Scaffolded |
+| Hetzner images | — | `hetzner-images` | :orange_circle: Scaffolded |
+| Vultr instances | — | `vultr-instances` | :orange_circle: Scaffolded |
+| Vultr Kubernetes | — | `vultr-kubernetes` | :orange_circle: Scaffolded |
+| Vultr databases | — | `vultr-databases` | :orange_circle: Scaffolded |
+| Vultr block storage | — | `vultr-block-storage` | :orange_circle: Scaffolded |
+| Vultr DNS | — | `vultr-dns` | :orange_circle: Scaffolded |
+| OVH instances | — | `ovh-instances` | :orange_circle: Scaffolded |
+| OVH domains | — | `ovh-domains` | :orange_circle: Scaffolded |
+| OVH databases | — | `ovh-databases` | :orange_circle: Scaffolded |
+| OVH storage | — | `ovh-storage` | :orange_circle: Scaffolded |
+| OVH networks | — | `ovh-networks` | :orange_circle: Scaffolded |
+| Scaleway instances | — | `scaleway-instances` | :orange_circle: Scaffolded |
+| Scaleway volumes | — | `scaleway-volumes` | :orange_circle: Scaffolded |
+| Scaleway K8s | — | `scaleway-k8s` | :orange_circle: Scaffolded |
+| Scaleway registry | — | `scaleway-registry` | :orange_circle: Scaffolded |
+| Scaleway functions | — | `scaleway-functions` | :orange_circle: Scaffolded |
+
 ### Round 405 — GCP ext, Azure CLI ext, DigitalOcean ext, Linode ext
 
 | Feature | Emacs | jemacs | Status |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 0347868..668f8f0 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -27960,4 +27960,214 @@
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Linode: StackScripts")))
 
+;; Round 406 — Hetzner ext, Vultr ext, OVH ext, Scaleway ext (batch 2)
+
+(def (cmd-ovh-instances app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OVH: managing instances")))
+
+(def (cmd-ovh-domains app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OVH: domain management")))
+
+(def (cmd-ovh-databases app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OVH: managed databases")))
+
+(def (cmd-ovh-storage app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OVH: object storage")))
+
+(def (cmd-ovh-networks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "OVH: network management")))
+
+(def (cmd-scaleway-instances app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Scaleway: managing instances")))
+
+(def (cmd-scaleway-volumes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Scaleway: managing volumes")))
+
+(def (cmd-scaleway-k8s app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Scaleway: Kubernetes clusters")))
+
+(def (cmd-scaleway-registry app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Scaleway: container registry")))
+
+(def (cmd-scaleway-functions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Scaleway: serverless functions")))
+
+;; Round 407 — Fly.io ext, Railway ext, Render ext, Vercel ext (batch 2)
+
+(def (cmd-railway-connect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: connecting to database")))
+
+(def (cmd-railway-shell app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: opening shell")))
+
+(def (cmd-render-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Render: listing services")))
+
+(def (cmd-render-deploys app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Render: listing deploys")))
+
+(def (cmd-render-envgroups app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Render: environment groups")))
+
+(def (cmd-render-jobs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Render: cron jobs")))
+
+(def (cmd-render-databases app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Render: managed databases")))
+
+(def (cmd-vercel-secrets app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vercel: managing secrets")))
+
+(def (cmd-vercel-certs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vercel: SSL certificates")))
+
+(def (cmd-vercel-inspect app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vercel: inspecting deployment")))
+
+;; Round 408 — Netlify ext, Cloudflare ext, Fastly ext, Akamai ext (batch 2)
+
+(def (cmd-fastly-domains app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fastly: managing domains")))
+
+(def (cmd-fastly-backends app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fastly: managing backends")))
+
+(def (cmd-fastly-logging app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fastly: logging endpoints")))
+
+(def (cmd-fastly-acls app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fastly: access control lists")))
+
+(def (cmd-akamai-properties app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Akamai: managing properties")))
+
+(def (cmd-akamai-cpcodes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Akamai: CP codes")))
+
+(def (cmd-akamai-origins app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Akamai: origin servers")))
+
+(def (cmd-akamai-rules app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Akamai: property rules")))
+
+(def (cmd-akamai-diagnostics app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Akamai: diagnostics tools")))
+
+(def (cmd-vercel-promote app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vercel: promoting deployment")))
+
+;; Round 409 — AWS S3 ext, AWS EC2 ext, AWS Lambda ext, AWS ECS ext (batch 2)
+
+(def (cmd-lambda-layers app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lambda: managing layers")))
+
+(def (cmd-lambda-aliases app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lambda: managing aliases")))
+
+(def (cmd-lambda-invoke app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lambda: invoking function")))
+
+(def (cmd-lambda-versions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lambda: listing versions")))
+
+(def (cmd-lambda-concurrency app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Lambda: concurrency settings")))
+
+(def (cmd-ecs-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "ECS: listing services")))
+
+(def (cmd-ecs-tasks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "ECS: listing tasks")))
+
+(def (cmd-ecs-clusters app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "ECS: listing clusters")))
+
+(def (cmd-ecs-task-definitions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "ECS: task definitions")))
+
+(def (cmd-ecs-capacity app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "ECS: capacity providers")))
+
+;; Round 410 — AWS RDS ext, AWS DynamoDB ext, AWS SQS ext, AWS SNS ext (batch 2)
+
+(def (cmd-sqs-queues app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQS: listing queues")))
+
+(def (cmd-sqs-messages app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQS: receiving messages")))
+
+(def (cmd-sqs-dead-letter app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQS: dead letter queue")))
+
+(def (cmd-sqs-attributes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQS: queue attributes")))
+
+(def (cmd-sqs-purge app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SQS: purging queue")))
+
+(def (cmd-sns-topics app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SNS: listing topics")))
+
+(def (cmd-sns-subscriptions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SNS: listing subscriptions")))
+
+(def (cmd-sns-publish app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SNS: publishing message")))
+
+(def (cmd-sns-platforms app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SNS: platform applications")))
+
+(def (cmd-sns-attributes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "SNS: topic attributes")))
+
 ;; Milestone: Round 400 — 9,000+ commands in jemacs!
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 5f0fef8..9579c05 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -28746,3 +28746,213 @@
 (def (cmd-az-monitor app)
   (let* ((echo (app-state-echo app)))
     (echo-message! echo "Azure: Monitor")))
+
+;; Round 406 — Hetzner ext, Vultr ext, OVH ext, Scaleway ext (batch 1)
+
+(def (cmd-hetzner-servers app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hetzner: managing servers")))
+
+(def (cmd-hetzner-volumes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hetzner: managing volumes")))
+
+(def (cmd-hetzner-networks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hetzner: managing networks")))
+
+(def (cmd-hetzner-firewalls app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hetzner: managing firewalls")))
+
+(def (cmd-hetzner-images app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Hetzner: managing images")))
+
+(def (cmd-vultr-instances app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vultr: managing instances")))
+
+(def (cmd-vultr-kubernetes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vultr: Kubernetes clusters")))
+
+(def (cmd-vultr-databases app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vultr: managed databases")))
+
+(def (cmd-vultr-block-storage app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vultr: block storage")))
+
+(def (cmd-vultr-dns app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Vultr: DNS management")))
+
+;; Round 407 — Fly.io ext, Railway ext, Render ext, Vercel ext (batch 1)
+
+(def (cmd-flyio-apps app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: listing apps")))
+
+(def (cmd-flyio-regions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: listing regions")))
+
+(def (cmd-flyio-wireguard app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: WireGuard tunnels")))
+
+(def (cmd-flyio-postgres app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: Postgres clusters")))
+
+(def (cmd-flyio-tokens app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: managing tokens")))
+
+(def (cmd-flyio-extensions app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fly.io: managing extensions")))
+
+(def (cmd-railway-up app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: deploying project")))
+
+(def (cmd-railway-variables app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: managing variables")))
+
+(def (cmd-railway-domains app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: managing domains")))
+
+(def (cmd-railway-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Railway: listing services")))
+
+;; Round 408 — Netlify ext, Cloudflare ext, Fastly ext, Akamai ext (batch 1)
+
+(def (cmd-netlify-deploys app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Netlify: listing deploys")))
+
+(def (cmd-netlify-identity app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Netlify: identity management")))
+
+(def (cmd-netlify-build app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Netlify: build settings")))
+
+(def (cmd-netlify-hooks app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Netlify: webhook management")))
+
+(def (cmd-cloudflare-zones app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cloudflare: listing zones")))
+
+(def (cmd-cloudflare-tunnels app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cloudflare: managing tunnels")))
+
+(def (cmd-cloudflare-firewall app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cloudflare: firewall rules")))
+
+(def (cmd-cloudflare-r2 app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cloudflare: R2 storage")))
+
+(def (cmd-cloudflare-kv app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Cloudflare: KV namespaces")))
+
+(def (cmd-fastly-services app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Fastly: listing services")))
+
+;; Round 409 — AWS S3 ext, AWS EC2 ext, AWS Lambda ext, AWS ECS ext (batch 1)
+
+(def (cmd-s3-sync app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "S3: syncing buckets")))
+
+(def (cmd-s3-presign app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "S3: presigning URL")))
+
+(def (cmd-s3-lifecycle app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "S3: lifecycle rules")))
+
+(def (cmd-s3-cors app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "S3: CORS configuration")))
+
+(def (cmd-s3-versioning app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "S3: versioning config")))
+
+(def (cmd-ec2-describe app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "EC2: describing instances")))
+
+(def (cmd-ec2-security-groups app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "EC2: security groups")))
+
+(def (cmd-ec2-key-pairs app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "EC2: key pairs")))
+
+(def (cmd-ec2-snapshots app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "EC2: EBS snapshots")))
+
+(def (cmd-ec2-amis app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "EC2: AMI management")))
+
+;; Round 410 — AWS RDS ext, AWS DynamoDB ext, AWS SQS ext, AWS SNS ext (batch 1)
+
+(def (cmd-rds-instances app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "RDS: listing instances")))
+
+(def (cmd-rds-clusters app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "RDS: Aurora clusters")))
+
+(def (cmd-rds-snapshots app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "RDS: managing snapshots")))
+
+(def (cmd-rds-parameters app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "RDS: parameter groups")))
+
+(def (cmd-rds-events app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "RDS: recent events")))
+
+(def (cmd-dynamodb-indexes app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "DynamoDB: managing indexes")))
+
+(def (cmd-dynamodb-items app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "DynamoDB: querying items")))
+
+(def (cmd-dynamodb-streams app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "DynamoDB: stream management")))
+
+(def (cmd-dynamodb-backups app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "DynamoDB: backup management")))
+
+(def (cmd-dynamodb-global-tables app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "DynamoDB: global tables")))
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 22825bc..d2d3a18 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -10014,4 +10014,114 @@
   (register-command! 'linode-nodebalancers cmd-linode-nodebalancers)
   (register-command! 'linode-domains cmd-linode-domains)
   (register-command! 'linode-stackscripts cmd-linode-stackscripts)
+
+  ;; Round 406 — Hetzner ext, Vultr ext, OVH ext, Scaleway ext
+  (register-command! 'hetzner-servers cmd-hetzner-servers)
+  (register-command! 'hetzner-volumes cmd-hetzner-volumes)
+  (register-command! 'hetzner-networks cmd-hetzner-networks)
+  (register-command! 'hetzner-firewalls cmd-hetzner-firewalls)
+  (register-command! 'hetzner-images cmd-hetzner-images)
+  (register-command! 'vultr-instances cmd-vultr-instances)
+  (register-command! 'vultr-kubernetes cmd-vultr-kubernetes)
+  (register-command! 'vultr-databases cmd-vultr-databases)
+  (register-command! 'vultr-block-storage cmd-vultr-block-storage)
+  (register-command! 'vultr-dns cmd-vultr-dns)
+  (register-command! 'ovh-instances cmd-ovh-instances)
+  (register-command! 'ovh-domains cmd-ovh-domains)
+  (register-command! 'ovh-databases cmd-ovh-databases)
+  (register-command! 'ovh-storage cmd-ovh-storage)
+  (register-command! 'ovh-networks cmd-ovh-networks)
+  (register-command! 'scaleway-instances cmd-scaleway-instances)
+  (register-command! 'scaleway-volumes cmd-scaleway-volumes)
+  (register-command! 'scaleway-k8s cmd-scaleway-k8s)
+  (register-command! 'scaleway-registry cmd-scaleway-registry)
+  (register-command! 'scaleway-functions cmd-scaleway-functions)
+
+  ;; Round 407 — Fly.io ext, Railway ext, Render ext, Vercel ext
+  (register-command! 'flyio-apps cmd-flyio-apps)
+  (register-command! 'flyio-regions cmd-flyio-regions)
+  (register-command! 'flyio-wireguard cmd-flyio-wireguard)
+  (register-command! 'flyio-postgres cmd-flyio-postgres)
+  (register-command! 'flyio-tokens cmd-flyio-tokens)
+  (register-command! 'flyio-extensions cmd-flyio-extensions)
+  (register-command! 'railway-up cmd-railway-up)
+  (register-command! 'railway-variables cmd-railway-variables)
+  (register-command! 'railway-domains cmd-railway-domains)
+  (register-command! 'railway-services cmd-railway-services)
+  (register-command! 'railway-connect cmd-railway-connect)
+  (register-command! 'railway-shell cmd-railway-shell)
+  (register-command! 'render-services cmd-render-services)
+  (register-command! 'render-deploys cmd-render-deploys)
+  (register-command! 'render-envgroups cmd-render-envgroups)
+  (register-command! 'render-jobs cmd-render-jobs)
+  (register-command! 'render-databases cmd-render-databases)
+  (register-command! 'vercel-secrets cmd-vercel-secrets)
+  (register-command! 'vercel-certs cmd-vercel-certs)
+  (register-command! 'vercel-inspect cmd-vercel-inspect)
+
+  ;; Round 408 — Netlify ext, Cloudflare ext, Fastly ext, Akamai ext
+  (register-command! 'netlify-deploys cmd-netlify-deploys)
+  (register-command! 'netlify-identity cmd-netlify-identity)
+  (register-command! 'netlify-build cmd-netlify-build)
+  (register-command! 'netlify-hooks cmd-netlify-hooks)
+  (register-command! 'cloudflare-zones cmd-cloudflare-zones)
+  (register-command! 'cloudflare-tunnels cmd-cloudflare-tunnels)
+  (register-command! 'cloudflare-firewall cmd-cloudflare-firewall)
+  (register-command! 'cloudflare-r2 cmd-cloudflare-r2)
+  (register-command! 'cloudflare-kv cmd-cloudflare-kv)
+  (register-command! 'fastly-services cmd-fastly-services)
+  (register-command! 'fastly-domains cmd-fastly-domains)
+  (register-command! 'fastly-backends cmd-fastly-backends)
+  (register-command! 'fastly-logging cmd-fastly-logging)
+  (register-command! 'fastly-acls cmd-fastly-acls)
+  (register-command! 'akamai-properties cmd-akamai-properties)
+  (register-command! 'akamai-cpcodes cmd-akamai-cpcodes)
+  (register-command! 'akamai-origins cmd-akamai-origins)
+  (register-command! 'akamai-rules cmd-akamai-rules)
+  (register-command! 'akamai-diagnostics cmd-akamai-diagnostics)
+  (register-command! 'vercel-promote cmd-vercel-promote)
+
+  ;; Round 409 — AWS S3 ext, AWS EC2 ext, AWS Lambda ext, AWS ECS ext
+  (register-command! 's3-sync cmd-s3-sync)
+  (register-command! 's3-presign cmd-s3-presign)
+  (register-command! 's3-lifecycle cmd-s3-lifecycle)
+  (register-command! 's3-cors cmd-s3-cors)
+  (register-command! 's3-versioning cmd-s3-versioning)
+  (register-command! 'ec2-describe cmd-ec2-describe)
+  (register-command! 'ec2-security-groups cmd-ec2-security-groups)
+  (register-command! 'ec2-key-pairs cmd-ec2-key-pairs)
+  (register-command! 'ec2-snapshots cmd-ec2-snapshots)
+  (register-command! 'ec2-amis cmd-ec2-amis)
+  (register-command! 'lambda-layers cmd-lambda-layers)
+  (register-command! 'lambda-aliases cmd-lambda-aliases)
+  (register-command! 'lambda-invoke cmd-lambda-invoke)
+  (register-command! 'lambda-versions cmd-lambda-versions)
+  (register-command! 'lambda-concurrency cmd-lambda-concurrency)
+  (register-command! 'ecs-services cmd-ecs-services)
+  (register-command! 'ecs-tasks cmd-ecs-tasks)
+  (register-command! 'ecs-clusters cmd-ecs-clusters)
+  (register-command! 'ecs-task-definitions cmd-ecs-task-definitions)
+  (register-command! 'ecs-capacity cmd-ecs-capacity)
+
+  ;; Round 410 — AWS RDS ext, AWS DynamoDB ext, AWS SQS ext, AWS SNS ext
+  (register-command! 'rds-instances cmd-rds-instances)
+  (register-command! 'rds-clusters cmd-rds-clusters)
+  (register-command! 'rds-snapshots cmd-rds-snapshots)
+  (register-command! 'rds-parameters cmd-rds-parameters)
+  (register-command! 'rds-events cmd-rds-events)
+  (register-command! 'dynamodb-indexes cmd-dynamodb-indexes)
+  (register-command! 'dynamodb-items cmd-dynamodb-items)
+  (register-command! 'dynamodb-streams cmd-dynamodb-streams)
+  (register-command! 'dynamodb-backups cmd-dynamodb-backups)
+  (register-command! 'dynamodb-global-tables cmd-dynamodb-global-tables)
+  (register-command! 'sqs-queues cmd-sqs-queues)
+  (register-command! 'sqs-messages cmd-sqs-messages)
+  (register-command! 'sqs-dead-letter cmd-sqs-dead-letter)
+  (register-command! 'sqs-attributes cmd-sqs-attributes)
+  (register-command! 'sqs-purge cmd-sqs-purge)
+  (register-command! 'sns-topics cmd-sns-topics)
+  (register-command! 'sns-subscriptions cmd-sns-subscriptions)
+  (register-command! 'sns-publish cmd-sns-publish)
+  (register-command! 'sns-platforms cmd-sns-platforms)
+  (register-command! 'sns-attributes cmd-sns-attributes)
 )