1 | #!/bin/bash
|
2 | CONFIG=deploy.yaml
|
3 |
|
4 |
|
5 | function parse_yaml {
|
6 | local prefix=$2
|
7 | local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034')
|
8 | sed -ne "s|^\($s\):|\1|" \
|
9 | -e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \
|
10 | -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 |
|
11 | awk -F$fs '{
|
12 | indent = length($1)/2;
|
13 | vname[indent] = $2;
|
14 | for (i in vname) {if (i > indent) {delete vname[i]}}
|
15 | if (length($3) > 0) {
|
16 | vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")}
|
17 | printf("%s%s%s=\"%s\"\n", "'$prefix'", toupper(vn), toupper($2), $3);
|
18 | }
|
19 | }'
|
20 | }
|
21 |
|
22 | if [ ! -f "$CONFIG" ]; then
|
23 | echo $CONFIG not found
|
24 | exit 1
|
25 | fi
|
26 |
|
27 | eval $(parse_yaml $CONFIG "CONFIG_")
|
28 |
|
29 | if [ -z "$CONFIG_SERVER" ]; then
|
30 | if [[ -z "$CONFIG_ELASTICBEANSTALK_REGION" ]]; then
|
31 | echo CONFIG server is empty
|
32 | exit 1
|
33 | fi
|
34 | else
|
35 | if [ -z "$CONFIG_PROJECT" ]; then
|
36 | echo CONFIG project is empty
|
37 | exit 1
|
38 | fi
|
39 | fi
|
40 |
|