|
| 1 | +# Breaking changes for Microsoft Azure PowerShell 3.0.0. |
| 2 | + |
| 3 | +This document serves as both a breaking change notification and migration guide for consumers of the Microsoft Azure PowerShell cmdlets. Each section describes both the impetus for the breaking change and the migration path of least resistance. For in-depth context, please refer to the pull request associated with each change. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | +1. [Breaking changes to Data Lake Store cmdlets](#breaking-changes-to-data-lake-store-cmdlets) |
| 7 | +2. [Breaking changes to ApiManagement cmdlets](#breaking-changes-to-apimanagement-cmdlets) |
| 8 | +3. [Breaking changes to Network cmdlets](#breaking-changes-to-network-cmdlets) |
| 9 | + |
| 10 | +## Breaking changes to Data Lake Store cmdlets |
| 11 | + |
| 12 | +The following cmdlets were affected this release ([PR 2965](https://github.com/Azure/azure-powershell/pull/2965)): |
| 13 | + |
| 14 | +**Get-AzureRmDataLakeStoreItemAcl (Get-AdlStoreItemAcl)** |
| 15 | +- This cmdlet was removed and replaced with ``Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)``. |
| 16 | +- The old cmdlet returned a complex object representing the access control list (ACL). The new cmdlet returns a simple list of entries in the chosen path's ACL. |
| 17 | + |
| 18 | +```powershell |
| 19 | +# Old |
| 20 | +Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo |
| 21 | +
|
| 22 | +# New |
| 23 | +Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo |
| 24 | +``` |
| 25 | + |
| 26 | +**Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)** |
| 27 | +- This cmdlet replaces the old cmdlet ``Get-AzureRmDataLakeStoreItemAcl (Get-AdlStoreItemAcl)``. |
| 28 | +- This new cmdlet returns a simple list of entries in the chosen path's ACL, with type ``DataLakeStoreItemAce[]``. |
| 29 | +- The output of this cmdlet can be passed in to the ``-Acl`` parameter of the following cmdlets: |
| 30 | + - ``Remove-AzureRmDataLakeStoreItemAcl`` |
| 31 | + - ``Set-AzureRmDataLakeStoreItemAcl`` |
| 32 | + - ``Set-AzureRmDataLakeStoreItemAclEntry`` |
| 33 | + |
| 34 | +```powershell |
| 35 | +# Old |
| 36 | +Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo |
| 37 | +
|
| 38 | +# New |
| 39 | +Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo |
| 40 | +``` |
| 41 | + |
| 42 | +**Remove-AzureRmDataLakeStoreItemAcl (Remove-AdlStoreItemAcl)**, **Set-AzureRmDataLakeStoreItemAcl (Set-AdlStoreItemAcl)**, **Set-AzureRmDataLakeStoreItemAclEntry (Set-AdlStoreItemAclEntry)** |
| 43 | +- These cmdlets now accept ``DataLakeStoreItemAce[]`` for the ``-Acl`` parameter. |
| 44 | +- ``DataLakeStoreItemAce[]`` is returned by ``Get-AzureRmDataLakeStoreItemAclEntry (Get-AdlStoreItemAclEntry)``. |
| 45 | + |
| 46 | +```powershell |
| 47 | +# Old |
| 48 | +$acl = Get-AdlStoreItemAcl -Account myadlsaccount -Path /foo |
| 49 | +Set-AdlStoreItemAcl -Account myadlsaccount -Path /foo -Acl $acl |
| 50 | +
|
| 51 | +# New |
| 52 | +$aclEntries = Get-AdlStoreItemAclEntry -Account myadlsaccount -Path /foo |
| 53 | +Set-AdlStoreItemAcl -Account myadlsaccount -Path /foo -Acl $aclEntries |
| 54 | +``` |
| 55 | + |
| 56 | +## Breaking changes to ApiManagement cmdlets |
| 57 | + |
| 58 | +The following cmdlets were affected this release ([PR 2971](https://github.com/Azure/azure-powershell/pull/2971)): |
| 59 | + |
| 60 | +**New-AzureRmApiManagementVirtualNetwork** |
| 61 | +- The required parameters to reference a virtual network changed from requiring SubnetName and VnetId to SubnetResourceId in format |
| 62 | +``/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ClassicNetwork/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}`` |
| 63 | + |
| 64 | +```powershell |
| 65 | +# Old |
| 66 | +$virtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetName <String> -VnetId <Guid> |
| 67 | +
|
| 68 | +# New |
| 69 | +$virtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetResourceId <String> |
| 70 | +
|
| 71 | +``` |
| 72 | + |
| 73 | +**Deprecating Cmdlet Set-AzureRmApiManagementVirtualNetworks** |
| 74 | +- The Cmdlet is getting deprecated as there was more than one way to Set Virtual Network associated to ApiManagement deployment. |
| 75 | + |
| 76 | +```powershell |
| 77 | +# Old |
| 78 | +$networksList = @() |
| 79 | +$networksList += New-AzureRmApiManagementVirtualNetwork -Location $vnetLocation -VnetId $vnetId -SubnetName $subnetName |
| 80 | +Set-AzureRmApiManagementVirtualNetworks -ResourceGroupName "ContosoGroup" -Name "ContosoApi" -VirtualNetworks $networksList |
| 81 | +
|
| 82 | +# New |
| 83 | +$masterRegionVirtualNetwork = New-AzureRmApiManagementVirtualNetwork -Location <String> -SubnetResourceId <String> |
| 84 | +Update-AzureRmApiManagementDeployment -ResourceGroupName "ContosoGroup" -Name "ContosoApi" -VirtualNetwork $masterRegionVirtualNetwork |
| 85 | +``` |
| 86 | + |
| 87 | +## Breaking changes to Network cmdlets |
| 88 | + |
| 89 | +The following cmdlets were affected this release ([PR 2982](https://github.com/Azure/azure-powershell/pull/2982)): |
| 90 | + |
| 91 | +**New-AzureRmVirtualNetworkGateway** |
| 92 | +- Description of what has changed ``:- Bool parameter:-ActiveActive`` is removed and ``SwitchParameter:-EnableActiveActiveFeature`` is added for enabling Active-Active feature on newly creating virtual network gateway. |
| 93 | + |
| 94 | +```powershell |
| 95 | +# Old |
| 96 | +# Sample of how the cmdlet was previously called |
| 97 | +New-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -Location $location -IpConfigurations $vnetIpConfig1,$vnetIpConfig2 -GatewayType Vpn -VpnType RouteBased -EnableBgp $false -GatewaySku HighPerformance -ActiveActive $true |
| 98 | +
|
| 99 | +# New |
| 100 | +# Sample of how the cmdlet should now be called |
| 101 | +New-AzureRmVirtualNetworkGateway -ResourceGroupName $rgname -name $rname -Location $location -IpConfigurations $vnetIpConfig1,$vnetIpConfig2 -GatewayType Vpn -VpnType RouteBased -EnableBgp $false -GatewaySku HighPerformance -EnableActiveActiveFeature |
| 102 | +``` |
| 103 | + |
| 104 | +Set-AzureRmVirtualNetworkGateway |
| 105 | +- Description of what has changed ``:- Bool parameter:-ActiveActive`` is removed and 2 ``SwitchParameters:-EnableActiveActiveFeature`` / ``DisableActiveActiveFeature`` are added for enabling and disabling Active-Active feature on virtual network gateway. |
| 106 | + |
| 107 | +```powershell |
| 108 | +# Old |
| 109 | +# Sample of how the cmdlet was previously called |
| 110 | +Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -ActiveActive $true |
| 111 | +Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -ActiveActive $false |
| 112 | +
|
| 113 | +# New |
| 114 | +# Sample of how the cmdlet should now be called |
| 115 | +Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -EnableActiveActiveFeature |
| 116 | +Set-AzureRmVirtualNetworkGateway -VirtualNetworkGateway $gw -DisableActiveActiveFeature |
| 117 | +``` |
0 commit comments