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 `DescribeStorageVirtualMachines` operation (IAM
7 * action `fsx:DescribeStorageVirtualMachines` on `*`).
8 *
9 * Lists FSx for ONTAP storage virtual machines (SVMs) — optionally filtered
10 * by `file-system-id` — from inside a function runtime, e.g. to resolve an
11 * SVM's endpoints before opening an iSCSI/NFS session. Provide the
12 * implementation with
13 * `Effect.provide(AWS.FSx.DescribeStorageVirtualMachinesHttp)`.
14 * ### Inspecting File Systems
15 * **Example:** List a file system's SVMs
16 * ```typescript
17 * const describeStorageVirtualMachines =
18 * yield* AWS.FSx.DescribeStorageVirtualMachines();
19 *
20 * const response = yield* describeStorageVirtualMachines({
21 * Filters: [{ Name: "file-system-id", Values: [fileSystemId] }],
22 * });
23 * yield* Effect.log(
24 * `${response.StorageVirtualMachines?.length ?? 0} SVMs`,
25 * );
26 * ```
27 *
28 * @binding
29 */
30export interface DescribeStorageVirtualMachines extends Binding.Service<
31 DescribeStorageVirtualMachines,
32 "AWS.FSx.DescribeStorageVirtualMachines",
33 () => Effect.Effect<
34 (
35 request?: fsx.DescribeStorageVirtualMachinesRequest,
36 ) => Effect.Effect<
37 fsx.DescribeStorageVirtualMachinesResponse,
38 fsx.DescribeStorageVirtualMachinesError
39 >
40 >
41> {}
42export const DescribeStorageVirtualMachines =
43 Binding.Service<DescribeStorageVirtualMachines>(
44 "AWS.FSx.DescribeStorageVirtualMachines",
45 );