@@ -21,7 +21,10 @@ function Get-AzureRMCloudCapabilities()
2121 [String ] $Location ,
2222
2323 [Parameter (HelpMessage = ' Set this to get compute resource provider Capabilities like Extensions, Images, Sizes' )]
24- [Switch ] $IncludeComputeCapabilities
24+ [Switch ] $IncludeComputeCapabilities ,
25+
26+ [Parameter (HelpMessage = ' Set this to get storage resource provider Capabilities like Sku' )]
27+ [Switch ] $IncludeStorageCapabilities
2528 )
2629 $sw = [Diagnostics.Stopwatch ]::StartNew()
2730 Write-Verbose " Getting CloudCapabilities for location: '$location '"
@@ -149,6 +152,34 @@ function Get-AzureRMCloudCapabilities()
149152 $capabilities.Add (" VMImages" , $imageList )
150153 }
151154 }
155+ if ($IncludeStorageCapabilities )
156+ {
157+ Write-Verbose " Getting Storage Sku supported for $location "
158+ try
159+ {
160+ $storageSkus = Get-AzureRmResource - ResourceType " Microsoft.Storage/Skus" - ResourceName " /"
161+ if ($storageSkus )
162+ {
163+ $skuList = New-Object System.Collections.ArrayList
164+ $storageKind = $storageSkus | Select-Object Kind | Get-Unique - AsString
165+ foreach ($kind in $storageKind.Kind )
166+ {
167+ $skus = ($storageSkus | Where-Object { $_.Kind -eq $kind }).Name
168+ $kindDict = @ { " kind" = $kind ; " skus" = $skus }
169+ $skuList.Add ($kindDict ) | Out-Null
170+ }
171+ $capabilities.Add (" StorageSkus" , $skuList )
172+ }
173+ else
174+ {
175+ Write-Verbose " No StorageSkus found for $location "
176+ }
177+ }
178+ catch
179+ {
180+ Write-Error " Error occurred processing StorageSkus for $location . Exception: " $_.Exception.Message
181+ }
182+ }
152183 $capabilitiesJson = ConvertTo-Json $capabilities - Depth 10
153184 $capabilitiesJson | Out-File $OutputPath
154185
0 commit comments