custom/Update-AzStackHCIVMStoragePath_ByResourceId.ps1
# ---------------------------------------------------------------------------------- # # Copyright Microsoft Corporation # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # http://www.apache.org/licenses/LICENSE-2.0 # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ---------------------------------------------------------------------------------- <# .Synopsis The operation to update a storage path. .Description The operation to update a storage path. .Outputs Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IVStorageContainer .Link https://learn.microsoft.com/powershell/module/az.stackhcivm/update-azstackhcivmstoragepath #> function Update-AzStackHCIVMStoragePath_ByResourceId { [OutputType([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainer])] [CmdletBinding(PositionalBinding=$false)] param( [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Path')] [System.String] # The ARM Resource ID of the storage path. ${ResourceId}, [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Body')] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.Info(PossibleTypes=([Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Models.IStorageContainersUpdateRequestTags]))] [System.Collections.Hashtable] # Resource tags ${Tag}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Wait for .NET debugger to attach ${Break}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be appended to the front of the pipeline ${HttpPipelineAppend}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be prepended to the front of the pipeline ${HttpPipelinePrepend}, [Parameter()] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Run the command asynchronously ${NoWait}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [System.Uri] # The URI for the proxy server to use ${Proxy}, [Parameter(DontShow)] [ValidateNotNull()] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [System.Management.Automation.PSCredential] # Credentials for a proxy server to use for the remote call ${ProxyCredential}, [Parameter(DontShow)] [Microsoft.Azure.PowerShell.Cmdlets.StackHCIVM.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) process { if ($ResourceId -match $storagePathRegex){ $subscriptionId = $($Matches['subscriptionId']) $resourceGroupName = $($Matches['resourceGroupName']) $resourceName = $($Matches['storagePathName']) $null = $PSBoundParameters.Remove("ResourceId") $PSBoundParameters.Add("Name", $resourceName) $PSBoundParameters.Add("ResourceGroupName", $resourceGroupName) $null = $PSBoundParameters.Remove("SubscriptionId") $PSBoundParameters.Add("SubscriptionId", $subscriptionId) try{ Az.StackHCIVM\Update-AzStackHCIVMStoragePath -ErrorAction Stop @PSBoundParameters } catch { $e = $_ if ($e.FullyQualifiedErrorId -match "MissingAzureKubernetesMapping" ){ Write-Error "An older version of the Arc VM cluster extension is installed on your cluster. Please downgrade the Az.StackHCIVm version to 1.0.1 to proceed." -ErrorAction Stop } else { Write-Error $e.Exception.Message -ErrorAction Stop } } } else { Write-Error "Resource ID is invalid: $ResourceId" } } } |