@@ -23,7 +23,7 @@ def create_cloudformation_stack(client, stack_name, cft_content, api_token, dc_c
2323 Capabilities = ['CAPABILITY_IAM' ],
2424 Parameters = [
2525 { 'ParameterKey' : 'APIToken' , 'ParameterValue' : api_token },
26- { 'ParameterKey' : 'DeployToEnvironment' , 'ParameterValue' : 'integ' },
26+ { 'ParameterKey' : 'DeployToEnvironment' , 'ParameterValue' : 'integ' },
2727 { 'ParameterKey' : 'VpcId' , 'ParameterValue' : dc_cfg ['VpcId' ] },
2828 { 'ParameterKey' : 'VpcSubnet1' , 'ParameterValue' : dc_cfg ['VpcSubnet1' ] },
2929 { 'ParameterKey' : 'VpcSubnet2' , 'ParameterValue' : dc_cfg ['VpcSubnet2' ] },
@@ -62,12 +62,14 @@ def create_cloudformation_stack(client, stack_name, cft_content, api_token, dc_c
6262egress .append (create_egress (args .localstack_url , 'E2E - Localstack' ))
6363cft ['Resources' ]['SecurityGroup' ]['Properties' ]['SecurityGroupEgress' ] = egress
6464
65- user_data = cft ['Resources' ]['LaunchTemplate' ]['Properties' ]['LaunchTemplateData' ]['UserData' ]['Fn::Base64' ]['Fn::Sub' ]
66- first_line = user_data .find ('\n ' )
67- user_data = user_data [:first_line ] + '''
68- export CORE_BASE_URL="http://{}"
69- export OPTOUT_BASE_URL="http://{}"''' .format (args .core_url , args .optout_url ) + user_data [first_line :]
70- cft ['Resources' ]['LaunchTemplate' ]['Properties' ]['LaunchTemplateData' ]['UserData' ]['Fn::Base64' ]['Fn::Sub' ] = user_data
65+ # Now, we overwrite core, optout URL's with bore addresses.
66+ secrets = cft ['Resources' ]['TokenSecret' ]['Properties' ]['SecretString' ]['Fn::Join' ][1 ]
67+ core_index = secrets .index ('"core_base_url": ' )
68+ secrets = secrets [:core_index ] + secrets [core_index + 2 :]
69+ optout_index = secrets .index (', "optout_base_url": ' )
70+ secrets = secrets [:optout_index ] + secrets [optout_index + 2 :]
71+ secrets = secrets [:1 ] + [f'"core_base_url": "http://{ args .core_url } "' ,f', "optout_base_url": "http://{ args .optout_url } "' , ', "skip_validations": "true"' , ', "debug_mode": "true"' ] + secrets [1 :]
72+ cft ['Resources' ]['TokenSecret' ]['Properties' ]['SecretString' ]['Fn::Join' ][1 ] = secrets
7173
7274print (dump_yaml (cft ))
7375
0 commit comments