diff --git a/scripts/00_requirements.sh b/scripts/00_requirements.sh index 3d5c3d8..984e950 100755 --- a/scripts/00_requirements.sh +++ b/scripts/00_requirements.sh @@ -2,6 +2,7 @@ source "$(dirname $0)/utils.sh" init +echo "Check requirements" function check_command() { local cmd="$1" @@ -44,6 +45,7 @@ function check_version() { } for cmd in terraform terraform-docs; do + echo -e "\t- Check command \"$cmd\" exists and in right version" check_command $cmd check_version $cmd done diff --git a/scripts/10_update_output.sh b/scripts/10_update_output.sh index 354e77a..cb568af 100755 --- a/scripts/10_update_output.sh +++ b/scripts/10_update_output.sh @@ -2,18 +2,21 @@ source "$(dirname $0)/utils.sh" init +echo "Generate terraform outputs.tf files for every monitors modules" # loop over every monitors set -for path in $(find "$(get_scope ${1:-})" -name 'monitors-*.tf' -print | sort -fdbi); do - cd $(dirname $path) +for path in $(browse_modules "$(get_scope ${1:-})" 'monitors-*.tf'); do + module=$(dirname ${path}) + echo -e "\t- Generate outputs.tf for module: ${module}" + cd ${module} # empty outputs > outputs.tf # loop over monitors for each set - for monitor in $(grep 'resource "datadog_monitor"' $(basename $path) | awk '{print $3}' | tr -d '"' ); do + for monitor in $(grep 'resource "datadog_monitor"' $(basename ${path}) | awk '{print $3}' | tr -d '"' ); do # create output block for current monitor cat >> outputs.tf < ${dir}/tmp.tf +for path in $(browse_modules "$(get_scope ${1:-})" 'inputs.tf'); do + module=$(dirname $path) + echo -e "\t- Terraform validate on module: ${module}" + cat < ${module}/tmp.tf provider "datadog" { version = $provider_version @@ -26,13 +28,14 @@ variable "datadog_app_key" { } EOF - if [ -f ${dir}/test.tf.ci ]; then - cat ${dir}/test.tf.ci >> ${dir}/tmp.tf + if [ -f ${module}/test.tf.ci ]; then + cat ${module}/test.tf.ci >> ${module}/tmp.tf fi - terraform init ${dir} - terraform validate ${dir} - rm -f ${dir}/tmp.tf + terraform init ${module} > /tmp/null + terraform validate ${module} + rm -f ${module}/tmp.tf done +echo -e "\t- Terraform fmt recursive" terraform fmt -recursive diff --git a/scripts/utils.sh b/scripts/utils.sh index ef17a22..8afa454 100755 --- a/scripts/utils.sh +++ b/scripts/utils.sh @@ -51,3 +51,7 @@ function get_name() { echo $name return 0 } + +function browse_modules() { + find "$1" -name "$2" -print | sort -fdbi +}