Public/Get-CloudRegion.ps1
|
function Get-CloudRegion { <# .SYNOPSIS Lists supported regions for each cloud provider. .DESCRIPTION Returns all supported regions for Azure, AWS, or GCP. Use this to discover valid region values for Connect-Cloud and other provider-specific commands. .EXAMPLE Get-CloudRegion Returns all regions for all providers. .EXAMPLE Get-CloudRegion -Provider Azure Returns only Azure regions. .EXAMPLE Get-CloudRegion -Provider AWS | Where-Object { $_.Name -like 'us-*' } Returns AWS regions in the US. #> [CmdletBinding()] [OutputType([pscustomobject])] param( # The cloud provider to list regions for. [Parameter()] [ValidateSet('Azure', 'AWS', 'GCP')] [string]$Provider ) process { $providers = if ($Provider) { @($Provider) } else { @('Azure', 'AWS', 'GCP') } foreach ($p in $providers) { $regions = Get-CloudRegionData -Provider $p foreach ($region in $regions) { [PSCustomObject]@{ PSTypeName = 'PSCumulus.CloudRegion' Provider = $p Name = $region } } } } } |