@@ -37,6 +37,19 @@ download_buildenvfile()
3737 track_error $? " $listname .json"
3838 done
3939}
40+
41+ download_psfile ()
42+ {
43+ Buffer_seclist=$( echo $SECPS_LIST | sed ' s/,/ /g' )
44+ for listname in $Buffer_seclist ;
45+ do
46+ aws s3 cp s3://tc-platform-${ENV_CONFIG} /securitymanager/$listname .json .
47+ track_error $? " $listname .json download"
48+ jq ' keys[]' $listname .json
49+ track_error $? " $listname .json"
50+ done
51+ }
52+
4053uploading_buildenvvar ()
4154{
4255 Buffer_seclist=$( echo $BUILDENV_LIST | sed ' s/,/ /g' )
@@ -59,6 +72,38 @@ uploading_buildenvvar()
5972 done
6073}
6174
75+ uploading_buildpsenvar ()
76+ {
77+ if [ -z $SECPS_LIST ];
78+ then
79+ log " No ps file provided"
80+ else
81+ Buffer_seclist=$( echo $SECPS_LIST | sed ' s/,/ /g' )
82+ for listname in $Buffer_seclist ;
83+ do
84+ local o=$IFS
85+ IFS=$( echo -en " \n\b" )
86+ varpath=$( cat $listname .json | jq -r ' .ParmeterPathList[] ' )
87+ # log "vars are fetched"
88+ for k in $varpath ;
89+ do
90+ echo $k
91+ aws ssm get-parameters-by-path --with-decryption --path $k --query " Parameters[*].{Name:Name, Value:Value}" > paramnames.json
92+ # ##paramnames=$(cat paramnames.json | jq -r .[].Name | rev | cut -d / -f 1 | rev)
93+ for s in $( cat paramnames.json | jq -c .[] )
94+ do
95+ varname=$( echo $s | jq -r .Name | rev | cut -d / -f 1 | rev)
96+ varvalue=$( echo $s | jq -r .Value)
97+ # varvalue="arn:aws:ssm:$AWS_REGION:$AWS_ACCOUNT_ID:parameter$s"
98+ echo export " $varname " =" '$varvalue '" >> " buildenvvar"
99+ # echo "$varname" "$varvalue"
100+ done
101+ done
102+ IFS=$o
103+ done
104+ fi
105+ }
106+
62107configure_aws_cli () {
63108 aws --version
64109 aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
@@ -68,7 +113,7 @@ configure_aws_cli() {
68113 log " Configured AWS CLI."
69114}
70115
71- while getopts .b:e:. OPTION
116+ while getopts .b:e:l: . OPTION
72117do
73118 case $OPTION in
74119 e)
77122 b)
78123 BUILDENV_LIST=$OPTARG
79124 ;;
80-
125+ l)
126+ SECPS_LIST=$OPTARG
127+ ;;
81128 ? )
82129 log " additional param required"
83130 usage
104151ENV_CONFIG=` echo " $ENV " | tr ' [:upper:]' ' [:lower:]' `
105152download_buildenvfile
106153uploading_buildenvvar
154+ download_psfile
155+ uploading_buildpsenvar
107156
108157if grep -Fxq " buildenvvar" .dockerignore
109158then
0 commit comments