1import type * as sesv2 from "@distilled.cloud/aws/sesv2";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `sesv2:GetAccount`.
7 *
8 * Retrieves the SES account's sending status in the current region — the
9 * send quota, whether sending is enabled, and whether the account has
10 * production access (or is still in the sandbox). Useful to check remaining
11 * quota before a large send. Account-level operation — invoked with no
12 * arguments. Provide the implementation with
13 * `Effect.provide(AWS.SES.GetAccountHttp)`.
14 * ### Account Status
15 * **Example:** Check Quota and Sandbox Status
16 * ```typescript
17 * // init — account-level binding, no resource argument
18 * const getAccount = yield* SES.GetAccount();
19 *
20 * // runtime
21 * const account = yield* getAccount();
22 * // account.SendQuota?.Max24HourSend, account.ProductionAccessEnabled
23 * ```
24 *
25 * @binding
26 */
27export interface GetAccount extends Binding.Service<
28 GetAccount,
29 "AWS.SES.GetAccount",
30 () => Effect.Effect<
31 (
32 request?: sesv2.GetAccountRequest,
33 ) => Effect.Effect<sesv2.GetAccountResponse, sesv2.GetAccountError>
34 >
35> {}
36export const GetAccount = Binding.Service<GetAccount>("AWS.SES.GetAccount");