Public/cloud-datacenter.ps1
|
function Get-CloudDatacenter { <# .SYNOPSIS Gets datacenters from the Cloud Server. .DESCRIPTION Retrieves a list of datacenters. Automatically handles token refresh. .PARAMETER Name Optional. Filter by datacenter name .PARAMETER ID Optional. Filter by datacenter ID .EXAMPLE Get-CloudDatacenter .EXAMPLE Get-CloudDatacenter -ID 5 #> [CmdletBinding()] param( [Parameter(Mandatory = $false)] [string]$Name, [Parameter(Mandatory = $false)] [int]$ID ) $uri = "$($script:CloudConnection.BaseUri)/manifold-api/v2/cloud/datacenter" $response = Invoke-CloudApiRequest -Uri $uri -Method Get $datacenters = $response.datacenters if ($PSBoundParameters.ContainsKey('ID')) { $datacenters = $datacenters | Where-Object {($_.id -eq $ID) -and ($null -ne $_.id)} return $datacenters } if ($Name) { $datacenters = $datacenters | Where-Object {($_.name -match $Name)} return $datacenters } else { return $datacenters } } |