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 StopApplicationRequest extends Omit<
7 SVC.StopApplicationRequest,
8 "ApplicationName"
9> {}
10
11/**
12 * Runtime binding for `kinesisanalytics:StopApplication` — stops the bound
13 * Flink application. By default the job is stopped gracefully (taking a
14 * snapshot when snapshots are enabled); `Force: true` skips the snapshot.
15 * ### Operating the Application
16 * **Example:** Force-stop the Flink job
17 * ```typescript
18 * const stopApplication = yield* AWS.KinesisAnalyticsV2.StopApplication(app);
19 *
20 * const { OperationId } = yield* stopApplication({ Force: true });
21 * ```
22 *
23 * @binding
24 */
25export interface StopApplication extends Binding.Service<
26 StopApplication,
27 "AWS.KinesisAnalyticsV2.StopApplication",
28 <A extends Application>(
29 application: A,
30 ) => Effect.Effect<
31 (
32 request?: StopApplicationRequest,
33 ) => Effect.Effect<SVC.StopApplicationResponse, SVC.StopApplicationError>
34 >
35> {}
36export const StopApplication = Binding.Service<StopApplication>(
37 "AWS.KinesisAnalyticsV2.StopApplication",
38);