32 lines
963 B
Bash
Executable File
32 lines
963 B
Bash
Executable File
#!/bin/bash
|
|
|
|
source "$(dirname $0)/utils.sh"
|
|
init
|
|
if [ "${REPO}" != "monitors" ]; then
|
|
# Run this script only for monitors repo
|
|
exit 0
|
|
fi
|
|
echo "Generate terraform outputs.tf files for every monitors modules"
|
|
|
|
# loop over every modules
|
|
for module in $(browse_modules "$(get_scope ${1:-})" "${REPO}-*.tf"); do
|
|
echo -e "\t- Generate outputs.tf for module: ${module}"
|
|
cd ${module}
|
|
# empty outputs
|
|
> outputs.tf
|
|
# gather a information line splitted with "|" for every monitor
|
|
for row in $(terraform-config-inspect --json | jq -c -r '.managed_resources | map([.name] | join("|")) | join("\n")'); do
|
|
# split line for each info one variable
|
|
IFS='|' read monitor type < <(echo $row)
|
|
# create output block for current monitor
|
|
cat >> outputs.tf <<EOF
|
|
output "${monitor}_id" {
|
|
description = "id for monitor ${monitor}"
|
|
value = datadog_monitor.${monitor}.*.id
|
|
}
|
|
|
|
EOF
|
|
done
|
|
cd - >> /dev/null
|
|
done
|