1import type * as fsx from "@distilled.cloud/aws/fsx";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for the `DescribeDataRepositoryAssociations` operation
7 * (IAM action `fsx:DescribeDataRepositoryAssociations` on `*`).
8 *
9 * Lists the S3 data repository associations linked to Lustre file systems —
10 * optionally filtered by `file-system-id` — from inside a function runtime,
11 * e.g. to discover the S3 prefix a {@link CreateDataRepositoryTask} export
12 * will land in. Provide the implementation with
13 * `Effect.provide(AWS.FSx.DescribeDataRepositoryAssociationsHttp)`.
14 * ### Data Repository Tasks
15 * **Example:** List a file system's data repository associations
16 * ```typescript
17 * const describeDataRepositoryAssociations =
18 * yield* AWS.FSx.DescribeDataRepositoryAssociations();
19 *
20 * const response = yield* describeDataRepositoryAssociations({
21 * Filters: [{ Name: "file-system-id", Values: [fileSystemId] }],
22 * });
23 * yield* Effect.log(response.Associations?.[0]?.DataRepositoryPath);
24 * ```
25 *
26 * @binding
27 */
28export interface DescribeDataRepositoryAssociations extends Binding.Service<
29 DescribeDataRepositoryAssociations,
30 "AWS.FSx.DescribeDataRepositoryAssociations",
31 () => Effect.Effect<
32 (
33 request?: fsx.DescribeDataRepositoryAssociationsRequest,
34 ) => Effect.Effect<
35 fsx.DescribeDataRepositoryAssociationsResponse,
36 fsx.DescribeDataRepositoryAssociationsError
37 >
38 >
39> {}
40export const DescribeDataRepositoryAssociations =
41 Binding.Service<DescribeDataRepositoryAssociations>(
42 "AWS.FSx.DescribeDataRepositoryAssociations",
43 );