1import type * as osis from "@distilled.cloud/aws/osis";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4
5/**
6 * Runtime binding for `osis:GetPipelineBlueprint`.
7 *
8 * Retrieves one Data Prepper blueprint's full configuration template so
9 * config-authoring tooling can render or specialize it (pair with
10 * {@link ListPipelineBlueprints} to discover blueprint names). Account-level:
11 * no resource argument. Provide the implementation with
12 * `Effect.provide(AWS.OSIS.GetPipelineBlueprintHttp)`.
13 * ### Authoring Pipeline Configurations
14 * **Example:** Fetch a Blueprint's Template
15 * ```typescript
16 * // init — account-level binding, no resource argument
17 * const getPipelineBlueprint = yield* AWS.OSIS.GetPipelineBlueprint();
18 *
19 * // runtime
20 * const { Blueprint } = yield* getPipelineBlueprint({
21 * BlueprintName: "AWS-ApacheLogPipeline",
22 * });
23 * // Blueprint?.PipelineConfigurationBody — the YAML template
24 * ```
25 *
26 * @binding
27 */
28export interface GetPipelineBlueprint extends Binding.Service<
29 GetPipelineBlueprint,
30 "AWS.OSIS.GetPipelineBlueprint",
31 () => Effect.Effect<
32 (
33 request: osis.GetPipelineBlueprintRequest,
34 ) => Effect.Effect<
35 osis.GetPipelineBlueprintResponse,
36 osis.GetPipelineBlueprintError
37 >
38 >
39> {}
40export const GetPipelineBlueprint = Binding.Service<GetPipelineBlueprint>(
41 "AWS.OSIS.GetPipelineBlueprint",
42);