in DeliveryApi/cdk/src/main/java/com/ilmlf/delivery/DeliveryApp.java [44:85]
public static void main(final String[] args) throws IOException {
App app = new App();
String dbUsername = (String) app.getNode().tryGetContext("dbUsername");
dbUsername = (dbUsername == null ? "lambda_iam" : dbUsername);
String dbPortStr = (String) app.getNode().tryGetContext("dbPort");
Integer dbPort = (dbPortStr == null ? 3306: Integer.valueOf(dbPortStr));
boolean isPublicSubnetDb = "public".equals(app.getNode().tryGetContext("subnetType"));
DbStack db = new DbStack(app, "DeliveryProject-Db", DbStack.DbStackProps.builder()
.description("MySQL database, RDS proxy, secrets, and network components of Delivery project (uksb-1rsq7leeu)")
.dbUsername(dbUsername)
.dbPort(dbPort)
.isPublicSubnetDb(isPublicSubnetDb)
.build());
String email = (String) app.getNode().tryGetContext("email");
new ApiStack(
app,
"DeliveryProject-Api",
ApiStack.ApiStackProps.builder()
.description("API of Delivery project (uksb-1rsq7ledu)")
.dbEndpoint(db.getInstanceEndpoint())
.dbProxyEndpoint(db.getProxyEndpoint())
.dbPort(db.getDbPort())
.dbProxyArn(db.getProxyArn())
.dbRegion(db.getRegion())
.dbUser(db.getDbUsername())
.dbUserSecretName(db.getUserSecret().getSecretName())
.dbUserSecretArn(db.getUserSecret().getSecretArn())
.dbAdminSecretName(db.getAdminSecret().getSecretName())
.dbAdminSecretArn(db.getAdminSecret().getSecretArn())
.dbSg(db.getSecurityGroup())
.dbVpc(db.getVpc())
.alertEmail(email)
.build());
app.synth();
}