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:ListSourceAssociations`.
7 *
8 * Lists the source associations of your resource shares — the sources that service-managed shares draw resources from.
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.ListSourceAssociationsHttp)`.
13 * ### Discovering Shares & Shared Resources
14 * **Example:** List Source Associations
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const listSourceAssociations = yield* AWS.RAM.ListSourceAssociations();
18 *
19 * // runtime
20 * const { sourceAssociations } = yield* listSourceAssociations();
21 * ```
22 *
23 * @binding
24 */
25export interface ListSourceAssociations extends Binding.Service<
26 ListSourceAssociations,
27 "AWS.RAM.ListSourceAssociations",
28 () => Effect.Effect<
29 (
30 request?: ram.ListSourceAssociationsRequest,
31 ) => Effect.Effect<
32 ram.ListSourceAssociationsResponse,
33 ram.ListSourceAssociationsError
34 >
35 >
36> {}
37export const ListSourceAssociations = Binding.Service<ListSourceAssociations>(
38 "AWS.RAM.ListSourceAssociations",
39);