Public/Get-MoveApplianceHostname.ps1
|
Function Get-MoveApplianceHostname { <# .SYNOPSIS List details of all migration plans .DESCRIPTION Gets the Move appliance Hostnames .NOTES Implements details in https://www.nutanix.dev/api_reference/apis/move.html#tag/Application/operation/getApplianceHostnames .LINK Specify a URI to a help page, this will show when Get-Help -Online is used. .EXAMPLE Get-MoveApplianceHostname #> [CmdletBinding()] param( [Parameter(Mandatory = $false, HelpMessage = 'Move Session Name')][String]$MoveSession = 'Default' ) ## Get Session Configuration $MoveSessionConfig = $global:MoveSessions[$MoveSession] if (-not $MoveSessionConfig) { Write-Host 'MoveSession: [' -NoNewline Write-Host $MoveSession -ForegroundColor Cyan Write-Host '] was not Found. Please use the New-MoveSession command.' Throw 'Move Session Not Found. Use New-MoveSession command before using features.' } #Honor SSL Settings if ($MoveSessionConfig.AllowInsecureSSL) { $MoveCertSettings = @{SkipCertificateCheck = $true } } else { $MoveCertSettings = @{SkipCertificateCheck = $false } } $uri = "https://$($MoveSessionConfig.MoveServer):$($MoveSessionConfig.MovePort)/move/v2/configurations/appliance/hostname" try { $RestMethodSplat = @{ Uri = $uri TimeoutSec = 100 Method = 'GET' WebSession = $MoveSessionConfig.MoveWebSession ProgressAction = 'SilentlyContinue' } $Result = Invoke-RestMethod @RestMethodSplat @MoveCertSettings } catch { throw $_.Exception.Message } return $Result } |