blob: 29c6cb0d8efb5b9f3d70e54a3ed173f59b43b40f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
[CmdletBinding()]
param (
)
$SCRIPTS_DIR=$PSScriptRoot
$BUILD_DIR=[IO.Path]::GetFullPath([IO.Path]::Combine($SCRIPTS_DIR, '..', 'bin'))
$SOURCE_DIR=[IO.Path]::GetFullPath([IO.Path]::Combine($SCRIPTS_DIR, '..'))
$PROVIDER_NAME_FILE=[IO.Path]::GetFullPath([IO.Path]::Combine($SCRIPTS_DIR, '..', 'PROVIDER_NAME.txt'))
$PROVIDER_VERSION_FILE=[IO.Path]::GetFullPath([IO.Path]::Combine($SCRIPTS_DIR, '..', 'PROVIDER_VERSION.txt'))
if ($PSVersionTable.PSVersion.Major -lt 6) {
$OS = 'windows'
}
else {
$OS=$PSVersionTable.OS.Split(' ')[0].ToLower()
}
if ("$OS" -eq 'linux') {
$match = $(lscpu) | Select-String 'Architecture:\s*(?<PROC>.+)$'
if ($match) {
$PROC = switch -Wildcard ($match.Matches[0].Groups['PROC'].Value) {
'x86_64' {
'amd64'
}
'*arm*' {
'arm'
}
'*aarch64*' {
'arm'
}
default {
'386'
}
}
}
if ([string]::IsNullOrWhiteSpace($PROC)) {
$PROC=if (Get-Content /proc/cpuinfo | Select-String 'model name\s*:\s*ARM' | Select-Object -First 1) { 'arm' }
}
if ([string]::IsNullOrWhiteSpace($PROC)) {
$PROC=if (Get-Content /proc/cpuinfo | Select-String 'flags\s*:\s*.* lm ' | Select-Object -First 1) { 'amd64' } else { '386' }
}
}
else {
$PROC="amd64"
}
if ($PROC -like "*arm*") {
# terraform downloads use "arm" not full arm type
$PROC = 'arm'
}
|