@@ -2759,6 +2759,101 @@ function Test-LoadBalancerCRUD-PublicStandardSku
2759
2759
}
2760
2760
}
2761
2761
2762
+ <#
2763
+ . SYNOPSIS
2764
+ Tests creating a public Load balancer with standard sku as default.
2765
+ #>
2766
+ function Test-LoadBalancerCRUD-PublicStandardSkuDefault
2767
+ {
2768
+ # Setup
2769
+ $rgname = Get-ResourceGroupName
2770
+ $vnetName = Get-ResourceName
2771
+ $subnetName = Get-ResourceName
2772
+ $publicIpName = Get-ResourceName
2773
+ $domainNameLabel = Get-ResourceName
2774
+ $lbName = Get-ResourceName
2775
+ $frontendName = Get-ResourceName
2776
+ $backendAddressPoolName = Get-ResourceName
2777
+ $probeName = Get-ResourceName
2778
+ $inboundNatRuleName = Get-ResourceName
2779
+ $lbruleName = Get-ResourceName
2780
+ $rglocation = Get-ProviderLocation ResourceManagement
2781
+ $resourceTypeParent = " Microsoft.Network/loadBalancers"
2782
+ $location = Get-ProviderLocation $resourceTypeParent
2783
+
2784
+ try
2785
+ {
2786
+ # Create the resource group
2787
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
2788
+
2789
+ # Create the Virtual Network
2790
+ $subnet = New-AzVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .1.0 / 24
2791
+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
2792
+
2793
+ # Create the publicip
2794
+ $publicip = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Static - DomainNameLabel $domainNameLabel - Sku Standard
2795
+
2796
+ # Create LoadBalancer
2797
+ $frontend = New-AzLoadBalancerFrontendIpConfig - Name $frontendName - PublicIpAddress $publicip
2798
+ $backendAddressPool = New-AzLoadBalancerBackendAddressPoolConfig - Name $backendAddressPoolName
2799
+ $probe = New-AzLoadBalancerProbeConfig - Name $probeName - RequestPath healthcheck.aspx - Protocol http - Port 80 - IntervalInSeconds 15 - ProbeCount 2 - ProbeThreshold 2
2800
+ $inboundNatRule = New-AzLoadBalancerInboundNatRuleConfig - Name $inboundNatRuleName - FrontendIPConfiguration $frontend - Protocol Tcp - FrontendPort 3389 - BackendPort 3389 - IdleTimeoutInMinutes 15 - EnableFloatingIP
2801
+ $lbrule = New-AzLoadBalancerRuleConfig - Name $lbruleName - FrontendIPConfiguration $frontend - BackendAddressPool $backendAddressPool - Probe $probe - Protocol Tcp - FrontendPort 80 - BackendPort 80 - IdleTimeoutInMinutes 15 - EnableFloatingIP - LoadDistribution SourceIP - DisableOutboundSNAT
2802
+ $actualLb = New-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname - Location $location - FrontendIpConfiguration $frontend - BackendAddressPool $backendAddressPool - Probe $probe - InboundNatRule $inboundNatRule - LoadBalancingRule $lbrule
2803
+
2804
+ $expectedLb = Get-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname
2805
+
2806
+ # Verification
2807
+ Assert-AreEqual $expectedLb.ResourceGroupName $actualLb.ResourceGroupName
2808
+ Assert-AreEqual $expectedLb.Name $actualLb.Name
2809
+ Assert-AreEqual $expectedLb.Location $actualLb.Location
2810
+ Assert-AreEqualObjectProperties $expectedLb.Sku $actualLb.Sku
2811
+ Assert-AreEqual " Succeeded" $expectedLb.ProvisioningState
2812
+ Assert-NotNull $expectedLb.ResourceGuid
2813
+ Assert-AreEqual 1 @ ($expectedLb.FrontendIPConfigurations ).Count
2814
+
2815
+ Assert-AreEqual $frontendName $expectedLb.FrontendIPConfigurations [0 ].Name
2816
+ Assert-AreEqual $publicip.Id $expectedLb.FrontendIPConfigurations [0 ].PublicIpAddress.Id
2817
+ Assert-Null $expectedLb.FrontendIPConfigurations [0 ].PrivateIpAddress
2818
+
2819
+ Assert-AreEqual $backendAddressPoolName $expectedLb.BackendAddressPools [0 ].Name
2820
+
2821
+ Assert-AreEqual $probeName $expectedLb.Probes [0 ].Name
2822
+ Assert-AreEqual $probe.RequestPath $expectedLb.Probes [0 ].RequestPath
2823
+ Assert-AreEqual $probe.ProbeThreshold $expectedLb.Probes [0 ].ProbeThreshold
2824
+
2825
+ Assert-AreEqual $inboundNatRuleName $expectedLb.InboundNatRules [0 ].Name
2826
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Id $expectedLb.InboundNatRules [0 ].FrontendIPConfiguration.Id
2827
+
2828
+ Assert-AreEqual $lbruleName $expectedLb.LoadBalancingRules [0 ].Name
2829
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Id $expectedLb.LoadBalancingRules [0 ].FrontendIPConfiguration.Id
2830
+ Assert-AreEqual $expectedLb.BackendAddressPools [0 ].Id $expectedLb.LoadBalancingRules [0 ].BackendAddressPool.Id
2831
+
2832
+ # List
2833
+ $list = Get-AzLoadBalancer - ResourceGroupName $rgname
2834
+ Assert-AreEqual 1 @ ($list ).Count
2835
+ Assert-AreEqual $expectedLb.Etag $list [0 ].Etag
2836
+ Assert-AreEqualObjectProperties $expectedLb.Sku $list [0 ].Sku
2837
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Etag $list [0 ].FrontendIPConfigurations[0 ].Etag
2838
+ Assert-AreEqual $expectedLb.BackendAddressPools [0 ].Etag $list [0 ].BackendAddressPools[0 ].Etag
2839
+ Assert-AreEqual $expectedLb.InboundNatRules [0 ].Etag $list [0 ].InboundNatRules[0 ].Etag
2840
+ Assert-AreEqual $expectedLb.Probes [0 ].Etag $list [0 ].Probes[0 ].Etag
2841
+ Assert-AreEqual $expectedLb.LoadBalancingRules [0 ].Etag $list [0 ].LoadBalancingRules[0 ].Etag
2842
+
2843
+ # Delete
2844
+ $deleteLb = Remove-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname - PassThru - Force
2845
+ Assert-AreEqual true $deleteLb
2846
+
2847
+ $list = Get-AzLoadBalancer - ResourceGroupName $rgname
2848
+ Assert-AreEqual 0 @ ($list ).Count
2849
+ }
2850
+ finally
2851
+ {
2852
+ # Cleanup
2853
+ Clean - ResourceGroup $rgname
2854
+ }
2855
+ }
2856
+
2762
2857
<#
2763
2858
. SYNOPSIS
2764
2859
Tests creating a public Load balancer with standard sku with ip prefix.
@@ -2969,7 +3064,7 @@ function Test-LoadBalancerCRUD-PublicStandardSkuGlobalTier
2969
3064
2970
3065
<#
2971
3066
. SYNOPSIS
2972
- Tests creating an internal Load balancer with basic sku.
3067
+ Tests creating an internal Load balancer with standard sku.
2973
3068
#>
2974
3069
function Test-LoadBalancerCRUD-InternalStandardSku
2975
3070
{
@@ -3058,6 +3153,97 @@ function Test-LoadBalancerCRUD-InternalStandardSku
3058
3153
}
3059
3154
}
3060
3155
3156
+ <#
3157
+ . SYNOPSIS
3158
+ Tests creating an internal Load balancer with standard sku as default.
3159
+ #>
3160
+ function Test-LoadBalancerCRUD-InternalStandardSkuDefault
3161
+ {
3162
+ # Setup
3163
+ $rgname = Get-ResourceGroupName
3164
+ $vnetName = Get-ResourceName
3165
+ $subnetName = Get-ResourceName
3166
+ $lbName = Get-ResourceName
3167
+ $frontendName = Get-ResourceName
3168
+ $backendAddressPoolName = Get-ResourceName
3169
+ $probeName = Get-ResourceName
3170
+ $inboundNatRuleName = Get-ResourceName
3171
+ $lbruleName = Get-ResourceName
3172
+ $rglocation = Get-ProviderLocation ResourceManagement
3173
+ $resourceTypeParent = " Microsoft.Network/loadBalancers"
3174
+ $location = Get-ProviderLocation $resourceTypeParent
3175
+
3176
+ try
3177
+ {
3178
+ # Create the resource group
3179
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $rglocation - Tags @ { testtag = " testval" }
3180
+
3181
+ # Create the Virtual Network
3182
+ $subnet = New-AzVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .1.0 / 24
3183
+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
3184
+
3185
+ # Create LoadBalancer
3186
+ $frontend = New-AzLoadBalancerFrontendIpConfig - Name $frontendName - Subnet $vnet.Subnets [0 ]
3187
+ $backendAddressPool = New-AzLoadBalancerBackendAddressPoolConfig - Name $backendAddressPoolName
3188
+ $probe = New-AzLoadBalancerProbeConfig - Name $probeName - RequestPath healthcheck.aspx - Protocol http - Port 80 - IntervalInSeconds 15 - ProbeCount 2
3189
+ $inboundNatRule = New-AzLoadBalancerInboundNatRuleConfig - Name $inboundNatRuleName - FrontendIPConfiguration $frontend - Protocol Tcp - FrontendPort 3389 - BackendPort 3389 - IdleTimeoutInMinutes 15 - EnableFloatingIP
3190
+ $lbrule = New-AzLoadBalancerRuleConfig - Name $lbruleName - FrontendIPConfiguration $frontend - BackendAddressPool $backendAddressPool - Probe $probe - Protocol Tcp - FrontendPort 80 - BackendPort 80 - IdleTimeoutInMinutes 15 - EnableFloatingIP - LoadDistribution SourceIP - DisableOutboundSNAT
3191
+ $actualLb = New-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname - Location $location - FrontendIpConfiguration $frontend - BackendAddressPool $backendAddressPool - Probe $probe - InboundNatRule $inboundNatRule - LoadBalancingRule $lbrule
3192
+
3193
+ $expectedLb = Get-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname
3194
+
3195
+ # Verification
3196
+ Assert-AreEqual $expectedLb.ResourceGroupName $actualLb.ResourceGroupName
3197
+ Assert-AreEqual $expectedLb.Name $actualLb.Name
3198
+ Assert-AreEqual $expectedLb.Location $actualLb.Location
3199
+ Assert-AreEqualObjectProperties $expectedLb.Sku $actualLb.Sku
3200
+ Assert-AreEqual " Succeeded" $expectedLb.ProvisioningState
3201
+ Assert-AreEqual 1 @ ($expectedLb.FrontendIPConfigurations ).Count
3202
+
3203
+ Assert-AreEqual $frontendName $expectedLb.FrontendIPConfigurations [0 ].Name
3204
+ Assert-AreEqual $vnet.Subnets [0 ].Id $expectedLb.FrontendIPConfigurations [0 ].Subnet.Id
3205
+ Assert-NotNull $expectedLb.FrontendIPConfigurations [0 ].PrivateIpAddress
3206
+
3207
+ Assert-AreEqual $backendAddressPoolName $expectedLb.BackendAddressPools [0 ].Name
3208
+
3209
+ Assert-AreEqual $probeName $expectedLb.Probes [0 ].Name
3210
+ Assert-AreEqual $probe.RequestPath $expectedLb.Probes [0 ].RequestPath
3211
+
3212
+ Assert-AreEqual $inboundNatRuleName $expectedLb.InboundNatRules [0 ].Name
3213
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Id $expectedLb.InboundNatRules [0 ].FrontendIPConfiguration.Id
3214
+
3215
+ Assert-AreEqual $lbruleName $expectedLb.LoadBalancingRules [0 ].Name
3216
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Id $expectedLb.LoadBalancingRules [0 ].FrontendIPConfiguration.Id
3217
+ Assert-AreEqual $expectedLb.BackendAddressPools [0 ].Id $expectedLb.LoadBalancingRules [0 ].BackendAddressPool.Id
3218
+ Assert-AreEqual true $expectedlb.LoadBalancingRules [0 ].DisableOutboundSNAT
3219
+ Assert-AreEqual true $actualLb.LoadBalancingRules [0 ].DisableOutboundSNAT
3220
+
3221
+ # List
3222
+ $list = Get-AzLoadBalancer - ResourceGroupName $rgname
3223
+ Assert-AreEqual 1 @ ($list ).Count
3224
+ Assert-AreEqual $expectedLb.Etag $list [0 ].Etag
3225
+ Assert-AreEqualObjectProperties $expectedLb.Sku $list [0 ].Sku
3226
+ Assert-AreEqual $expectedLb.FrontendIPConfigurations [0 ].Etag $list [0 ].FrontendIPConfigurations[0 ].Etag
3227
+ Assert-AreEqual $expectedLb.BackendAddressPools [0 ].Etag $list [0 ].BackendAddressPools[0 ].Etag
3228
+ Assert-AreEqual $expectedLb.InboundNatRules [0 ].Etag $list [0 ].InboundNatRules[0 ].Etag
3229
+ Assert-AreEqual $expectedLb.Probes [0 ].Etag $list [0 ].Probes[0 ].Etag
3230
+ Assert-AreEqual $expectedLb.LoadBalancingRules [0 ].Etag $list [0 ].LoadBalancingRules[0 ].Etag
3231
+ Assert-AreEqual $expectedlb.LoadBalancingRules [0 ].DisableOutboundSNAT $actualLb.LoadBalancingRules [0 ].DisableOutboundSNAT
3232
+
3233
+ # Delete
3234
+ $deleteLb = Remove-AzLoadBalancer - Name $lbName - ResourceGroupName $rgname - PassThru - Force
3235
+ Assert-AreEqual true $deleteLb
3236
+
3237
+ $list = Get-AzLoadBalancer - ResourceGroupName $rgname
3238
+ Assert-AreEqual 0 @ ($list ).Count
3239
+ }
3240
+ finally
3241
+ {
3242
+ # Cleanup
3243
+ Clean - ResourceGroup $rgname
3244
+ }
3245
+ }
3246
+
3061
3247
<#
3062
3248
. SYNOPSIS
3063
3249
Tests creating new simple loadBalancer.
0 commit comments