diff --git a/src/Resources/ResourceManager/Implementation/Providers/GetAzureProviderCmdlet.cs b/src/Resources/ResourceManager/Implementation/Providers/GetAzureProviderCmdlet.cs
index 62104f7f48bb..5a7a5e016351 100644
--- a/src/Resources/ResourceManager/Implementation/Providers/GetAzureProviderCmdlet.cs
+++ b/src/Resources/ResourceManager/Implementation/Providers/GetAzureProviderCmdlet.cs
@@ -86,7 +86,8 @@ protected override void OnProcessRecord()
ResourceTypeName = type.ResourceTypeName,
Locations = type.Locations,
ApiVersions = type.ApiVersions,
- ZoneMappings = type.ZoneMappings
+ ZoneMappings = type.ZoneMappings,
+ DefaultApiVersion = type.DefaultApiVersion
}
},
ZoneMappings = type.ZoneMappings
diff --git a/src/Resources/ResourceManager/ResourceManager.format.ps1xml b/src/Resources/ResourceManager/ResourceManager.format.ps1xml
index 279dfc008c74..99fe6e86dc87 100644
--- a/src/Resources/ResourceManager/ResourceManager.format.ps1xml
+++ b/src/Resources/ResourceManager/ResourceManager.format.ps1xml
@@ -586,6 +586,10 @@
ApiVersions
+
+
+ DefaultApiVersion
+
diff --git a/src/Resources/ResourceManager/SdkExtensions/ResourcesExtensions.cs b/src/Resources/ResourceManager/SdkExtensions/ResourcesExtensions.cs
index 685af44cffe8..4707146f84f2 100644
--- a/src/Resources/ResourceManager/SdkExtensions/ResourcesExtensions.cs
+++ b/src/Resources/ResourceManager/SdkExtensions/ResourcesExtensions.cs
@@ -115,6 +115,7 @@ public static PSResourceProvider ToPSResourceProvider(this Provider provider)
ResourceTypeName = resourceType.ResourceType,
Locations = resourceType.Locations != null ? resourceType.Locations.ToArray() : null,
ApiVersions = resourceType.ApiVersions != null ? resourceType.ApiVersions.ToArray() : null,
+ DefaultApiVersion = resourceType.DefaultApiVersion
}).ToArray(),
};
}
@@ -214,7 +215,7 @@ public static string ConstructOutputTable(IDictionary dictionary
dictionary.Keys.ForEach(k => maxNameLength = Math.Max(maxNameLength, k.Length + 2));
StringBuilder output = new StringBuilder();
-
+
if (dictionary.Count > 0)
{
string rowFormat = "{0, -" + maxNameLength + "} {1}\r\n";
@@ -266,7 +267,7 @@ public static string ConstructDeploymentVariableTable(Dictionary pair in dictionary)
{
- result.AppendFormat(rowFormat, pair.Key, pair.Value.Type,
+ result.AppendFormat(rowFormat, pair.Key, pair.Value.Type,
JsonConvert.SerializeObject(pair.Value.Value).Indent(maxNameLength + maxTypeLength + 4).Trim());
}
}
diff --git a/src/Resources/ResourceManager/SdkModels/ResourceProvider/PSResourceProviderResourceType.cs b/src/Resources/ResourceManager/SdkModels/ResourceProvider/PSResourceProviderResourceType.cs
index b71657187462..0bde47c22db0 100644
--- a/src/Resources/ResourceManager/SdkModels/ResourceProvider/PSResourceProviderResourceType.cs
+++ b/src/Resources/ResourceManager/SdkModels/ResourceProvider/PSResourceProviderResourceType.cs
@@ -39,5 +39,10 @@ public class PSResourceProviderResourceType
/// Gets or sets the zone mappings that this resource supports.
///
public Hashtable ZoneMappings { get; set; }
+
+ ///
+ /// Gets or sets the default api version for this resource.
+ ///
+ public string DefaultApiVersion { get; set; }
}
}
diff --git a/src/Resources/Resources/ChangeLog.md b/src/Resources/Resources/ChangeLog.md
index 2e38f3d2f1bf..75c928ee51fb 100644
--- a/src/Resources/Resources/ChangeLog.md
+++ b/src/Resources/Resources/ChangeLog.md
@@ -19,6 +19,7 @@
-->
## Upcoming Release
+* Added DefaultApiVersion to the returned properties of the `Get-AzResourceProvider` cmdlet's Resource Type array
* Added Diagnostics/Warnings to WhatIf/Validate results for deployments.
* Fixed bug unexpected type issue: [#26752]
* Added parameter `RequestedAccessTokenVersion` for `New-AzADApplication` and `Update-AzADApplication`
@@ -49,7 +50,7 @@
* `New-AzPolicyExemption`
* `Update-AzPolicyAssignment`
* `Update-AzPolicyExemption`
-* Fixed bug deserializing property: `policyDefinitionReferenceId` [#25112]
+* Fixed bug deserializing property: `policyDefinitionReferenceId` [#25112]
* Fixed overriding of Bicep parameters in Deployment cmdlets to support `SecureString` parameters.
* Added Test cmdlets for Deployment Stacks.
diff --git a/src/Resources/Resources/help/Get-AzResourceProvider.md b/src/Resources/Resources/help/Get-AzResourceProvider.md
index 196064236da4..26937857b688 100644
--- a/src/Resources/Resources/help/Get-AzResourceProvider.md
+++ b/src/Resources/Resources/help/Get-AzResourceProvider.md
@@ -214,6 +214,22 @@ Locations : {West US, East US, North Europe, West Europe…}
This command Gets all the resource providers under "Microsoft.Compute" and "Microsoft.Network".
+### Example 4: Get the default API version for a specific resource type
+
+```powershell
+$crp = Get-AzResourceProvider -ProviderNamespace "Microsoft.Compute"
+$crp.ResourceTypes | Where-Object { $_.ResourceTypeName -eq "disks" }
+```
+
+```output
+ResourceTypeName : disks
+Locations : {Southeast Asia, East US 2, Central US, West Europe…}
+ApiVersions : {2024-03-02, 2023-10-02, 2023-04-02, 2023-01-02…}
+DefaultApiVersion : 2022-03-02
+```
+
+To get the default API version for a specific resource type, get the resource provider first then filter the resource type by name.
+
## PARAMETERS
### -ApiVersion