UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

25 lines (22 loc) 780 B
import { Resource_Top, type DataSource } from "@k8ts/instruments" import { CDK } from "@k8ts/sample-interfaces" import { v1 } from "../../kinds/default" import { resolveDataSourceRecord } from "./resolver" export interface ConfigMap_Props<Keys extends string = string> { $data: Record<Keys, DataSource> } export class ConfigMap< Name extends string = string, Keys extends string = string > extends Resource_Top<Name, ConfigMap_Props<Keys>> { get keys(): Keys[] { return Object.keys(this.props.$data) as Keys[] } get kind() { return v1.ConfigMap._ } protected async body(): Promise<CDK.KubeConfigMapProps> { const resolvedRecord = await resolveDataSourceRecord(this, this.props.$data) return resolvedRecord } }