in src/main/java/jetbrains/teamcity/aws/template/AwsTeamcityCfnTemplateCdkStack.java [35:66]
public AwsTeamcityCfnTemplateCdkStack(final Construct scope, final String id, final StackProps props) {
super(scope, id, props);
Vpc vpc = AwsTeamCityTemplateVpc.buildVpc(this);
//EFS
AwsTeamCityTemplateEfs teamcityTemplateEfs = new AwsTeamCityTemplateEfs(this, vpc);
//ECS
AwsTeamCityTemplateEcs teamcityTemplateEcs = new AwsTeamCityTemplateEcs(this, vpc, teamcityTemplateEfs);
ApplicationLoadBalancedFargateService loadBalancedFargateService = teamcityTemplateEcs.getApplicationLoadBalancedFargateService();
//CloudFront
AwsTeamCityTemplateCloudFront teamcityTemplateCloudFront = new AwsTeamCityTemplateCloudFront(this, loadBalancedFargateService);
//RDS database
AwsTeamCityTemplateRds teamcityTemplateRds = new AwsTeamCityTemplateRds(this, vpc, loadBalancedFargateService);
//Setup Container Task
Map<String, String> setupContainerParams = SetupContainerParameters.getEnvVarParameters(teamcityTemplateRds);
SetupContainerTask.addSetupContainer(this,
loadBalancedFargateService,
teamcityTemplateEfs,
teamcityTemplateRds,
setupContainerParams
);
new CfnOutput(this, "TeamCityConnectionUrl", CfnOutputProps.builder()
.value(teamcityTemplateCloudFront.getCloudFrontDistribution().getDistributionDomainName())
.description("TeamCity CloudFront domain name")
.build());
}