# API Reference ## Constructs ### DataLake A CDK construct to create a DataLake. #### Initializers ```typescript import { DataLake } from '@randyridgley/cdk-datalake-constructs' new DataLake(scope: Construct, id: string, props: DataLakeProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataLakeProperties`](#@randyridgley/cdk-datalake-constructs.DataLakeProperties) --- #### Methods ##### `createDownloaderCustomResource` ```typescript public createDownloaderCustomResource(stageName: string) ``` ###### `stageName`Required - *Type:* `string` --- #### Properties ##### `databases`Required ```typescript public readonly databases: {[ key: string ]: Database}; ``` - *Type:* {[ key: string ]: [`@aws-cdk/aws-glue-alpha.Database`](#@aws-cdk/aws-glue-alpha.Database)} --- ##### `datalakeAdminRole`Required ```typescript public readonly datalakeAdminRole: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ##### `datalakeDbCreatorRole`Required ```typescript public readonly datalakeDbCreatorRole: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ##### `lakeKind`Required ```typescript public readonly lakeKind: LakeKind; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.LakeKind`](#@randyridgley/cdk-datalake-constructs.LakeKind) --- ##### `logBucket`Required ```typescript public readonly logBucket: Bucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.Bucket`](#aws-cdk-lib.aws_s3.Bucket) --- ##### `stageName`Required ```typescript public readonly stageName: Stage; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.Stage`](#@randyridgley/cdk-datalake-constructs.Stage) --- ##### `athenaWorkgroup`Optional ```typescript public readonly athenaWorkgroup: CfnWorkGroup; ``` - *Type:* [`aws-cdk-lib.aws_athena.CfnWorkGroup`](#aws-cdk-lib.aws_athena.CfnWorkGroup) --- ##### `vpc`Optional ```typescript public readonly vpc: Vpc; ``` - *Type:* [`aws-cdk-lib.aws_ec2.Vpc`](#aws-cdk-lib.aws_ec2.Vpc) --- ### DataLakeAdministrator #### Initializers ```typescript import { DataLakeAdministrator } from '@randyridgley/cdk-datalake-constructs' new DataLakeAdministrator(scope: Construct, id: string, props: DataLakeAdministratorProps) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataLakeAdministratorProps`](#@randyridgley/cdk-datalake-constructs.DataLakeAdministratorProps) --- #### Properties ##### `role`Required ```typescript public readonly role: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ### DataLakeAnalyst #### Initializers ```typescript import { DataLakeAnalyst } from '@randyridgley/cdk-datalake-constructs' new DataLakeAnalyst(scope: Construct, id: string, props: DataLakeAnalystProps) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataLakeAnalystProps`](#@randyridgley/cdk-datalake-constructs.DataLakeAnalystProps) --- #### Properties ##### `user`Required ```typescript public readonly user: User; ``` - *Type:* [`aws-cdk-lib.aws_iam.User`](#aws-cdk-lib.aws_iam.User) --- ### DataLakeBucket #### Initializers ```typescript import { DataLakeBucket } from '@randyridgley/cdk-datalake-constructs' new DataLakeBucket(scope: Construct, id: string, props: DataLakeBucketProps) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataLakeBucketProps`](#@randyridgley/cdk-datalake-constructs.DataLakeBucketProps) --- #### Properties ##### `bucket`Required ```typescript public readonly bucket: Bucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.Bucket`](#aws-cdk-lib.aws_s3.Bucket) --- ### DataLakeCreator #### Initializers ```typescript import { DataLakeCreator } from '@randyridgley/cdk-datalake-constructs' new DataLakeCreator(scope: Construct, id: string, props: DataLakeCreatorProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataLakeCreatorProperties`](#@randyridgley/cdk-datalake-constructs.DataLakeCreatorProperties) --- #### Properties ##### `role`Required ```typescript public readonly role: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ### GlueCrawler #### Initializers ```typescript import { GlueCrawler } from '@randyridgley/cdk-datalake-constructs' new GlueCrawler(scope: Construct, id: string, props: IGlueCrawlerProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.IGlueCrawlerProperties`](#@randyridgley/cdk-datalake-constructs.IGlueCrawlerProperties) --- #### Methods ##### `metricFailure` ```typescript public metricFailure(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSuccess` ```typescript public metricSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- #### Properties ##### `crawler`Required ```typescript public readonly crawler: CfnCrawler; ``` - *Type:* [`aws-cdk-lib.aws_glue.CfnCrawler`](#aws-cdk-lib.aws_glue.CfnCrawler) --- ##### `metricFailureRule`Required ```typescript public readonly metricFailureRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `metricSuccessRule`Required ```typescript public readonly metricSuccessRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `role`Required ```typescript public readonly role: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ### GlueJob #### Initializers ```typescript import { GlueJob } from '@randyridgley/cdk-datalake-constructs' new GlueJob(scope: Construct, id: string, props: GlueJobProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueJobProperties`](#@randyridgley/cdk-datalake-constructs.GlueJobProperties) --- #### Methods ##### `diskSpaceUsedMbMetric` ```typescript public diskSpaceUsedMbMetric(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `elapsedTimeMetric` ```typescript public elapsedTimeMetric(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `jvmHeapUsageMetric` ```typescript public jvmHeapUsageMetric(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metric` ```typescript public metric(metricName: string, dimensionType: string, props?: MetricOptions) ``` ###### `metricName`Required - *Type:* `string` --- ###### `dimensionType`Required - *Type:* `string` --- ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricAllExecutionAttemptsFailed` ```typescript public metricAllExecutionAttemptsFailed(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricFailure` ```typescript public metricFailure(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSuccess` ```typescript public metricSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricTimeout` ```typescript public metricTimeout(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `runTimeInMiliseconds` ```typescript public runTimeInMiliseconds(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- #### Properties ##### `allExecutionAttemptsFailedEventDetailType`Required ```typescript public readonly allExecutionAttemptsFailedEventDetailType: string; ``` - *Type:* `string` --- ##### `allExecutionAttemptsFailedEventSource`Required ```typescript public readonly allExecutionAttemptsFailedEventSource: string; ``` - *Type:* `string` --- ##### `executionFailureRule`Required ```typescript public readonly executionFailureRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `job`Required ```typescript public readonly job: CfnJob; ``` - *Type:* [`aws-cdk-lib.aws_glue.CfnJob`](#aws-cdk-lib.aws_glue.CfnJob) --- ##### `lambdaFunction`Required ```typescript public readonly lambdaFunction: SingletonFunction; ``` - *Type:* [`aws-cdk-lib.aws_lambda.SingletonFunction`](#aws-cdk-lib.aws_lambda.SingletonFunction) --- ##### `metricFailureRule`Required ```typescript public readonly metricFailureRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `metricSuccessRule`Required ```typescript public readonly metricSuccessRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `metricTimeoutRule`Required ```typescript public readonly metricTimeoutRule: Rule; ``` - *Type:* [`aws-cdk-lib.aws_events.Rule`](#aws-cdk-lib.aws_events.Rule) --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `role`Required ```typescript public readonly role: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ### GlueJobOps #### Initializers ```typescript import { GlueJobOps } from '@randyridgley/cdk-datalake-constructs' new GlueJobOps(scope: Construct, id: string, props: IGlueOpsProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.IGlueOpsProperties`](#@randyridgley/cdk-datalake-constructs.IGlueOpsProperties) --- #### Properties ##### `alarmsSev2`Required ```typescript public readonly alarmsSev2: Alarm[]; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm)[] --- ##### `alarmsSev3`Required ```typescript public readonly alarmsSev3: Alarm[]; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm)[] --- ##### `job`Required ```typescript public readonly job: GlueJob; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueJob`](#@randyridgley/cdk-datalake-constructs.GlueJob) --- ##### `jvmHeapSizeExceeding80PercentAlarm`Required ```typescript public readonly jvmHeapSizeExceeding80PercentAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `jvmHeapSizeExceeding90PercentAlarm`Required ```typescript public readonly jvmHeapSizeExceeding90PercentAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `metricAllExecutionAttemptsFailedAlarm`Required ```typescript public readonly metricAllExecutionAttemptsFailedAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `metricExecutionFailureAlarm`Required ```typescript public readonly metricExecutionFailureAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `dashboard`Required ```typescript public readonly dashboard: Dashboard; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Dashboard`](#aws-cdk-lib.aws_cloudwatch.Dashboard) --- ### GlueTable #### Initializers ```typescript import { GlueTable } from '@randyridgley/cdk-datalake-constructs' new GlueTable(scope: Construct, id: string, props: IGlueTableProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.IGlueTableProperties`](#@randyridgley/cdk-datalake-constructs.IGlueTableProperties) --- #### Properties ##### `table`Required ```typescript public readonly table: CfnTable; ``` - *Type:* [`aws-cdk-lib.aws_glue.CfnTable`](#aws-cdk-lib.aws_glue.CfnTable) --- ##### `tableName`Required ```typescript public readonly tableName: string; ``` - *Type:* `string` --- ### KinesisOps #### Initializers ```typescript import { KinesisOps } from '@randyridgley/cdk-datalake-constructs' new KinesisOps(scope: Construct, id: string, props: IKinesisOpsProperties) ``` ##### `scope`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `id`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.IKinesisOpsProperties`](#@randyridgley/cdk-datalake-constructs.IKinesisOpsProperties) --- #### Properties ##### `alarmsSev2`Required ```typescript public readonly alarmsSev2: Alarm[]; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm)[] --- ##### `alarmsSev3`Required ```typescript public readonly alarmsSev3: Alarm[]; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm)[] --- ##### `deliveryStream`Required ```typescript public readonly deliveryStream: S3DeliveryStream; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.S3DeliveryStream`](#@randyridgley/cdk-datalake-constructs.S3DeliveryStream) --- ##### `firehoseDeliveryToS3CriticalAlarm`Required ```typescript public readonly firehoseDeliveryToS3CriticalAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `firehoseDeliveryToS3WarningAlarm`Required ```typescript public readonly firehoseDeliveryToS3WarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamGetRecordsWarningAlarm`Required ```typescript public readonly inputStreamGetRecordsWarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamIteratorAgeCriticalAlarm`Required ```typescript public readonly inputStreamIteratorAgeCriticalAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamIteratorAgeWarningAlarm`Required ```typescript public readonly inputStreamIteratorAgeWarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamPutRecordsWarningAlarm`Required ```typescript public readonly inputStreamPutRecordsWarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamReadThroughputWarningAlarm`Required ```typescript public readonly inputStreamReadThroughputWarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `inputStreamWriteThroughputWarningAlarm`Required ```typescript public readonly inputStreamWriteThroughputWarningAlarm: Alarm; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Alarm`](#aws-cdk-lib.aws_cloudwatch.Alarm) --- ##### `stream`Required ```typescript public readonly stream: KinesisStream; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.KinesisStream`](#@randyridgley/cdk-datalake-constructs.KinesisStream) --- ##### `streamName`Required ```typescript public readonly streamName: string; ``` - *Type:* `string` --- ##### `dashboard`Required ```typescript public readonly dashboard: Dashboard; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.Dashboard`](#aws-cdk-lib.aws_cloudwatch.Dashboard) --- ### KinesisStream #### Initializers ```typescript import { KinesisStream } from '@randyridgley/cdk-datalake-constructs' new KinesisStream(parent: Construct, name: string, props: StreamProps) ``` ##### `parent`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `name`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`aws-cdk-lib.aws_kinesis.StreamProps`](#aws-cdk-lib.aws_kinesis.StreamProps) --- #### Methods ##### `metric` ```typescript public metric(metricName: string, props?: MetricOptions) ``` ###### `metricName`Required - *Type:* `string` --- ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricGetRecordsBytes` ```typescript public metricGetRecordsBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricGetRecordsIteratorAgeMilliseconds` ```typescript public metricGetRecordsIteratorAgeMilliseconds(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricGetRecordsLatency` ```typescript public metricGetRecordsLatency(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricGetRecordsRecords` ```typescript public metricGetRecordsRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricGetRecordsSuccess` ```typescript public metricGetRecordsSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricIncomingBytes` ```typescript public metricIncomingBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricIncomingRecords` ```typescript public metricIncomingRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordBytes` ```typescript public metricPutRecordBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordLatency` ```typescript public metricPutRecordLatency(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordsBytes` ```typescript public metricPutRecordsBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordsLatency` ```typescript public metricPutRecordsLatency(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordsRecords` ```typescript public metricPutRecordsRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordsSuccess` ```typescript public metricPutRecordsSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricPutRecordSuccess` ```typescript public metricPutRecordSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricReadProvisionedThroughputExceeded` ```typescript public metricReadProvisionedThroughputExceeded(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardEventBytes` ```typescript public metricSubscribeToShardEventBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardEventMillisBehindLatest` ```typescript public metricSubscribeToShardEventMillisBehindLatest(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardEventRecords` ```typescript public metricSubscribeToShardEventRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardEventSuccess` ```typescript public metricSubscribeToShardEventSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardRateExceeded` ```typescript public metricSubscribeToShardRateExceeded(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricSubscribeToShardSuccess` ```typescript public metricSubscribeToShardSuccess(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricWriteProvisionedThroughputExceeded` ```typescript public metricWriteProvisionedThroughputExceeded(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- #### Properties ##### `stream`Required ```typescript public readonly stream: Stream; ``` - *Type:* [`aws-cdk-lib.aws_kinesis.Stream`](#aws-cdk-lib.aws_kinesis.Stream) --- ### S3DeliveryStream #### Initializers ```typescript import { S3DeliveryStream } from '@randyridgley/cdk-datalake-constructs' new S3DeliveryStream(parent: Construct, name: string, props: DeliveryStreamProperties) ``` ##### `parent`Required - *Type:* [`constructs.Construct`](#constructs.Construct) --- ##### `name`Required - *Type:* `string` --- ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DeliveryStreamProperties`](#@randyridgley/cdk-datalake-constructs.DeliveryStreamProperties) --- #### Methods ##### `metric` ```typescript public metric(metricName: string, props?: MetricOptions) ``` ###### `metricName`Required - *Type:* `string` --- ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricBackupToS3Bytes` ```typescript public metricBackupToS3Bytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricBackupToS3DataFreshness` ```typescript public metricBackupToS3DataFreshness(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricBackupToS3Records` ```typescript public metricBackupToS3Records(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricBackupToS3Success` ```typescript public metricBackupToS3Success(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDataReadFromKinesisStreamBytes` ```typescript public metricDataReadFromKinesisStreamBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDataReadFromKinesisStreamRecords` ```typescript public metricDataReadFromKinesisStreamRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDeliveryToS3Bytes` ```typescript public metricDeliveryToS3Bytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDeliveryToS3DataFreshness` ```typescript public metricDeliveryToS3DataFreshness(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDeliveryToS3Records` ```typescript public metricDeliveryToS3Records(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricDeliveryToS3Success` ```typescript public metricDeliveryToS3Success(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricIncomingBytes` ```typescript public metricIncomingBytes(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- ##### `metricIncomingRecords` ```typescript public metricIncomingRecords(props?: MetricOptions) ``` ###### `props`Optional - *Type:* [`aws-cdk-lib.aws_cloudwatch.MetricOptions`](#aws-cdk-lib.aws_cloudwatch.MetricOptions) --- #### Properties ##### `deliveryStreamArn`Required ```typescript public readonly deliveryStreamArn: string; ``` - *Type:* `string` --- ##### `deliveryStreamName`Required ```typescript public readonly deliveryStreamName: string; ``` - *Type:* `string` --- ##### `s3Bucket`Required ```typescript public readonly s3Bucket: IBucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket) --- ## Structs ### CrossAccountProperties #### Initializer ```typescript import { CrossAccountProperties } from '@randyridgley/cdk-datalake-constructs' const crossAccountProperties: CrossAccountProperties = { ... } ``` ##### `consumerAccountIds`Required ```typescript public readonly consumerAccountIds: string[]; ``` - *Type:* `string`[] --- ##### `dataCatalogOwnerAccountId`Required ```typescript public readonly dataCatalogOwnerAccountId: string; ``` - *Type:* `string` --- ### DataCatalogOwner #### Initializer ```typescript import { DataCatalogOwner } from '@randyridgley/cdk-datalake-constructs' const dataCatalogOwner: DataCatalogOwner = { ... } ``` ##### `accountId`Required ```typescript public readonly accountId: string; ``` - *Type:* `string` --- ### DataLakeAdministratorProps #### Initializer ```typescript import { DataLakeAdministratorProps } from '@randyridgley/cdk-datalake-constructs' const dataLakeAdministratorProps: DataLakeAdministratorProps = { ... } ``` ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ### DataLakeAnalystProps #### Initializer ```typescript import { DataLakeAnalystProps } from '@randyridgley/cdk-datalake-constructs' const dataLakeAnalystProps: DataLakeAnalystProps = { ... } ``` ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `readAccessBuckets`Optional ```typescript public readonly readAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ##### `writeAccessBuckets`Optional ```typescript public readonly writeAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ### DataLakeBucketProps #### Initializer ```typescript import { DataLakeBucketProps } from '@randyridgley/cdk-datalake-constructs' const dataLakeBucketProps: DataLakeBucketProps = { ... } ``` ##### `bucketName`Required ```typescript public readonly bucketName: string; ``` - *Type:* `string` --- ##### `crossAccount`Required ```typescript public readonly crossAccount: boolean; ``` - *Type:* `boolean` --- ##### `dataCatalogAccountId`Required ```typescript public readonly dataCatalogAccountId: string; ``` - *Type:* `string` --- ##### `logBucket`Required ```typescript public readonly logBucket: Bucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.Bucket`](#aws-cdk-lib.aws_s3.Bucket) --- ##### `s3Properties`Optional ```typescript public readonly s3Properties: BucketProps; ``` - *Type:* [`aws-cdk-lib.aws_s3.BucketProps`](#aws-cdk-lib.aws_s3.BucketProps) --- ### DataLakeCreatorProperties #### Initializer ```typescript import { DataLakeCreatorProperties } from '@randyridgley/cdk-datalake-constructs' const dataLakeCreatorProperties: DataLakeCreatorProperties = { ... } ``` ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ### DataLakeProperties #### Initializer ```typescript import { DataLakeProperties } from '@randyridgley/cdk-datalake-constructs' const dataLakeProperties: DataLakeProperties = { ... } ``` ##### `lakeKind`Required ```typescript public readonly lakeKind: LakeKind; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.LakeKind`](#@randyridgley/cdk-datalake-constructs.LakeKind) The Type of DataLake this instance is. This can be a DATA_PRODUCT only, CENTRAL_CATALOG, CONSUMER, or DATA_PRODUCT_AND_CATALOG type. --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` The name of the DataLake. --- ##### `stageName`Required ```typescript public readonly stageName: Stage; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.Stage`](#@randyridgley/cdk-datalake-constructs.Stage) The Stage the DataLake will be deployed. --- ##### `createAthenaWorkgroup`Optional ```typescript public readonly createAthenaWorkgroup: boolean; ``` - *Type:* `boolean` - *Default:* false Create default Athena workgroup for querying data lake resources. --- ##### `createDefaultDatabse`Optional ```typescript public readonly createDefaultDatabse: boolean; ``` - *Type:* `boolean` - *Default:* false Create default glue database for the data lake. --- ##### `crossAccountAccess`Optional ```typescript public readonly crossAccountAccess: CrossAccountProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.CrossAccountProperties`](#@randyridgley/cdk-datalake-constructs.CrossAccountProperties) - *Default:* No cross account ids Cross account AWS account IDs. > https://aws.amazon.com/premiumsupport/knowledge-center/glue-data-catalog-cross-account-access/ --- ##### `datalakeAdminRole`Optional ```typescript public readonly datalakeAdminRole: Role; ``` - *Type:* [`aws-cdk-lib.aws_iam.Role`](#aws-cdk-lib.aws_iam.Role) - *Default:* Admin role created based on best practices Data Lake Admin role. > https://docs.aws.amazon.com/lake-formation/latest/dg/permissions-reference.html --- ##### `datalakeCreatorRole`Optional ```typescript public readonly datalakeCreatorRole: Role; ``` - *Type:* [`aws-cdk-lib.aws_iam.Role`](#aws-cdk-lib.aws_iam.Role) - *Default:* Database creator role created based on best practices Data Lake Database Creator role. > https://docs.aws.amazon.com/lake-formation/latest/dg/permissions-reference.html --- ##### `dataProducts`Optional ```typescript public readonly dataProducts: DataProduct[]; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataProduct`](#@randyridgley/cdk-datalake-constructs.DataProduct)[] - *Default:* No data products The List of DataProducts for this account. --- ##### `glueSecurityGroup`Optional ```typescript public readonly glueSecurityGroup: SecurityGroup; ``` - *Type:* [`aws-cdk-lib.aws_ec2.SecurityGroup`](#aws-cdk-lib.aws_ec2.SecurityGroup) - *Default:* No security group Security group to attach to Glue jobs. > https://docs.aws.amazon.com/glue/latest/dg/setup-vpc-for-glue-access.html --- ##### `logBucketProps`Optional ```typescript public readonly logBucketProps: BucketProps; ``` - *Type:* [`aws-cdk-lib.aws_s3.BucketProps`](#aws-cdk-lib.aws_s3.BucketProps) --- ##### `policyTags`Optional ```typescript public readonly policyTags: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: `string`} - *Default:* No tags List of Lake Formation TBAC policy tags. > https://docs.aws.amazon.com/lake-formation/latest/dg/TBAC-section.html --- ##### `vpc`Optional ```typescript public readonly vpc: Vpc; ``` - *Type:* [`aws-cdk-lib.aws_ec2.Vpc`](#aws-cdk-lib.aws_ec2.Vpc) - *Default:* No vpc VPC for Glue jobs. --- ### DataProductProperties #### Initializer ```typescript import { DataProductProperties } from '@randyridgley/cdk-datalake-constructs' const dataProductProperties: DataProductProperties = { ... } ``` ##### `accountId`Required ```typescript public readonly accountId: string; ``` - *Type:* `string` --- ##### `databaseName`Required ```typescript public readonly databaseName: string; ``` - *Type:* `string` --- ##### `pipelines`Required ```typescript public readonly pipelines: Pipeline[]; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.Pipeline`](#@randyridgley/cdk-datalake-constructs.Pipeline)[] --- ##### `dataCatalogAccountId`Optional ```typescript public readonly dataCatalogAccountId: string; ``` - *Type:* `string` --- ##### `s3BucketProps`Optional ```typescript public readonly s3BucketProps: BucketProps; ``` - *Type:* [`aws-cdk-lib.aws_s3.BucketProps`](#aws-cdk-lib.aws_s3.BucketProps) --- ### DataSetResult #### Initializer ```typescript import { DataSetResult } from '@randyridgley/cdk-datalake-constructs' const dataSetResult: DataSetResult = { ... } ``` ##### `destinationBucketName`Required ```typescript public readonly destinationBucketName: string; ``` - *Type:* `string` --- ##### `destinationPrefix`Required ```typescript public readonly destinationPrefix: string; ``` - *Type:* `string` --- ##### `rawBucketName`Required ```typescript public readonly rawBucketName: string; ``` - *Type:* `string` --- ##### `refinedBucketName`Required ```typescript public readonly refinedBucketName: string; ``` - *Type:* `string` --- ##### `trustedBucketName`Required ```typescript public readonly trustedBucketName: string; ``` - *Type:* `string` --- ##### `sourceBucketName`Optional ```typescript public readonly sourceBucketName: string; ``` - *Type:* `string` --- ##### `sourceKeys`Optional ```typescript public readonly sourceKeys: string[]; ``` - *Type:* `string`[] --- ### DataStreamProperties #### Initializer ```typescript import { DataStreamProperties } from '@randyridgley/cdk-datalake-constructs' const dataStreamProperties: DataStreamProperties = { ... } ``` ##### `dataCatalogOwner`Required ```typescript public readonly dataCatalogOwner: DataCatalogOwner; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataCatalogOwner`](#@randyridgley/cdk-datalake-constructs.DataCatalogOwner) --- ##### `destinationBucketName`Required ```typescript public readonly destinationBucketName: string; ``` - *Type:* `string` --- ##### `destinationPrefix`Required ```typescript public readonly destinationPrefix: string; ``` - *Type:* `string` --- ##### `lambdaDataGenerator`Required ```typescript public readonly lambdaDataGenerator: LambdaDataGeneratorProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.LambdaDataGeneratorProperties`](#@randyridgley/cdk-datalake-constructs.LambdaDataGeneratorProperties) --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `streamName`Required ```typescript public readonly streamName: string; ``` - *Type:* `string` --- ### DataTierBucketProps #### Initializer ```typescript import { DataTierBucketProps } from '@randyridgley/cdk-datalake-constructs' const dataTierBucketProps: DataTierBucketProps = { ... } ``` ##### `crossAccount`Required ```typescript public readonly crossAccount: boolean; ``` - *Type:* `boolean` --- ##### `dataCatalogAccountId`Required ```typescript public readonly dataCatalogAccountId: string; ``` - *Type:* `string` --- ##### `datalakeAdminRole`Required ```typescript public readonly datalakeAdminRole: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ##### `datalakeDbCreatorRole`Required ```typescript public readonly datalakeDbCreatorRole: IRole; ``` - *Type:* [`aws-cdk-lib.aws_iam.IRole`](#aws-cdk-lib.aws_iam.IRole) --- ##### `lakeType`Required ```typescript public readonly lakeType: LakeKind; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.LakeKind`](#@randyridgley/cdk-datalake-constructs.LakeKind) --- ##### `logBucket`Required ```typescript public readonly logBucket: Bucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.Bucket`](#aws-cdk-lib.aws_s3.Bucket) --- ##### `pipelineName`Required ```typescript public readonly pipelineName: string; ``` - *Type:* `string` --- ##### `tier`Required ```typescript public readonly tier: DataTier; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier) --- ##### `bucketName`Optional ```typescript public readonly bucketName: string; ``` - *Type:* `string` --- ##### `s3BucketProps`Optional ```typescript public readonly s3BucketProps: BucketProps; ``` - *Type:* [`aws-cdk-lib.aws_s3.BucketProps`](#aws-cdk-lib.aws_s3.BucketProps) --- ### DeliveryStreamProperties #### Initializer ```typescript import { DeliveryStreamProperties } from '@randyridgley/cdk-datalake-constructs' const deliveryStreamProperties: DeliveryStreamProperties = { ... } ``` ##### `kinesisStream`Required ```typescript public readonly kinesisStream: Stream; ``` - *Type:* [`aws-cdk-lib.aws_kinesis.Stream`](#aws-cdk-lib.aws_kinesis.Stream) --- ##### `s3Bucket`Required ```typescript public readonly s3Bucket: IBucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket) --- ##### `compression`Optional ```typescript public readonly compression: CompressionType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.CompressionType`](#@randyridgley/cdk-datalake-constructs.CompressionType) --- ##### `s3Prefix`Optional ```typescript public readonly s3Prefix: string; ``` - *Type:* `string` --- ##### `transformFunction`Optional ```typescript public readonly transformFunction: Function; ``` - *Type:* [`aws-cdk-lib.aws_lambda.Function`](#aws-cdk-lib.aws_lambda.Function) --- ### GlueJobProperties #### Initializer ```typescript import { GlueJobProperties } from '@randyridgley/cdk-datalake-constructs' const glueJobProperties: GlueJobProperties = { ... } ``` ##### `deploymentBucket`Required ```typescript public readonly deploymentBucket: IBucket; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket) --- ##### `jobScript`Required ```typescript public readonly jobScript: string; ``` - *Type:* `string` --- ##### `jobType`Required ```typescript public readonly jobType: GlueJobType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueJobType`](#@randyridgley/cdk-datalake-constructs.GlueJobType) --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `workerType`Required ```typescript public readonly workerType: GlueWorkerType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueWorkerType`](#@randyridgley/cdk-datalake-constructs.GlueWorkerType) --- ##### `description`Optional ```typescript public readonly description: string; ``` - *Type:* `string` --- ##### `glueVersion`Optional ```typescript public readonly glueVersion: GlueVersion; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueVersion`](#@randyridgley/cdk-datalake-constructs.GlueVersion) --- ##### `jobArgs`Optional ```typescript public readonly jobArgs: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: `string`} --- ##### `maxCapacity`Optional ```typescript public readonly maxCapacity: number; ``` - *Type:* `number` --- ##### `maxConcurrentRuns`Optional ```typescript public readonly maxConcurrentRuns: number; ``` - *Type:* `number` --- ##### `maxRetries`Optional ```typescript public readonly maxRetries: number; ``` - *Type:* `number` --- ##### `numberOfWorkers`Optional ```typescript public readonly numberOfWorkers: number; ``` - *Type:* `number` --- ##### `readAccessBuckets`Optional ```typescript public readonly readAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ##### `roleName`Optional ```typescript public readonly roleName: string; ``` - *Type:* `string` --- ##### `timeout`Optional ```typescript public readonly timeout: number; ``` - *Type:* `number` --- ##### `writeAccessBuckets`Optional ```typescript public readonly writeAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ### JDBCProperties #### Initializer ```typescript import { JDBCProperties } from '@randyridgley/cdk-datalake-constructs' const jDBCProperties: JDBCProperties = { ... } ``` ##### `jdbc`Required ```typescript public readonly jdbc: string; ``` - *Type:* `string` --- ##### `password`Required ```typescript public readonly password: string; ``` - *Type:* `string` --- ##### `username`Required ```typescript public readonly username: string; ``` - *Type:* `string` --- ### JobProperties #### Initializer ```typescript import { JobProperties } from '@randyridgley/cdk-datalake-constructs' const jobProperties: JobProperties = { ... } ``` ##### `jobScript`Required ```typescript public readonly jobScript: string; ``` - *Type:* `string` --- ##### `jobType`Required ```typescript public readonly jobType: GlueJobType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueJobType`](#@randyridgley/cdk-datalake-constructs.GlueJobType) --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `workerType`Required ```typescript public readonly workerType: GlueWorkerType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueWorkerType`](#@randyridgley/cdk-datalake-constructs.GlueWorkerType) --- ##### `description`Optional ```typescript public readonly description: string; ``` - *Type:* `string` --- ##### `destinationLocation`Optional ```typescript public readonly destinationLocation: DataTier; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier) --- ##### `glueVersion`Optional ```typescript public readonly glueVersion: GlueVersion; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueVersion`](#@randyridgley/cdk-datalake-constructs.GlueVersion) --- ##### `jobArgs`Optional ```typescript public readonly jobArgs: {[ key: string ]: string}; ``` - *Type:* {[ key: string ]: `string`} --- ##### `maxCapacity`Optional ```typescript public readonly maxCapacity: number; ``` - *Type:* `number` --- ##### `maxConcurrentRuns`Optional ```typescript public readonly maxConcurrentRuns: number; ``` - *Type:* `number` --- ##### `maxRetries`Optional ```typescript public readonly maxRetries: number; ``` - *Type:* `number` --- ##### `numberOfWorkers`Optional ```typescript public readonly numberOfWorkers: number; ``` - *Type:* `number` --- ##### `readAccessBuckets`Optional ```typescript public readonly readAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ##### `roleName`Optional ```typescript public readonly roleName: string; ``` - *Type:* `string` --- ##### `timeout`Optional ```typescript public readonly timeout: number; ``` - *Type:* `number` --- ##### `writeAccessBuckets`Optional ```typescript public readonly writeAccessBuckets: IBucket[]; ``` - *Type:* [`aws-cdk-lib.aws_s3.IBucket`](#aws-cdk-lib.aws_s3.IBucket)[] --- ### LambdaDataGeneratorProperties #### Initializer ```typescript import { LambdaDataGeneratorProperties } from '@randyridgley/cdk-datalake-constructs' const lambdaDataGeneratorProperties: LambdaDataGeneratorProperties = { ... } ``` ##### `code`Required ```typescript public readonly code: Code; ``` - *Type:* [`aws-cdk-lib.aws_lambda.Code`](#aws-cdk-lib.aws_lambda.Code) --- ##### `functionName`Required ```typescript public readonly functionName: string; ``` - *Type:* `string` --- ##### `handler`Required ```typescript public readonly handler: string; ``` - *Type:* `string` --- ##### `ruleName`Required ```typescript public readonly ruleName: string; ``` - *Type:* `string` --- ##### `runtime`Required ```typescript public readonly runtime: Runtime; ``` - *Type:* [`aws-cdk-lib.aws_lambda.Runtime`](#aws-cdk-lib.aws_lambda.Runtime) --- ##### `schedule`Required ```typescript public readonly schedule: Schedule; ``` - *Type:* [`aws-cdk-lib.aws_events.Schedule`](#aws-cdk-lib.aws_events.Schedule) --- ##### `timeout`Required ```typescript public readonly timeout: Duration; ``` - *Type:* [`aws-cdk-lib.Duration`](#aws-cdk-lib.Duration) --- ### NameBuilderParameters #### Initializer ```typescript import { NameBuilderParameters } from '@randyridgley/cdk-datalake-constructs' const nameBuilderParameters: NameBuilderParameters = { ... } ``` ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `accountId`Optional ```typescript public readonly accountId: string; ``` - *Type:* `string` --- ##### `region`Optional ```typescript public readonly region: string; ``` - *Type:* `string` --- ##### `resourceUse`Optional ```typescript public readonly resourceUse: string; ``` - *Type:* `string` --- ##### `stage`Optional ```typescript public readonly stage: string; ``` - *Type:* `string` --- ### PipelineProperties #### Initializer ```typescript import { PipelineProperties } from '@randyridgley/cdk-datalake-constructs' const pipelineProperties: PipelineProperties = { ... } ``` ##### `dataDropTier`Required ```typescript public readonly dataDropTier: DataTier; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier) --- ##### `destinationPrefix`Required ```typescript public readonly destinationPrefix: string; ``` - *Type:* `string` --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `type`Required ```typescript public readonly type: DataPipelineType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataPipelineType`](#@randyridgley/cdk-datalake-constructs.DataPipelineType) --- ##### `jdbcProperties`Optional ```typescript public readonly jdbcProperties: JDBCProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.JDBCProperties`](#@randyridgley/cdk-datalake-constructs.JDBCProperties) --- ##### `job`Optional ```typescript public readonly job: JobProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.JobProperties`](#@randyridgley/cdk-datalake-constructs.JobProperties) --- ##### `s3Properties`Optional ```typescript public readonly s3Properties: S3Properties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.S3Properties`](#@randyridgley/cdk-datalake-constructs.S3Properties) --- ##### `streamProperties`Optional ```typescript public readonly streamProperties: StreamProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.StreamProperties`](#@randyridgley/cdk-datalake-constructs.StreamProperties) --- ##### `table`Optional ```typescript public readonly table: TableProps; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.TableProps`](#@randyridgley/cdk-datalake-constructs.TableProps) --- ##### `tiers`Optional ```typescript public readonly tiers: DataTier[]; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier)[] --- ### S3Properties #### Initializer ```typescript import { S3Properties } from '@randyridgley/cdk-datalake-constructs' const s3Properties: S3Properties = { ... } ``` ##### `sourceBucketName`Required ```typescript public readonly sourceBucketName: string; ``` - *Type:* `string` --- ##### `sourceKeys`Required ```typescript public readonly sourceKeys: string[]; ``` - *Type:* `string`[] --- ### StreamProperties #### Initializer ```typescript import { StreamProperties } from '@randyridgley/cdk-datalake-constructs' const streamProperties: StreamProperties = { ... } ``` ##### `streamName`Required ```typescript public readonly streamName: string; ``` - *Type:* `string` --- ##### `lambdaDataGenerator`Optional ```typescript public readonly lambdaDataGenerator: LambdaDataGeneratorProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.LambdaDataGeneratorProperties`](#@randyridgley/cdk-datalake-constructs.LambdaDataGeneratorProperties) --- ### TableProps #### Initializer ```typescript import { TableProps } from '@randyridgley/cdk-datalake-constructs' const tableProps: TableProps = { ... } ``` ##### `catalogId`Required ```typescript public readonly catalogId: string; ``` - *Type:* `string` --- ##### `columns`Required ```typescript public readonly columns: IResolvable | ColumnProperty | IResolvable[]; ``` - *Type:* [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable) | [`aws-cdk-lib.aws_glue.CfnTable.ColumnProperty`](#aws-cdk-lib.aws_glue.CfnTable.ColumnProperty) | [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable)[] --- ##### `description`Required ```typescript public readonly description: string; ``` - *Type:* `string` --- ##### `inputFormat`Required ```typescript public readonly inputFormat: string; ``` - *Type:* `string` --- ##### `outputFormat`Required ```typescript public readonly outputFormat: string; ``` - *Type:* `string` --- ##### `parameters`Required ```typescript public readonly parameters: {[ key: string ]: any}; ``` - *Type:* {[ key: string ]: `any`} --- ##### `partitionKeys`Required ```typescript public readonly partitionKeys: IResolvable | ColumnProperty | IResolvable[]; ``` - *Type:* [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable) | [`aws-cdk-lib.aws_glue.CfnTable.ColumnProperty`](#aws-cdk-lib.aws_glue.CfnTable.ColumnProperty) | [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable)[] --- ##### `serdeParameters`Required ```typescript public readonly serdeParameters: {[ key: string ]: any}; ``` - *Type:* {[ key: string ]: `any`} --- ##### `serializationLibrary`Required ```typescript public readonly serializationLibrary: string; ``` - *Type:* `string` --- ##### `tableName`Required ```typescript public readonly tableName: string; ``` - *Type:* `string` --- ## Classes ### DataProduct - *Implements:* [`constructs.IDependable`](#constructs.IDependable) #### Initializers ```typescript import { DataProduct } from '@randyridgley/cdk-datalake-constructs' new DataProduct(props: DataProductProperties) ``` ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.DataProductProperties`](#@randyridgley/cdk-datalake-constructs.DataProductProperties) --- #### Properties ##### `accountId`Required ```typescript public readonly accountId: string; ``` - *Type:* `string` --- ##### `databaseName`Required ```typescript public readonly databaseName: string; ``` - *Type:* `string` --- ##### `pipelines`Required ```typescript public readonly pipelines: Pipeline[]; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.Pipeline`](#@randyridgley/cdk-datalake-constructs.Pipeline)[] --- ##### `dataCatalogAccountId`Optional ```typescript public readonly dataCatalogAccountId: string; ``` - *Type:* `string` --- ##### `s3BucketProps`Optional ```typescript public readonly s3BucketProps: BucketProps; ``` - *Type:* [`aws-cdk-lib.aws_s3.BucketProps`](#aws-cdk-lib.aws_s3.BucketProps) --- ### Pipeline #### Initializers ```typescript import { Pipeline } from '@randyridgley/cdk-datalake-constructs' new Pipeline(props: PipelineProperties) ``` ##### `props`Required - *Type:* [`@randyridgley/cdk-datalake-constructs.PipelineProperties`](#@randyridgley/cdk-datalake-constructs.PipelineProperties) --- #### Properties ##### `dataSetDropTier`Required ```typescript public readonly dataSetDropTier: DataTier; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier) --- ##### `destinationPrefix`Required ```typescript public readonly destinationPrefix: string; ``` - *Type:* `string` --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `tiers`Required ```typescript public readonly tiers: DataTier[]; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataTier`](#@randyridgley/cdk-datalake-constructs.DataTier)[] --- ##### `type`Required ```typescript public readonly type: DataPipelineType; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.DataPipelineType`](#@randyridgley/cdk-datalake-constructs.DataPipelineType) --- ##### `jdbcProperties`Optional ```typescript public readonly jdbcProperties: JDBCProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.JDBCProperties`](#@randyridgley/cdk-datalake-constructs.JDBCProperties) --- ##### `job`Optional ```typescript public readonly job: JobProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.JobProperties`](#@randyridgley/cdk-datalake-constructs.JobProperties) --- ##### `s3Properties`Optional ```typescript public readonly s3Properties: S3Properties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.S3Properties`](#@randyridgley/cdk-datalake-constructs.S3Properties) --- ##### `streamProperties`Optional ```typescript public readonly streamProperties: StreamProperties; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.StreamProperties`](#@randyridgley/cdk-datalake-constructs.StreamProperties) --- ##### `table`Optional ```typescript public readonly table: TableProps; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.TableProps`](#@randyridgley/cdk-datalake-constructs.TableProps) --- ## Protocols ### IGlueCrawlerProperties - *Implemented By:* [`@randyridgley/cdk-datalake-constructs.IGlueCrawlerProperties`](#@randyridgley/cdk-datalake-constructs.IGlueCrawlerProperties) #### Properties ##### `bucketName`Required ```typescript public readonly bucketName: string; ``` - *Type:* `string` --- ##### `databaseName`Required ```typescript public readonly databaseName: string; ``` - *Type:* `string` --- ##### `lfS3Resource`Required ```typescript public readonly lfS3Resource: CfnResource; ``` - *Type:* [`aws-cdk-lib.CfnResource`](#aws-cdk-lib.CfnResource) --- ##### `name`Required ```typescript public readonly name: string; ``` - *Type:* `string` --- ##### `bucketPrefix`Optional ```typescript public readonly bucketPrefix: string; ``` - *Type:* `string` --- ##### `roleName`Optional ```typescript public readonly roleName: string; ``` - *Type:* `string` --- ##### `trigger`Optional ```typescript public readonly trigger: CfnTrigger; ``` - *Type:* [`aws-cdk-lib.aws_glue.CfnTrigger`](#aws-cdk-lib.aws_glue.CfnTrigger) --- ### IGlueOpsProperties - *Implemented By:* [`@randyridgley/cdk-datalake-constructs.IGlueOpsProperties`](#@randyridgley/cdk-datalake-constructs.IGlueOpsProperties) #### Properties ##### `job`Required ```typescript public readonly job: GlueJob; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.GlueJob`](#@randyridgley/cdk-datalake-constructs.GlueJob) --- ##### `jvmHeapSizeExceeding80percent`Optional ```typescript public readonly jvmHeapSizeExceeding80percent: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `jvmHeapSizeExceeding90percent`Optional ```typescript public readonly jvmHeapSizeExceeding90percent: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `metricAllExecutionAttemptsFailed`Optional ```typescript public readonly metricAllExecutionAttemptsFailed: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `metricExecutionFailure`Optional ```typescript public readonly metricExecutionFailure: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ### IGlueTableProperties - *Implemented By:* [`@randyridgley/cdk-datalake-constructs.IGlueTableProperties`](#@randyridgley/cdk-datalake-constructs.IGlueTableProperties) #### Properties ##### `catalogId`Required ```typescript public readonly catalogId: string; ``` - *Type:* `string` --- ##### `columns`Required ```typescript public readonly columns: IResolvable | ColumnProperty | IResolvable[]; ``` - *Type:* [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable) | [`aws-cdk-lib.aws_glue.CfnTable.ColumnProperty`](#aws-cdk-lib.aws_glue.CfnTable.ColumnProperty) | [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable)[] --- ##### `databaseName`Required ```typescript public readonly databaseName: string; ``` - *Type:* `string` --- ##### `description`Required ```typescript public readonly description: string; ``` - *Type:* `string` --- ##### `inputFormat`Required ```typescript public readonly inputFormat: string; ``` - *Type:* `string` --- ##### `outputFormat`Required ```typescript public readonly outputFormat: string; ``` - *Type:* `string` --- ##### `parameters`Required ```typescript public readonly parameters: {[ key: string ]: any}; ``` - *Type:* {[ key: string ]: `any`} --- ##### `partitionKeys`Required ```typescript public readonly partitionKeys: IResolvable | ColumnProperty | IResolvable[]; ``` - *Type:* [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable) | [`aws-cdk-lib.aws_glue.CfnTable.ColumnProperty`](#aws-cdk-lib.aws_glue.CfnTable.ColumnProperty) | [`aws-cdk-lib.IResolvable`](#aws-cdk-lib.IResolvable)[] --- ##### `s3Location`Required ```typescript public readonly s3Location: string; ``` - *Type:* `string` --- ##### `serdeParameters`Required ```typescript public readonly serdeParameters: {[ key: string ]: any}; ``` - *Type:* {[ key: string ]: `any`} --- ##### `serializationLibrary`Required ```typescript public readonly serializationLibrary: string; ``` - *Type:* `string` --- ##### `tableName`Required ```typescript public readonly tableName: string; ``` - *Type:* `string` --- ### IKinesisOpsProperties - *Implemented By:* [`@randyridgley/cdk-datalake-constructs.IKinesisOpsProperties`](#@randyridgley/cdk-datalake-constructs.IKinesisOpsProperties) #### Properties ##### `deliveryStream`Required ```typescript public readonly deliveryStream: S3DeliveryStream; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.S3DeliveryStream`](#@randyridgley/cdk-datalake-constructs.S3DeliveryStream) --- ##### `stream`Required ```typescript public readonly stream: KinesisStream; ``` - *Type:* [`@randyridgley/cdk-datalake-constructs.KinesisStream`](#@randyridgley/cdk-datalake-constructs.KinesisStream) --- ##### `firehoseDeliveryToS3Critical`Optional ```typescript public readonly firehoseDeliveryToS3Critical: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `firehoseDeliveryToS3Warning`Optional ```typescript public readonly firehoseDeliveryToS3Warning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamGetRecordsWarning`Optional ```typescript public readonly inputStreamGetRecordsWarning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamIteratorAgeCritical`Optional ```typescript public readonly inputStreamIteratorAgeCritical: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamIteratorAgeWarning`Optional ```typescript public readonly inputStreamIteratorAgeWarning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamPutRecordsWarning`Optional ```typescript public readonly inputStreamPutRecordsWarning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamReadThroughputWarning`Optional ```typescript public readonly inputStreamReadThroughputWarning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ##### `inputStreamWriteThroughputWarning`Optional ```typescript public readonly inputStreamWriteThroughputWarning: CreateAlarmOptions; ``` - *Type:* [`aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions`](#aws-cdk-lib.aws_cloudwatch.CreateAlarmOptions) --- ## Enums ### CompressionType #### `UNCOMPRESSED` --- #### `GZIP` --- #### `ZIP` --- #### `SNAPPY` --- ### DataPipelineType #### `STREAM` --- #### `JDBC` --- #### `S3` --- ### DataTier #### `RAW` --- #### `REFINED` --- #### `TRUSTED` --- ### DeliveryStreamType #### `DIRECT_PUT` --- #### `KINESIS_STREAM_AS_SOURCE` --- ### GlueJobType #### `GLUE_ETL` --- #### `GLUE_STREAMING` --- ### GlueVersion #### `V_0` --- #### `V_1` --- #### `V_2` --- #### `V_3` --- ### GlueWorkerType #### `STANDARD` --- #### `G1_X` --- #### `G2_X` --- ### LakeKind #### `DATA_PRODUCT` --- #### `CENTRAL_CATALOG` --- #### `CONSUMER` --- #### `DATA_PRODUCT_AND_CATALOG` --- ### Permissions #### `ALTER` --- #### `CREATE_DATABASE` --- #### `CREATE_TABLE` --- #### `DATA_LOCATION_ACCESS` --- #### `DELETE` --- #### `DESCRIBE` --- #### `DROP` --- #### `INSERT` --- #### `SELECT` --- #### `ASSOCIATE` --- #### `CREATE_TABLE_READ_WRITE` --- ### ProcessorType #### `LAMBDA` --- ### Stage #### `ALPHA` --- #### `BETA` --- #### `GAMMA` --- #### `PROD` ---