/** * Typed step-builders for the aws lexicon's verbs — the same ergonomic sugar * core offers for its agnostic verbs (#658), reusing the exported `step` * projection from `@intentius/chant/components`. `cfnDeploy({ template })` is * exactly `{ kind: "cfn-deploy", template }`, but with per-verb argument * checking from each capability's own `Input` type. */ import { step } from "@intentius/chant/components"; import type { ExtractConfigBomInput } from "./config-bom"; import type { PublishImageInput, PublishArtifactInput } from "./publish"; import type { CfnDeployInput, EcsUpdateServiceInput, LambdaDeployInput, S3SyncInput, CdnInvalidateInput, RunMigrationInput, } from "./apply"; import type { EmrStartJobRunInput, EmrSubmitStepInput } from "./job-submission"; import type { CodeDeployInput, CopyToHostInput, RemoteExecInput } from "./host-delivery"; import type { WaitForStackInput, WaitSteadyStateInput, WaitJobInput } from "./wait-aws"; import type { SnapshotBeforeInput, RollbackPreviousInput } from "./safety"; // ── sbom ───────────────────────────────────────────────────────────────────── export const extractConfigBom = step("extract-config-bom"); // ── publish ────────────────────────────────────────────────────────────────── export const publishImage = step("publish-image"); export const loadImageOnHost = step("load-image-on-host"); export const publishArtifact = step("publish-artifact"); /** Alias for {@link publishArtifact} — the docs/epic use both names for the same verb. */ export const publishAsset = publishArtifact; // ── apply ──────────────────────────────────────────────────────────────────── export const cfnDeploy = step("cfn-deploy"); export const ecsUpdateService = step("ecs-update-service"); export const lambdaDeploy = step("lambda-deploy"); export const s3Sync = step("s3-sync"); export const cdnInvalidate = step("cdn-invalidate"); export const runMigration = step("run-migration"); // ── job submission ─────────────────────────────────────────────────────────── export const emrStartJobRun = step("emr-start-job-run"); export const emrSubmitStep = step("emr-submit-step"); // ── host / code delivery ───────────────────────────────────────────────────── export const codeDeploy = step("code-deploy"); export const copyToHost = step("copy-to-host"); export const remoteExec = step("remote-exec"); // ── wait / verify (cloud-specific) ─────────────────────────────────────────── export const waitForStack = step("wait-for-stack"); export const waitSteadyState = step("wait-steady-state"); export const waitJob = step("wait-job"); // ── safety / rollback ──────────────────────────────────────────────────────── export const snapshotBefore = step("snapshot-before"); export const rollbackPrevious = step("rollback-previous");