1import type * as datazone from "@distilled.cloud/aws/datazone";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Domain } from "./Domain.ts";
5
6export interface ListSubscriptionRequestsRequest extends Omit<
7 datazone.ListSubscriptionRequestsInput,
8 "domainIdentifier"
9> {}
10
11/**
12 * Runtime binding for `datazone:ListSubscriptionRequests`.
13 *
14 * Lists subscription requests in the bound domain, optionally by status — e.g. the PENDING queue an approval bot works through. The domain id is injected from the binding.
15 * Provide the implementation with
16 * `Effect.provide(AWS.DataZone.ListSubscriptionRequestsHttp)`.
17 * ### Subscription Workflows
18 * **Example:** List Pending Requests
19 * ```typescript
20 * // init — bind the operation to the domain
21 * const listSubscriptionRequests = yield* AWS.DataZone.ListSubscriptionRequests(domain);
22 *
23 * // runtime
24 * const pending = yield* listSubscriptionRequests({ status: "PENDING" });
25 * ```
26 *
27 * @binding
28 */
29export interface ListSubscriptionRequests extends Binding.Service<
30 ListSubscriptionRequests,
31 "AWS.DataZone.ListSubscriptionRequests",
32 (
33 domain: Domain,
34 ) => Effect.Effect<
35 (
36 request?: ListSubscriptionRequestsRequest,
37 ) => Effect.Effect<
38 datazone.ListSubscriptionRequestsOutput,
39 datazone.ListSubscriptionRequestsError
40 >
41 >
42> {}
43export const ListSubscriptionRequests =
44 Binding.Service<ListSubscriptionRequests>(
45 "AWS.DataZone.ListSubscriptionRequests",
46 );