import type * as ds from "@distilled.cloud/aws/directory-service"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Directory } from "./Directory.ts"; /** * Runtime binding for the `GetSnapshotLimits` operation (IAM action * `ds:GetSnapshotLimits`), scoped to one {@link Directory}. * * Reads the bound directory's manual snapshot limits — how many manual * snapshots exist versus the allowed maximum — so a backup function can * prune before taking a new snapshot. The directory id is injected from the * binding. Provide the implementation with * `Effect.provide(AWS.DirectoryService.GetSnapshotLimitsHttp)`. * ### Managing Snapshots * **Example:** Check the Manual Snapshot Quota * ```typescript * // init — bind the operation to the directory * const getSnapshotLimits = yield* AWS.DirectoryService.GetSnapshotLimits(directory); * * // runtime * const { SnapshotLimits } = yield* getSnapshotLimits(); * if (SnapshotLimits?.ManualSnapshotsLimitReached) { * yield* Effect.logWarning("manual snapshot limit reached"); * } * ``` * * @binding */ export interface GetSnapshotLimits extends Binding.Service Effect.Effect<() => Effect.Effect>> { } export declare const GetSnapshotLimits: GetSnapshotLimits; //# sourceMappingURL=GetSnapshotLimits.d.ts.map