-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathddl-source-rds-stack.ts
33 lines (25 loc) · 1.05 KB
/
ddl-source-rds-stack.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import path = require("path");
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment';
import * as rds from 'aws-cdk-lib/aws-rds';
export interface DDLSourceRDSStackProps extends cdk.StackProps {
// This parameters are set from <project-repo>/bin/rds-ddl-automation.ts
rdsCluster: rds.ServerlessCluster;
}
export class DDLSourceRDSStack extends cdk.Stack {
readonly sourceS3Bucket: s3.Bucket;
constructor(scope: Construct, id: string, props: DDLSourceRDSStackProps) {
super(scope, id, props);
const rdsSource = props.rdsCluster;
const ddlSourceBucket = new s3.Bucket(this, `ddlSourceBucket`, {
bucketName: `ddl-source-${rdsSource.clusterIdentifier}`
});
this.sourceS3Bucket = ddlSourceBucket;
new s3deploy.BucketDeployment(this, 'deployDDLSourceRDS', {
sources: [s3deploy.Source.asset(path.join(__dirname, "../scripts/rds-ddl-sql"))],
destinationBucket: ddlSourceBucket
});
}
}