#!/bin/sh set -eu umask 077 rm -f review.tfplan plan_dir=$(mktemp -d ./.review-plan.XXXXXX) trap 'rm -rf "$plan_dir"' 0 trap 'exit 130' INT trap 'exit 143' HUP TERM status=0 terraform plan -input=false -detailed-exitcode -out="$plan_dir/review.tfplan" || status=$? case "$status" in 0) printf "%s\n" "No changes proposed." ;; 2) terraform show -no-color "$plan_dir/review.tfplan" ;; *) printf "%s\n" "Planning failed; inspect the errors." >&2; exit "$status" ;; esac mv "$plan_dir/review.tfplan" review.tfplan