import type * as glacier from "@distilled.cloud/aws/glacier"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Vault } from "./Vault.ts"; /** * `InitiateJob` request with `accountId` and `vaultName` injected from the bound * {@link Vault}. */ export interface InitiateJobRequest extends Omit { } /** * Runtime binding for the `InitiateJob` operation (IAM action * `glacier:InitiateJob` on the vault ARN). * * Initiates an archive-retrieval, inventory-retrieval, or select job * against the bound {@link Vault}. Retrieval is asynchronous — poll the * returned `jobId` with {@link DescribeJob} and fetch the result with * {@link GetJobOutput} once it completes (typically 3–5 hours for standard * tier, minutes for expedited). * Provide the implementation with * `Effect.provide(AWS.Glacier.InitiateJobHttp)`. * ### Retrieving Archives * **Example:** Start an inventory-retrieval job * ```typescript * const initiateJob = yield* AWS.Glacier.InitiateJob(vault); * * const { jobId } = yield* initiateJob({ * jobParameters: { Type: "inventory-retrieval" }, * }); * ``` * * @binding */ export interface InitiateJob extends Binding.Service Effect.Effect<(request?: InitiateJobRequest) => Effect.Effect>> { } export declare const InitiateJob: InitiateJob; //# sourceMappingURL=InitiateJob.d.ts.map