Skip to content
Snippets Groups Projects
Select Git revision
  • 5cb0bdcc617e1cc27c077202567fac485ba465b2
  • master default
2 results

build.sh

Blame
  • tf 854 B
    #!/bin/sh
    set -eu
    
    # A wrapper for Terraform to include a variables file if one exists that matches
    # the workspace name (on commands that support that).
    
    workspace="$(terraform workspace show)"
    if [ ! -f "$workspace.tfvars" ] && [ ! -d "$workspace" ]
    then
        exec terraform "$@"
    fi
    
    for arg in "$@"
    do
        if [ "$arg" = "plan" ] || [ "$arg" = "console" ] || [ "$arg" = "import" ] ||
            [ "$arg" = "refresh" ]
        then
            additional_args=''
            if [ -f "$workspace.tfvars" ]
            then
                additional_args="$additional_args -var-file=$workspace.tfvars"
            fi
            if [ -d "$workspace" ]
            then
                additional_args="$additional_args $(find "$workspace" -type f -name '*.tfvars' -exec printf '-var-file=%s ' {} \;)"
            fi
        fi
    done
    
    # shellcheck disable=SC2086
    exec terraform "$@" ${additional_args:-}