28 lines
868 B
Bash
Executable File
28 lines
868 B
Bash
Executable File
#!/bin/bash
|
|
|
|
source "$(dirname $0)/utils.sh"
|
|
init
|
|
echo "Generate terraform outputs.tf files for every monitors modules"
|
|
|
|
# loop over every modules
|
|
for module in $(browse_modules "$(get_scope ${1:-})" 'monitors-*.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
|