Skip to content

Commit d5e95bf

Browse files
author
srimathiS
committed
Storage Capabilities and validation reporting fixes
1 parent 021e938 commit d5e95bf

5 files changed

Lines changed: 247 additions & 104 deletions

File tree

CloudCapabilities/AzureRM.CloudCapabilities.psm1

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

CloudCapabilities/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
# Get Cloud Capabilities
22
Instructions below are relative to the .\CloudCapabilities folder of the [AzureStack-Tools repo](..).
33
To get VMImages, Extensions & Sizes available in the cloud, add -IncludeComputeCapabilities
4+
To get StorageSkus available in the cloud, add -IncludeStorageCapabilities
45
```powershell
56
Import-Module ".\AzureRM.CloudCapabilities.psm1"
67
```
78
# Prerequisites
89
Connected Azure or AzureStack powershell environment (Refer [AzureStack-Tools repo/Connect](../Connect) for connecting to an Azure Stack instance. )
910

1011
```powershell
11-
Get-AzureRMCloudCapabilities -Location '<provide location>' -Verbose #-IncludeComputeCapabilities
12+
Get-AzureRMCloudCapabilities -Location '<provide location>' -Verbose #-IncludeComputeCapabilities -IncludeStorageCapabilities
1213
```

0 commit comments

Comments
 (0)