Skip to content

Commit 31be633

Browse files
authored
Merge pull request #34 from topcoder-platform/dev-ps-var
Lambda to support psvar
2 parents b78ab34 + b5151af commit 31be633

File tree

2 files changed

+51
-22
lines changed

2 files changed

+51
-22
lines changed

master_deploy.sh

Lines changed: 42 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -836,30 +836,50 @@ configure_Lambda_template()
836836
if [ "$AWS_LAMBDA_DEPLOY_TYPE" == "SLS" ]
837837
then
838838
mkdir -p /home/circleci/project/config
839-
Buffer_seclist=$(echo $SEC_LIST | sed 's/,/ /g')
840-
#envvars=$( cat $listname.json | jq -c ' .app_var ')
839+
if [ -z $SEC_LIST ];
840+
then
841+
log "No ps path provided"
842+
else
843+
Buffer_seclist=$(echo $SEC_LIST | sed 's/,/ /g')
844+
#envvars=$( cat $listname.json | jq -c ' .app_var ')
845+
846+
for listname in $Buffer_seclist;
847+
do
848+
local o=$IFS
849+
IFS=$(echo -en "\n\b")
850+
envvars=$( cat $listname.json | jq -c ' . ')
851+
echo "$envvars" > /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
852+
sed -i 's/\\n/\\\\n/g' /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
853+
IFS=$o
854+
done
855+
fi
856+
857+
if [ -z $ARG_SECPS_LIST ];
858+
then
859+
log "No ps path provided"
860+
else
861+
Buffer_seclist=$(echo $ARG_SECPS_LIST | sed 's/,/ /g')
862+
for listname in $Buffer_seclist;
863+
do
864+
local o=$IFS
865+
IFS=$(echo -en "\n\b")
866+
k=$listname
867+
echo $k
868+
aws ssm get-parameters-by-path --with-decryption --path $k --query "Parameters[*].{Name:Name, Value:Value}" >fetched_parameters.json
869+
cat fetched_parameters.json | jq -r ' . |= (map({ (.Name): .Value }) | add)' | sed -e "s~$k/~~" >paramwithvalue.json
870+
envvars=$( cat paramwithvalue.json | jq -c ' . ')
871+
echo "$envvars" > /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
872+
sed -i 's/\\n/\\\\n/g' /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
873+
###paramnames=$(cat paramnames.json | jq -r .[].Name | rev | cut -d / -f 1 | rev)
874+
IFS=$o
875+
done
876+
fi
877+
841878

842-
for listname in $Buffer_seclist;
843-
do
844-
o=$IFS
845-
IFS=$(echo -en "\n\b")
846-
envvars=$( cat $listname.json | jq -c ' . ')
847-
echo "$envvars" > /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
848-
sed -i 's/\\n/\\\\n/g' /home/circleci/project/config/$AWS_LAMBDA_STAGE.json
849-
850-
#yq r $listname.json >$listname.yml
851-
#a=serverless.yml
852-
#b="$listname.json"
853-
#python -c "import sys; from ruamel.yaml import YAML; yaml = YAML(); cfg = yaml.load(open('$a','r')); cfg_env = yaml.load(open('$b','r')); cfg['Resources']['tcdevhandler']['Properties']['Environment']['Variables']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml', 'w'))"
854-
#python -c "import sys; from ruamel.yaml import YAML; yaml = YAML(); cfg = yaml.load(open('$a','r')); cfg_env = yaml.load(open('$b','r')); cfg['provider']['environment']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml', 'w'))"
855-
#python -c "import sys , json , ruamel.yaml , cStringIO; jsondata = cStringIO.StringIO(); yaml = ruamel.yaml.YAML(); yaml.explicit_start = True; data = json.load(open('$b','r'), object_pairs_hook=ruamel.yaml.comments.CommentedMap) ; ruamel.yaml.scalarstring.walk_tree(data) ; yaml.dump(data, jsondata); cfg = yaml.load(open('$a','r')); cfg_env = yaml.load(jsondata.getvalue()); cfg['Resources']['tcdevhandler']['Properties']['Environment']['Variables']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml', 'w'))"
856-
#python -c "import sys , json , ruamel.yaml , cStringIO; jsondata = cStringIO.StringIO(); yaml = ruamel.yaml.YAML(); yaml.explicit_start = True; data = json.load(open('$b','r'), object_pairs_hook=ruamel.yaml.comments.CommentedMap) ; ruamel.yaml.scalarstring.walk_tree(data) ; yaml.dump(data, jsondata); cfg = yaml.load(open('$a','r')); cfg_env = yaml.load(jsondata.getvalue()); cfg['provider']['environment']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml', 'w'))"
857-
#python -c "import sys , json , ruamel.yaml ; from io import BytesIO as StringIO ; jsondata = StringIO(); yaml = ruamel.yaml.YAML(); yaml.explicit_start = True; data = json.load(open('$b','r'), object_pairs_hook=ruamel.yaml.comments.CommentedMap) ; ruamel.yaml.scalarstring.walk_tree(data) ; yaml.dump(data, jsondata); cfg = yaml.load(open('$a','r')); cfg_env= yaml.load(jsondata.getvalue()); cfg['provider']['environment']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml','w'))"
858-
#python -c "import sys , json , ruamel.yaml ; from io import BytesIO as StringIO ; jsondata = StringIO(); yaml = ruamel.yaml.YAML(); data = json.load(open('$b','r')) ; yaml.dump(data, jsondata); cfg = yaml.load(open('$a','r')); cfg_env= yaml.load(jsondata.getvalue()); cfg['provider']['environment']=cfg_env['app_var'] ; yaml.dump(cfg, open('appeneded.yaml','w'))"
859-
#mv -f appeneded.yaml serverless.yml
860-
done
861-
IFS=$o
862879
fi
880+
881+
882+
863883
}
864884

865885
deploy_lambda_package()

uploadjsonso-ps.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#!/bin/bash
2+
set -eo pipefail
3+
UPLOAD_FILENAME=$1
4+
PARAMETER_PATH=$2
5+
6+
aws ssm put-parameter \
7+
--name $PARAMETER_PATH \
8+
--type SecureString \
9+
--value file://$UPLOAD_FILENAME

0 commit comments

Comments
 (0)