-
Notifications
You must be signed in to change notification settings - Fork 3
/
login.ps1
29 lines (25 loc) · 890 Bytes
/
login.ps1
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
param (
[Parameter(Mandatory=$true)][string]$server,
[string]$user = $( Read-Host "Input username for ${server}" ),
[string]$pass = $( Read-Host "Input password for ${server}" )
)
if ($server -NotLike "https://*") {
$server = "https://" + $server
}
$loginPath = "/v3-public/localProviders/local?action=login"
$loginParams = @{
"username" = $user
"password" = $pass
}
$login = ( `
Invoke-WebRequest -Header @{'User-Agent' = '([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)'; 'Accept' = 'application/json'; 'Content-Type' = 'application/json';} `
-Uri $server$loginPath `
-UseBasicParsing `
-SkipCertificateCheck `
-Method POST `
-Body ($loginParams | ConvertTo-Json) `
) | ConvertFrom-Json
Set-Content -Path ./rancher.auto.tfvars -Value @"
rancher_api_token = `"$($login.token)`"
rancher_api_endpoint = `"$server`"
"@