New-AzureRmApplicationGatewayPathRuleConfig

Creates an application gateway path rule.

Warning

The AzureRM PowerShell module has been officially deprecated as of February 29, 2024. Users are advised to migrate from AzureRM to the Az PowerShell module to ensure continued support and updates.

Although the AzureRM module may still function, it's no longer maintained or supported, placing any continued use at the user's discretion and risk. Please refer to our migration resources for guidance on transitioning to the Az module.

Syntax

New-AzureRmApplicationGatewayPathRuleConfig
   -Name <String>
   -Paths <System.Collections.Generic.List`1[System.String]>
   [-BackendAddressPoolId <String>]
   [-BackendHttpSettingsId <String>]
   [-RedirectConfigurationId <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzureRmApplicationGatewayPathRuleConfig
   -Name <String>
   -Paths <System.Collections.Generic.List`1[System.String]>
   [-BackendAddressPool <PSApplicationGatewayBackendAddressPool>]
   [-BackendHttpSettings <PSApplicationGatewayBackendHttpSettings>]
   [-RedirectConfiguration <PSApplicationGatewayRedirectConfiguration>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The New-AzureRmApplicationGatewayPathRuleConfig 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

PS C:\>$Gateway = Get-AzureRmApplicationGateway -Name "ContosoApplicationGateway"
PS C:\> $AddressPool = New-AzureRmApplicationGatewayBackendAddressPool -Name "ContosoAddressPool" -BackendIPAddresses "192.168.1.1", "192.168.1.2"
PS C:\> $HttpSettings = New-AzureRmApplicationGatewayBackendHttpSettings -Name "ContosoHttpSetings" -Port 80 -Protocol "Http" -CookieBasedAffinity "Disabled"
PS C:\> $PathRuleConfig = New-AzureRmApplicationGatewayPathRuleConfig -Name "base" -Paths "/base" -BackendAddressPool $AddressPool -BackendHttpSettings $HttpSettings
PS C:\> Add-AzureRmApplicationGatewayUrlPathMapConfig -ApplicationGateway $Gateway -Name "ContosoUrlPathMap" -PathRules $PathRuleConfig -DefaultBackendAddressPool $AddressPool -DefaultBackendHttpSettings $HttpSettings

These commands create a new application gateway path rule and then use the Add-AzureRmApplicationGatewayUrlPathMapConfig 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-AzureRmApplicationGatewayUrlPathMapConfig to add the configuration settings 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-AzureRmApplicationGatewayBackendAddressPool cmdlet and syntax similar to this: $AddressPool = New-AzureRmApplicationGatewayBackendAddressPool -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-AzureRmApplicationGatewayBackendAddressPool 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-AzureRmApplicationGatewayBackendHttpSettings cmdlet and syntax similar to this: $HttpSettings = New-AzureRmApplicationGatewayBackendHttpSettings -Name "ContosoHttpSetings" -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-AzureRmApplicationGatewayBackendHttpSettings 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:AzureRmContext, AzureCredential
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:List<T>[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

Inputs

None

Outputs

PSApplicationGatewayPathRule