1import type * as aoss from "@distilled.cloud/aws/opensearchserverless";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `UpdateAccountSettings` operation (IAM action
7 * `aoss:UpdateAccountSettings`; the action does not support resource-level
8 * scoping, so the grant is on `*`).
9 *
10 * Updates the account-level OCU capacity limits — the cost-control automation
11 * path (e.g. a budget alarm handler capping search capacity). Provide the
12 * implementation with
13 * `Effect.provide(AWS.OpenSearchServerless.UpdateAccountSettingsHttp)`.
14 * ### Account Settings
15 * **Example:** Cap the account's search capacity
16 * ```typescript
17 * const updateAccountSettings = yield* AWS.OpenSearchServerless.UpdateAccountSettings();
18 *
19 * yield* updateAccountSettings({
20 * capacityLimits: { maxSearchCapacityInOCU: 4 },
21 * });
22 * ```
23 *
24 * @binding
25 */
26export interface UpdateAccountSettings extends Binding.Service<
27 UpdateAccountSettings,
28 "AWS.OpenSearchServerless.UpdateAccountSettings",
29 () => Effect.Effect<
30 (
31 request: aoss.UpdateAccountSettingsRequest,
32 ) => Effect.Effect<
33 aoss.UpdateAccountSettingsResponse,
34 aoss.UpdateAccountSettingsError
35 >
36 >
37> {}
38export const UpdateAccountSettings = Binding.Service<UpdateAccountSettings>(
39 "AWS.OpenSearchServerless.UpdateAccountSettings",
40);