1import type * as transcribe from "@distilled.cloud/aws/transcribe";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `transcribe:UpdateVocabulary` — replace a custom vocabulary's phrases (the vocabulary re-enters `PENDING` while it reprocesses).
7 *
8 * Amazon Transcribe batch actions have no resource-level IAM; the host is
9 * granted `transcribe:UpdateVocabulary` on `*`.
10 *
11 * ### Custom Vocabularies
12 * **Example:** Update a Custom Vocabulary
13 * ```typescript
14 * // init
15 * const updateVocabulary = yield* AWS.Transcribe.UpdateVocabulary();
16 *
17 * // runtime
18 * yield* updateVocabulary({
19 * VocabularyName: "tenant-123-vocabulary",
20 * LanguageCode: "en-US",
21 * Phrases: ["Alchemy", "workerd", "distilled"],
22 * });
23 * ```
24 *
25 * @binding
26 */
27export interface UpdateVocabulary extends Binding.Service<
28 UpdateVocabulary,
29 "AWS.Transcribe.UpdateVocabulary",
30 () => Effect.Effect<
31 (
32 request: transcribe.UpdateVocabularyRequest,
33 ) => Effect.Effect<
34 transcribe.UpdateVocabularyResponse,
35 transcribe.UpdateVocabularyError
36 >
37 >
38> {}
39export const UpdateVocabulary = Binding.Service<UpdateVocabulary>(
40 "AWS.Transcribe.UpdateVocabulary",
41);