@@ -18,6 +18,7 @@ SHARED_PROPERTY_FILENAME=""
18
18
TAG=" "
19
19
SEC_LIST=" "
20
20
SECPS_LIST=" "
21
+ ARG_SECPS_LIST=" "
21
22
# COUNTER_LIMIT=12
22
23
23
24
if [ -z " $COUNTER_LIMIT " ]; then
@@ -399,6 +400,29 @@ ECS_template_create_register() {
399
400
IFS=$o
400
401
done
401
402
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
402
426
log " Environment has updated"
403
427
404
428
# Log Configuration
@@ -812,30 +836,50 @@ configure_Lambda_template()
812
836
if [ " $AWS_LAMBDA_DEPLOY_TYPE " == " SLS" ]
813
837
then
814
838
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
+
817
878
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
838
879
fi
880
+
881
+
882
+
839
883
}
840
884
841
885
deploy_lambda_package ()
@@ -857,7 +901,7 @@ deploy_lambda_package()
857
901
# Input Collection and validation
858
902
input_parsing_validation ()
859
903
{
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
861
905
do
862
906
case $OPTION in
863
907
d)
@@ -876,6 +920,9 @@ input_parsing_validation()
876
920
l)
877
921
SECPS_LIST=$OPTARG
878
922
;;
923
+ j)
924
+ ARG_SECPS_LIST=$OPTARG
925
+ ;;
879
926
t)
880
927
TAG=$OPTARG
881
928
;;
0 commit comments