constructor()

in resources/beam-on-kda/cdk/lib/cloud9-dev-environment.ts [18:48]


    constructor(scope: cdk.Construct, id: string, props: Cloud9DevEnvironmentProps) {
        super(scope, id);

        new GithubBuildPipeline(this, 'KinesisReplayBuildPipeline', {
            url: `https://github.com/aws-samples/amazon-kinesis-replay/archive/${props.kinesisReplayVersion}.zip`,
            bucket: props.bucket,
            extract: true
        });
      
        const owner =  props.eventEngine ? {ownerArn: `arn:aws:iam::${cdk.Aws.ACCOUNT_ID}:assumed-role/TeamRole/MasterKey`} : {};

        const c9env = new c9.CfnEnvironmentEC2(this, 'Cloud9Instance', {
            instanceType: 't3.large',
            subnetId: props.vpc.publicSubnets[0].subnetId,
            description: 'Cloud9 environment for Apache Beam on KDA workshop',
            name: cdk.Aws.STACK_NAME,
            repositories: [
                {
                    pathComponent: '/code',
                    repositoryUrl: props.beamSourceRepositoryUrl
                }
            ],
            ...owner
        })

        new cdk.CfnOutput(this, 'ReplayJarS3Url', {
            exportName: 'ReplayJarS3Url',
            description: 'S3 Url for the replay jar file',
            value: props.bucket.s3UrlForObject('target')
        });
    }