import type * as cloudcontrol from "@distilled.cloud/aws/cloudcontrol"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; /** * Runtime binding for `cloudformation:GetResourceRequestStatus`. * * Polls the status of an asynchronous Cloud Control operation started with * {@link CreateResource}, {@link UpdateResource}, or {@link DeleteResource} * until its `OperationStatus` settles (`SUCCESS` / `FAILED` / `CANCEL_COMPLETE`). * ### Tracking Requests * **Example:** Poll a request token until it settles * ```typescript * const getResourceRequestStatus = * yield* CloudControl.GetResourceRequestStatus(); * * // runtime — bounded poll every 2s until the operation settles * const settled = yield* getResourceRequestStatus({ * RequestToken: created.ProgressEvent!.RequestToken!, * }).pipe( * Effect.repeat({ * schedule: Schedule.spaced("2 seconds"), * until: (r): boolean => * r.ProgressEvent?.OperationStatus !== "PENDING" && * r.ProgressEvent?.OperationStatus !== "IN_PROGRESS", * times: 30, * }), * ); * ``` * * @binding */ export interface GetResourceRequestStatus extends Binding.Service Effect.Effect<(request: cloudcontrol.GetResourceRequestStatusInput) => Effect.Effect>> { } export declare const GetResourceRequestStatus: GetResourceRequestStatus; //# sourceMappingURL=GetResourceRequestStatus.d.ts.map