1import type * as SVC from "@distilled.cloud/aws/kinesis-analytics-v2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Application } from "./Application.ts";
5
6export interface DescribeApplicationOperationRequest extends Omit<
7 SVC.DescribeApplicationOperationRequest,
8 "ApplicationName"
9> {}
10
11/**
12 * Runtime binding for `kinesisanalytics:DescribeApplicationOperation` —
13 * reads the status of an async operation on the bound application (the
14 * `OperationId` returned by start/stop/rollback/update), e.g. to poll a
15 * start to completion.
16 * ### Operating the Application
17 * **Example:** Poll an operation to completion
18 * ```typescript
19 * const describeOperation = yield* AWS.KinesisAnalyticsV2.DescribeApplicationOperation(app);
20 *
21 * const { ApplicationOperationInfoDetails } = yield* describeOperation({
22 * OperationId: operationId,
23 * });
24 * ```
25 *
26 * @binding
27 */
28export interface DescribeApplicationOperation extends Binding.Service<
29 DescribeApplicationOperation,
30 "AWS.KinesisAnalyticsV2.DescribeApplicationOperation",
31 <A extends Application>(
32 application: A,
33 ) => Effect.Effect<
34 (
35 request: DescribeApplicationOperationRequest,
36 ) => Effect.Effect<
37 SVC.DescribeApplicationOperationResponse,
38 SVC.DescribeApplicationOperationError
39 >
40 >
41> {}
42export const DescribeApplicationOperation =
43 Binding.Service<DescribeApplicationOperation>(
44 "AWS.KinesisAnalyticsV2.DescribeApplicationOperation",
45 );