forked from claranet/terraform-datadog-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path99_terraform.sh
executable file
·47 lines (37 loc) · 974 Bytes
/
99_terraform.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
#!/bin/bash
source "$(dirname $0)/utils.sh"
init
echo "Check terraform CI"
# Clean when exit
err() {
rm -f "${module}/tmp.tf"
}
trap 'err $LINENO' ERR TERM EXIT INT
provider_version=$(grep ^[[:space:]]*version[[:space:]]= README.md | awk '{print $3}')
# loop over every modules
for module in $(browse_modules "$(get_scope ${1:-})" 'inputs.tf'); do
echo -e "\t- Terraform validate on module: ${module}"
cat <<EOF > ${module}/tmp.tf
provider "datadog" {
version = $provider_version
api_key = var.datadog_api_key
app_key = var.datadog_app_key
}
variable "datadog_api_key" {
type = string
default = "xxx"
}
variable "datadog_app_key" {
type = string
default = "yyy"
}
EOF
if [ -f ${module}/test.tf.ci ]; then
cat ${module}/test.tf.ci >> ${module}/tmp.tf
fi
terraform init ${module} > /tmp/null
terraform validate ${module}
rm -f ${module}/tmp.tf
done
echo -e "\t- Terraform fmt recursive"
terraform fmt -recursive