Skip to content

Commit 0aa1cb2

Browse files
committed
USe different API
1 parent f51792a commit 0aa1cb2

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/ALZ/Private/Tools/Get-TerraformTool.ps1

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,23 @@ function Get-TerraformTool {
77
[string]$toolsPath = ".\terraform"
88
)
99

10+
$release = $null
11+
1012
if($version -eq "latest") {
11-
$versionResponse = Invoke-WebRequest -Uri "https://checkpoint-api.hashicorp.com/v1/check/terraform"
13+
$versionResponse = Invoke-WebRequest -Uri "https://api.releases.hashicorp.com/v1/releases/terraform?limit=20"
1214
if($versionResponse.StatusCode -ne "200") {
1315
throw "Unable to query Terraform version, please check your internet connection and try again..."
1416
}
15-
$version = ($versionResponse).Content | ConvertFrom-Json | Select-Object -ExpandProperty current_version
16-
$version = $version.TrimStart("v")
17+
$releases = ($versionResponse).Content | ConvertFrom-Json | Where-Object -Property is_prerelease -EQ $false
18+
$release = $releases[0]
19+
$version = $releases[0].version
1720
Write-Verbose "Latest version of Terraform is $version"
21+
} else {
22+
$versionResponse = Invoke-WebRequest -Uri "https://api.releases.hashicorp.com/v1/releases/terraform/$($version)"
23+
if($versionResponse.StatusCode -ne "200") {
24+
throw "Unable to query Terraform version, please check the supplied version and try again..."
25+
}
26+
$release = ($versionResponse).Content
1827
}
1928

2029
Write-Verbose "Required version of Terraform is $version"
@@ -45,7 +54,7 @@ function Get-TerraformTool {
4554

4655
$zipfilePath = "$unzipdir.zip"
4756

48-
$url = "https://releases.hashicorp.com/terraform/$($version)/terraform_$($version)_$($osArchitecture.osAndArchitecture).zip"
57+
$url = $release.builds | Where-Object { $_.arch -eq $osArchitecture.architecture -and $_.os -eq $osArchitecture.os } | Select-Object -First 1 -ExpandProperty url
4958

5059
if(!(Test-Path $toolsPath)) {
5160
New-Item -ItemType Directory -Path $toolsPath| Out-String | Write-Verbose

0 commit comments

Comments
 (0)