1import type * as detective from "@distilled.cloud/aws/detective";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `detective:EnableOrganizationAdminAccount`.
7 *
8 * Designates an organization account as the delegated Detective
9 * administrator. Callable only from the organization management account —
10 * the org-governance automation hook.
11 * Provide the implementation with
12 * `Effect.provide(AWS.Detective.EnableOrganizationAdminAccountHttp)`.
13 * ### Organization Administration
14 * **Example:** Delegate The Security Account
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const enableOrganizationAdminAccount =
18 * yield* AWS.Detective.EnableOrganizationAdminAccount();
19 *
20 * // runtime
21 * yield* enableOrganizationAdminAccount({ AccountId: securityAccountId });
22 * ```
23 *
24 * @binding
25 */
26export interface EnableOrganizationAdminAccount extends Binding.Service<
27 EnableOrganizationAdminAccount,
28 "AWS.Detective.EnableOrganizationAdminAccount",
29 () => Effect.Effect<
30 (
31 request: detective.EnableOrganizationAdminAccountRequest,
32 ) => Effect.Effect<
33 detective.EnableOrganizationAdminAccountResponse,
34 detective.EnableOrganizationAdminAccountError
35 >
36 >
37> {}
38export const EnableOrganizationAdminAccount =
39 Binding.Service<EnableOrganizationAdminAccount>(
40 "AWS.Detective.EnableOrganizationAdminAccount",
41 );