Slide 60
Slide 60 text
@bsideup
from uvita import ECSMicroService, SSMParameter, DynamoDBTable
from troposphere import Template, Parameter
t = Template()
t.add_parameter(Parameter('Env', Type="String"))
t.add_parameter(Parameter('DockerImage', Type="String"))
questionnaire_table = DynamoDBTable('QuestionnaireDynamoDBTable', ('subjectId', 'S'))
questionnaire_table.inject_to(t)
subject_info_table = DynamoDBTable('SubjectInfoDynamoDBTable', ('subjectId', 'S'), ('id', 'S'))
subject_info_table.inject_to(t)
goal_table = DynamoDBTable('GoalDynamoDBTable', ('subjectId', 'S'))
goal_table.inject_to(t)
service = ECSMicroService(
"sensemaking",
priority=2100,
public=True,
envs = {
"kafka_bootstrapServers": "kafka.uvita.services:9092",
"kafka_eventBusTopic": "user-event-log",
"aws_dynamodb_questionnairesTableName": questionnaire_table.table_ref(),
"aws_dynamodb_subjectInfoTableName": subject_info_table.table_ref(),
"aws_dynamodb_goalTableName": goal_table.table_ref(),
"security_oauth2_resource_jwt_keyValue": SSMParameter('/${Env}/jwt/password')
}
)
service.inject_to(t)