1import type * as cloudcontrol from "@distilled.cloud/aws/cloudcontrol";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `cloudformation:CancelResourceRequest`.
7 *
8 * Cancels a resource operation request that is still `PENDING` or
9 * `IN_PROGRESS` — the companion to {@link CreateResource} /
10 * {@link UpdateResource} / {@link DeleteResource} for aborting slow or
11 * mistaken provisioning operations.
12 * ### Tracking Requests
13 * **Example:** Cancel an in-flight operation
14 * ```typescript
15 * const cancelResourceRequest = yield* CloudControl.CancelResourceRequest();
16 *
17 * // runtime
18 * yield* cancelResourceRequest({
19 * RequestToken: created.ProgressEvent!.RequestToken!,
20 * });
21 * ```
22 *
23 * @binding
24 */
25export interface CancelResourceRequest extends Binding.Service<
26 CancelResourceRequest,
27 "AWS.CloudControl.CancelResourceRequest",
28 () => Effect.Effect<
29 (
30 request: cloudcontrol.CancelResourceRequestInput,
31 ) => Effect.Effect<
32 cloudcontrol.CancelResourceRequestOutput,
33 cloudcontrol.CancelResourceRequestError
34 >
35 >
36> {}
37
38export const CancelResourceRequest = Binding.Service<CancelResourceRequest>(
39 "AWS.CloudControl.CancelResourceRequest",
40);