@@ -37,6 +37,19 @@ download_buildenvfile()
37
37
track_error $? " $listname .json"
38
38
done
39
39
}
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
+
40
53
uploading_buildenvvar ()
41
54
{
42
55
Buffer_seclist=$( echo $BUILDENV_LIST | sed ' s/,/ /g' )
@@ -59,6 +72,38 @@ uploading_buildenvvar()
59
72
done
60
73
}
61
74
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
+
62
107
configure_aws_cli () {
63
108
aws --version
64
109
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
@@ -68,7 +113,7 @@ configure_aws_cli() {
68
113
log " Configured AWS CLI."
69
114
}
70
115
71
- while getopts .b:e:. OPTION
116
+ while getopts .b:e:l: . OPTION
72
117
do
73
118
case $OPTION in
74
119
e)
77
122
b)
78
123
BUILDENV_LIST=$OPTARG
79
124
;;
80
-
125
+ l)
126
+ SECPS_LIST=$OPTARG
127
+ ;;
81
128
? )
82
129
log " additional param required"
83
130
usage
104
151
ENV_CONFIG=` echo " $ENV " | tr ' [:upper:]' ' [:lower:]' `
105
152
download_buildenvfile
106
153
uploading_buildenvvar
154
+ download_psfile
155
+ uploading_buildpsenvar
107
156
108
157
if grep -Fxq " buildenvvar" .dockerignore
109
158
then
0 commit comments