From 230b628e286f997cb2da6add5b9fe1fb48a04e92 Mon Sep 17 00:00:00 2001 From: Scottpedia <60531983+scottpedia@users.noreply.github.com> Date: Mon, 20 Nov 2023 23:52:13 -0500 Subject: [PATCH] Update Cloudformation template (#1490) - Improve formatting and code organization. --- aws/cloudformation-template-ipsec.json | 82 +++++++------------------- 1 file changed, 21 insertions(+), 61 deletions(-) diff --git a/aws/cloudformation-template-ipsec.json b/aws/cloudformation-template-ipsec.json index 611a6ff..d35ea97 100644 --- a/aws/cloudformation-template-ipsec.json +++ b/aws/cloudformation-template-ipsec.json @@ -25,25 +25,25 @@ "Mappings": { "OS": { "Ubuntu2004": { - "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "Ubuntu2204": { - "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "Debian10": { - "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "Debian11": { - "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "Debian12": { - "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\nrm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "export DEBIAN_FRONTEND=noninteractive\nrm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED\napt-get -yq update\napt-get -yq install python3-pip zip\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "CentOS7": { - "HelperInstallationCommands": "yum -y install python3 wget zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz\n" + "HelperInstallationCommands": "yum -y install python3 wget zip awscli\npython3 -m pip install https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-py3-latest.tar.gz" }, "AmazonLinux2": { - "HelperInstallationCommands": "export PATH=\"$PATH:/opt/aws/bin\"\n" + "HelperInstallationCommands": "export PATH=\"$PATH:/opt/aws/bin\"" } } }, @@ -201,21 +201,11 @@ "UserData": { "Fn::Base64": { "Fn::Join": [ - "", + "\n", [ - "#!/bin/bash -xe\n", - "trap 'cfn-signal -e 1 ", - " --stack ", - { - "Ref": "AWS::StackName" - }, - " --resource VpnInstance ", - " --region ", - { - "Ref": "AWS::Region" - }, - "' ERR\n", - "sleep 60\n", + "#!/bin/bash -xe", + { "Fn::Sub": "trap 'cfn-signal -e 1 --resource VpnInstance --stack ${AWS::StackName} --region ${AWS::Region}' ERR" }, + "sleep 60", { "Fn::FindInMap": [ "OS", @@ -225,46 +215,16 @@ "HelperInstallationCommands" ] }, - "export VPN_IPSEC_PSK='", - { - "Ref": "VpnIpsecPsk" - }, - "'\n", - "export VPN_USER='", - { - "Ref": "VpnUser" - }, - "'\n", - "export VPN_PASSWORD='", - { - "Ref": "VpnPassword" - }, - "'\n", - "wget -t 3 -T 30 -nv -O vpn.sh https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh\n", - "sh vpn.sh\n", - "mkdir /root/profiles\n", - "cp /root/vpnclient* /root/profiles\n", - "cd /root/ && zip -er --password '", - { - "Ref": "VpnPassword" - }, - "' profiles.zip ./profiles\n", - "aws s3 cp /root/profiles.zip s3://", - { - "Ref": "Ikev2S3Bucket" - }, - "/\n", - "cfn-signal -e 0 ", - " --stack ", - { - "Ref": "AWS::StackName" - }, - " --resource VpnInstance ", - " --region ", - { - "Ref": "AWS::Region" - }, - "\n" + { "Fn::Sub": "export VPN_IPSEC_PSK='${VpnIpsecPsk}'" }, + { "Fn::Sub": "export VPN_USER='${VpnUser}'" }, + { "Fn::Sub": "export VPN_PASSWORD='${VpnPassword}'" }, + "wget -t 3 -T 30 -nv -O vpn.sh https://github.com/hwdsl2/setup-ipsec-vpn/raw/master/vpnsetup.sh", + "sh vpn.sh", + "mkdir /root/profiles", + "cp /root/vpnclient* /root/profiles", + { "Fn::Sub": "cd /root/ && zip -er --password '${VpnPassword}' profiles.zip ./profiles" }, + { "Fn::Sub": "aws s3 cp /root/profiles.zip s3://${Ikev2S3Bucket}/" }, + { "Fn::Sub": "cfn-signal -e 0 --stack ${AWS::StackName} --resource VpnInstance --region ${AWS::Region}" } ] ] }