diff --git a/tff b/tff index cf6907775cbf5db5213d7871b60fff93642d26e2..b980c15d5210028341177c09b6cc8901cb1ed267 100755 --- a/tff +++ b/tff @@ -3,7 +3,20 @@ set -eu command -v terraform >/dev/null || { echo "Can't find the terraform binary, aborting." >&2; exit 1; } +version="$(terraform version | sed --silent 's/Terraform v\([0-9]*\)\.\([0-9]*\)\.[0-9]*$/\1.\2/p')" +major="$(echo "$version" | cut -d '.' -f 1)" +minor="$(echo "$version" | cut -d '.' -f 2)" +if [ "$major" -gt '0' ] || [ "$minor" -gt '14' ] +then + post0_14='1' +fi + for i in "$@" do - terraform fmt "$(dirname "$i")" || true + if [ -n "${post0_14:-}" ] + then + terraform -chdir="$(dirname "$i")" fmt || true + else + terraform fmt "$(dirname "$i")" || true + fi done diff --git a/tfv b/tfv index 5d9f1b67f66e158fd0dc3aefe8b68e62d30e597c..f0ae3943148cebbb83e44cee30e2fedff30b4d53 100755 --- a/tfv +++ b/tfv @@ -6,10 +6,24 @@ command -v terraform >/dev/null || { echo "Can't find the terraform binary, abor export TF_INPUT='0' export TF_IN_AUTOMATION='1' +version="$(terraform version | sed --silent 's/Terraform v\([0-9]*\)\.\([0-9]*\)\.[0-9]*$/\1.\2/p')" +major="$(echo "$version" | cut -d '.' -f 1)" +minor="$(echo "$version" | cut -d '.' -f 2)" +if [ "$major" -gt '0' ] || [ "$minor" -gt '14' ] +then + post0_14='1' +fi + for i in "$@" do - terraform init -backend=false "$(dirname "$i")" || { code='1'; continue; } - terraform validate "$(dirname "$i")" || code='1' + if [ -n "${post0_14:-}" ] + then + terraform -chdir="$(dirname "$i")" init -backend=false || { code='1'; continue; } + terraform -chdir="$(dirname "$i")" validate || code='1' + else + terraform init -backend=false "$(dirname "$i")" || { code='1'; continue; } + terraform validate "$(dirname "$i")" || code='1' + fi done exit "${code:-0}"