#!/bin/sh set -eu command -v terraform >/dev/null || { echo "Can't find the terraform binary, aborting." >&2; exit 1; } 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 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}"