Skip to content

Commit d4b3994

Browse files
committed
cherry pick Azure#7
1 parent 9d96648 commit d4b3994

File tree

3 files changed

+59
-39
lines changed

3 files changed

+59
-39
lines changed

src/Network/Network.Test/ScenarioTests/CustomIpPrefixTests.ps1

Lines changed: 55 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -15,38 +15,57 @@
1515
<#
1616
.SYNOPSIS
1717
Tests CRUD operations on a simple customIpPrefix.
18+
19+
NOTE: This feature is currently in private preview, so updated binaries are on test slice in canary only and is currently un-reacheable via the production manifest.
20+
Testing has been done locally using the brazilus ARM endpoint and a specific subscription that has the necessary flags to run these cmdlets.
1821
#>
1922
function Test-CustomIpPrefixCRUD
2023
{
2124
# Setup
2225
$rgname = "powershell-test-rg"
23-
$rname = "testCip"
24-
25-
# currently in private preview, updated binaries are on test slice in canary only
26+
$rname = "testCustomIpPrefix"
2627
$location = "eastus2euap"
28+
$cidr = "40.40.40.0/24"
2729

2830
try
2931
{
3032
# Create the resource group
31-
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $rglocation -Tags @{ testtag = "testval" }
32-
33-
# Create the masterCustomIpPrefix
34-
$job = New-AzMasterCustomIpPrefix -Name $rname -ResourceGroupName $rgname -Cidr "40.40.40.0/22" -ValidationMessage "123" -SignedValidationMessage "456" -Location $location -AsJob
35-
$job | Wait-Job
36-
$mcip = $job | Receive-Job
33+
$resourceGroup = New-AzResourceGroup -Name $rgname -Location $rglocation
3734

3835
# Create customIpPrefix
39-
$job = New-AzCustomIpPrefix -Name $rname -ResourceGroupName $rgname -location $location -Cidr "40.40.40.0/24" -MasterCustomIpPrefix $mcip -AsJob
36+
$job = New-AzCustomIpPrefix -Name $rname -ResourceGroupName $rgname -location $location -Cidr $cidr -AsJob
4037
$job | Wait-Job
41-
$actual = $job | Receive-Job
42-
$expected = Get-AzCustomIpPrefix -ResourceGroupName $rgname -name $rname
43-
Assert-AreEqual $expected.ResourceGroupName $actual.ResourceGroupName
44-
Assert-AreEqual $expected.Name $actual.Name
45-
Assert-AreEqual $expected.Location $actual.Location
46-
Assert-AreEqual $expected.Cidr $actual.Cidr
47-
Assert-AreEqual 0 $expected.PublicIpPrefixes.Count
48-
Assert-NotNull $expected.ResourceGuid
49-
Assert-AreEqual "Succeeded" $expected.ProvisioningState
38+
$job | Receive-Job
39+
40+
# get by name and resource group
41+
$actual = Get-AzCustomIpPrefix -ResourceGroupName $rgname -name $rname
42+
Assert-AreEqual $actual.ResourceGroupName $rgname
43+
Assert-AreEqual $actual.Name $rname
44+
Assert-AreEqual $actual.Location $location
45+
Assert-AreEqual $actual.Cidr $cidr
46+
Assert-AreEqual $actual.PublicIpPrefixes.Count 0
47+
Assert-NotNull $actual.ResourceGuid
48+
Assert-AreEqual $actual.ProvisioningState "Succeeded"
49+
50+
# get by resource id
51+
$actual = Get-AzCustomIpPrefix -ResourceId $actual.Id
52+
Assert-AreEqual $actual.ResourceGroupName $rgname
53+
Assert-AreEqual $actual.Name $rname
54+
Assert-AreEqual $actual.Location $location
55+
Assert-AreEqual $actual.Cidr $cidr
56+
Assert-AreEqual $actual.PublicIpPrefixes.Count 0
57+
Assert-NotNull $actual.ResourceGuid
58+
Assert-AreEqual $actual.ProvisioningState "Succeeded"
59+
60+
# get by input object
61+
$actual = Get-AzCustomIpPrefix -InputObject $actual
62+
Assert-AreEqual $actual.ResourceGroupName $rgname
63+
Assert-AreEqual $actual.Name $rname
64+
Assert-AreEqual $actual.Location $location
65+
Assert-AreEqual $actual.Cidr $cidr
66+
Assert-AreEqual $actual.PublicIpPrefixes.Count 0
67+
Assert-NotNull $actual.ResourceGuid
68+
Assert-AreEqual $actual.ProvisioningState "Succeeded"
5069

5170
# list
5271
$list = Get-AzCustomIpPrefix -ResourceGroupName $rgname
@@ -56,35 +75,36 @@ function Test-CustomIpPrefixCRUD
5675
Assert-AreEqual $list[0].Location $actual.Location
5776
Assert-AreEqual $list[0].Cidr $actual.Cidr
5877
Assert-AreEqual $list[0].PublicIpPrefixes.Count 0
59-
Assert-AreEqual "Succeeded" $list[0].ProvisioningState
60-
61-
$list = Get-AzCustomIpPrefix -ResourceId $actual.Id
62-
Assert-AreEqual 1 @($list).Count
63-
Assert-AreEqual $list[0].ResourceGroupName $actual.ResourceGroupName
64-
Assert-AreEqual $list[0].Name $actual.Name
65-
Assert-AreEqual $list[0].Location $actual.Location
66-
Assert-AreEqual $list[0].Cidr $actual.Cidr
67-
Assert-AreEqual $list[0].PublicIpPrefixes.Count 0
68-
Assert-AreEqual "Succeeded" $list[0].ProvisioningState
78+
Assert-AreEqual $list[0].ProvisioningState "Succeeded"
6979

7080
# delete
7181
$job = Remove-AzCustomIpPrefix -InputObject $actual -PassThru -Force -AsJob
7282
$job | Wait-Job
7383
$delete = $job | Receive-Job
7484
Assert-AreEqual true $delete
7585

76-
$list = Get-AzPublicIpPrefix -ResourceGroupName $actual.ResourceGroupName
86+
$list = Get-AzPublicIpPrefix -ResourceGroupName $rgname
7787
Assert-AreEqual 0 @($list).Count
7888

7989
# Try setting unexisting
80-
Assert-ThrowsLike { Set-AzPublicIpPrefix -PublicIpPrefix $expected } "*not found*"
90+
Assert-ThrowsLike { Update-AzPublicIpPrefix -PublicIpPrefix $expected } "*not found*"
91+
92+
# Create one more time to test deletion with resource id parameter set
93+
$job = New-AzCustomIpPrefix -Name $rname -ResourceGroupName $rgname -location $location -Cidr $cidr -AsJob
94+
$job | Wait-Job
95+
$expected = $job | Receive-Job
96+
97+
$job = Remove-AzPublicIpPrefix -ResourceId $expected.Id -PassThru -Force -AsJob
98+
$job | Wait-Job
99+
$delete = $job | Receive-Job
100+
Assert-AreEqual true $delete
81101

82-
# Create one more time to test deletion with another parameter set
83-
$job = New-AzPublicIpPrefix -ResourceGroupName $rgname -name $rname -location $location -Sku Standard -PrefixLength 30 -AsJob
102+
# Create one more time to test deletion with resource group and name
103+
$job = New-AzCustomIpPrefix -Name $rname -ResourceGroupName $rgname -location $location -Cidr $cidr -AsJob
84104
$job | Wait-Job
85-
$actual = $job | Receive-Job
105+
$expected = $job | Receive-Job
86106

87-
$job = Remove-AzPublicIpPrefix -ResourceId $actual.Id -PassThru -Force -AsJob
107+
$job = Remove-AzPublicIpPrefix -Name $rname -ResourceGroupName $rgname
88108
$job | Wait-Job
89109
$delete = $job | Receive-Job
90110
Assert-AreEqual true $delete

src/Network/Network/Az.Network.psd1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ CmdletsToExport = 'Add-AzApplicationGatewayAuthenticationCertificate',
501501
'New-AzOffice365PolicyProperty',
502502
'Get-AzNetworkVirtualApplianceSku',
503503
'New-AzVirtualApplianceSkuProperty'
504-
'New-AzCustomIpPrefix','Set-AzCustomIpPrefix',
504+
'New-AzCustomIpPrefix','Update-AzCustomIpPrefix',
505505
'Get-AzCustomIpPrefix','Remove-AzCustomIpPrefix'
506506

507507
# Variables to export from this module

src/Network/Network/BYOIP/CustomIpPrefix/SetAzureCustomIpPrefixCommand.cs renamed to src/Network/Network/BYOIP/CustomIpPrefix/UpdateAzureCustomIpPrefixCommand.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ namespace Microsoft.Azure.Commands.Network
2525
using System.Management.Automation;
2626
using MNM = Microsoft.Azure.Management.Network.Models;
2727

28-
[Cmdlet(VerbsCommon.Set, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "CustomIpPrefix", SupportsShouldProcess = true), OutputType(typeof(PSCustomIpPrefix))]
29-
public class SetAzureCustomIpPrefixCommand : CustomIpPrefixBaseCmdlet
28+
[Cmdlet(VerbsData.Update, ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "CustomIpPrefix", SupportsShouldProcess = true), OutputType(typeof(PSCustomIpPrefix))]
29+
public class UpdateAzureCustomIpPrefixCommand : CustomIpPrefixBaseCmdlet
3030
{
3131
private const string SetByNameParameterSet = "SetByNameParameterSet";
3232
private const string SetByInputObjectParameterSet = "SetByInputObjectParameterSet";
@@ -131,7 +131,7 @@ public override void Execute()
131131
sdkModel.Tags = TagsConversionHelper.CreateTagDictionary(this.Tag, validate: true);
132132
}
133133

134-
if (this.ShouldProcess($"Name: {this.Name} ResourceGroup: {this.ResourceGroupName}", "Set existing MasterCustomIpPrefix"))
134+
if (this.ShouldProcess($"Name: {this.Name} ResourceGroup: {this.ResourceGroupName}", "Update existing MasterCustomIpPrefix"))
135135
{
136136
// Execute the PUT MasterCustomIpPrefix Policy call
137137
this.CustomIpPrefixClient.CreateOrUpdate(this.ResourceGroupName, this.Name, sdkModel);

0 commit comments

Comments
 (0)