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:AcceptResourceShareInvitation`.
7 *
8 * Accepts an invitation to a resource share from another account, granting this account access to the shared resources.
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.AcceptResourceShareInvitationHttp)`.
13 * ### Invitations
14 * **Example:** Accept an Invitation
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const acceptResourceShareInvitation = yield* AWS.RAM.AcceptResourceShareInvitation();
18 *
19 * // runtime
20 * const { resourceShareInvitation } =
21 * yield* acceptResourceShareInvitation({
22 * resourceShareInvitationArn: invitationArn,
23 * });
24 * ```
25 *
26 * @binding
27 */
28export interface AcceptResourceShareInvitation extends Binding.Service<
29 AcceptResourceShareInvitation,
30 "AWS.RAM.AcceptResourceShareInvitation",
31 () => Effect.Effect<
32 (
33 request: ram.AcceptResourceShareInvitationRequest,
34 ) => Effect.Effect<
35 ram.AcceptResourceShareInvitationResponse,
36 ram.AcceptResourceShareInvitationError
37 >
38 >
39> {}
40export const AcceptResourceShareInvitation =
41 Binding.Service<AcceptResourceShareInvitation>(
42 "AWS.RAM.AcceptResourceShareInvitation",
43 );