1import type * as fis from "@distilled.cloud/aws/fis";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `fis:GetExperimentTargetAccountConfiguration`.
7 *
8 * Reads the target account configuration a multi-account experiment resolved
9 * for a specific account — the role and description FIS uses to act in that
10 * account. Provide the implementation with
11 * `Effect.provide(AWS.FIS.GetExperimentTargetAccountConfigurationHttp)`.
12 * ### Multi-Account Experiments
13 * **Example:** Read an Experiment's Target Account
14 * ```typescript
15 * // init — account-level binding, no resource argument
16 * const getTargetAccount =
17 * yield* AWS.FIS.GetExperimentTargetAccountConfiguration();
18 *
19 * // runtime
20 * const { targetAccountConfiguration } = yield* getTargetAccount({
21 * experimentId,
22 * accountId,
23 * });
24 * console.log(targetAccountConfiguration?.roleArn);
25 * ```
26 *
27 * @binding
28 */
29export interface GetExperimentTargetAccountConfiguration extends Binding.Service<
30 GetExperimentTargetAccountConfiguration,
31 "AWS.FIS.GetExperimentTargetAccountConfiguration",
32 () => Effect.Effect<
33 (
34 request: fis.GetExperimentTargetAccountConfigurationRequest,
35 ) => Effect.Effect<
36 fis.GetExperimentTargetAccountConfigurationResponse,
37 fis.GetExperimentTargetAccountConfigurationError
38 >
39 >
40> {}
41export const GetExperimentTargetAccountConfiguration =
42 Binding.Service<GetExperimentTargetAccountConfiguration>(
43 "AWS.FIS.GetExperimentTargetAccountConfiguration",
44 );