New-AzApplicationGatewayPathRuleConfig
Creates an application gateway path rule.
Syntax
New-AzApplicationGatewayPathRuleConfig
-Name <String>
-Paths <String[]>
[-BackendAddressPoolId <String>]
[-BackendHttpSettingsId <String>]
[-RewriteRuleSetId <String>]
[-RedirectConfigurationId <String>]
[-FirewallPolicyId <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
New-AzApplicationGatewayPathRuleConfig
-Name <String>
-Paths <String[]>
[-BackendAddressPool <PSApplicationGatewayBackendAddressPool>]
[-BackendHttpSettings <PSApplicationGatewayBackendHttpSettings>]
[-RewriteRuleSet <PSApplicationGatewayRewriteRuleSet>]
[-RedirectConfiguration <PSApplicationGatewayRedirectConfiguration>]
[-FirewallPolicy <PSApplicationGatewayWebApplicationFirewallPolicy>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
The New-AzApplicationGatewayPathRuleConfig cmdlet creates an application gateway path rule. Rules created by this cmdlet can be added to a collection of URL path map configuration settings and then assigned to a gateway. Path map configuration settings are used in application gateway load balancing.
Examples
Example 1
$Gateway = Get-AzApplicationGateway -Name "ContosoApplicationGateway"
$AddressPool = New-AzApplicationGatewayBackendAddressPool -Name "ContosoAddressPool" -BackendIPAddresses "192.168.1.1", "192.168.1.2"
$HttpSettings = New-AzApplicationGatewayBackendHttpSetting -Name "ContosoHttpSettings" -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled"
$PathRuleConfig = New-AzApplicationGatewayPathRuleConfig -Name "base" -Paths "/base" -BackendAddressPool $AddressPool -BackendHttpSettings $HttpSettings
Add-AzApplicationGatewayUrlPathMapConfig -ApplicationGateway $Gateway -Name "ContosoUrlPathMap" -PathRules $PathRuleConfig -DefaultBackendAddressPool $AddressPool -DefaultBackendHttpSettings $HttpSettings
These commands create a new application gateway path rule and then use the Add-AzApplicationGatewayUrlPathMapConfig cmdlet to assign that rule to an application gateway. To do this, the first command creates an object reference to the gateway ContosoApplicationGateway. This object reference is stored in a variable named $Gateway. The next two commands create a backend address pool and a backend HTTP settings object; these objects (stored in the variables $AddressPool and $HttpSettings) are needed in order to create a path rule object. The fourth command creates the path rule object and is stored in a variable named $PathRuleConfig. The fifth command uses Add-AzApplicationGatewayUrlPathMapConfig to add the configuration settings and the new path rule contained within those settings to ContosoApplicationGateway.
Example 2
$PathRuleConfig = New-AzApplicationGatewayPathRuleConfig -Name "base" -Paths "/base" -BackendAddressPool $AddressPool -BackendHttpSettings $HttpSettings -FirewallPolicy $firewallPolicy
These command creates a path-rule with the Name as "base", Paths as "/base", BackendAddressPool as $AddressPool, BackendHttpSettings as $HttpSettings and FirewallPolicy as $firewallPolicy.ngs and the new path rule contained within those settings to ContosoApplicationGateway.
Parameters
-BackendAddressPool
Specifies an object reference to a collection of backend address pool settings to be added to the gateway path rules configuration settings.
You can create this object reference by using the New-AzApplicationGatewayBackendAddressPool cmdlet and syntax similar to this:
$AddressPool = New-AzApplicationGatewayBackendAddressPool -Name "ContosoAddressPool" -BackendIPAddresses "192.168.1.1", "192.168.1.2"
The preceding command adds two IP addresses (192.16.1.1 and 192.168.1.2) to the address pool.
Note that the IP address are enclosed in quote marks and separated by using commas.
The resulting variable, $AddressPool, can then be used as the parameter value for the DefaultBackendAddressPool parameter.
The backend address pool represents the IP addresses on the backend servers.
These IP addresses should either belong to the virtual network subnet or should be public IP addresses.
If you use this parameter you cannot use the DefaultBackendAddressPoolId parameter in the same command.
Type: | PSApplicationGatewayBackendAddressPool |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackendAddressPoolId
Specifies the ID of an existing backend address pool that can be added to the gateway path rule configuration settings. Address pool IDs can be returned by using the Get-AzApplicationGatewayBackendAddressPool cmdlet. After you have the ID you can then use the DefaultBackendAddressPoolId parameter instead of the DefaultBackendAddressPool parameter. For instance: -DefaultBackendAddressPoolId "/subscriptions/39c54063-01d3-4abf-8f4c-234777bc1f10/resourceGroups/appgw-rg/providers/Microsoft.Network/applicationGateways/appgwtest/backendAddressPools/ContosoAddressPool" The backend address pool represents the IP addresses on the backend servers. These IP addresses should either belong to the virtual network subnet or should be public IP addresses.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackendHttpSettings
Specifies an object reference to a collection of backend HTTP settings to be added to the gateway path rule configuration settings. You can create this object reference by using the New-AzApplicationGatewayBackendHttpSettings cmdlet and syntax similar to this: $HttpSettings = New-AzApplicationGatewayBackendHttpSettings -Name "ContosoHttpSettings" -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled" The resulting variable, $HttpSettings, can then be used as the parameter value for the DefaultBackendAddressPool parameter: -DefaultBackendHttpSettings $HttpSettings The backend HTTP settings configure properties such as port, protocol, and cookie-based affinity for a backend pool. If you use this parameter you cannot use the DefaultBackendHttpSettingsId parameter in the same command.
Type: | PSApplicationGatewayBackendHttpSettings |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-BackendHttpSettingsId
Specifies the ID of an existing backend HTTP settings collection that can be added to the gateway path rule configuration settings. HTTP setting IDs can be returned by using the Get-AzApplicationGatewayBackendHttpSettings cmdlet. After you have the ID you can then use the DefaultBackendHttpSettingsId parameter instead of the DefaultBackendHttpSettings parameter. For instance: -DefaultBackendSettings Id "/subscriptions/39c54063-01d3-4abf-8f4c-234777bc1f10/resourceGroups/appgw-rg/providers/Microsoft.Network/applicationGateways/appgwtest/backendHttpSettingsCollection/ContosoHttpSettings" The backend HTTP settings configure properties such as port, protocol, and cookie-based affinity for a backend pool. If you use this parameter you cannot use the DefaultBackendHttpSettings parameter in the same command.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
The credentials, account, tenant, and subscription used for communication with azure.
Type: | IAzureContextContainer |
Aliases: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FirewallPolicy
Specifies the object reference to a top-level firewall policy. The object reference can be created by using New-AzApplicationGatewayWebApplicationFirewallPolicy cmdlet. $firewallPolicy = New-AzApplicationGatewayFirewallPolicy -Name "wafPolicy1" -ResourceGroup "rgName" A firewall policy created using the above commandlet can be referred at a path-rule level. he above command would create a default policy settings and managed rules. Instead of the default values, users can specify PolicySettings, ManagedRules by using New-AzApplicationGatewayFirewallPolicySettings and New-AzApplicationGatewayFirewallPolicyManagedRules respectively.
Type: | PSApplicationGatewayWebApplicationFirewallPolicy |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FirewallPolicyId
Specifies the ID of an existing top-level web application firewall resource.
Firewall policy IDs can be returned by using the Get-AzApplicationGatewayWebApplicationFirewallPolicy cmdlet.
After we have the ID you can use FirewallPolicyId parameter instead of FirewallPolicy parameter.
For instance:
-FirewallPolicyId /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/<firewallPolicyName>
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies the name of the path rule configuration that this cmdlet creates.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Paths
Specifies one or more application gateway path rules.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectConfiguration
Application gateway RedirectConfiguration
Type: | PSApplicationGatewayRedirectConfiguration |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RedirectConfigurationId
ID of the application gateway RedirectConfiguration
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RewriteRuleSet
Application gateway RewriteRuleSet
Type: | PSApplicationGatewayRewriteRuleSet |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RewriteRuleSetId
ID of the application gateway RewriteRuleSet
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
None
Outputs
Related Links
- Add-AzApplicationGatewayUrlPathMapConfig
- Get-AzApplicationGateway
- Get-AzApplicationGatewayUrlPathMapConfig
- New-AzApplicationGatewayBackendAddressPool
- New-AzApplicationGatewayBackendHttpSetting
- New-AzApplicationGatewayPathRuleConfig
- New-AzApplicationGatewayUrlPathMapConfig
- Remove-AzApplicationGatewayUrlPathMapConfig
- Set-AzApplicationGatewayUrlPathMapConfig
Azure PowerShell