@punchcard/data-lake
Version:
Data Lake Construct
24 lines • 1.07 kB
TypeScript
import { Database } from '@aws-cdk/aws-glue';
import { TypeShape } from '@punchcard/shape';
import { ElasticSearch } from 'punchcard';
import { Build } from 'punchcard/lib/core/build';
import { Construct, Scope } from 'punchcard/lib/core/construct';
import { IndexSettings } from 'punchcard/lib/elasticsearch';
import { DataPipeline } from './data-pipeline';
export interface DataLakeProps {
lakeName: string;
domain?: ElasticSearch.Domain;
}
export declare class DataLake extends Construct {
readonly database: Build<Database>;
readonly domain: ElasticSearch.Domain;
constructor(_scope: Scope, id: string, props: DataLakeProps);
addDataType<T extends TypeShape<any, string>, TS extends keyof T['Members'], ID extends keyof T['Members']>(props: DataTypeProps<T, TS, ID>): DataPipeline<T, TS, ID>;
}
export interface DataTypeProps<T extends TypeShape<any, string>, TS extends keyof T['Members'], ID extends keyof T['Members']> {
id: ID;
type: T;
timestamp: TS;
indexSettings?: IndexSettings;
}
//# sourceMappingURL=data-lake.d.ts.map