1import type * as cloudformation from "@distilled.cloud/aws/cloudformation";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeStackDriftDetectionStatus` operation (IAM
7 * action `cloudformation:DescribeStackDriftDetectionStatus` on `*` — the
8 * detection id is not resource-scoped).
9 *
10 * Polls a drift-detection run started with {@link DetectStackDrift} until it
11 * reaches `DETECTION_COMPLETE` / `DETECTION_FAILED` and reports the stack's
12 * overall drift status. Provide the implementation with
13 * `Effect.provide(AWS.CloudFormation.DescribeStackDriftDetectionStatusHttp)`.
14 * ### Drift Detection
15 * **Example:** Poll a Drift Detection Run
16 * ```typescript
17 * const describeStackDriftDetectionStatus =
18 * yield* AWS.CloudFormation.DescribeStackDriftDetectionStatus();
19 *
20 * const status = yield* describeStackDriftDetectionStatus({
21 * StackDriftDetectionId: detectionId,
22 * });
23 * // status.DetectionStatus, status.StackDriftStatus
24 * ```
25 *
26 * @binding
27 */
28export interface DescribeStackDriftDetectionStatus extends Binding.Service<
29 DescribeStackDriftDetectionStatus,
30 "AWS.CloudFormation.DescribeStackDriftDetectionStatus",
31 () => Effect.Effect<
32 (
33 request: cloudformation.DescribeStackDriftDetectionStatusInput,
34 ) => Effect.Effect<
35 cloudformation.DescribeStackDriftDetectionStatusOutput,
36 cloudformation.DescribeStackDriftDetectionStatusError
37 >
38 >
39> {}
40export const DescribeStackDriftDetectionStatus =
41 Binding.Service<DescribeStackDriftDetectionStatus>(
42 "AWS.CloudFormation.DescribeStackDriftDetectionStatus",
43 );