1import type * as osis from "@distilled.cloud/aws/osis";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `osis:ListPipelineEndpointConnections`.
7 *
8 * Lists the VPC endpoint connections attached to pipelines in the account —
9 * including endpoints owned by other accounts — so an ops function can audit
10 * who can ingest into your pipelines (pair with
11 * {@link RevokePipelineEndpointConnections} to cut off access). Account-level:
12 * no resource argument. Provide the implementation with
13 * `Effect.provide(AWS.OSIS.ListPipelineEndpointConnectionsHttp)`.
14 * ### Managing Endpoint Connections
15 * **Example:** Audit Endpoint Connections
16 * ```typescript
17 * // init — account-level binding, no resource argument
18 * const listConnections = yield* AWS.OSIS.ListPipelineEndpointConnections();
19 *
20 * // runtime
21 * const { PipelineEndpointConnections } = yield* listConnections();
22 * for (const connection of PipelineEndpointConnections ?? []) {
23 * yield* Effect.log(
24 * `${connection.EndpointId} (owner ${connection.VpcEndpointOwner})`,
25 * );
26 * }
27 * ```
28 *
29 * @binding
30 */
31export interface ListPipelineEndpointConnections extends Binding.Service<
32 ListPipelineEndpointConnections,
33 "AWS.OSIS.ListPipelineEndpointConnections",
34 () => Effect.Effect<
35 (
36 request?: osis.ListPipelineEndpointConnectionsRequest,
37 ) => Effect.Effect<
38 osis.ListPipelineEndpointConnectionsResponse,
39 osis.ListPipelineEndpointConnectionsError
40 >
41 >
42> {}
43export const ListPipelineEndpointConnections =
44 Binding.Service<ListPipelineEndpointConnections>(
45 "AWS.OSIS.ListPipelineEndpointConnections",
46 );