Wednesday, February 15, 2017

Get List of Latest API version for ARM resources

# Resource API version play an important role in ARM template. Below script help to get list of available API versions for various providers. if you remove if statement, script will list the API versions for all the provider.

$listProviderNameSpace=Get-AzureRmResourceProvider -ListAvailable
foreach($provideNameSpace in $listProviderNameSpace.ProviderNamespace)
{
   
    if(($provideNameSpace -eq "microsoft.compute") -or($provideNameSpace -eq "microsoft.storage") -or ($provideNameSpace -eq "microsoft.network"))
    {
       Write-Host $provideNameSpace
       $providerList = (Get-AzureRmResourceProvider -ProviderNamespace $provideNameSpace).ResourceTypes
       foreach($providerType in $providerList.ResourceTypeName)
       {     
            Write-Host $providerType
         ((Get-AzureRmResourceProvider -ProviderNamespace $provideNameSpace).ResourceTypes | Where-Object ResourceTypeName -eq $providerType).ApiVersions

         }
   }
}