1import type * as imagebuilder from "@distilled.cloud/aws/imagebuilder";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `imagebuilder:SendWorkflowStepAction`.
7 *
8 * Resumes or stops an image build that is paused on a `WaitForAction`
9 * workflow step — the approval half of a human/automated gate (find pending
10 * steps with `ListWaitingWorkflowSteps`). The idempotency `clientToken` is
11 * generated automatically. Provide the implementation with
12 * `Effect.provide(AWS.ImageBuilder.SendWorkflowStepActionHttp)`.
13 * ### Workflow Monitoring
14 * **Example:** Approve a Waiting Build Step
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const sendWorkflowStepAction =
18 * yield* AWS.ImageBuilder.SendWorkflowStepAction();
19 *
20 * // runtime
21 * yield* sendWorkflowStepAction({
22 * stepExecutionId,
23 * imageBuildVersionArn,
24 * action: "RESUME",
25 * reason: "approved by review function",
26 * });
27 * ```
28 *
29 * @binding
30 */
31export interface SendWorkflowStepAction extends Binding.Service<
32 SendWorkflowStepAction,
33 "AWS.ImageBuilder.SendWorkflowStepAction",
34 () => Effect.Effect<
35 (
36 request: Omit<imagebuilder.SendWorkflowStepActionRequest, "clientToken">,
37 ) => Effect.Effect<
38 imagebuilder.SendWorkflowStepActionResponse,
39 imagebuilder.SendWorkflowStepActionError
40 >
41 >
42> {}
43export const SendWorkflowStepAction = Binding.Service<SendWorkflowStepAction>(
44 "AWS.ImageBuilder.SendWorkflowStepAction",
45);