@@ -20,51 +20,70 @@ function Test-ApplicationGatewayCRUD
20
20
{
21
21
# Setup
22
22
23
- $rgname = Get-ResourceGroupName
24
- $rname = Get-ResourceName
25
- $domainNameLabel = Get-ResourceName
26
- $vnetName = Get-ResourceName
27
- $publicIpName = Get-ResourceName
28
- $vnetGatewayConfigName = Get-ResourceName
29
23
$rglocation = Get-ProviderLocation ResourceManagement
30
24
$resourceTypeParent = " Microsoft.Network/applicationgateways"
31
25
$location = Get-ProviderLocation $resourceTypeParent
32
26
33
- $gipconfigname = Get-ResourceName
34
- $fipconfigName = Get-ResourceName
35
- $poolName = Get-ResourceName
36
- $poolSettingName = Get-ResourceName
37
- $frontendPortName = Get-ResourceName
38
- $listenerName = Get-ResourceName
39
- $ruleName = Get-ResourceName
40
- $appgwName = Get-ResourceName
27
+ $rgname = " kagarg"
28
+ $vnetName = " vnet01"
29
+ $subnetName = " subnet01"
30
+ $publicIpName = " publicip01"
31
+ $gipconfigname = " gatewayip01"
32
+ $fipconfigName = " frontendip01"
33
+ $poolName = " pool01"
34
+ $frontendPort01Name = " frontendport01"
35
+ $frontendPort02Name = " frontendport02"
36
+ $poolSetting01Name = " setting01"
37
+ $poolSetting02Name = " setting02"
38
+ $probeName = " probe01"
39
+ $listener01Name = " listener01"
40
+ $listener02Name = " listener02"
41
+ $rule01Name = " rule01"
42
+ $rule02Name = " rule02"
43
+ $appgwName = " appgw01"
41
44
42
45
try
43
46
{
44
47
# Create the resource group
45
- $resourceGroup = New-AzureRmResourceGroup - Name $rgname - Location $rglocation - Tags @ {Name = " testtag" ; Value = " testval " }
46
-
48
+ $resourceGroup = New-AzureRmResourceGroup - Name $rgname - Location $location - Tags @ {Name = " testtag" ; Value = " PS testing app gw " }
49
+
47
50
# Create the Virtual Network
48
- $subnet = New-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet " - AddressPrefix 10.0 .0.0 / 24
51
+ $subnet = New-AzureRmVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .0.0 / 24
49
52
$vnet = New-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet
50
53
$vnet = Get-AzureRmvirtualNetwork - Name $vnetName - ResourceGroupName $rgname
51
- $subnet = Get-AzureRmVirtualNetworkSubnetConfig - Name " GatewaySubnet" - VirtualNetwork $vnet
52
-
53
- # Create the Application Gateway
54
+ $subnet = Get-AzureRmVirtualNetworkSubnetConfig - Name $subnetName - VirtualNetwork $vnet
55
+
56
+ # Create public ip
57
+ $publicip = New-AzureRmPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Dynamic
58
+
59
+ # Create application gateway configuration
54
60
$gipconfig = New-AzureRmApplicationGatewayIPConfiguration - Name $gipconfigname - Subnet $subnet
55
- $pool = New-AzureRmApplicationGatewayBackendAddressPool - Name $poolName - BackendIPAddresses 1.1 .1.1 , 2.2 .2.2 , 3.3 .3.3
56
- $poolSetting = New-AzureRmApplicationGatewayBackendHttpSettings - Name $poolSettingName - Port 80 - Protocol HTTP - CookieBasedAffinity Disabled
57
- $fp = New-AzureRmApplicationGatewayFrontendPort - Name $frontendPortName - Port 80
58
61
$fipconfig = New-AzureRmApplicationGatewayFrontendIPConfig - Name $fipconfigName - PublicIPAddress $publicip
59
- $listener = New-AzureRmApplicationGatewayHttpListener - Name $listenerName - Protocol http - FrontendIPConfiguration $fipconfig - FrontendPort $fp
60
- $rule = New-AzureRmApplicationGatewayRequestRoutingRule - Name $ruleName - RuleType basic - BackendHttpSettings $poolSetting - HttpListener $listener - BackendAddressPool $pool
62
+ $pool = New-AzureRmApplicationGatewayBackendAddressPool - Name $poolName - BackendIPAddresses 1.1 .1.1 , 2.2 .2.2 , 3.3 .3.3
63
+ $fp01 = New-AzureRmApplicationGatewayFrontendPort - Name $frontendPort01Name - Port 80
64
+ $fp02 = New-AzureRmApplicationGatewayFrontendPort - Name $frontendPort02Name - Port 8080
65
+ $probe = New-AzureRmApplicationGatewayProbeConfig - Name $probeName - Protocol Http - HostName " probe.com" - Path " /path/path.htm" - Interval 89 - Timeout 88 - UnhealthyThreshold 8
66
+ $poolSetting01 = New-AzureRmApplicationGatewayBackendHttpSettings - Name $poolSetting01Name - Port 80 - Protocol HTTP - CookieBasedAffinity Disabled - Probe $probe - RequestTimeout 66
67
+ $poolSetting02 = New-AzureRmApplicationGatewayBackendHttpSettings - Name $poolSetting02Name - Port 80 - Protocol HTTP - CookieBasedAffinity Disabled
68
+ $listener01 = New-AzureRmApplicationGatewayHttpListener - Name $listener01Name - Protocol http - FrontendIPConfiguration $fipconfig - FrontendPort $fp01
69
+ $listener02 = New-AzureRmApplicationGatewayHttpListener - Name $listener02Name - Protocol http - FrontendIPConfiguration $fipconfig - FrontendPort $fp02
70
+ $rule01 = New-AzureRmApplicationGatewayRequestRoutingRule - Name $rule01Name - RuleType basic - BackendHttpSettings $poolSetting01 - HttpListener $listener01 - BackendAddressPool $pool
71
+ $rule02 = New-AzureRmApplicationGatewayRequestRoutingRule - Name $rule02Name - RuleType basic - BackendHttpSettings $poolSetting02 - HttpListener $listener02 - BackendAddressPool $pool
61
72
$sku = New-AzureRmApplicationGatewaySku - Name Standard_Small - Tier Standard - Capacity 2
62
73
63
- $actual = New-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname - Location $location - BackendAddressPools $pool - BackendHttpSettingsCollection $poolSetting - FrontendIpConfigurations $fipconfig - GatewayIpConfigurations $gipconfig - FrontendPorts $fp - HttpListeners $listener - RequestRoutingRules $rule - Sku $sku
64
- $expected = Get-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname
65
- Compare-AzureRmApplicationGateway $actual $expected
66
-
67
- Stop-AzureRmApplicationGateway - ApplicationGateway $expected
74
+ # Create Application Gateway
75
+ $appgw = New-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname - Location $location - BackendAddressPools $pool - Probes $probe - BackendHttpSettingsCollection $poolSetting01 , $poolSetting02 - FrontendIpConfigurations $fipconfig - GatewayIpConfigurations $gipconfig - FrontendPorts $fp01 , $fp02 - HttpListeners $listener01 , $listener02 - RequestRoutingRules $rule01 , $rule02 - Sku $sku
76
+
77
+ # Get Application Gateway
78
+ $getgw = Get-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname
79
+
80
+ # Start Application Gateway
81
+ Start-AzureRmApplicationGateway - ApplicationGateway $getgw
82
+
83
+ # Stop Application Gateway
84
+ Stop-AzureRmApplicationGateway - ApplicationGateway $getgw
85
+
86
+ # Delete Application Gateway
68
87
Remove-AzureRmApplicationGateway - Name $appgwName - ResourceGroupName $rgname - Force
69
88
}
70
89
finally
0 commit comments