-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathall_module.sh
executable file
·76 lines (64 loc) · 1.63 KB
/
all_module.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/bin/bash
set -e
# A POSIX variable
OPTIND=1
function show_help () {
echo "Optional flags:"
echo " -v = verbose. Default is 0/Off"
echo "Mandatory flags:"
echo " -e = envirement to use, for example dev, qa or prod"
echo " -o = Terraform Operation."
echo "Example useage:"
echo " $./all_module.sh -e dev -o apply"
}
function deploy () {
echo "*--- Start deploying $1 ---*"
echo "--- Init stage of $1 ---"
env=dev make -f $1/Makefile init
echo "--- Plan stage of $1 ---"
env=dev make -f $1/Makefile plan
echo "--- Apply stage of $1 ---"
env=dev make -f $1/Makefile apply
echo "*--- End of $1 deployment ---*"
}
function destroy () {
echo "*--- Start deploying $1 ---*"
env=dev make -f $1/Makefile destroy
echo "*--- End of $1 destroy ---*"
}
echo "Start"
# Initialize our own variables:
ENV=""
ENVOPT=""
VERBOSE=0
TFMODULES_CREATE="network security data process"
TFMODULES_DESTROY="process data security network"
while getopts "h?ve:o:" opt; do
case "$opt" in
h|\?)
show_help
exit 0
;;
v) VERBOSE=1
;;
e) ENV=$OPTARG
;;
o) ENVOPT=$OPTARG
;;
esac
done
shift $((OPTIND-1))
[ "${1:-}" = "--" ] && shift
if [ $VERBOSE -eq 1 ]; then echo "verbose=$VERBOSE, env='$ENV', env_opt='$ENVOPT' Leftovers: $@"; fi
if [ $ENVOPT = "deploy" ]; then
echo "deploy"
for module in $TFMODULES_CREATE; do
deploy $module
done
fi
if [ $ENVOPT = "destroy" ]; then
echo "destroy"
for module in $TFMODULES_DESTROY; do
destroy $module
done
fi