From d4cc74ea8c42293926096dd276a4eed8ca569b95 Mon Sep 17 00:00:00 2001 From: Stefano Date: Thu, 29 May 2025 17:48:23 -0500 Subject: [PATCH] Make sure DB credentials are available when running userdata (fix-1) --- infrastructure/stack.py | 44 ++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/infrastructure/stack.py b/infrastructure/stack.py index d2d748b..21e56ec 100644 --- a/infrastructure/stack.py +++ b/infrastructure/stack.py @@ -277,22 +277,34 @@ class IptvManagerStack(Stack): # Ensure instance depends on SSM parameters being created instance.node.add_dependency(db) - ssm_params = [ - ssm.StringParameter.from_string_parameter_name( - self, "DBHostParamRef", "/iptv-manager/DB_HOST" - ), - ssm.StringParameter.from_string_parameter_name( - self, "DBNameParamRef", "/iptv-manager/DB_NAME" - ), - ssm.StringParameter.from_string_parameter_name( - self, "DBUserParamRef", "/iptv-manager/DB_USER" - ), - ssm.StringParameter.from_string_parameter_name( - self, "DBPassParamRef", "/iptv-manager/DB_PASSWORD" - ), - ] - for param in ssm_params: - instance.node.add_dependency(param) + instance.node.add_dependency( + ssm.StringParameter.from_parameter_arn( + self, + "DBHostParamRef", + f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_HOST", + ) + ) + instance.node.add_dependency( + ssm.StringParameter.from_parameter_arn( + self, + "DBNameParamRef", + f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_NAME", + ) + ) + instance.node.add_dependency( + ssm.StringParameter.from_parameter_arn( + self, + "DBUserParamRef", + f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_USER", + ) + ) + instance.node.add_dependency( + ssm.StringParameter.from_parameter_arn( + self, + "DBPassParamRef", + f"arn:aws:ssm:{self.region}:{self.account}:parameter/iptv-manager/DB_PASSWORD", + ) + ) # Option: 2: Create Elastic IP (not free tier compatible) # eip = ec2.CfnEIP(