@@ -18,6 +18,7 @@ SHARED_PROPERTY_FILENAME=""
1818TAG=" "
1919SEC_LIST=" "
2020SECPS_LIST=" "
21+ ARG_SECPS_LIST=" "
2122# COUNTER_LIMIT=12
2223
2324if [ -z " $COUNTER_LIMIT " ]; then
@@ -399,6 +400,29 @@ ECS_template_create_register() {
399400 IFS=$o
400401 done
401402 fi
403+ if [ -z $ARG_SECPS_LIST ];
404+ then
405+ log " No ps file provided"
406+ else
407+ Buffer_seclist=$( echo $ARG_SECPS_LIST | sed ' s/,/ /g' )
408+ for listname in $Buffer_seclist ;
409+ do
410+ local o=$IFS
411+ IFS=$( echo -en " \n\b" )
412+ k=$listname
413+ echo $k
414+ aws ssm get-parameters-by-path --path $k --query " Parameters[*].{Name:Name}" > paramnames.json
415+ # ##paramnames=$(cat paramnames.json | jq -r .[].Name | rev | cut -d / -f 1 | rev)
416+ for s in $( cat paramnames.json | jq -r .[].Name )
417+ do
418+ varname=$( echo $s | rev | cut -d / -f 1 | rev)
419+ varvalue=" arn:aws:ssm:$AWS_REGION :$AWS_ACCOUNT_ID :parameter$s "
420+ psenvaddition " $varname " " $varvalue "
421+ # echo "$varname" "$varvalue"
422+ done
423+ IFS=$o
424+ done
425+ fi
402426 log " Environment has updated"
403427
404428 # Log Configuration
@@ -812,30 +836,50 @@ configure_Lambda_template()
812836 if [ " $AWS_LAMBDA_DEPLOY_TYPE " == " SLS" ]
813837 then
814838 mkdir -p /home/circleci/project/config
815- Buffer_seclist=$( echo $SEC_LIST | sed ' s/,/ /g' )
816- # 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+
817878
818- for listname in $Buffer_seclist ;
819- do
820- o=$IFS
821- IFS=$( echo -en " \n\b" )
822- envvars=$( cat $listname .json | jq -c ' . ' )
823- echo " $envvars " > /home/circleci/project/config/$AWS_LAMBDA_STAGE .json
824- sed -i ' s/\\n/\\\\n/g' /home/circleci/project/config/$AWS_LAMBDA_STAGE .json
825-
826- # yq r $listname.json >$listname.yml
827- # a=serverless.yml
828- # b="$listname.json"
829- # 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'))"
830- # 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'))"
831- # 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'))"
832- # 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'))"
833- # 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'))"
834- # 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'))"
835- # mv -f appeneded.yaml serverless.yml
836- done
837- IFS=$o
838879 fi
880+
881+
882+
839883}
840884
841885deploy_lambda_package ()
@@ -857,7 +901,7 @@ deploy_lambda_package()
857901# Input Collection and validation
858902input_parsing_validation ()
859903{
860- while getopts .d:h:i:e:l:t:v:s:p:g:c:m:. OPTION
904+ while getopts .d:h:i:e:l:j: t:v:s:p:g:c:m:. OPTION
861905 do
862906 case $OPTION in
863907 d)
@@ -876,6 +920,9 @@ input_parsing_validation()
876920 l)
877921 SECPS_LIST=$OPTARG
878922 ;;
923+ j)
924+ ARG_SECPS_LIST=$OPTARG
925+ ;;
879926 t)
880927 TAG=$OPTARG
881928 ;;
0 commit comments