$drv = (Get-Location).Drive.Root.Replace('\', '/')
$loc = (Get-Location).Drive.CurrentLocation.Replace("\", "/")
$azure_env = $args[0]
$destArgs = @()
if ($args.Length -gt 1) {
$destArgs = $args[1..$args.Length]
}
$path = Get-Location
$parent = (Get-Item $path.Path).Parent
$varsFiles = Get-ChildItem -Path $parent.FullName -Filter "*.tfvars"
$varsFileArg = ''
$varsFileParameter = '-var-file='
if ($varsFiles -is [array]) {
$varsPaths = $varsFiles | ForEach-Object { $_ | Resolve-Path -Relative }
$varsPaths = $varsPaths -join " $varsFileParameter"
$varsFileArg = $varsFileParameter + $varsPaths
} elseif ($varsFiles) {
$relPath = $varsFiles | Resolve-Path -Relative
$varsFileArg = $varsFileParameter + $relPath
}
if ($varsFileArg) {
$varsFileArg = $varsFileArg.Replace("\", "/")
$destArgs += $varsFileArg
}
docker pull hashicorp/terraform:latest
docker run --rm -it --env-file "$env:USERPROFILE\azure\$azure_env.env" -v ${drv}:/data --workdir=/data/${loc} hashicorp/terraform:latest $destArgs