diff --git a/terraform_fmt.sh b/terraform_fmt.sh index 6c1b693..17aceda 100755 --- a/terraform_fmt.sh +++ b/terraform_fmt.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +set -e -for file in "$@"; do - terraform fmt "$file" +declare -a paths +index=0 + +for file_with_path in "$@"; do + paths[index]=$(dirname "$file_with_path") + let "index+=1" +done + +for path_uniq in $(echo "${paths[*]}" | tr ' ' '\n' | sort -u); do + pushd "$path_uniq" > /dev/null + terraform fmt + popd > /dev/null done diff --git a/terraform_validate_no_variables.sh b/terraform_validate_no_variables.sh index d977342..59b07df 100755 --- a/terraform_validate_no_variables.sh +++ b/terraform_validate_no_variables.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +set -e -for file in "$@"; do - terraform validate -check-variables=false "$file" +declare -a paths +index=0 + +for file_with_path in "$@"; do + paths[index]=$(dirname "$file_with_path") + let "index+=1" +done + +for path_uniq in $(echo "${paths[*]}" | tr ' ' '\n' | sort -u); do + pushd "$path_uniq" > /dev/null + terraform validate -check-variables=false + popd > /dev/null done diff --git a/terraform_validate_with_variables.sh b/terraform_validate_with_variables.sh index 7748bed..da1050e 100755 --- a/terraform_validate_with_variables.sh +++ b/terraform_validate_with_variables.sh @@ -1,5 +1,16 @@ #!/usr/bin/env bash +set -e -for file in "$@"; do - terraform validate -check-variables=true "$file" +declare -a paths +index=0 + +for file_with_path in "$@"; do + paths[index]=$(dirname "$file_with_path") + let "index+=1" +done + +for path_uniq in $(echo "${paths[*]}" | tr ' ' '\n' | sort -u); do + pushd "$path_uniq" > /dev/null + terraform validate -check-variables=true + popd > /dev/null done