import type * as elasticache from "@distilled.cloud/aws/elasticache"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { ServerlessCache } from "./ServerlessCache.ts"; /** * Runtime binding for the `CreateServerlessCacheSnapshot` operation (IAM * actions `elasticache:CreateServerlessCacheSnapshot` + * `elasticache:AddTagsToResource`), scoped to one {@link ServerlessCache}. * * Takes an on-demand snapshot of the bound serverless cache — e.g. a * pre-migration backup from an operational Lambda. Available for valkey, * redis, and serverless memcached. Provide the implementation with * `Effect.provide(AWS.ElastiCache.CreateServerlessCacheSnapshotHttp)`. * ### Managing Snapshots * **Example:** Take an On-Demand Snapshot * ```typescript * const createSnapshot = yield* ElastiCache.CreateServerlessCacheSnapshot(cache); * * const result = yield* createSnapshot({ * ServerlessCacheSnapshotName: "pre-migration", * }); * // result.ServerlessCacheSnapshot.Status → "creating" * ``` * * @binding */ export interface CreateServerlessCacheSnapshot extends Binding.Service Effect.Effect<(request: Omit) => Effect.Effect>> { } export declare const CreateServerlessCacheSnapshot: CreateServerlessCacheSnapshot; //# sourceMappingURL=CreateServerlessCacheSnapshot.d.ts.map