@@ -19,18 +19,14 @@ Gets the sku details for the given resource type and sku name.
1919. Description
2020Gets the sku details for the given resource type and sku name.
2121. Example
22- PS C:\> {{ Add code here }}
23-
24- {{ Add output here }}
22+ Get-AzProviderHubSku -ProviderNamespace "Microsoft.Contoso" -ResourceType "testResourceType" -Sku "default"
2523. Example
26- PS C:\> {{ Add code here }}
27-
28- {{ Add output here }}
24+ Get-AzProviderHubSku -ProviderNamespace "Microsoft.Contoso" -ResourceType "testResourceType/nestedResourceType" -Sku "default"
2925
3026. Inputs
3127Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.IProviderHubIdentity
3228. Outputs
33- Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.Api20201120. ISkuResource
29+ Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.ISkuResource
3430. Notes
3531COMPLEX PARAMETER PROPERTIES
3632
@@ -51,7 +47,7 @@ INPUTOBJECT <IProviderHubIdentity>: Identity Parameter
5147https://learn.microsoft.com/powershell/module/az.providerhub/get-azproviderhubsku
5248#>
5349function Get-AzProviderHubSku {
54- [OutputType ([Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.Api20201120. ISkuResource ])]
50+ [OutputType ([Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.ISkuResource ])]
5551[CmdletBinding (DefaultParameterSetName = ' List' , PositionalBinding = $false )]
5652param (
5753 [Parameter (ParameterSetName = ' Get' , Mandatory )]
6561 ${ProviderNamespace} ,
6662
6763 [Parameter (ParameterSetName = ' Get' , Mandatory )]
64+ [Parameter (ParameterSetName = ' GetViaIdentityProviderRegistration' , Mandatory )]
6865 [Parameter (ParameterSetName = ' List' , Mandatory )]
6966 [Parameter (ParameterSetName = ' List1' , Mandatory )]
7067 [Parameter (ParameterSetName = ' List2' , Mandatory )]
7572 ${ResourceType} ,
7673
7774 [Parameter (ParameterSetName = ' Get' , Mandatory )]
75+ [Parameter (ParameterSetName = ' GetViaIdentityProviderRegistration' , Mandatory )]
76+ [Parameter (ParameterSetName = ' GetViaIdentityResourcetypeRegistration' , Mandatory )]
7877 [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Category (' Path' )]
7978 [System.String ]
8079 # The SKU.
@@ -95,9 +94,20 @@ param(
9594 [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Category (' Path' )]
9695 [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.IProviderHubIdentity ]
9796 # Identity Parameter
98- # To construct, see NOTES section for INPUTOBJECT properties and create a hash table.
9997 ${InputObject} ,
10098
99+ [Parameter (ParameterSetName = ' GetViaIdentityProviderRegistration' , Mandatory , ValueFromPipeline )]
100+ [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Category (' Path' )]
101+ [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.IProviderHubIdentity ]
102+ # Identity Parameter
103+ ${ProviderRegistrationInputObject} ,
104+
105+ [Parameter (ParameterSetName = ' GetViaIdentityResourcetypeRegistration' , Mandatory , ValueFromPipeline )]
106+ [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Category (' Path' )]
107+ [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Models.IProviderHubIdentity ]
108+ # Identity Parameter
109+ ${ResourcetypeRegistrationInputObject} ,
110+
101111 [Parameter (ParameterSetName = ' List1' , Mandatory )]
102112 [Parameter (ParameterSetName = ' List2' , Mandatory )]
103113 [Parameter (ParameterSetName = ' List3' , Mandatory )]
@@ -124,7 +134,8 @@ param(
124134 [ValidateNotNull ()]
125135 [Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Category (' Azure' )]
126136 [System.Management.Automation.PSObject ]
127- # The credentials, account, tenant, and subscription used for communication with Azure.
137+ # The DefaultProfile parameter is not functional.
138+ # Use the SubscriptionId parameter when available if executing the cmdlet against a different subscription.
128139 ${DefaultProfile} ,
129140
130141 [Parameter (DontShow)]
@@ -174,22 +185,35 @@ begin {
174185 $PSBoundParameters [' OutBuffer' ] = 1
175186 }
176187 $parameterSet = $PSCmdlet.ParameterSetName
188+
189+ $testPlayback = $false
190+ $PSBoundParameters [' HttpPipelinePrepend' ] | Foreach-Object { if ($_ ) { $testPlayback = $testPlayback -or (' Microsoft.Azure.PowerShell.Cmdlets.ProviderHub.Runtime.PipelineMock' -eq $_.Target.GetType ().FullName -and ' Playback' -eq $_.Target.Mode ) } }
191+
177192 $mapping = @ {
178193 Get = ' Az.ProviderHub.private\Get-AzProviderHubSku_Get' ;
179194 GetViaIdentity = ' Az.ProviderHub.private\Get-AzProviderHubSku_GetViaIdentity' ;
195+ GetViaIdentityProviderRegistration = ' Az.ProviderHub.private\Get-AzProviderHubSku_GetViaIdentityProviderRegistration' ;
196+ GetViaIdentityResourcetypeRegistration = ' Az.ProviderHub.private\Get-AzProviderHubSku_GetViaIdentityResourcetypeRegistration' ;
180197 List = ' Az.ProviderHub.private\Get-AzProviderHubSku_List' ;
181198 List1 = ' Az.ProviderHub.private\Get-AzProviderHubSku_List1' ;
182199 List2 = ' Az.ProviderHub.private\Get-AzProviderHubSku_List2' ;
183200 List3 = ' Az.ProviderHub.private\Get-AzProviderHubSku_List3' ;
184201 }
185- if ((' Get' , ' List' , ' List1' , ' List2' , ' List3' ) -contains $parameterSet -and -not $PSBoundParameters.ContainsKey (' SubscriptionId' )) {
186- $PSBoundParameters [' SubscriptionId' ] = (Get-AzContext ).Subscription.Id
202+ if ((' Get' , ' List' , ' List1' , ' List2' , ' List3' ) -contains $parameterSet -and -not $PSBoundParameters.ContainsKey (' SubscriptionId' ) ) {
203+ if ($testPlayback ) {
204+ $PSBoundParameters [' SubscriptionId' ] = . (Join-Path $PSScriptRoot ' ..' ' utils' ' Get-SubscriptionIdTestSafe.ps1' )
205+ } else {
206+ $PSBoundParameters [' SubscriptionId' ] = (Get-AzContext ).Subscription.Id
207+ }
187208 }
188209 if ($PSBoundParameters.ContainsKey (' ResourceType' )) {
189210 $resourceTypePath = $PSBoundParameters [' ResourceType' ] -Split " /" -Join " /resourcetyperegistrations/"
190211 $PSBoundParameters [' ResourceType' ] = $resourceTypePath
191212 }
192213 $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand (($mapping [$parameterSet ]), [System.Management.Automation.CommandTypes ]::Cmdlet)
214+ if ($null -eq $wrappedCmd ) {
215+ $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand (($mapping [$parameterSet ]), [System.Management.Automation.CommandTypes ]::Function)
216+ }
193217 $scriptCmd = {& $wrappedCmd @PSBoundParameters }
194218 $steppablePipeline = $scriptCmd.GetSteppablePipeline ($MyInvocation.CommandOrigin )
195219 $steppablePipeline.Begin ($PSCmdlet )
0 commit comments