1import type * as s3control from "@distilled.cloud/aws/s3-control";
2import type * as sts from "@distilled.cloud/aws/sts";
3import type * as Effect from "effect/Effect";
4import * as Binding from "../../Binding.ts";
5
6/**
7 * Runtime binding for `s3:UpdateJobPriority` (S3 Batch Operations).
8 *
9 * Re-prioritizes an existing job relative to the account's other jobs —
10 * e.g. bumping an urgent restore ahead of routine re-tagging runs. The
11 * account id is resolved once via `sts:GetCallerIdentity`. Provide the
12 * implementation with `Effect.provide(AWS.S3Control.UpdateJobPriorityHttp)`.
13 * ### Running Batch Operations Jobs
14 * **Example:** Bump a Job's Priority
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const updateJobPriority = yield* AWS.S3Control.UpdateJobPriority();
18 *
19 * // runtime
20 * const updated = yield* updateJobPriority({ JobId: jobId, Priority: 10 });
21 * // updated.Priority === 10
22 * ```
23 *
24 * @binding
25 */
26export interface UpdateJobPriority extends Binding.Service<
27 UpdateJobPriority,
28 "AWS.S3Control.UpdateJobPriority",
29 () => Effect.Effect<
30 (
31 request: Omit<s3control.UpdateJobPriorityRequest, "AccountId">,
32 ) => Effect.Effect<
33 s3control.UpdateJobPriorityResult,
34 s3control.UpdateJobPriorityError | sts.GetCallerIdentityError
35 >
36 >
37> {}
38export const UpdateJobPriority = Binding.Service<UpdateJobPriority>(
39 "AWS.S3Control.UpdateJobPriority",
40);