1import type * as ram from "@distilled.cloud/aws/ram";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `ram:GetResourceShareAssociations`.
7 *
8 * Retrieves the principal and resource associations of your resource shares — who has access, and to what.
9 * Account-level operation — the target shares, invitations, and permissions
10 * are chosen per request at runtime, so the binding takes no resource
11 * argument. Provide the implementation with
12 * `Effect.provide(AWS.RAM.GetResourceShareAssociationsHttp)`.
13 * ### Discovering Shares & Shared Resources
14 * **Example:** List the Principals Associated with Your Shares
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const getResourceShareAssociations = yield* AWS.RAM.GetResourceShareAssociations();
18 *
19 * // runtime
20 * const { resourceShareAssociations } =
21 * yield* getResourceShareAssociations({ associationType: "PRINCIPAL" });
22 * ```
23 *
24 * @binding
25 */
26export interface GetResourceShareAssociations extends Binding.Service<
27 GetResourceShareAssociations,
28 "AWS.RAM.GetResourceShareAssociations",
29 () => Effect.Effect<
30 (
31 request: ram.GetResourceShareAssociationsRequest,
32 ) => Effect.Effect<
33 ram.GetResourceShareAssociationsResponse,
34 ram.GetResourceShareAssociationsError
35 >
36 >
37> {}
38export const GetResourceShareAssociations =
39 Binding.Service<GetResourceShareAssociations>(
40 "AWS.RAM.GetResourceShareAssociations",
41 );