1import type * as opensearch from "@distilled.cloud/aws/opensearch";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `StartServiceSoftwareUpdate` operation (IAM action
7 * `es:StartServiceSoftwareUpdate`).
8 *
9 * Schedules a service software update for a domain — immediately, at a timestamp, or in the domain's off-peak window — e.g. rolling out a pending security patch fleet-wide. Provide the implementation with
10 * `Effect.provide(AWS.OpenSearch.StartServiceSoftwareUpdateHttp)`.
11 * ### Service Software Updates
12 * **Example:** Start a Service Software Update
13 * ```typescript
14 * const startServiceSoftwareUpdate = yield* OpenSearch.StartServiceSoftwareUpdate();
15 *
16 * const result = yield* startServiceSoftwareUpdate({ DomainName: name });
17 * // result.ServiceSoftwareOptions?.UpdateStatus → "PENDING_UPDATE"
18 * ```
19 *
20 * @binding
21 */
22export interface StartServiceSoftwareUpdate extends Binding.Service<
23 StartServiceSoftwareUpdate,
24 "AWS.OpenSearch.StartServiceSoftwareUpdate",
25 () => Effect.Effect<
26 (
27 request: opensearch.StartServiceSoftwareUpdateRequest,
28 ) => Effect.Effect<
29 opensearch.StartServiceSoftwareUpdateResponse,
30 opensearch.StartServiceSoftwareUpdateError
31 >
32 >
33> {}
34export const StartServiceSoftwareUpdate =
35 Binding.Service<StartServiceSoftwareUpdate>(
36 "AWS.OpenSearch.StartServiceSoftwareUpdate",
37 );