1import type * as datazone from "@distilled.cloud/aws/datazone";
2import type * as Effect from "effect/Effect";
3import * as Binding from "../../Binding.ts";
4import type { Domain } from "./Domain.ts";
5
6export interface GetTimeSeriesDataPointRequest extends Omit<
7 datazone.GetTimeSeriesDataPointInput,
8 "domainIdentifier"
9> {}
10
11/**
12 * Runtime binding for `datazone:GetTimeSeriesDataPoint`.
13 *
14 * Reads a single time series data point on an asset or listing in the bound domain. The domain id is injected from the binding.
15 * Provide the implementation with
16 * `Effect.provide(AWS.DataZone.GetTimeSeriesDataPointHttp)`.
17 * ### Time Series Metadata
18 * **Example:** Read One Data Point
19 * ```typescript
20 * // init — bind the operation to the domain
21 * const getTimeSeriesDataPoint = yield* AWS.DataZone.GetTimeSeriesDataPoint(domain);
22 *
23 * // runtime
24 * const point = yield* getTimeSeriesDataPoint({
25 * entityIdentifier: assetId,
26 * entityType: "ASSET",
27 * formName: "quality",
28 * identifier: dataPointId,
29 * });
30 * ```
31 *
32 * @binding
33 */
34export interface GetTimeSeriesDataPoint extends Binding.Service<
35 GetTimeSeriesDataPoint,
36 "AWS.DataZone.GetTimeSeriesDataPoint",
37 (
38 domain: Domain,
39 ) => Effect.Effect<
40 (
41 request: GetTimeSeriesDataPointRequest,
42 ) => Effect.Effect<
43 datazone.GetTimeSeriesDataPointOutput,
44 datazone.GetTimeSeriesDataPointError
45 >
46 >
47> {}
48export const GetTimeSeriesDataPoint = Binding.Service<GetTimeSeriesDataPoint>(
49 "AWS.DataZone.GetTimeSeriesDataPoint",
50);