1. Packages
  2. Azure Classic
  3. API Docs
  4. network
  5. ApplicationGateway

We recommend using Azure Native.

Azure Classic v5.85.0 published on Tuesday, Jul 23, 2024 by Pulumi

azure.network.ApplicationGateway

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.85.0 published on Tuesday, Jul 23, 2024 by Pulumi

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const example = new azure.core.ResourceGroup("example", {
        name: "example-resources",
        location: "West Europe",
    });
    const exampleVirtualNetwork = new azure.network.VirtualNetwork("example", {
        name: "example-network",
        resourceGroupName: example.name,
        location: example.location,
        addressSpaces: ["10.254.0.0/16"],
    });
    const exampleSubnet = new azure.network.Subnet("example", {
        name: "example",
        resourceGroupName: example.name,
        virtualNetworkName: exampleVirtualNetwork.name,
        addressPrefixes: ["10.254.0.0/24"],
    });
    const examplePublicIp = new azure.network.PublicIp("example", {
        name: "example-pip",
        resourceGroupName: example.name,
        location: example.location,
        allocationMethod: "Dynamic",
    });
    const backendAddressPoolName = pulumi.interpolate`${exampleVirtualNetwork.name}-beap`;
    const frontendPortName = pulumi.interpolate`${exampleVirtualNetwork.name}-feport`;
    const frontendIpConfigurationName = pulumi.interpolate`${exampleVirtualNetwork.name}-feip`;
    const httpSettingName = pulumi.interpolate`${exampleVirtualNetwork.name}-be-htst`;
    const listenerName = pulumi.interpolate`${exampleVirtualNetwork.name}-httplstn`;
    const requestRoutingRuleName = pulumi.interpolate`${exampleVirtualNetwork.name}-rqrt`;
    const redirectConfigurationName = pulumi.interpolate`${exampleVirtualNetwork.name}-rdrcfg`;
    const network = new azure.network.ApplicationGateway("network", {
        name: "example-appgateway",
        resourceGroupName: example.name,
        location: example.location,
        sku: {
            name: "Standard_v2",
            tier: "Standard_v2",
            capacity: 2,
        },
        gatewayIpConfigurations: [{
            name: "my-gateway-ip-configuration",
            subnetId: exampleSubnet.id,
        }],
        frontendPorts: [{
            name: frontendPortName,
            port: 80,
        }],
        frontendIpConfigurations: [{
            name: frontendIpConfigurationName,
            publicIpAddressId: examplePublicIp.id,
        }],
        backendAddressPools: [{
            name: backendAddressPoolName,
        }],
        backendHttpSettings: [{
            name: httpSettingName,
            cookieBasedAffinity: "Disabled",
            path: "/path1/",
            port: 80,
            protocol: "Http",
            requestTimeout: 60,
        }],
        httpListeners: [{
            name: listenerName,
            frontendIpConfigurationName: frontendIpConfigurationName,
            frontendPortName: frontendPortName,
            protocol: "Http",
        }],
        requestRoutingRules: [{
            name: requestRoutingRuleName,
            priority: 9,
            ruleType: "Basic",
            httpListenerName: listenerName,
            backendAddressPoolName: backendAddressPoolName,
            backendHttpSettingsName: httpSettingName,
        }],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_virtual_network = azure.network.VirtualNetwork("example",
        name="example-network",
        resource_group_name=example.name,
        location=example.location,
        address_spaces=["10.254.0.0/16"])
    example_subnet = azure.network.Subnet("example",
        name="example",
        resource_group_name=example.name,
        virtual_network_name=example_virtual_network.name,
        address_prefixes=["10.254.0.0/24"])
    example_public_ip = azure.network.PublicIp("example",
        name="example-pip",
        resource_group_name=example.name,
        location=example.location,
        allocation_method="Dynamic")
    backend_address_pool_name = example_virtual_network.name.apply(lambda name: f"{name}-beap")
    frontend_port_name = example_virtual_network.name.apply(lambda name: f"{name}-feport")
    frontend_ip_configuration_name = example_virtual_network.name.apply(lambda name: f"{name}-feip")
    http_setting_name = example_virtual_network.name.apply(lambda name: f"{name}-be-htst")
    listener_name = example_virtual_network.name.apply(lambda name: f"{name}-httplstn")
    request_routing_rule_name = example_virtual_network.name.apply(lambda name: f"{name}-rqrt")
    redirect_configuration_name = example_virtual_network.name.apply(lambda name: f"{name}-rdrcfg")
    network = azure.network.ApplicationGateway("network",
        name="example-appgateway",
        resource_group_name=example.name,
        location=example.location,
        sku={
            "name": "Standard_v2",
            "tier": "Standard_v2",
            "capacity": 2,
        },
        gateway_ip_configurations=[{
            "name": "my-gateway-ip-configuration",
            "subnetId": example_subnet.id,
        }],
        frontend_ports=[{
            "name": frontend_port_name,
            "port": 80,
        }],
        frontend_ip_configurations=[{
            "name": frontend_ip_configuration_name,
            "publicIpAddressId": example_public_ip.id,
        }],
        backend_address_pools=[{
            "name": backend_address_pool_name,
        }],
        backend_http_settings=[{
            "name": http_setting_name,
            "cookieBasedAffinity": "Disabled",
            "path": "/path1/",
            "port": 80,
            "protocol": "Http",
            "requestTimeout": 60,
        }],
        http_listeners=[{
            "name": listener_name,
            "frontendIpConfigurationName": frontend_ip_configuration_name,
            "frontendPortName": frontend_port_name,
            "protocol": "Http",
        }],
        request_routing_rules=[{
            "name": request_routing_rule_name,
            "priority": 9,
            "ruleType": "Basic",
            "httpListenerName": listener_name,
            "backendAddressPoolName": backend_address_pool_name,
            "backendHttpSettingsName": http_setting_name,
        }])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
    			Name:     pulumi.String("example-resources"),
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "example", &network.VirtualNetworkArgs{
    			Name:              pulumi.String("example-network"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    			AddressSpaces: pulumi.StringArray{
    				pulumi.String("10.254.0.0/16"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		exampleSubnet, err := network.NewSubnet(ctx, "example", &network.SubnetArgs{
    			Name:               pulumi.String("example"),
    			ResourceGroupName:  example.Name,
    			VirtualNetworkName: exampleVirtualNetwork.Name,
    			AddressPrefixes: pulumi.StringArray{
    				pulumi.String("10.254.0.0/24"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		examplePublicIp, err := network.NewPublicIp(ctx, "example", &network.PublicIpArgs{
    			Name:              pulumi.String("example-pip"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    			AllocationMethod:  pulumi.String("Dynamic"),
    		})
    		if err != nil {
    			return err
    		}
    		backendAddressPoolName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-beap", name), nil
    		}).(pulumi.StringOutput)
    		frontendPortName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-feport", name), nil
    		}).(pulumi.StringOutput)
    		frontendIpConfigurationName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-feip", name), nil
    		}).(pulumi.StringOutput)
    		httpSettingName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-be-htst", name), nil
    		}).(pulumi.StringOutput)
    		listenerName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-httplstn", name), nil
    		}).(pulumi.StringOutput)
    		requestRoutingRuleName := exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-rqrt", name), nil
    		}).(pulumi.StringOutput)
    		_ = exampleVirtualNetwork.Name.ApplyT(func(name string) (string, error) {
    			return fmt.Sprintf("%v-rdrcfg", name), nil
    		}).(pulumi.StringOutput)
    		_, err = network.NewApplicationGateway(ctx, "network", &network.ApplicationGatewayArgs{
    			Name:              pulumi.String("example-appgateway"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    			Sku: &network.ApplicationGatewaySkuArgs{
    				Name:     pulumi.String("Standard_v2"),
    				Tier:     pulumi.String("Standard_v2"),
    				Capacity: pulumi.Int(2),
    			},
    			GatewayIpConfigurations: network.ApplicationGatewayGatewayIpConfigurationArray{
    				&network.ApplicationGatewayGatewayIpConfigurationArgs{
    					Name:     pulumi.String("my-gateway-ip-configuration"),
    					SubnetId: exampleSubnet.ID(),
    				},
    			},
    			FrontendPorts: network.ApplicationGatewayFrontendPortArray{
    				&network.ApplicationGatewayFrontendPortArgs{
    					Name: pulumi.String(frontendPortName),
    					Port: pulumi.Int(80),
    				},
    			},
    			FrontendIpConfigurations: network.ApplicationGatewayFrontendIpConfigurationArray{
    				&network.ApplicationGatewayFrontendIpConfigurationArgs{
    					Name:              pulumi.String(frontendIpConfigurationName),
    					PublicIpAddressId: examplePublicIp.ID(),
    				},
    			},
    			BackendAddressPools: network.ApplicationGatewayBackendAddressPoolArray{
    				&network.ApplicationGatewayBackendAddressPoolArgs{
    					Name: pulumi.String(backendAddressPoolName),
    				},
    			},
    			BackendHttpSettings: network.ApplicationGatewayBackendHttpSettingArray{
    				&network.ApplicationGatewayBackendHttpSettingArgs{
    					Name:                pulumi.String(httpSettingName),
    					CookieBasedAffinity: pulumi.String("Disabled"),
    					Path:                pulumi.String("/path1/"),
    					Port:                pulumi.Int(80),
    					Protocol:            pulumi.String("Http"),
    					RequestTimeout:      pulumi.Int(60),
    				},
    			},
    			HttpListeners: network.ApplicationGatewayHttpListenerArray{
    				&network.ApplicationGatewayHttpListenerArgs{
    					Name:                        pulumi.String(listenerName),
    					FrontendIpConfigurationName: pulumi.String(frontendIpConfigurationName),
    					FrontendPortName:            pulumi.String(frontendPortName),
    					Protocol:                    pulumi.String("Http"),
    				},
    			},
    			RequestRoutingRules: network.ApplicationGatewayRequestRoutingRuleArray{
    				&network.ApplicationGatewayRequestRoutingRuleArgs{
    					Name:                    pulumi.String(requestRoutingRuleName),
    					Priority:                pulumi.Int(9),
    					RuleType:                pulumi.String("Basic"),
    					HttpListenerName:        pulumi.String(listenerName),
    					BackendAddressPoolName:  pulumi.String(backendAddressPoolName),
    					BackendHttpSettingsName: pulumi.String(httpSettingName),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Azure.Core.ResourceGroup("example", new()
        {
            Name = "example-resources",
            Location = "West Europe",
        });
    
        var exampleVirtualNetwork = new Azure.Network.VirtualNetwork("example", new()
        {
            Name = "example-network",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AddressSpaces = new[]
            {
                "10.254.0.0/16",
            },
        });
    
        var exampleSubnet = new Azure.Network.Subnet("example", new()
        {
            Name = "example",
            ResourceGroupName = example.Name,
            VirtualNetworkName = exampleVirtualNetwork.Name,
            AddressPrefixes = new[]
            {
                "10.254.0.0/24",
            },
        });
    
        var examplePublicIp = new Azure.Network.PublicIp("example", new()
        {
            Name = "example-pip",
            ResourceGroupName = example.Name,
            Location = example.Location,
            AllocationMethod = "Dynamic",
        });
    
        var backendAddressPoolName = exampleVirtualNetwork.Name.Apply(name => $"{name}-beap");
    
        var frontendPortName = exampleVirtualNetwork.Name.Apply(name => $"{name}-feport");
    
        var frontendIpConfigurationName = exampleVirtualNetwork.Name.Apply(name => $"{name}-feip");
    
        var httpSettingName = exampleVirtualNetwork.Name.Apply(name => $"{name}-be-htst");
    
        var listenerName = exampleVirtualNetwork.Name.Apply(name => $"{name}-httplstn");
    
        var requestRoutingRuleName = exampleVirtualNetwork.Name.Apply(name => $"{name}-rqrt");
    
        var redirectConfigurationName = exampleVirtualNetwork.Name.Apply(name => $"{name}-rdrcfg");
    
        var network = new Azure.Network.ApplicationGateway("network", new()
        {
            Name = "example-appgateway",
            ResourceGroupName = example.Name,
            Location = example.Location,
            Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs
            {
                Name = "Standard_v2",
                Tier = "Standard_v2",
                Capacity = 2,
            },
            GatewayIpConfigurations = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs
                {
                    Name = "my-gateway-ip-configuration",
                    SubnetId = exampleSubnet.Id,
                },
            },
            FrontendPorts = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs
                {
                    Name = frontendPortName,
                    Port = 80,
                },
            },
            FrontendIpConfigurations = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs
                {
                    Name = frontendIpConfigurationName,
                    PublicIpAddressId = examplePublicIp.Id,
                },
            },
            BackendAddressPools = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs
                {
                    Name = backendAddressPoolName,
                },
            },
            BackendHttpSettings = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingArgs
                {
                    Name = httpSettingName,
                    CookieBasedAffinity = "Disabled",
                    Path = "/path1/",
                    Port = 80,
                    Protocol = "Http",
                    RequestTimeout = 60,
                },
            },
            HttpListeners = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs
                {
                    Name = listenerName,
                    FrontendIpConfigurationName = frontendIpConfigurationName,
                    FrontendPortName = frontendPortName,
                    Protocol = "Http",
                },
            },
            RequestRoutingRules = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs
                {
                    Name = requestRoutingRuleName,
                    Priority = 9,
                    RuleType = "Basic",
                    HttpListenerName = listenerName,
                    BackendAddressPoolName = backendAddressPoolName,
                    BackendHttpSettingsName = httpSettingName,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.network.VirtualNetwork;
    import com.pulumi.azure.network.VirtualNetworkArgs;
    import com.pulumi.azure.network.Subnet;
    import com.pulumi.azure.network.SubnetArgs;
    import com.pulumi.azure.network.PublicIp;
    import com.pulumi.azure.network.PublicIpArgs;
    import com.pulumi.azure.network.ApplicationGateway;
    import com.pulumi.azure.network.ApplicationGatewayArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewaySkuArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayGatewayIpConfigurationArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayFrontendPortArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayFrontendIpConfigurationArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayBackendAddressPoolArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayBackendHttpSettingArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayHttpListenerArgs;
    import com.pulumi.azure.network.inputs.ApplicationGatewayRequestRoutingRuleArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new ResourceGroup("example", ResourceGroupArgs.builder()
                .name("example-resources")
                .location("West Europe")
                .build());
    
            var exampleVirtualNetwork = new VirtualNetwork("exampleVirtualNetwork", VirtualNetworkArgs.builder()
                .name("example-network")
                .resourceGroupName(example.name())
                .location(example.location())
                .addressSpaces("10.254.0.0/16")
                .build());
    
            var exampleSubnet = new Subnet("exampleSubnet", SubnetArgs.builder()
                .name("example")
                .resourceGroupName(example.name())
                .virtualNetworkName(exampleVirtualNetwork.name())
                .addressPrefixes("10.254.0.0/24")
                .build());
    
            var examplePublicIp = new PublicIp("examplePublicIp", PublicIpArgs.builder()
                .name("example-pip")
                .resourceGroupName(example.name())
                .location(example.location())
                .allocationMethod("Dynamic")
                .build());
    
            final var backendAddressPoolName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-beap", name));
    
            final var frontendPortName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-feport", name));
    
            final var frontendIpConfigurationName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-feip", name));
    
            final var httpSettingName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-be-htst", name));
    
            final var listenerName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-httplstn", name));
    
            final var requestRoutingRuleName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-rqrt", name));
    
            final var redirectConfigurationName = exampleVirtualNetwork.name().applyValue(name -> String.format("%s-rdrcfg", name));
    
            var network = new ApplicationGateway("network", ApplicationGatewayArgs.builder()
                .name("example-appgateway")
                .resourceGroupName(example.name())
                .location(example.location())
                .sku(ApplicationGatewaySkuArgs.builder()
                    .name("Standard_v2")
                    .tier("Standard_v2")
                    .capacity(2)
                    .build())
                .gatewayIpConfigurations(ApplicationGatewayGatewayIpConfigurationArgs.builder()
                    .name("my-gateway-ip-configuration")
                    .subnetId(exampleSubnet.id())
                    .build())
                .frontendPorts(ApplicationGatewayFrontendPortArgs.builder()
                    .name(frontendPortName)
                    .port(80)
                    .build())
                .frontendIpConfigurations(ApplicationGatewayFrontendIpConfigurationArgs.builder()
                    .name(frontendIpConfigurationName)
                    .publicIpAddressId(examplePublicIp.id())
                    .build())
                .backendAddressPools(ApplicationGatewayBackendAddressPoolArgs.builder()
                    .name(backendAddressPoolName)
                    .build())
                .backendHttpSettings(ApplicationGatewayBackendHttpSettingArgs.builder()
                    .name(httpSettingName)
                    .cookieBasedAffinity("Disabled")
                    .path("/path1/")
                    .port(80)
                    .protocol("Http")
                    .requestTimeout(60)
                    .build())
                .httpListeners(ApplicationGatewayHttpListenerArgs.builder()
                    .name(listenerName)
                    .frontendIpConfigurationName(frontendIpConfigurationName)
                    .frontendPortName(frontendPortName)
                    .protocol("Http")
                    .build())
                .requestRoutingRules(ApplicationGatewayRequestRoutingRuleArgs.builder()
                    .name(requestRoutingRuleName)
                    .priority(9)
                    .ruleType("Basic")
                    .httpListenerName(listenerName)
                    .backendAddressPoolName(backendAddressPoolName)
                    .backendHttpSettingsName(httpSettingName)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleVirtualNetwork:
        type: azure:network:VirtualNetwork
        name: example
        properties:
          name: example-network
          resourceGroupName: ${example.name}
          location: ${example.location}
          addressSpaces:
            - 10.254.0.0/16
      exampleSubnet:
        type: azure:network:Subnet
        name: example
        properties:
          name: example
          resourceGroupName: ${example.name}
          virtualNetworkName: ${exampleVirtualNetwork.name}
          addressPrefixes:
            - 10.254.0.0/24
      examplePublicIp:
        type: azure:network:PublicIp
        name: example
        properties:
          name: example-pip
          resourceGroupName: ${example.name}
          location: ${example.location}
          allocationMethod: Dynamic
      network:
        type: azure:network:ApplicationGateway
        properties:
          name: example-appgateway
          resourceGroupName: ${example.name}
          location: ${example.location}
          sku:
            name: Standard_v2
            tier: Standard_v2
            capacity: 2
          gatewayIpConfigurations:
            - name: my-gateway-ip-configuration
              subnetId: ${exampleSubnet.id}
          frontendPorts:
            - name: ${frontendPortName}
              port: 80
          frontendIpConfigurations:
            - name: ${frontendIpConfigurationName}
              publicIpAddressId: ${examplePublicIp.id}
          backendAddressPools:
            - name: ${backendAddressPoolName}
          backendHttpSettings:
            - name: ${httpSettingName}
              cookieBasedAffinity: Disabled
              path: /path1/
              port: 80
              protocol: Http
              requestTimeout: 60
          httpListeners:
            - name: ${listenerName}
              frontendIpConfigurationName: ${frontendIpConfigurationName}
              frontendPortName: ${frontendPortName}
              protocol: Http
          requestRoutingRules:
            - name: ${requestRoutingRuleName}
              priority: 9
              ruleType: Basic
              httpListenerName: ${listenerName}
              backendAddressPoolName: ${backendAddressPoolName}
              backendHttpSettingsName: ${httpSettingName}
    variables:
      backendAddressPoolName: ${exampleVirtualNetwork.name}-beap
      frontendPortName: ${exampleVirtualNetwork.name}-feport
      frontendIpConfigurationName: ${exampleVirtualNetwork.name}-feip
      httpSettingName: ${exampleVirtualNetwork.name}-be-htst
      listenerName: ${exampleVirtualNetwork.name}-httplstn
      requestRoutingRuleName: ${exampleVirtualNetwork.name}-rqrt
      redirectConfigurationName: ${exampleVirtualNetwork.name}-rdrcfg
    

    Create ApplicationGateway Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new ApplicationGateway(name: string, args: ApplicationGatewayArgs, opts?: CustomResourceOptions);
    @overload
    def ApplicationGateway(resource_name: str,
                           args: ApplicationGatewayArgs,
                           opts: Optional[ResourceOptions] = None)
    
    @overload
    def ApplicationGateway(resource_name: str,
                           opts: Optional[ResourceOptions] = None,
                           frontend_ip_configurations: Optional[Sequence[ApplicationGatewayFrontendIpConfigurationArgs]] = None,
                           sku: Optional[ApplicationGatewaySkuArgs] = None,
                           backend_address_pools: Optional[Sequence[ApplicationGatewayBackendAddressPoolArgs]] = None,
                           backend_http_settings: Optional[Sequence[ApplicationGatewayBackendHttpSettingArgs]] = None,
                           resource_group_name: Optional[str] = None,
                           request_routing_rules: Optional[Sequence[ApplicationGatewayRequestRoutingRuleArgs]] = None,
                           http_listeners: Optional[Sequence[ApplicationGatewayHttpListenerArgs]] = None,
                           gateway_ip_configurations: Optional[Sequence[ApplicationGatewayGatewayIpConfigurationArgs]] = None,
                           frontend_ports: Optional[Sequence[ApplicationGatewayFrontendPortArgs]] = None,
                           name: Optional[str] = None,
                           enable_http2: Optional[bool] = None,
                           firewall_policy_id: Optional[str] = None,
                           global_: Optional[ApplicationGatewayGlobalArgs] = None,
                           fips_enabled: Optional[bool] = None,
                           identity: Optional[ApplicationGatewayIdentityArgs] = None,
                           location: Optional[str] = None,
                           authentication_certificates: Optional[Sequence[ApplicationGatewayAuthenticationCertificateArgs]] = None,
                           private_link_configurations: Optional[Sequence[ApplicationGatewayPrivateLinkConfigurationArgs]] = None,
                           probes: Optional[Sequence[ApplicationGatewayProbeArgs]] = None,
                           redirect_configurations: Optional[Sequence[ApplicationGatewayRedirectConfigurationArgs]] = None,
                           force_firewall_policy_association: Optional[bool] = None,
                           custom_error_configurations: Optional[Sequence[ApplicationGatewayCustomErrorConfigurationArgs]] = None,
                           rewrite_rule_sets: Optional[Sequence[ApplicationGatewayRewriteRuleSetArgs]] = None,
                           autoscale_configuration: Optional[ApplicationGatewayAutoscaleConfigurationArgs] = None,
                           ssl_certificates: Optional[Sequence[ApplicationGatewaySslCertificateArgs]] = None,
                           ssl_policy: Optional[ApplicationGatewaySslPolicyArgs] = None,
                           ssl_profiles: Optional[Sequence[ApplicationGatewaySslProfileArgs]] = None,
                           tags: Optional[Mapping[str, str]] = None,
                           trusted_client_certificates: Optional[Sequence[ApplicationGatewayTrustedClientCertificateArgs]] = None,
                           trusted_root_certificates: Optional[Sequence[ApplicationGatewayTrustedRootCertificateArgs]] = None,
                           url_path_maps: Optional[Sequence[ApplicationGatewayUrlPathMapArgs]] = None,
                           waf_configuration: Optional[ApplicationGatewayWafConfigurationArgs] = None,
                           zones: Optional[Sequence[str]] = None)
    func NewApplicationGateway(ctx *Context, name string, args ApplicationGatewayArgs, opts ...ResourceOption) (*ApplicationGateway, error)
    public ApplicationGateway(string name, ApplicationGatewayArgs args, CustomResourceOptions? opts = null)
    public ApplicationGateway(String name, ApplicationGatewayArgs args)
    public ApplicationGateway(String name, ApplicationGatewayArgs args, CustomResourceOptions options)
    
    type: azure:network:ApplicationGateway
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ApplicationGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ApplicationGatewayArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ApplicationGatewayArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ApplicationGatewayArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ApplicationGatewayArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var applicationGatewayResource = new Azure.Network.ApplicationGateway("applicationGatewayResource", new()
    {
        FrontendIpConfigurations = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayFrontendIpConfigurationArgs
            {
                Name = "string",
                Id = "string",
                PrivateIpAddress = "string",
                PrivateIpAddressAllocation = "string",
                PrivateLinkConfigurationId = "string",
                PrivateLinkConfigurationName = "string",
                PublicIpAddressId = "string",
                SubnetId = "string",
            },
        },
        Sku = new Azure.Network.Inputs.ApplicationGatewaySkuArgs
        {
            Name = "string",
            Tier = "string",
            Capacity = 0,
        },
        BackendAddressPools = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayBackendAddressPoolArgs
            {
                Name = "string",
                Fqdns = new[]
                {
                    "string",
                },
                Id = "string",
                IpAddresses = new[]
                {
                    "string",
                },
            },
        },
        BackendHttpSettings = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingArgs
            {
                Name = "string",
                Port = 0,
                Protocol = "string",
                CookieBasedAffinity = "string",
                PickHostNameFromBackendAddress = false,
                Id = "string",
                AuthenticationCertificates = new[]
                {
                    new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingAuthenticationCertificateArgs
                    {
                        Name = "string",
                        Id = "string",
                    },
                },
                Path = "string",
                AffinityCookieName = "string",
                HostName = "string",
                ProbeId = "string",
                ProbeName = "string",
                ConnectionDraining = new Azure.Network.Inputs.ApplicationGatewayBackendHttpSettingConnectionDrainingArgs
                {
                    DrainTimeoutSec = 0,
                    Enabled = false,
                },
                RequestTimeout = 0,
                TrustedRootCertificateNames = new[]
                {
                    "string",
                },
            },
        },
        ResourceGroupName = "string",
        RequestRoutingRules = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayRequestRoutingRuleArgs
            {
                HttpListenerName = "string",
                RuleType = "string",
                Name = "string",
                Priority = 0,
                HttpListenerId = "string",
                BackendHttpSettingsName = "string",
                Id = "string",
                BackendHttpSettingsId = "string",
                BackendAddressPoolId = "string",
                RedirectConfigurationId = "string",
                RedirectConfigurationName = "string",
                RewriteRuleSetId = "string",
                RewriteRuleSetName = "string",
                BackendAddressPoolName = "string",
                UrlPathMapId = "string",
                UrlPathMapName = "string",
            },
        },
        HttpListeners = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayHttpListenerArgs
            {
                FrontendPortName = "string",
                Protocol = "string",
                Name = "string",
                FrontendIpConfigurationName = "string",
                Id = "string",
                FrontendPortId = "string",
                HostName = "string",
                HostNames = new[]
                {
                    "string",
                },
                CustomErrorConfigurations = new[]
                {
                    new Azure.Network.Inputs.ApplicationGatewayHttpListenerCustomErrorConfigurationArgs
                    {
                        CustomErrorPageUrl = "string",
                        StatusCode = "string",
                        Id = "string",
                    },
                },
                FrontendIpConfigurationId = "string",
                FirewallPolicyId = "string",
                RequireSni = false,
                SslCertificateId = "string",
                SslCertificateName = "string",
                SslProfileId = "string",
                SslProfileName = "string",
            },
        },
        GatewayIpConfigurations = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayGatewayIpConfigurationArgs
            {
                Name = "string",
                SubnetId = "string",
                Id = "string",
            },
        },
        FrontendPorts = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayFrontendPortArgs
            {
                Name = "string",
                Port = 0,
                Id = "string",
            },
        },
        Name = "string",
        EnableHttp2 = false,
        FirewallPolicyId = "string",
        Global = new Azure.Network.Inputs.ApplicationGatewayGlobalArgs
        {
            RequestBufferingEnabled = false,
            ResponseBufferingEnabled = false,
        },
        FipsEnabled = false,
        Identity = new Azure.Network.Inputs.ApplicationGatewayIdentityArgs
        {
            Type = "string",
            IdentityIds = new[]
            {
                "string",
            },
            PrincipalId = "string",
            TenantId = "string",
        },
        Location = "string",
        AuthenticationCertificates = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayAuthenticationCertificateArgs
            {
                Data = "string",
                Name = "string",
                Id = "string",
            },
        },
        PrivateLinkConfigurations = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayPrivateLinkConfigurationArgs
            {
                IpConfigurations = new[]
                {
                    new Azure.Network.Inputs.ApplicationGatewayPrivateLinkConfigurationIpConfigurationArgs
                    {
                        Name = "string",
                        Primary = false,
                        PrivateIpAddressAllocation = "string",
                        SubnetId = "string",
                        PrivateIpAddress = "string",
                    },
                },
                Name = "string",
                Id = "string",
            },
        },
        Probes = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayProbeArgs
            {
                Interval = 0,
                Name = "string",
                Path = "string",
                Protocol = "string",
                Timeout = 0,
                UnhealthyThreshold = 0,
                Host = "string",
                Id = "string",
                Match = new Azure.Network.Inputs.ApplicationGatewayProbeMatchArgs
                {
                    StatusCodes = new[]
                    {
                        "string",
                    },
                    Body = "string",
                },
                MinimumServers = 0,
                PickHostNameFromBackendHttpSettings = false,
                Port = 0,
            },
        },
        RedirectConfigurations = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayRedirectConfigurationArgs
            {
                Name = "string",
                RedirectType = "string",
                Id = "string",
                IncludePath = false,
                IncludeQueryString = false,
                TargetListenerId = "string",
                TargetListenerName = "string",
                TargetUrl = "string",
            },
        },
        ForceFirewallPolicyAssociation = false,
        CustomErrorConfigurations = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayCustomErrorConfigurationArgs
            {
                CustomErrorPageUrl = "string",
                StatusCode = "string",
                Id = "string",
            },
        },
        RewriteRuleSets = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetArgs
            {
                Name = "string",
                Id = "string",
                RewriteRules = new[]
                {
                    new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetRewriteRuleArgs
                    {
                        Name = "string",
                        RuleSequence = 0,
                        Conditions = new[]
                        {
                            new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetRewriteRuleConditionArgs
                            {
                                Pattern = "string",
                                Variable = "string",
                                IgnoreCase = false,
                                Negate = false,
                            },
                        },
                        RequestHeaderConfigurations = new[]
                        {
                            new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationArgs
                            {
                                HeaderName = "string",
                                HeaderValue = "string",
                            },
                        },
                        ResponseHeaderConfigurations = new[]
                        {
                            new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationArgs
                            {
                                HeaderName = "string",
                                HeaderValue = "string",
                            },
                        },
                        Url = new Azure.Network.Inputs.ApplicationGatewayRewriteRuleSetRewriteRuleUrlArgs
                        {
                            Components = "string",
                            Path = "string",
                            QueryString = "string",
                            Reroute = false,
                        },
                    },
                },
            },
        },
        AutoscaleConfiguration = new Azure.Network.Inputs.ApplicationGatewayAutoscaleConfigurationArgs
        {
            MinCapacity = 0,
            MaxCapacity = 0,
        },
        SslCertificates = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewaySslCertificateArgs
            {
                Name = "string",
                Data = "string",
                Id = "string",
                KeyVaultSecretId = "string",
                Password = "string",
                PublicCertData = "string",
            },
        },
        SslPolicy = new Azure.Network.Inputs.ApplicationGatewaySslPolicyArgs
        {
            CipherSuites = new[]
            {
                "string",
            },
            DisabledProtocols = new[]
            {
                "string",
            },
            MinProtocolVersion = "string",
            PolicyName = "string",
            PolicyType = "string",
        },
        SslProfiles = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewaySslProfileArgs
            {
                Name = "string",
                Id = "string",
                SslPolicy = new Azure.Network.Inputs.ApplicationGatewaySslProfileSslPolicyArgs
                {
                    CipherSuites = new[]
                    {
                        "string",
                    },
                    DisabledProtocols = new[]
                    {
                        "string",
                    },
                    MinProtocolVersion = "string",
                    PolicyName = "string",
                    PolicyType = "string",
                },
                TrustedClientCertificateNames = new[]
                {
                    "string",
                },
                VerifyClientCertIssuerDn = false,
                VerifyClientCertificateRevocation = "string",
            },
        },
        Tags = 
        {
            { "string", "string" },
        },
        TrustedClientCertificates = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayTrustedClientCertificateArgs
            {
                Data = "string",
                Name = "string",
                Id = "string",
            },
        },
        TrustedRootCertificates = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayTrustedRootCertificateArgs
            {
                Name = "string",
                Data = "string",
                Id = "string",
                KeyVaultSecretId = "string",
            },
        },
        UrlPathMaps = new[]
        {
            new Azure.Network.Inputs.ApplicationGatewayUrlPathMapArgs
            {
                Name = "string",
                PathRules = new[]
                {
                    new Azure.Network.Inputs.ApplicationGatewayUrlPathMapPathRuleArgs
                    {
                        Name = "string",
                        Paths = new[]
                        {
                            "string",
                        },
                        BackendAddressPoolId = "string",
                        BackendAddressPoolName = "string",
                        BackendHttpSettingsId = "string",
                        BackendHttpSettingsName = "string",
                        FirewallPolicyId = "string",
                        Id = "string",
                        RedirectConfigurationId = "string",
                        RedirectConfigurationName = "string",
                        RewriteRuleSetId = "string",
                        RewriteRuleSetName = "string",
                    },
                },
                DefaultBackendAddressPoolId = "string",
                DefaultBackendAddressPoolName = "string",
                DefaultBackendHttpSettingsId = "string",
                DefaultBackendHttpSettingsName = "string",
                DefaultRedirectConfigurationId = "string",
                DefaultRedirectConfigurationName = "string",
                DefaultRewriteRuleSetId = "string",
                DefaultRewriteRuleSetName = "string",
                Id = "string",
            },
        },
        WafConfiguration = new Azure.Network.Inputs.ApplicationGatewayWafConfigurationArgs
        {
            Enabled = false,
            FirewallMode = "string",
            RuleSetVersion = "string",
            DisabledRuleGroups = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayWafConfigurationDisabledRuleGroupArgs
                {
                    RuleGroupName = "string",
                    Rules = new[]
                    {
                        0,
                    },
                },
            },
            Exclusions = new[]
            {
                new Azure.Network.Inputs.ApplicationGatewayWafConfigurationExclusionArgs
                {
                    MatchVariable = "string",
                    Selector = "string",
                    SelectorMatchOperator = "string",
                },
            },
            FileUploadLimitMb = 0,
            MaxRequestBodySizeKb = 0,
            RequestBodyCheck = false,
            RuleSetType = "string",
        },
        Zones = new[]
        {
            "string",
        },
    });
    
    example, err := network.NewApplicationGateway(ctx, "applicationGatewayResource", &network.ApplicationGatewayArgs{
    	FrontendIpConfigurations: network.ApplicationGatewayFrontendIpConfigurationArray{
    		&network.ApplicationGatewayFrontendIpConfigurationArgs{
    			Name:                         pulumi.String("string"),
    			Id:                           pulumi.String("string"),
    			PrivateIpAddress:             pulumi.String("string"),
    			PrivateIpAddressAllocation:   pulumi.String("string"),
    			PrivateLinkConfigurationId:   pulumi.String("string"),
    			PrivateLinkConfigurationName: pulumi.String("string"),
    			PublicIpAddressId:            pulumi.String("string"),
    			SubnetId:                     pulumi.String("string"),
    		},
    	},
    	Sku: &network.ApplicationGatewaySkuArgs{
    		Name:     pulumi.String("string"),
    		Tier:     pulumi.String("string"),
    		Capacity: pulumi.Int(0),
    	},
    	BackendAddressPools: network.ApplicationGatewayBackendAddressPoolArray{
    		&network.ApplicationGatewayBackendAddressPoolArgs{
    			Name: pulumi.String("string"),
    			Fqdns: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Id: pulumi.String("string"),
    			IpAddresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	BackendHttpSettings: network.ApplicationGatewayBackendHttpSettingArray{
    		&network.ApplicationGatewayBackendHttpSettingArgs{
    			Name:                           pulumi.String("string"),
    			Port:                           pulumi.Int(0),
    			Protocol:                       pulumi.String("string"),
    			CookieBasedAffinity:            pulumi.String("string"),
    			PickHostNameFromBackendAddress: pulumi.Bool(false),
    			Id:                             pulumi.String("string"),
    			AuthenticationCertificates: network.ApplicationGatewayBackendHttpSettingAuthenticationCertificateArray{
    				&network.ApplicationGatewayBackendHttpSettingAuthenticationCertificateArgs{
    					Name: pulumi.String("string"),
    					Id:   pulumi.String("string"),
    				},
    			},
    			Path:               pulumi.String("string"),
    			AffinityCookieName: pulumi.String("string"),
    			HostName:           pulumi.String("string"),
    			ProbeId:            pulumi.String("string"),
    			ProbeName:          pulumi.String("string"),
    			ConnectionDraining: &network.ApplicationGatewayBackendHttpSettingConnectionDrainingArgs{
    				DrainTimeoutSec: pulumi.Int(0),
    				Enabled:         pulumi.Bool(false),
    			},
    			RequestTimeout: pulumi.Int(0),
    			TrustedRootCertificateNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	ResourceGroupName: pulumi.String("string"),
    	RequestRoutingRules: network.ApplicationGatewayRequestRoutingRuleArray{
    		&network.ApplicationGatewayRequestRoutingRuleArgs{
    			HttpListenerName:          pulumi.String("string"),
    			RuleType:                  pulumi.String("string"),
    			Name:                      pulumi.String("string"),
    			Priority:                  pulumi.Int(0),
    			HttpListenerId:            pulumi.String("string"),
    			BackendHttpSettingsName:   pulumi.String("string"),
    			Id:                        pulumi.String("string"),
    			BackendHttpSettingsId:     pulumi.String("string"),
    			BackendAddressPoolId:      pulumi.String("string"),
    			RedirectConfigurationId:   pulumi.String("string"),
    			RedirectConfigurationName: pulumi.String("string"),
    			RewriteRuleSetId:          pulumi.String("string"),
    			RewriteRuleSetName:        pulumi.String("string"),
    			BackendAddressPoolName:    pulumi.String("string"),
    			UrlPathMapId:              pulumi.String("string"),
    			UrlPathMapName:            pulumi.String("string"),
    		},
    	},
    	HttpListeners: network.ApplicationGatewayHttpListenerArray{
    		&network.ApplicationGatewayHttpListenerArgs{
    			FrontendPortName:            pulumi.String("string"),
    			Protocol:                    pulumi.String("string"),
    			Name:                        pulumi.String("string"),
    			FrontendIpConfigurationName: pulumi.String("string"),
    			Id:                          pulumi.String("string"),
    			FrontendPortId:              pulumi.String("string"),
    			HostName:                    pulumi.String("string"),
    			HostNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			CustomErrorConfigurations: network.ApplicationGatewayHttpListenerCustomErrorConfigurationArray{
    				&network.ApplicationGatewayHttpListenerCustomErrorConfigurationArgs{
    					CustomErrorPageUrl: pulumi.String("string"),
    					StatusCode:         pulumi.String("string"),
    					Id:                 pulumi.String("string"),
    				},
    			},
    			FrontendIpConfigurationId: pulumi.String("string"),
    			FirewallPolicyId:          pulumi.String("string"),
    			RequireSni:                pulumi.Bool(false),
    			SslCertificateId:          pulumi.String("string"),
    			SslCertificateName:        pulumi.String("string"),
    			SslProfileId:              pulumi.String("string"),
    			SslProfileName:            pulumi.String("string"),
    		},
    	},
    	GatewayIpConfigurations: network.ApplicationGatewayGatewayIpConfigurationArray{
    		&network.ApplicationGatewayGatewayIpConfigurationArgs{
    			Name:     pulumi.String("string"),
    			SubnetId: pulumi.String("string"),
    			Id:       pulumi.String("string"),
    		},
    	},
    	FrontendPorts: network.ApplicationGatewayFrontendPortArray{
    		&network.ApplicationGatewayFrontendPortArgs{
    			Name: pulumi.String("string"),
    			Port: pulumi.Int(0),
    			Id:   pulumi.String("string"),
    		},
    	},
    	Name:             pulumi.String("string"),
    	EnableHttp2:      pulumi.Bool(false),
    	FirewallPolicyId: pulumi.String("string"),
    	Global: &network.ApplicationGatewayGlobalArgs{
    		RequestBufferingEnabled:  pulumi.Bool(false),
    		ResponseBufferingEnabled: pulumi.Bool(false),
    	},
    	FipsEnabled: pulumi.Bool(false),
    	Identity: &network.ApplicationGatewayIdentityArgs{
    		Type: pulumi.String("string"),
    		IdentityIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		PrincipalId: pulumi.String("string"),
    		TenantId:    pulumi.String("string"),
    	},
    	Location: pulumi.String("string"),
    	AuthenticationCertificates: network.ApplicationGatewayAuthenticationCertificateArray{
    		&network.ApplicationGatewayAuthenticationCertificateArgs{
    			Data: pulumi.String("string"),
    			Name: pulumi.String("string"),
    			Id:   pulumi.String("string"),
    		},
    	},
    	PrivateLinkConfigurations: network.ApplicationGatewayPrivateLinkConfigurationArray{
    		&network.ApplicationGatewayPrivateLinkConfigurationArgs{
    			IpConfigurations: network.ApplicationGatewayPrivateLinkConfigurationIpConfigurationArray{
    				&network.ApplicationGatewayPrivateLinkConfigurationIpConfigurationArgs{
    					Name:                       pulumi.String("string"),
    					Primary:                    pulumi.Bool(false),
    					PrivateIpAddressAllocation: pulumi.String("string"),
    					SubnetId:                   pulumi.String("string"),
    					PrivateIpAddress:           pulumi.String("string"),
    				},
    			},
    			Name: pulumi.String("string"),
    			Id:   pulumi.String("string"),
    		},
    	},
    	Probes: network.ApplicationGatewayProbeArray{
    		&network.ApplicationGatewayProbeArgs{
    			Interval:           pulumi.Int(0),
    			Name:               pulumi.String("string"),
    			Path:               pulumi.String("string"),
    			Protocol:           pulumi.String("string"),
    			Timeout:            pulumi.Int(0),
    			UnhealthyThreshold: pulumi.Int(0),
    			Host:               pulumi.String("string"),
    			Id:                 pulumi.String("string"),
    			Match: &network.ApplicationGatewayProbeMatchArgs{
    				StatusCodes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Body: pulumi.String("string"),
    			},
    			MinimumServers:                      pulumi.Int(0),
    			PickHostNameFromBackendHttpSettings: pulumi.Bool(false),
    			Port:                                pulumi.Int(0),
    		},
    	},
    	RedirectConfigurations: network.ApplicationGatewayRedirectConfigurationArray{
    		&network.ApplicationGatewayRedirectConfigurationArgs{
    			Name:               pulumi.String("string"),
    			RedirectType:       pulumi.String("string"),
    			Id:                 pulumi.String("string"),
    			IncludePath:        pulumi.Bool(false),
    			IncludeQueryString: pulumi.Bool(false),
    			TargetListenerId:   pulumi.String("string"),
    			TargetListenerName: pulumi.String("string"),
    			TargetUrl:          pulumi.String("string"),
    		},
    	},
    	ForceFirewallPolicyAssociation: pulumi.Bool(false),
    	CustomErrorConfigurations: network.ApplicationGatewayCustomErrorConfigurationArray{
    		&network.ApplicationGatewayCustomErrorConfigurationArgs{
    			CustomErrorPageUrl: pulumi.String("string"),
    			StatusCode:         pulumi.String("string"),
    			Id:                 pulumi.String("string"),
    		},
    	},
    	RewriteRuleSets: network.ApplicationGatewayRewriteRuleSetArray{
    		&network.ApplicationGatewayRewriteRuleSetArgs{
    			Name: pulumi.String("string"),
    			Id:   pulumi.String("string"),
    			RewriteRules: network.ApplicationGatewayRewriteRuleSetRewriteRuleArray{
    				&network.ApplicationGatewayRewriteRuleSetRewriteRuleArgs{
    					Name:         pulumi.String("string"),
    					RuleSequence: pulumi.Int(0),
    					Conditions: network.ApplicationGatewayRewriteRuleSetRewriteRuleConditionArray{
    						&network.ApplicationGatewayRewriteRuleSetRewriteRuleConditionArgs{
    							Pattern:    pulumi.String("string"),
    							Variable:   pulumi.String("string"),
    							IgnoreCase: pulumi.Bool(false),
    							Negate:     pulumi.Bool(false),
    						},
    					},
    					RequestHeaderConfigurations: network.ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationArray{
    						&network.ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationArgs{
    							HeaderName:  pulumi.String("string"),
    							HeaderValue: pulumi.String("string"),
    						},
    					},
    					ResponseHeaderConfigurations: network.ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationArray{
    						&network.ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationArgs{
    							HeaderName:  pulumi.String("string"),
    							HeaderValue: pulumi.String("string"),
    						},
    					},
    					Url: &network.ApplicationGatewayRewriteRuleSetRewriteRuleUrlArgs{
    						Components:  pulumi.String("string"),
    						Path:        pulumi.String("string"),
    						QueryString: pulumi.String("string"),
    						Reroute:     pulumi.Bool(false),
    					},
    				},
    			},
    		},
    	},
    	AutoscaleConfiguration: &network.ApplicationGatewayAutoscaleConfigurationArgs{
    		MinCapacity: pulumi.Int(0),
    		MaxCapacity: pulumi.Int(0),
    	},
    	SslCertificates: network.ApplicationGatewaySslCertificateArray{
    		&network.ApplicationGatewaySslCertificateArgs{
    			Name:             pulumi.String("string"),
    			Data:             pulumi.String("string"),
    			Id:               pulumi.String("string"),
    			KeyVaultSecretId: pulumi.String("string"),
    			Password:         pulumi.String("string"),
    			PublicCertData:   pulumi.String("string"),
    		},
    	},
    	SslPolicy: &network.ApplicationGatewaySslPolicyArgs{
    		CipherSuites: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		DisabledProtocols: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		MinProtocolVersion: pulumi.String("string"),
    		PolicyName:         pulumi.String("string"),
    		PolicyType:         pulumi.String("string"),
    	},
    	SslProfiles: network.ApplicationGatewaySslProfileArray{
    		&network.ApplicationGatewaySslProfileArgs{
    			Name: pulumi.String("string"),
    			Id:   pulumi.String("string"),
    			SslPolicy: &network.ApplicationGatewaySslProfileSslPolicyArgs{
    				CipherSuites: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DisabledProtocols: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				MinProtocolVersion: pulumi.String("string"),
    				PolicyName:         pulumi.String("string"),
    				PolicyType:         pulumi.String("string"),
    			},
    			TrustedClientCertificateNames: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			VerifyClientCertIssuerDn:          pulumi.Bool(false),
    			VerifyClientCertificateRevocation: pulumi.String("string"),
    		},
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TrustedClientCertificates: network.ApplicationGatewayTrustedClientCertificateArray{
    		&network.ApplicationGatewayTrustedClientCertificateArgs{
    			Data: pulumi.String("string"),
    			Name: pulumi.String("string"),
    			Id:   pulumi.String("string"),
    		},
    	},
    	TrustedRootCertificates: network.ApplicationGatewayTrustedRootCertificateArray{
    		&network.ApplicationGatewayTrustedRootCertificateArgs{
    			Name:             pulumi.String("string"),
    			Data:             pulumi.String("string"),
    			Id:               pulumi.String("string"),
    			KeyVaultSecretId: pulumi.String("string"),
    		},
    	},
    	UrlPathMaps: network.ApplicationGatewayUrlPathMapArray{
    		&network.ApplicationGatewayUrlPathMapArgs{
    			Name: pulumi.String("string"),
    			PathRules: network.ApplicationGatewayUrlPathMapPathRuleArray{
    				&network.ApplicationGatewayUrlPathMapPathRuleArgs{
    					Name: pulumi.String("string"),
    					Paths: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					BackendAddressPoolId:      pulumi.String("string"),
    					BackendAddressPoolName:    pulumi.String("string"),
    					BackendHttpSettingsId:     pulumi.String("string"),
    					BackendHttpSettingsName:   pulumi.String("string"),
    					FirewallPolicyId:          pulumi.String("string"),
    					Id:                        pulumi.String("string"),
    					RedirectConfigurationId:   pulumi.String("string"),
    					RedirectConfigurationName: pulumi.String("string"),
    					RewriteRuleSetId:          pulumi.String("string"),
    					RewriteRuleSetName:        pulumi.String("string"),
    				},
    			},
    			DefaultBackendAddressPoolId:      pulumi.String("string"),
    			DefaultBackendAddressPoolName:    pulumi.String("string"),
    			DefaultBackendHttpSettingsId:     pulumi.String("string"),
    			DefaultBackendHttpSettingsName:   pulumi.String("string"),
    			DefaultRedirectConfigurationId:   pulumi.String("string"),
    			DefaultRedirectConfigurationName: pulumi.String("string"),
    			DefaultRewriteRuleSetId:          pulumi.String("string"),
    			DefaultRewriteRuleSetName:        pulumi.String("string"),
    			Id:                               pulumi.String("string"),
    		},
    	},
    	WafConfiguration: &network.ApplicationGatewayWafConfigurationArgs{
    		Enabled:        pulumi.Bool(false),
    		FirewallMode:   pulumi.String("string"),
    		RuleSetVersion: pulumi.String("string"),
    		DisabledRuleGroups: network.ApplicationGatewayWafConfigurationDisabledRuleGroupArray{
    			&network.ApplicationGatewayWafConfigurationDisabledRuleGroupArgs{
    				RuleGroupName: pulumi.String("string"),
    				Rules: pulumi.IntArray{
    					pulumi.Int(0),
    				},
    			},
    		},
    		Exclusions: network.ApplicationGatewayWafConfigurationExclusionArray{
    			&network.ApplicationGatewayWafConfigurationExclusionArgs{
    				MatchVariable:         pulumi.String("string"),
    				Selector:              pulumi.String("string"),
    				SelectorMatchOperator: pulumi.String("string"),
    			},
    		},
    		FileUploadLimitMb:    pulumi.Int(0),
    		MaxRequestBodySizeKb: pulumi.Int(0),
    		RequestBodyCheck:     pulumi.Bool(false),
    		RuleSetType:          pulumi.String("string"),
    	},
    	Zones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var applicationGatewayResource = new ApplicationGateway("applicationGatewayResource", ApplicationGatewayArgs.builder()
        .frontendIpConfigurations(ApplicationGatewayFrontendIpConfigurationArgs.builder()
            .name("string")
            .id("string")
            .privateIpAddress("string")
            .privateIpAddressAllocation("string")
            .privateLinkConfigurationId("string")
            .privateLinkConfigurationName("string")
            .publicIpAddressId("string")
            .subnetId("string")
            .build())
        .sku(ApplicationGatewaySkuArgs.builder()
            .name("string")
            .tier("string")
            .capacity(0)
            .build())
        .backendAddressPools(ApplicationGatewayBackendAddressPoolArgs.builder()
            .name("string")
            .fqdns("string")
            .id("string")
            .ipAddresses("string")
            .build())
        .backendHttpSettings(ApplicationGatewayBackendHttpSettingArgs.builder()
            .name("string")
            .port(0)
            .protocol("string")
            .cookieBasedAffinity("string")
            .pickHostNameFromBackendAddress(false)
            .id("string")
            .authenticationCertificates(ApplicationGatewayBackendHttpSettingAuthenticationCertificateArgs.builder()
                .name("string")
                .id("string")
                .build())
            .path("string")
            .affinityCookieName("string")
            .hostName("string")
            .probeId("string")
            .probeName("string")
            .connectionDraining(ApplicationGatewayBackendHttpSettingConnectionDrainingArgs.builder()
                .drainTimeoutSec(0)
                .enabled(false)
                .build())
            .requestTimeout(0)
            .trustedRootCertificateNames("string")
            .build())
        .resourceGroupName("string")
        .requestRoutingRules(ApplicationGatewayRequestRoutingRuleArgs.builder()
            .httpListenerName("string")
            .ruleType("string")
            .name("string")
            .priority(0)
            .httpListenerId("string")
            .backendHttpSettingsName("string")
            .id("string")
            .backendHttpSettingsId("string")
            .backendAddressPoolId("string")
            .redirectConfigurationId("string")
            .redirectConfigurationName("string")
            .rewriteRuleSetId("string")
            .rewriteRuleSetName("string")
            .backendAddressPoolName("string")
            .urlPathMapId("string")
            .urlPathMapName("string")
            .build())
        .httpListeners(ApplicationGatewayHttpListenerArgs.builder()
            .frontendPortName("string")
            .protocol("string")
            .name("string")
            .frontendIpConfigurationName("string")
            .id("string")
            .frontendPortId("string")
            .hostName("string")
            .hostNames("string")
            .customErrorConfigurations(ApplicationGatewayHttpListenerCustomErrorConfigurationArgs.builder()
                .customErrorPageUrl("string")
                .statusCode("string")
                .id("string")
                .build())
            .frontendIpConfigurationId("string")
            .firewallPolicyId("string")
            .requireSni(false)
            .sslCertificateId("string")
            .sslCertificateName("string")
            .sslProfileId("string")
            .sslProfileName("string")
            .build())
        .gatewayIpConfigurations(ApplicationGatewayGatewayIpConfigurationArgs.builder()
            .name("string")
            .subnetId("string")
            .id("string")
            .build())
        .frontendPorts(ApplicationGatewayFrontendPortArgs.builder()
            .name("string")
            .port(0)
            .id("string")
            .build())
        .name("string")
        .enableHttp2(false)
        .firewallPolicyId("string")
        .global(ApplicationGatewayGlobalArgs.builder()
            .requestBufferingEnabled(false)
            .responseBufferingEnabled(false)
            .build())
        .fipsEnabled(false)
        .identity(ApplicationGatewayIdentityArgs.builder()
            .type("string")
            .identityIds("string")
            .principalId("string")
            .tenantId("string")
            .build())
        .location("string")
        .authenticationCertificates(ApplicationGatewayAuthenticationCertificateArgs.builder()
            .data("string")
            .name("string")
            .id("string")
            .build())
        .privateLinkConfigurations(ApplicationGatewayPrivateLinkConfigurationArgs.builder()
            .ipConfigurations(ApplicationGatewayPrivateLinkConfigurationIpConfigurationArgs.builder()
                .name("string")
                .primary(false)
                .privateIpAddressAllocation("string")
                .subnetId("string")
                .privateIpAddress("string")
                .build())
            .name("string")
            .id("string")
            .build())
        .probes(ApplicationGatewayProbeArgs.builder()
            .interval(0)
            .name("string")
            .path("string")
            .protocol("string")
            .timeout(0)
            .unhealthyThreshold(0)
            .host("string")
            .id("string")
            .match(ApplicationGatewayProbeMatchArgs.builder()
                .statusCodes("string")
                .body("string")
                .build())
            .minimumServers(0)
            .pickHostNameFromBackendHttpSettings(false)
            .port(0)
            .build())
        .redirectConfigurations(ApplicationGatewayRedirectConfigurationArgs.builder()
            .name("string")
            .redirectType("string")
            .id("string")
            .includePath(false)
            .includeQueryString(false)
            .targetListenerId("string")
            .targetListenerName("string")
            .targetUrl("string")
            .build())
        .forceFirewallPolicyAssociation(false)
        .customErrorConfigurations(ApplicationGatewayCustomErrorConfigurationArgs.builder()
            .customErrorPageUrl("string")
            .statusCode("string")
            .id("string")
            .build())
        .rewriteRuleSets(ApplicationGatewayRewriteRuleSetArgs.builder()
            .name("string")
            .id("string")
            .rewriteRules(ApplicationGatewayRewriteRuleSetRewriteRuleArgs.builder()
                .name("string")
                .ruleSequence(0)
                .conditions(ApplicationGatewayRewriteRuleSetRewriteRuleConditionArgs.builder()
                    .pattern("string")
                    .variable("string")
                    .ignoreCase(false)
                    .negate(false)
                    .build())
                .requestHeaderConfigurations(ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationArgs.builder()
                    .headerName("string")
                    .headerValue("string")
                    .build())
                .responseHeaderConfigurations(ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationArgs.builder()
                    .headerName("string")
                    .headerValue("string")
                    .build())
                .url(ApplicationGatewayRewriteRuleSetRewriteRuleUrlArgs.builder()
                    .components("string")
                    .path("string")
                    .queryString("string")
                    .reroute(false)
                    .build())
                .build())
            .build())
        .autoscaleConfiguration(ApplicationGatewayAutoscaleConfigurationArgs.builder()
            .minCapacity(0)
            .maxCapacity(0)
            .build())
        .sslCertificates(ApplicationGatewaySslCertificateArgs.builder()
            .name("string")
            .data("string")
            .id("string")
            .keyVaultSecretId("string")
            .password("string")
            .publicCertData("string")
            .build())
        .sslPolicy(ApplicationGatewaySslPolicyArgs.builder()
            .cipherSuites("string")
            .disabledProtocols("string")
            .minProtocolVersion("string")
            .policyName("string")
            .policyType("string")
            .build())
        .sslProfiles(ApplicationGatewaySslProfileArgs.builder()
            .name("string")
            .id("string")
            .sslPolicy(ApplicationGatewaySslProfileSslPolicyArgs.builder()
                .cipherSuites("string")
                .disabledProtocols("string")
                .minProtocolVersion("string")
                .policyName("string")
                .policyType("string")
                .build())
            .trustedClientCertificateNames("string")
            .verifyClientCertIssuerDn(false)
            .verifyClientCertificateRevocation("string")
            .build())
        .tags(Map.of("string", "string"))
        .trustedClientCertificates(ApplicationGatewayTrustedClientCertificateArgs.builder()
            .data("string")
            .name("string")
            .id("string")
            .build())
        .trustedRootCertificates(ApplicationGatewayTrustedRootCertificateArgs.builder()
            .name("string")
            .data("string")
            .id("string")
            .keyVaultSecretId("string")
            .build())
        .urlPathMaps(ApplicationGatewayUrlPathMapArgs.builder()
            .name("string")
            .pathRules(ApplicationGatewayUrlPathMapPathRuleArgs.builder()
                .name("string")
                .paths("string")
                .backendAddressPoolId("string")
                .backendAddressPoolName("string")
                .backendHttpSettingsId("string")
                .backendHttpSettingsName("string")
                .firewallPolicyId("string")
                .id("string")
                .redirectConfigurationId("string")
                .redirectConfigurationName("string")
                .rewriteRuleSetId("string")
                .rewriteRuleSetName("string")
                .build())
            .defaultBackendAddressPoolId("string")
            .defaultBackendAddressPoolName("string")
            .defaultBackendHttpSettingsId("string")
            .defaultBackendHttpSettingsName("string")
            .defaultRedirectConfigurationId("string")
            .defaultRedirectConfigurationName("string")
            .defaultRewriteRuleSetId("string")
            .defaultRewriteRuleSetName("string")
            .id("string")
            .build())
        .wafConfiguration(ApplicationGatewayWafConfigurationArgs.builder()
            .enabled(false)
            .firewallMode("string")
            .ruleSetVersion("string")
            .disabledRuleGroups(ApplicationGatewayWafConfigurationDisabledRuleGroupArgs.builder()
                .ruleGroupName("string")
                .rules(0)
                .build())
            .exclusions(ApplicationGatewayWafConfigurationExclusionArgs.builder()
                .matchVariable("string")
                .selector("string")
                .selectorMatchOperator("string")
                .build())
            .fileUploadLimitMb(0)
            .maxRequestBodySizeKb(0)
            .requestBodyCheck(false)
            .ruleSetType("string")
            .build())
        .zones("string")
        .build());
    
    application_gateway_resource = azure.network.ApplicationGateway("applicationGatewayResource",
        frontend_ip_configurations=[{
            "name": "string",
            "id": "string",
            "privateIpAddress": "string",
            "privateIpAddressAllocation": "string",
            "privateLinkConfigurationId": "string",
            "privateLinkConfigurationName": "string",
            "publicIpAddressId": "string",
            "subnetId": "string",
        }],
        sku={
            "name": "string",
            "tier": "string",
            "capacity": 0,
        },
        backend_address_pools=[{
            "name": "string",
            "fqdns": ["string"],
            "id": "string",
            "ipAddresses": ["string"],
        }],
        backend_http_settings=[{
            "name": "string",
            "port": 0,
            "protocol": "string",
            "cookieBasedAffinity": "string",
            "pickHostNameFromBackendAddress": False,
            "id": "string",
            "authenticationCertificates": [{
                "name": "string",
                "id": "string",
            }],
            "path": "string",
            "affinityCookieName": "string",
            "hostName": "string",
            "probeId": "string",
            "probeName": "string",
            "connectionDraining": {
                "drainTimeoutSec": 0,
                "enabled": False,
            },
            "requestTimeout": 0,
            "trustedRootCertificateNames": ["string"],
        }],
        resource_group_name="string",
        request_routing_rules=[{
            "httpListenerName": "string",
            "ruleType": "string",
            "name": "string",
            "priority": 0,
            "httpListenerId": "string",
            "backendHttpSettingsName": "string",
            "id": "string",
            "backendHttpSettingsId": "string",
            "backendAddressPoolId": "string",
            "redirectConfigurationId": "string",
            "redirectConfigurationName": "string",
            "rewriteRuleSetId": "string",
            "rewriteRuleSetName": "string",
            "backendAddressPoolName": "string",
            "urlPathMapId": "string",
            "urlPathMapName": "string",
        }],
        http_listeners=[{
            "frontendPortName": "string",
            "protocol": "string",
            "name": "string",
            "frontendIpConfigurationName": "string",
            "id": "string",
            "frontendPortId": "string",
            "hostName": "string",
            "hostNames": ["string"],
            "customErrorConfigurations": [{
                "customErrorPageUrl": "string",
                "statusCode": "string",
                "id": "string",
            }],
            "frontendIpConfigurationId": "string",
            "firewallPolicyId": "string",
            "requireSni": False,
            "sslCertificateId": "string",
            "sslCertificateName": "string",
            "sslProfileId": "string",
            "sslProfileName": "string",
        }],
        gateway_ip_configurations=[{
            "name": "string",
            "subnetId": "string",
            "id": "string",
        }],
        frontend_ports=[{
            "name": "string",
            "port": 0,
            "id": "string",
        }],
        name="string",
        enable_http2=False,
        firewall_policy_id="string",
        global_={
            "requestBufferingEnabled": False,
            "responseBufferingEnabled": False,
        },
        fips_enabled=False,
        identity={
            "type": "string",
            "identityIds": ["string"],
            "principalId": "string",
            "tenantId": "string",
        },
        location="string",
        authentication_certificates=[{
            "data": "string",
            "name": "string",
            "id": "string",
        }],
        private_link_configurations=[{
            "ipConfigurations": [{
                "name": "string",
                "primary": False,
                "privateIpAddressAllocation": "string",
                "subnetId": "string",
                "privateIpAddress": "string",
            }],
            "name": "string",
            "id": "string",
        }],
        probes=[{
            "interval": 0,
            "name": "string",
            "path": "string",
            "protocol": "string",
            "timeout": 0,
            "unhealthyThreshold": 0,
            "host": "string",
            "id": "string",
            "match": {
                "statusCodes": ["string"],
                "body": "string",
            },
            "minimumServers": 0,
            "pickHostNameFromBackendHttpSettings": False,
            "port": 0,
        }],
        redirect_configurations=[{
            "name": "string",
            "redirectType": "string",
            "id": "string",
            "includePath": False,
            "includeQueryString": False,
            "targetListenerId": "string",
            "targetListenerName": "string",
            "targetUrl": "string",
        }],
        force_firewall_policy_association=False,
        custom_error_configurations=[{
            "customErrorPageUrl": "string",
            "statusCode": "string",
            "id": "string",
        }],
        rewrite_rule_sets=[{
            "name": "string",
            "id": "string",
            "rewriteRules": [{
                "name": "string",
                "ruleSequence": 0,
                "conditions": [{
                    "pattern": "string",
                    "variable": "string",
                    "ignoreCase": False,
                    "negate": False,
                }],
                "requestHeaderConfigurations": [{
                    "headerName": "string",
                    "headerValue": "string",
                }],
                "responseHeaderConfigurations": [{
                    "headerName": "string",
                    "headerValue": "string",
                }],
                "url": {
                    "components": "string",
                    "path": "string",
                    "queryString": "string",
                    "reroute": False,
                },
            }],
        }],
        autoscale_configuration={
            "minCapacity": 0,
            "maxCapacity": 0,
        },
        ssl_certificates=[{
            "name": "string",
            "data": "string",
            "id": "string",
            "keyVaultSecretId": "string",
            "password": "string",
            "publicCertData": "string",
        }],
        ssl_policy={
            "cipherSuites": ["string"],
            "disabledProtocols": ["string"],
            "minProtocolVersion": "string",
            "policyName": "string",
            "policyType": "string",
        },
        ssl_profiles=[{
            "name": "string",
            "id": "string",
            "sslPolicy": {
                "cipherSuites": ["string"],
                "disabledProtocols": ["string"],
                "minProtocolVersion": "string",
                "policyName": "string",
                "policyType": "string",
            },
            "trustedClientCertificateNames": ["string"],
            "verifyClientCertIssuerDn": False,
            "verifyClientCertificateRevocation": "string",
        }],
        tags={
            "string": "string",
        },
        trusted_client_certificates=[{
            "data": "string",
            "name": "string",
            "id": "string",
        }],
        trusted_root_certificates=[{
            "name": "string",
            "data": "string",
            "id": "string",
            "keyVaultSecretId": "string",
        }],
        url_path_maps=[{
            "name": "string",
            "pathRules": [{
                "name": "string",
                "paths": ["string"],
                "backendAddressPoolId": "string",
                "backendAddressPoolName": "string",
                "backendHttpSettingsId": "string",
                "backendHttpSettingsName": "string",
                "firewallPolicyId": "string",
                "id": "string",
                "redirectConfigurationId": "string",
                "redirectConfigurationName": "string",
                "rewriteRuleSetId": "string",
                "rewriteRuleSetName": "string",
            }],
            "defaultBackendAddressPoolId": "string",
            "defaultBackendAddressPoolName": "string",
            "defaultBackendHttpSettingsId": "string",
            "defaultBackendHttpSettingsName": "string",
            "defaultRedirectConfigurationId": "string",
            "defaultRedirectConfigurationName": "string",
            "defaultRewriteRuleSetId": "string",
            "defaultRewriteRuleSetName": "string",
            "id": "string",
        }],
        waf_configuration={
            "enabled": False,
            "firewallMode": "string",
            "ruleSetVersion": "string",
            "disabledRuleGroups": [{
                "ruleGroupName": "string",
                "rules": [0],
            }],
            "exclusions": [{
                "matchVariable": "string",
                "selector": "string",
                "selectorMatchOperator": "string",
            }],
            "fileUploadLimitMb": 0,
            "maxRequestBodySizeKb": 0,
            "requestBodyCheck": False,
            "ruleSetType": "string",
        },
        zones=["string"])
    
    const applicationGatewayResource = new azure.network.ApplicationGateway("applicationGatewayResource", {
        frontendIpConfigurations: [{
            name: "string",
            id: "string",
            privateIpAddress: "string",
            privateIpAddressAllocation: "string",
            privateLinkConfigurationId: "string",
            privateLinkConfigurationName: "string",
            publicIpAddressId: "string",
            subnetId: "string",
        }],
        sku: {
            name: "string",
            tier: "string",
            capacity: 0,
        },
        backendAddressPools: [{
            name: "string",
            fqdns: ["string"],
            id: "string",
            ipAddresses: ["string"],
        }],
        backendHttpSettings: [{
            name: "string",
            port: 0,
            protocol: "string",
            cookieBasedAffinity: "string",
            pickHostNameFromBackendAddress: false,
            id: "string",
            authenticationCertificates: [{
                name: "string",
                id: "string",
            }],
            path: "string",
            affinityCookieName: "string",
            hostName: "string",
            probeId: "string",
            probeName: "string",
            connectionDraining: {
                drainTimeoutSec: 0,
                enabled: false,
            },
            requestTimeout: 0,
            trustedRootCertificateNames: ["string"],
        }],
        resourceGroupName: "string",
        requestRoutingRules: [{
            httpListenerName: "string",
            ruleType: "string",
            name: "string",
            priority: 0,
            httpListenerId: "string",
            backendHttpSettingsName: "string",
            id: "string",
            backendHttpSettingsId: "string",
            backendAddressPoolId: "string",
            redirectConfigurationId: "string",
            redirectConfigurationName: "string",
            rewriteRuleSetId: "string",
            rewriteRuleSetName: "string",
            backendAddressPoolName: "string",
            urlPathMapId: "string",
            urlPathMapName: "string",
        }],
        httpListeners: [{
            frontendPortName: "string",
            protocol: "string",
            name: "string",
            frontendIpConfigurationName: "string",
            id: "string",
            frontendPortId: "string",
            hostName: "string",
            hostNames: ["string"],
            customErrorConfigurations: [{
                customErrorPageUrl: "string",
                statusCode: "string",
                id: "string",
            }],
            frontendIpConfigurationId: "string",
            firewallPolicyId: "string",
            requireSni: false,
            sslCertificateId: "string",
            sslCertificateName: "string",
            sslProfileId: "string",
            sslProfileName: "string",
        }],
        gatewayIpConfigurations: [{
            name: "string",
            subnetId: "string",
            id: "string",
        }],
        frontendPorts: [{
            name: "string",
            port: 0,
            id: "string",
        }],
        name: "string",
        enableHttp2: false,
        firewallPolicyId: "string",
        global: {
            requestBufferingEnabled: false,
            responseBufferingEnabled: false,
        },
        fipsEnabled: false,
        identity: {
            type: "string",
            identityIds: ["string"],
            principalId: "string",
            tenantId: "string",
        },
        location: "string",
        authenticationCertificates: [{
            data: "string",
            name: "string",
            id: "string",
        }],
        privateLinkConfigurations: [{
            ipConfigurations: [{
                name: "string",
                primary: false,
                privateIpAddressAllocation: "string",
                subnetId: "string",
                privateIpAddress: "string",
            }],
            name: "string",
            id: "string",
        }],
        probes: [{
            interval: 0,
            name: "string",
            path: "string",
            protocol: "string",
            timeout: 0,
            unhealthyThreshold: 0,
            host: "string",
            id: "string",
            match: {
                statusCodes: ["string"],
                body: "string",
            },
            minimumServers: 0,
            pickHostNameFromBackendHttpSettings: false,
            port: 0,
        }],
        redirectConfigurations: [{
            name: "string",
            redirectType: "string",
            id: "string",
            includePath: false,
            includeQueryString: false,
            targetListenerId: "string",
            targetListenerName: "string",
            targetUrl: "string",
        }],
        forceFirewallPolicyAssociation: false,
        customErrorConfigurations: [{
            customErrorPageUrl: "string",
            statusCode: "string",
            id: "string",
        }],
        rewriteRuleSets: [{
            name: "string",
            id: "string",
            rewriteRules: [{
                name: "string",
                ruleSequence: 0,
                conditions: [{
                    pattern: "string",
                    variable: "string",
                    ignoreCase: false,
                    negate: false,
                }],
                requestHeaderConfigurations: [{
                    headerName: "string",
                    headerValue: "string",
                }],
                responseHeaderConfigurations: [{
                    headerName: "string",
                    headerValue: "string",
                }],
                url: {
                    components: "string",
                    path: "string",
                    queryString: "string",
                    reroute: false,
                },
            }],
        }],
        autoscaleConfiguration: {
            minCapacity: 0,
            maxCapacity: 0,
        },
        sslCertificates: [{
            name: "string",
            data: "string",
            id: "string",
            keyVaultSecretId: "string",
            password: "string",
            publicCertData: "string",
        }],
        sslPolicy: {
            cipherSuites: ["string"],
            disabledProtocols: ["string"],
            minProtocolVersion: "string",
            policyName: "string",
            policyType: "string",
        },
        sslProfiles: [{
            name: "string",
            id: "string",
            sslPolicy: {
                cipherSuites: ["string"],
                disabledProtocols: ["string"],
                minProtocolVersion: "string",
                policyName: "string",
                policyType: "string",
            },
            trustedClientCertificateNames: ["string"],
            verifyClientCertIssuerDn: false,
            verifyClientCertificateRevocation: "string",
        }],
        tags: {
            string: "string",
        },
        trustedClientCertificates: [{
            data: "string",
            name: "string",
            id: "string",
        }],
        trustedRootCertificates: [{
            name: "string",
            data: "string",
            id: "string",
            keyVaultSecretId: "string",
        }],
        urlPathMaps: [{
            name: "string",
            pathRules: [{
                name: "string",
                paths: ["string"],
                backendAddressPoolId: "string",
                backendAddressPoolName: "string",
                backendHttpSettingsId: "string",
                backendHttpSettingsName: "string",
                firewallPolicyId: "string",
                id: "string",
                redirectConfigurationId: "string",
                redirectConfigurationName: "string",
                rewriteRuleSetId: "string",
                rewriteRuleSetName: "string",
            }],
            defaultBackendAddressPoolId: "string",
            defaultBackendAddressPoolName: "string",
            defaultBackendHttpSettingsId: "string",
            defaultBackendHttpSettingsName: "string",
            defaultRedirectConfigurationId: "string",
            defaultRedirectConfigurationName: "string",
            defaultRewriteRuleSetId: "string",
            defaultRewriteRuleSetName: "string",
            id: "string",
        }],
        wafConfiguration: {
            enabled: false,
            firewallMode: "string",
            ruleSetVersion: "string",
            disabledRuleGroups: [{
                ruleGroupName: "string",
                rules: [0],
            }],
            exclusions: [{
                matchVariable: "string",
                selector: "string",
                selectorMatchOperator: "string",
            }],
            fileUploadLimitMb: 0,
            maxRequestBodySizeKb: 0,
            requestBodyCheck: false,
            ruleSetType: "string",
        },
        zones: ["string"],
    });
    
    type: azure:network:ApplicationGateway
    properties:
        authenticationCertificates:
            - data: string
              id: string
              name: string
        autoscaleConfiguration:
            maxCapacity: 0
            minCapacity: 0
        backendAddressPools:
            - fqdns:
                - string
              id: string
              ipAddresses:
                - string
              name: string
        backendHttpSettings:
            - affinityCookieName: string
              authenticationCertificates:
                - id: string
                  name: string
              connectionDraining:
                drainTimeoutSec: 0
                enabled: false
              cookieBasedAffinity: string
              hostName: string
              id: string
              name: string
              path: string
              pickHostNameFromBackendAddress: false
              port: 0
              probeId: string
              probeName: string
              protocol: string
              requestTimeout: 0
              trustedRootCertificateNames:
                - string
        customErrorConfigurations:
            - customErrorPageUrl: string
              id: string
              statusCode: string
        enableHttp2: false
        fipsEnabled: false
        firewallPolicyId: string
        forceFirewallPolicyAssociation: false
        frontendIpConfigurations:
            - id: string
              name: string
              privateIpAddress: string
              privateIpAddressAllocation: string
              privateLinkConfigurationId: string
              privateLinkConfigurationName: string
              publicIpAddressId: string
              subnetId: string
        frontendPorts:
            - id: string
              name: string
              port: 0
        gatewayIpConfigurations:
            - id: string
              name: string
              subnetId: string
        global:
            requestBufferingEnabled: false
            responseBufferingEnabled: false
        httpListeners:
            - customErrorConfigurations:
                - customErrorPageUrl: string
                  id: string
                  statusCode: string
              firewallPolicyId: string
              frontendIpConfigurationId: string
              frontendIpConfigurationName: string
              frontendPortId: string
              frontendPortName: string
              hostName: string
              hostNames:
                - string
              id: string
              name: string
              protocol: string
              requireSni: false
              sslCertificateId: string
              sslCertificateName: string
              sslProfileId: string
              sslProfileName: string
        identity:
            identityIds:
                - string
            principalId: string
            tenantId: string
            type: string
        location: string
        name: string
        privateLinkConfigurations:
            - id: string
              ipConfigurations:
                - name: string
                  primary: false
                  privateIpAddress: string
                  privateIpAddressAllocation: string
                  subnetId: string
              name: string
        probes:
            - host: string
              id: string
              interval: 0
              match:
                body: string
                statusCodes:
                    - string
              minimumServers: 0
              name: string
              path: string
              pickHostNameFromBackendHttpSettings: false
              port: 0
              protocol: string
              timeout: 0
              unhealthyThreshold: 0
        redirectConfigurations:
            - id: string
              includePath: false
              includeQueryString: false
              name: string
              redirectType: string
              targetListenerId: string
              targetListenerName: string
              targetUrl: string
        requestRoutingRules:
            - backendAddressPoolId: string
              backendAddressPoolName: string
              backendHttpSettingsId: string
              backendHttpSettingsName: string
              httpListenerId: string
              httpListenerName: string
              id: string
              name: string
              priority: 0
              redirectConfigurationId: string
              redirectConfigurationName: string
              rewriteRuleSetId: string
              rewriteRuleSetName: string
              ruleType: string
              urlPathMapId: string
              urlPathMapName: string
        resourceGroupName: string
        rewriteRuleSets:
            - id: string
              name: string
              rewriteRules:
                - conditions:
                    - ignoreCase: false
                      negate: false
                      pattern: string
                      variable: string
                  name: string
                  requestHeaderConfigurations:
                    - headerName: string
                      headerValue: string
                  responseHeaderConfigurations:
                    - headerName: string
                      headerValue: string
                  ruleSequence: 0
                  url:
                    components: string
                    path: string
                    queryString: string
                    reroute: false
        sku:
            capacity: 0
            name: string
            tier: string
        sslCertificates:
            - data: string
              id: string
              keyVaultSecretId: string
              name: string
              password: string
              publicCertData: string
        sslPolicy:
            cipherSuites:
                - string
            disabledProtocols:
                - string
            minProtocolVersion: string
            policyName: string
            policyType: string
        sslProfiles:
            - id: string
              name: string
              sslPolicy:
                cipherSuites:
                    - string
                disabledProtocols:
                    - string
                minProtocolVersion: string
                policyName: string
                policyType: string
              trustedClientCertificateNames:
                - string
              verifyClientCertIssuerDn: false
              verifyClientCertificateRevocation: string
        tags:
            string: string
        trustedClientCertificates:
            - data: string
              id: string
              name: string
        trustedRootCertificates:
            - data: string
              id: string
              keyVaultSecretId: string
              name: string
        urlPathMaps:
            - defaultBackendAddressPoolId: string
              defaultBackendAddressPoolName: string
              defaultBackendHttpSettingsId: string
              defaultBackendHttpSettingsName: string
              defaultRedirectConfigurationId: string
              defaultRedirectConfigurationName: string
              defaultRewriteRuleSetId: string
              defaultRewriteRuleSetName: string
              id: string
              name: string
              pathRules:
                - backendAddressPoolId: string
                  backendAddressPoolName: string
                  backendHttpSettingsId: string
                  backendHttpSettingsName: string
                  firewallPolicyId: string
                  id: string
                  name: string
                  paths:
                    - string
                  redirectConfigurationId: string
                  redirectConfigurationName: string
                  rewriteRuleSetId: string
                  rewriteRuleSetName: string
        wafConfiguration:
            disabledRuleGroups:
                - ruleGroupName: string
                  rules:
                    - 0
            enabled: false
            exclusions:
                - matchVariable: string
                  selector: string
                  selectorMatchOperator: string
            fileUploadLimitMb: 0
            firewallMode: string
            maxRequestBodySizeKb: 0
            requestBodyCheck: false
            ruleSetType: string
            ruleSetVersion: string
        zones:
            - string
    

    ApplicationGateway Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ApplicationGateway resource accepts the following input properties:

    BackendAddressPools List<ApplicationGatewayBackendAddressPool>
    One or more backend_address_pool blocks as defined below.
    BackendHttpSettings List<ApplicationGatewayBackendHttpSetting>
    One or more backend_http_settings blocks as defined below.
    FrontendIpConfigurations List<ApplicationGatewayFrontendIpConfiguration>
    One or more frontend_ip_configuration blocks as defined below.
    FrontendPorts List<ApplicationGatewayFrontendPort>
    One or more frontend_port blocks as defined below.
    GatewayIpConfigurations List<ApplicationGatewayGatewayIpConfiguration>
    One or more gateway_ip_configuration blocks as defined below.
    HttpListeners List<ApplicationGatewayHttpListener>
    One or more http_listener blocks as defined below.
    RequestRoutingRules List<ApplicationGatewayRequestRoutingRule>
    One or more request_routing_rule blocks as defined below.
    ResourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    Sku ApplicationGatewaySku
    A sku block as defined below.
    AuthenticationCertificates List<ApplicationGatewayAuthenticationCertificate>
    One or more authentication_certificate blocks as defined below.
    AutoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    CustomErrorConfigurations List<ApplicationGatewayCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    EnableHttp2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    FipsEnabled bool
    Is FIPS enabled on the Application Gateway?
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy.
    ForceFirewallPolicyAssociation bool
    Is the Firewall Policy associated with the Application Gateway?
    Global ApplicationGatewayGlobal
    A global block as defined below.
    Identity ApplicationGatewayIdentity
    An identity block as defined below.
    Location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    PrivateLinkConfigurations List<ApplicationGatewayPrivateLinkConfiguration>
    One or more private_link_configuration blocks as defined below.
    Probes List<ApplicationGatewayProbe>
    One or more probe blocks as defined below.
    RedirectConfigurations List<ApplicationGatewayRedirectConfiguration>
    One or more redirect_configuration blocks as defined below.
    RewriteRuleSets List<ApplicationGatewayRewriteRuleSet>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    SslCertificates List<ApplicationGatewaySslCertificate>
    One or more ssl_certificate blocks as defined below.
    SslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    SslProfiles List<ApplicationGatewaySslProfile>
    One or more ssl_profile blocks as defined below.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TrustedClientCertificates List<ApplicationGatewayTrustedClientCertificate>
    One or more trusted_client_certificate blocks as defined below.
    TrustedRootCertificates List<ApplicationGatewayTrustedRootCertificate>
    One or more trusted_root_certificate blocks as defined below.
    UrlPathMaps List<ApplicationGatewayUrlPathMap>
    One or more url_path_map blocks as defined below.
    WafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    Zones List<string>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    BackendAddressPools []ApplicationGatewayBackendAddressPoolArgs
    One or more backend_address_pool blocks as defined below.
    BackendHttpSettings []ApplicationGatewayBackendHttpSettingArgs
    One or more backend_http_settings blocks as defined below.
    FrontendIpConfigurations []ApplicationGatewayFrontendIpConfigurationArgs
    One or more frontend_ip_configuration blocks as defined below.
    FrontendPorts []ApplicationGatewayFrontendPortArgs
    One or more frontend_port blocks as defined below.
    GatewayIpConfigurations []ApplicationGatewayGatewayIpConfigurationArgs
    One or more gateway_ip_configuration blocks as defined below.
    HttpListeners []ApplicationGatewayHttpListenerArgs
    One or more http_listener blocks as defined below.
    RequestRoutingRules []ApplicationGatewayRequestRoutingRuleArgs
    One or more request_routing_rule blocks as defined below.
    ResourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    Sku ApplicationGatewaySkuArgs
    A sku block as defined below.
    AuthenticationCertificates []ApplicationGatewayAuthenticationCertificateArgs
    One or more authentication_certificate blocks as defined below.
    AutoscaleConfiguration ApplicationGatewayAutoscaleConfigurationArgs
    An autoscale_configuration block as defined below.
    CustomErrorConfigurations []ApplicationGatewayCustomErrorConfigurationArgs
    One or more custom_error_configuration blocks as defined below.
    EnableHttp2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    FipsEnabled bool
    Is FIPS enabled on the Application Gateway?
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy.
    ForceFirewallPolicyAssociation bool
    Is the Firewall Policy associated with the Application Gateway?
    Global ApplicationGatewayGlobalArgs
    A global block as defined below.
    Identity ApplicationGatewayIdentityArgs
    An identity block as defined below.
    Location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    PrivateLinkConfigurations []ApplicationGatewayPrivateLinkConfigurationArgs
    One or more private_link_configuration blocks as defined below.
    Probes []ApplicationGatewayProbeArgs
    One or more probe blocks as defined below.
    RedirectConfigurations []ApplicationGatewayRedirectConfigurationArgs
    One or more redirect_configuration blocks as defined below.
    RewriteRuleSets []ApplicationGatewayRewriteRuleSetArgs
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    SslCertificates []ApplicationGatewaySslCertificateArgs
    One or more ssl_certificate blocks as defined below.
    SslPolicy ApplicationGatewaySslPolicyArgs
    a ssl_policy block as defined below.
    SslProfiles []ApplicationGatewaySslProfileArgs
    One or more ssl_profile blocks as defined below.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TrustedClientCertificates []ApplicationGatewayTrustedClientCertificateArgs
    One or more trusted_client_certificate blocks as defined below.
    TrustedRootCertificates []ApplicationGatewayTrustedRootCertificateArgs
    One or more trusted_root_certificate blocks as defined below.
    UrlPathMaps []ApplicationGatewayUrlPathMapArgs
    One or more url_path_map blocks as defined below.
    WafConfiguration ApplicationGatewayWafConfigurationArgs
    A waf_configuration block as defined below.
    Zones []string

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    backendAddressPools List<ApplicationGatewayBackendAddressPool>
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings List<ApplicationGatewayBackendHttpSetting>
    One or more backend_http_settings blocks as defined below.
    frontendIpConfigurations List<ApplicationGatewayFrontendIpConfiguration>
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts List<ApplicationGatewayFrontendPort>
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations List<ApplicationGatewayGatewayIpConfiguration>
    One or more gateway_ip_configuration blocks as defined below.
    httpListeners List<ApplicationGatewayHttpListener>
    One or more http_listener blocks as defined below.
    requestRoutingRules List<ApplicationGatewayRequestRoutingRule>
    One or more request_routing_rule blocks as defined below.
    resourceGroupName String
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    sku ApplicationGatewaySku
    A sku block as defined below.
    authenticationCertificates List<ApplicationGatewayAuthenticationCertificate>
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    customErrorConfigurations List<ApplicationGatewayCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 Boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled Boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId String
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation Boolean
    Is the Firewall Policy associated with the Application Gateway?
    global ApplicationGatewayGlobal
    A global block as defined below.
    identity ApplicationGatewayIdentity
    An identity block as defined below.
    location String
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateLinkConfigurations List<ApplicationGatewayPrivateLinkConfiguration>
    One or more private_link_configuration blocks as defined below.
    probes List<ApplicationGatewayProbe>
    One or more probe blocks as defined below.
    redirectConfigurations List<ApplicationGatewayRedirectConfiguration>
    One or more redirect_configuration blocks as defined below.
    rewriteRuleSets List<ApplicationGatewayRewriteRuleSet>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sslCertificates List<ApplicationGatewaySslCertificate>
    One or more ssl_certificate blocks as defined below.
    sslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    sslProfiles List<ApplicationGatewaySslProfile>
    One or more ssl_profile blocks as defined below.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    trustedClientCertificates List<ApplicationGatewayTrustedClientCertificate>
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates List<ApplicationGatewayTrustedRootCertificate>
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps List<ApplicationGatewayUrlPathMap>
    One or more url_path_map blocks as defined below.
    wafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    zones List<String>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    backendAddressPools ApplicationGatewayBackendAddressPool[]
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings ApplicationGatewayBackendHttpSetting[]
    One or more backend_http_settings blocks as defined below.
    frontendIpConfigurations ApplicationGatewayFrontendIpConfiguration[]
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts ApplicationGatewayFrontendPort[]
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations ApplicationGatewayGatewayIpConfiguration[]
    One or more gateway_ip_configuration blocks as defined below.
    httpListeners ApplicationGatewayHttpListener[]
    One or more http_listener blocks as defined below.
    requestRoutingRules ApplicationGatewayRequestRoutingRule[]
    One or more request_routing_rule blocks as defined below.
    resourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    sku ApplicationGatewaySku
    A sku block as defined below.
    authenticationCertificates ApplicationGatewayAuthenticationCertificate[]
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    customErrorConfigurations ApplicationGatewayCustomErrorConfiguration[]
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId string
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation boolean
    Is the Firewall Policy associated with the Application Gateway?
    global ApplicationGatewayGlobal
    A global block as defined below.
    identity ApplicationGatewayIdentity
    An identity block as defined below.
    location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateLinkConfigurations ApplicationGatewayPrivateLinkConfiguration[]
    One or more private_link_configuration blocks as defined below.
    probes ApplicationGatewayProbe[]
    One or more probe blocks as defined below.
    redirectConfigurations ApplicationGatewayRedirectConfiguration[]
    One or more redirect_configuration blocks as defined below.
    rewriteRuleSets ApplicationGatewayRewriteRuleSet[]
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sslCertificates ApplicationGatewaySslCertificate[]
    One or more ssl_certificate blocks as defined below.
    sslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    sslProfiles ApplicationGatewaySslProfile[]
    One or more ssl_profile blocks as defined below.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    trustedClientCertificates ApplicationGatewayTrustedClientCertificate[]
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates ApplicationGatewayTrustedRootCertificate[]
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps ApplicationGatewayUrlPathMap[]
    One or more url_path_map blocks as defined below.
    wafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    zones string[]

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    backend_address_pools Sequence[ApplicationGatewayBackendAddressPoolArgs]
    One or more backend_address_pool blocks as defined below.
    backend_http_settings Sequence[ApplicationGatewayBackendHttpSettingArgs]
    One or more backend_http_settings blocks as defined below.
    frontend_ip_configurations Sequence[ApplicationGatewayFrontendIpConfigurationArgs]
    One or more frontend_ip_configuration blocks as defined below.
    frontend_ports Sequence[ApplicationGatewayFrontendPortArgs]
    One or more frontend_port blocks as defined below.
    gateway_ip_configurations Sequence[ApplicationGatewayGatewayIpConfigurationArgs]
    One or more gateway_ip_configuration blocks as defined below.
    http_listeners Sequence[ApplicationGatewayHttpListenerArgs]
    One or more http_listener blocks as defined below.
    request_routing_rules Sequence[ApplicationGatewayRequestRoutingRuleArgs]
    One or more request_routing_rule blocks as defined below.
    resource_group_name str
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    sku ApplicationGatewaySkuArgs
    A sku block as defined below.
    authentication_certificates Sequence[ApplicationGatewayAuthenticationCertificateArgs]
    One or more authentication_certificate blocks as defined below.
    autoscale_configuration ApplicationGatewayAutoscaleConfigurationArgs
    An autoscale_configuration block as defined below.
    custom_error_configurations Sequence[ApplicationGatewayCustomErrorConfigurationArgs]
    One or more custom_error_configuration blocks as defined below.
    enable_http2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fips_enabled bool
    Is FIPS enabled on the Application Gateway?
    firewall_policy_id str
    The ID of the Web Application Firewall Policy.
    force_firewall_policy_association bool
    Is the Firewall Policy associated with the Application Gateway?
    global_ ApplicationGatewayGlobalArgs
    A global block as defined below.
    identity ApplicationGatewayIdentityArgs
    An identity block as defined below.
    location str
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name str
    The name of the Application Gateway. Changing this forces a new resource to be created.
    private_link_configurations Sequence[ApplicationGatewayPrivateLinkConfigurationArgs]
    One or more private_link_configuration blocks as defined below.
    probes Sequence[ApplicationGatewayProbeArgs]
    One or more probe blocks as defined below.
    redirect_configurations Sequence[ApplicationGatewayRedirectConfigurationArgs]
    One or more redirect_configuration blocks as defined below.
    rewrite_rule_sets Sequence[ApplicationGatewayRewriteRuleSetArgs]
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    ssl_certificates Sequence[ApplicationGatewaySslCertificateArgs]
    One or more ssl_certificate blocks as defined below.
    ssl_policy ApplicationGatewaySslPolicyArgs
    a ssl_policy block as defined below.
    ssl_profiles Sequence[ApplicationGatewaySslProfileArgs]
    One or more ssl_profile blocks as defined below.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    trusted_client_certificates Sequence[ApplicationGatewayTrustedClientCertificateArgs]
    One or more trusted_client_certificate blocks as defined below.
    trusted_root_certificates Sequence[ApplicationGatewayTrustedRootCertificateArgs]
    One or more trusted_root_certificate blocks as defined below.
    url_path_maps Sequence[ApplicationGatewayUrlPathMapArgs]
    One or more url_path_map blocks as defined below.
    waf_configuration ApplicationGatewayWafConfigurationArgs
    A waf_configuration block as defined below.
    zones Sequence[str]

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    backendAddressPools List<Property Map>
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings List<Property Map>
    One or more backend_http_settings blocks as defined below.
    frontendIpConfigurations List<Property Map>
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts List<Property Map>
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations List<Property Map>
    One or more gateway_ip_configuration blocks as defined below.
    httpListeners List<Property Map>
    One or more http_listener blocks as defined below.
    requestRoutingRules List<Property Map>
    One or more request_routing_rule blocks as defined below.
    resourceGroupName String
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    sku Property Map
    A sku block as defined below.
    authenticationCertificates List<Property Map>
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration Property Map
    An autoscale_configuration block as defined below.
    customErrorConfigurations List<Property Map>
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 Boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled Boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId String
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation Boolean
    Is the Firewall Policy associated with the Application Gateway?
    global Property Map
    A global block as defined below.
    identity Property Map
    An identity block as defined below.
    location String
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateLinkConfigurations List<Property Map>
    One or more private_link_configuration blocks as defined below.
    probes List<Property Map>
    One or more probe blocks as defined below.
    redirectConfigurations List<Property Map>
    One or more redirect_configuration blocks as defined below.
    rewriteRuleSets List<Property Map>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sslCertificates List<Property Map>
    One or more ssl_certificate blocks as defined below.
    sslPolicy Property Map
    a ssl_policy block as defined below.
    sslProfiles List<Property Map>
    One or more ssl_profile blocks as defined below.
    tags Map<String>
    A mapping of tags to assign to the resource.
    trustedClientCertificates List<Property Map>
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates List<Property Map>
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps List<Property Map>
    One or more url_path_map blocks as defined below.
    wafConfiguration Property Map
    A waf_configuration block as defined below.
    zones List<String>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ApplicationGateway resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    PrivateEndpointConnections List<ApplicationGatewayPrivateEndpointConnection>
    A list of private_endpoint_connection blocks as defined below.
    Id string
    The provider-assigned unique ID for this managed resource.
    PrivateEndpointConnections []ApplicationGatewayPrivateEndpointConnection
    A list of private_endpoint_connection blocks as defined below.
    id String
    The provider-assigned unique ID for this managed resource.
    privateEndpointConnections List<ApplicationGatewayPrivateEndpointConnection>
    A list of private_endpoint_connection blocks as defined below.
    id string
    The provider-assigned unique ID for this managed resource.
    privateEndpointConnections ApplicationGatewayPrivateEndpointConnection[]
    A list of private_endpoint_connection blocks as defined below.
    id str
    The provider-assigned unique ID for this managed resource.
    private_endpoint_connections Sequence[ApplicationGatewayPrivateEndpointConnection]
    A list of private_endpoint_connection blocks as defined below.
    id String
    The provider-assigned unique ID for this managed resource.
    privateEndpointConnections List<Property Map>
    A list of private_endpoint_connection blocks as defined below.

    Look up Existing ApplicationGateway Resource

    Get an existing ApplicationGateway resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ApplicationGatewayState, opts?: CustomResourceOptions): ApplicationGateway
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            authentication_certificates: Optional[Sequence[ApplicationGatewayAuthenticationCertificateArgs]] = None,
            autoscale_configuration: Optional[ApplicationGatewayAutoscaleConfigurationArgs] = None,
            backend_address_pools: Optional[Sequence[ApplicationGatewayBackendAddressPoolArgs]] = None,
            backend_http_settings: Optional[Sequence[ApplicationGatewayBackendHttpSettingArgs]] = None,
            custom_error_configurations: Optional[Sequence[ApplicationGatewayCustomErrorConfigurationArgs]] = None,
            enable_http2: Optional[bool] = None,
            fips_enabled: Optional[bool] = None,
            firewall_policy_id: Optional[str] = None,
            force_firewall_policy_association: Optional[bool] = None,
            frontend_ip_configurations: Optional[Sequence[ApplicationGatewayFrontendIpConfigurationArgs]] = None,
            frontend_ports: Optional[Sequence[ApplicationGatewayFrontendPortArgs]] = None,
            gateway_ip_configurations: Optional[Sequence[ApplicationGatewayGatewayIpConfigurationArgs]] = None,
            global_: Optional[ApplicationGatewayGlobalArgs] = None,
            http_listeners: Optional[Sequence[ApplicationGatewayHttpListenerArgs]] = None,
            identity: Optional[ApplicationGatewayIdentityArgs] = None,
            location: Optional[str] = None,
            name: Optional[str] = None,
            private_endpoint_connections: Optional[Sequence[ApplicationGatewayPrivateEndpointConnectionArgs]] = None,
            private_link_configurations: Optional[Sequence[ApplicationGatewayPrivateLinkConfigurationArgs]] = None,
            probes: Optional[Sequence[ApplicationGatewayProbeArgs]] = None,
            redirect_configurations: Optional[Sequence[ApplicationGatewayRedirectConfigurationArgs]] = None,
            request_routing_rules: Optional[Sequence[ApplicationGatewayRequestRoutingRuleArgs]] = None,
            resource_group_name: Optional[str] = None,
            rewrite_rule_sets: Optional[Sequence[ApplicationGatewayRewriteRuleSetArgs]] = None,
            sku: Optional[ApplicationGatewaySkuArgs] = None,
            ssl_certificates: Optional[Sequence[ApplicationGatewaySslCertificateArgs]] = None,
            ssl_policy: Optional[ApplicationGatewaySslPolicyArgs] = None,
            ssl_profiles: Optional[Sequence[ApplicationGatewaySslProfileArgs]] = None,
            tags: Optional[Mapping[str, str]] = None,
            trusted_client_certificates: Optional[Sequence[ApplicationGatewayTrustedClientCertificateArgs]] = None,
            trusted_root_certificates: Optional[Sequence[ApplicationGatewayTrustedRootCertificateArgs]] = None,
            url_path_maps: Optional[Sequence[ApplicationGatewayUrlPathMapArgs]] = None,
            waf_configuration: Optional[ApplicationGatewayWafConfigurationArgs] = None,
            zones: Optional[Sequence[str]] = None) -> ApplicationGateway
    func GetApplicationGateway(ctx *Context, name string, id IDInput, state *ApplicationGatewayState, opts ...ResourceOption) (*ApplicationGateway, error)
    public static ApplicationGateway Get(string name, Input<string> id, ApplicationGatewayState? state, CustomResourceOptions? opts = null)
    public static ApplicationGateway get(String name, Output<String> id, ApplicationGatewayState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AuthenticationCertificates List<ApplicationGatewayAuthenticationCertificate>
    One or more authentication_certificate blocks as defined below.
    AutoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    BackendAddressPools List<ApplicationGatewayBackendAddressPool>
    One or more backend_address_pool blocks as defined below.
    BackendHttpSettings List<ApplicationGatewayBackendHttpSetting>
    One or more backend_http_settings blocks as defined below.
    CustomErrorConfigurations List<ApplicationGatewayCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    EnableHttp2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    FipsEnabled bool
    Is FIPS enabled on the Application Gateway?
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy.
    ForceFirewallPolicyAssociation bool
    Is the Firewall Policy associated with the Application Gateway?
    FrontendIpConfigurations List<ApplicationGatewayFrontendIpConfiguration>
    One or more frontend_ip_configuration blocks as defined below.
    FrontendPorts List<ApplicationGatewayFrontendPort>
    One or more frontend_port blocks as defined below.
    GatewayIpConfigurations List<ApplicationGatewayGatewayIpConfiguration>
    One or more gateway_ip_configuration blocks as defined below.
    Global ApplicationGatewayGlobal
    A global block as defined below.
    HttpListeners List<ApplicationGatewayHttpListener>
    One or more http_listener blocks as defined below.
    Identity ApplicationGatewayIdentity
    An identity block as defined below.
    Location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    PrivateEndpointConnections List<ApplicationGatewayPrivateEndpointConnection>
    A list of private_endpoint_connection blocks as defined below.
    PrivateLinkConfigurations List<ApplicationGatewayPrivateLinkConfiguration>
    One or more private_link_configuration blocks as defined below.
    Probes List<ApplicationGatewayProbe>
    One or more probe blocks as defined below.
    RedirectConfigurations List<ApplicationGatewayRedirectConfiguration>
    One or more redirect_configuration blocks as defined below.
    RequestRoutingRules List<ApplicationGatewayRequestRoutingRule>
    One or more request_routing_rule blocks as defined below.
    ResourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    RewriteRuleSets List<ApplicationGatewayRewriteRuleSet>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    Sku ApplicationGatewaySku
    A sku block as defined below.
    SslCertificates List<ApplicationGatewaySslCertificate>
    One or more ssl_certificate blocks as defined below.
    SslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    SslProfiles List<ApplicationGatewaySslProfile>
    One or more ssl_profile blocks as defined below.
    Tags Dictionary<string, string>
    A mapping of tags to assign to the resource.
    TrustedClientCertificates List<ApplicationGatewayTrustedClientCertificate>
    One or more trusted_client_certificate blocks as defined below.
    TrustedRootCertificates List<ApplicationGatewayTrustedRootCertificate>
    One or more trusted_root_certificate blocks as defined below.
    UrlPathMaps List<ApplicationGatewayUrlPathMap>
    One or more url_path_map blocks as defined below.
    WafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    Zones List<string>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    AuthenticationCertificates []ApplicationGatewayAuthenticationCertificateArgs
    One or more authentication_certificate blocks as defined below.
    AutoscaleConfiguration ApplicationGatewayAutoscaleConfigurationArgs
    An autoscale_configuration block as defined below.
    BackendAddressPools []ApplicationGatewayBackendAddressPoolArgs
    One or more backend_address_pool blocks as defined below.
    BackendHttpSettings []ApplicationGatewayBackendHttpSettingArgs
    One or more backend_http_settings blocks as defined below.
    CustomErrorConfigurations []ApplicationGatewayCustomErrorConfigurationArgs
    One or more custom_error_configuration blocks as defined below.
    EnableHttp2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    FipsEnabled bool
    Is FIPS enabled on the Application Gateway?
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy.
    ForceFirewallPolicyAssociation bool
    Is the Firewall Policy associated with the Application Gateway?
    FrontendIpConfigurations []ApplicationGatewayFrontendIpConfigurationArgs
    One or more frontend_ip_configuration blocks as defined below.
    FrontendPorts []ApplicationGatewayFrontendPortArgs
    One or more frontend_port blocks as defined below.
    GatewayIpConfigurations []ApplicationGatewayGatewayIpConfigurationArgs
    One or more gateway_ip_configuration blocks as defined below.
    Global ApplicationGatewayGlobalArgs
    A global block as defined below.
    HttpListeners []ApplicationGatewayHttpListenerArgs
    One or more http_listener blocks as defined below.
    Identity ApplicationGatewayIdentityArgs
    An identity block as defined below.
    Location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    PrivateEndpointConnections []ApplicationGatewayPrivateEndpointConnectionArgs
    A list of private_endpoint_connection blocks as defined below.
    PrivateLinkConfigurations []ApplicationGatewayPrivateLinkConfigurationArgs
    One or more private_link_configuration blocks as defined below.
    Probes []ApplicationGatewayProbeArgs
    One or more probe blocks as defined below.
    RedirectConfigurations []ApplicationGatewayRedirectConfigurationArgs
    One or more redirect_configuration blocks as defined below.
    RequestRoutingRules []ApplicationGatewayRequestRoutingRuleArgs
    One or more request_routing_rule blocks as defined below.
    ResourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    RewriteRuleSets []ApplicationGatewayRewriteRuleSetArgs
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    Sku ApplicationGatewaySkuArgs
    A sku block as defined below.
    SslCertificates []ApplicationGatewaySslCertificateArgs
    One or more ssl_certificate blocks as defined below.
    SslPolicy ApplicationGatewaySslPolicyArgs
    a ssl_policy block as defined below.
    SslProfiles []ApplicationGatewaySslProfileArgs
    One or more ssl_profile blocks as defined below.
    Tags map[string]string
    A mapping of tags to assign to the resource.
    TrustedClientCertificates []ApplicationGatewayTrustedClientCertificateArgs
    One or more trusted_client_certificate blocks as defined below.
    TrustedRootCertificates []ApplicationGatewayTrustedRootCertificateArgs
    One or more trusted_root_certificate blocks as defined below.
    UrlPathMaps []ApplicationGatewayUrlPathMapArgs
    One or more url_path_map blocks as defined below.
    WafConfiguration ApplicationGatewayWafConfigurationArgs
    A waf_configuration block as defined below.
    Zones []string

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    authenticationCertificates List<ApplicationGatewayAuthenticationCertificate>
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    backendAddressPools List<ApplicationGatewayBackendAddressPool>
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings List<ApplicationGatewayBackendHttpSetting>
    One or more backend_http_settings blocks as defined below.
    customErrorConfigurations List<ApplicationGatewayCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 Boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled Boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId String
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation Boolean
    Is the Firewall Policy associated with the Application Gateway?
    frontendIpConfigurations List<ApplicationGatewayFrontendIpConfiguration>
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts List<ApplicationGatewayFrontendPort>
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations List<ApplicationGatewayGatewayIpConfiguration>
    One or more gateway_ip_configuration blocks as defined below.
    global ApplicationGatewayGlobal
    A global block as defined below.
    httpListeners List<ApplicationGatewayHttpListener>
    One or more http_listener blocks as defined below.
    identity ApplicationGatewayIdentity
    An identity block as defined below.
    location String
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateEndpointConnections List<ApplicationGatewayPrivateEndpointConnection>
    A list of private_endpoint_connection blocks as defined below.
    privateLinkConfigurations List<ApplicationGatewayPrivateLinkConfiguration>
    One or more private_link_configuration blocks as defined below.
    probes List<ApplicationGatewayProbe>
    One or more probe blocks as defined below.
    redirectConfigurations List<ApplicationGatewayRedirectConfiguration>
    One or more redirect_configuration blocks as defined below.
    requestRoutingRules List<ApplicationGatewayRequestRoutingRule>
    One or more request_routing_rule blocks as defined below.
    resourceGroupName String
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    rewriteRuleSets List<ApplicationGatewayRewriteRuleSet>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sku ApplicationGatewaySku
    A sku block as defined below.
    sslCertificates List<ApplicationGatewaySslCertificate>
    One or more ssl_certificate blocks as defined below.
    sslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    sslProfiles List<ApplicationGatewaySslProfile>
    One or more ssl_profile blocks as defined below.
    tags Map<String,String>
    A mapping of tags to assign to the resource.
    trustedClientCertificates List<ApplicationGatewayTrustedClientCertificate>
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates List<ApplicationGatewayTrustedRootCertificate>
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps List<ApplicationGatewayUrlPathMap>
    One or more url_path_map blocks as defined below.
    wafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    zones List<String>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    authenticationCertificates ApplicationGatewayAuthenticationCertificate[]
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration ApplicationGatewayAutoscaleConfiguration
    An autoscale_configuration block as defined below.
    backendAddressPools ApplicationGatewayBackendAddressPool[]
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings ApplicationGatewayBackendHttpSetting[]
    One or more backend_http_settings blocks as defined below.
    customErrorConfigurations ApplicationGatewayCustomErrorConfiguration[]
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId string
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation boolean
    Is the Firewall Policy associated with the Application Gateway?
    frontendIpConfigurations ApplicationGatewayFrontendIpConfiguration[]
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts ApplicationGatewayFrontendPort[]
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations ApplicationGatewayGatewayIpConfiguration[]
    One or more gateway_ip_configuration blocks as defined below.
    global ApplicationGatewayGlobal
    A global block as defined below.
    httpListeners ApplicationGatewayHttpListener[]
    One or more http_listener blocks as defined below.
    identity ApplicationGatewayIdentity
    An identity block as defined below.
    location string
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateEndpointConnections ApplicationGatewayPrivateEndpointConnection[]
    A list of private_endpoint_connection blocks as defined below.
    privateLinkConfigurations ApplicationGatewayPrivateLinkConfiguration[]
    One or more private_link_configuration blocks as defined below.
    probes ApplicationGatewayProbe[]
    One or more probe blocks as defined below.
    redirectConfigurations ApplicationGatewayRedirectConfiguration[]
    One or more redirect_configuration blocks as defined below.
    requestRoutingRules ApplicationGatewayRequestRoutingRule[]
    One or more request_routing_rule blocks as defined below.
    resourceGroupName string
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    rewriteRuleSets ApplicationGatewayRewriteRuleSet[]
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sku ApplicationGatewaySku
    A sku block as defined below.
    sslCertificates ApplicationGatewaySslCertificate[]
    One or more ssl_certificate blocks as defined below.
    sslPolicy ApplicationGatewaySslPolicy
    a ssl_policy block as defined below.
    sslProfiles ApplicationGatewaySslProfile[]
    One or more ssl_profile blocks as defined below.
    tags {[key: string]: string}
    A mapping of tags to assign to the resource.
    trustedClientCertificates ApplicationGatewayTrustedClientCertificate[]
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates ApplicationGatewayTrustedRootCertificate[]
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps ApplicationGatewayUrlPathMap[]
    One or more url_path_map blocks as defined below.
    wafConfiguration ApplicationGatewayWafConfiguration
    A waf_configuration block as defined below.
    zones string[]

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    authentication_certificates Sequence[ApplicationGatewayAuthenticationCertificateArgs]
    One or more authentication_certificate blocks as defined below.
    autoscale_configuration ApplicationGatewayAutoscaleConfigurationArgs
    An autoscale_configuration block as defined below.
    backend_address_pools Sequence[ApplicationGatewayBackendAddressPoolArgs]
    One or more backend_address_pool blocks as defined below.
    backend_http_settings Sequence[ApplicationGatewayBackendHttpSettingArgs]
    One or more backend_http_settings blocks as defined below.
    custom_error_configurations Sequence[ApplicationGatewayCustomErrorConfigurationArgs]
    One or more custom_error_configuration blocks as defined below.
    enable_http2 bool
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fips_enabled bool
    Is FIPS enabled on the Application Gateway?
    firewall_policy_id str
    The ID of the Web Application Firewall Policy.
    force_firewall_policy_association bool
    Is the Firewall Policy associated with the Application Gateway?
    frontend_ip_configurations Sequence[ApplicationGatewayFrontendIpConfigurationArgs]
    One or more frontend_ip_configuration blocks as defined below.
    frontend_ports Sequence[ApplicationGatewayFrontendPortArgs]
    One or more frontend_port blocks as defined below.
    gateway_ip_configurations Sequence[ApplicationGatewayGatewayIpConfigurationArgs]
    One or more gateway_ip_configuration blocks as defined below.
    global_ ApplicationGatewayGlobalArgs
    A global block as defined below.
    http_listeners Sequence[ApplicationGatewayHttpListenerArgs]
    One or more http_listener blocks as defined below.
    identity ApplicationGatewayIdentityArgs
    An identity block as defined below.
    location str
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name str
    The name of the Application Gateway. Changing this forces a new resource to be created.
    private_endpoint_connections Sequence[ApplicationGatewayPrivateEndpointConnectionArgs]
    A list of private_endpoint_connection blocks as defined below.
    private_link_configurations Sequence[ApplicationGatewayPrivateLinkConfigurationArgs]
    One or more private_link_configuration blocks as defined below.
    probes Sequence[ApplicationGatewayProbeArgs]
    One or more probe blocks as defined below.
    redirect_configurations Sequence[ApplicationGatewayRedirectConfigurationArgs]
    One or more redirect_configuration blocks as defined below.
    request_routing_rules Sequence[ApplicationGatewayRequestRoutingRuleArgs]
    One or more request_routing_rule blocks as defined below.
    resource_group_name str
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    rewrite_rule_sets Sequence[ApplicationGatewayRewriteRuleSetArgs]
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sku ApplicationGatewaySkuArgs
    A sku block as defined below.
    ssl_certificates Sequence[ApplicationGatewaySslCertificateArgs]
    One or more ssl_certificate blocks as defined below.
    ssl_policy ApplicationGatewaySslPolicyArgs
    a ssl_policy block as defined below.
    ssl_profiles Sequence[ApplicationGatewaySslProfileArgs]
    One or more ssl_profile blocks as defined below.
    tags Mapping[str, str]
    A mapping of tags to assign to the resource.
    trusted_client_certificates Sequence[ApplicationGatewayTrustedClientCertificateArgs]
    One or more trusted_client_certificate blocks as defined below.
    trusted_root_certificates Sequence[ApplicationGatewayTrustedRootCertificateArgs]
    One or more trusted_root_certificate blocks as defined below.
    url_path_maps Sequence[ApplicationGatewayUrlPathMapArgs]
    One or more url_path_map blocks as defined below.
    waf_configuration ApplicationGatewayWafConfigurationArgs
    A waf_configuration block as defined below.
    zones Sequence[str]

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    authenticationCertificates List<Property Map>
    One or more authentication_certificate blocks as defined below.
    autoscaleConfiguration Property Map
    An autoscale_configuration block as defined below.
    backendAddressPools List<Property Map>
    One or more backend_address_pool blocks as defined below.
    backendHttpSettings List<Property Map>
    One or more backend_http_settings blocks as defined below.
    customErrorConfigurations List<Property Map>
    One or more custom_error_configuration blocks as defined below.
    enableHttp2 Boolean
    Is HTTP2 enabled on the application gateway resource? Defaults to false.
    fipsEnabled Boolean
    Is FIPS enabled on the Application Gateway?
    firewallPolicyId String
    The ID of the Web Application Firewall Policy.
    forceFirewallPolicyAssociation Boolean
    Is the Firewall Policy associated with the Application Gateway?
    frontendIpConfigurations List<Property Map>
    One or more frontend_ip_configuration blocks as defined below.
    frontendPorts List<Property Map>
    One or more frontend_port blocks as defined below.
    gatewayIpConfigurations List<Property Map>
    One or more gateway_ip_configuration blocks as defined below.
    global Property Map
    A global block as defined below.
    httpListeners List<Property Map>
    One or more http_listener blocks as defined below.
    identity Property Map
    An identity block as defined below.
    location String
    The Azure region where the Application Gateway should exist. Changing this forces a new resource to be created.
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.
    privateEndpointConnections List<Property Map>
    A list of private_endpoint_connection blocks as defined below.
    privateLinkConfigurations List<Property Map>
    One or more private_link_configuration blocks as defined below.
    probes List<Property Map>
    One or more probe blocks as defined below.
    redirectConfigurations List<Property Map>
    One or more redirect_configuration blocks as defined below.
    requestRoutingRules List<Property Map>
    One or more request_routing_rule blocks as defined below.
    resourceGroupName String
    The name of the resource group in which to the Application Gateway should exist. Changing this forces a new resource to be created.
    rewriteRuleSets List<Property Map>
    One or more rewrite_rule_set blocks as defined below. Only valid for v2 SKUs.
    sku Property Map
    A sku block as defined below.
    sslCertificates List<Property Map>
    One or more ssl_certificate blocks as defined below.
    sslPolicy Property Map
    a ssl_policy block as defined below.
    sslProfiles List<Property Map>
    One or more ssl_profile blocks as defined below.
    tags Map<String>
    A mapping of tags to assign to the resource.
    trustedClientCertificates List<Property Map>
    One or more trusted_client_certificate blocks as defined below.
    trustedRootCertificates List<Property Map>
    One or more trusted_root_certificate blocks as defined below.
    urlPathMaps List<Property Map>
    One or more url_path_map blocks as defined below.
    wafConfiguration Property Map
    A waf_configuration block as defined below.
    zones List<String>

    Specifies a list of Availability Zones in which this Application Gateway should be located. Changing this forces a new Application Gateway to be created.

    Please Note: Availability Zones are not supported in all regions at this time, please check the official documentation for more information. They are also only supported for v2 SKUs

    Supporting Types

    ApplicationGatewayAuthenticationCertificate, ApplicationGatewayAuthenticationCertificateArgs

    Data string
    The contents of the Authentication Certificate which should be used.
    Name string
    The Name of the Authentication Certificate to use.
    Id string
    The ID of the Rewrite Rule Set
    Data string
    The contents of the Authentication Certificate which should be used.
    Name string
    The Name of the Authentication Certificate to use.
    Id string
    The ID of the Rewrite Rule Set
    data String
    The contents of the Authentication Certificate which should be used.
    name String
    The Name of the Authentication Certificate to use.
    id String
    The ID of the Rewrite Rule Set
    data string
    The contents of the Authentication Certificate which should be used.
    name string
    The Name of the Authentication Certificate to use.
    id string
    The ID of the Rewrite Rule Set
    data str
    The contents of the Authentication Certificate which should be used.
    name str
    The Name of the Authentication Certificate to use.
    id str
    The ID of the Rewrite Rule Set
    data String
    The contents of the Authentication Certificate which should be used.
    name String
    The Name of the Authentication Certificate to use.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayAutoscaleConfiguration, ApplicationGatewayAutoscaleConfigurationArgs

    MinCapacity int
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    MaxCapacity int
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.
    MinCapacity int
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    MaxCapacity int
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.
    minCapacity Integer
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    maxCapacity Integer
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.
    minCapacity number
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    maxCapacity number
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.
    min_capacity int
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    max_capacity int
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.
    minCapacity Number
    Minimum capacity for autoscaling. Accepted values are in the range 0 to 100.
    maxCapacity Number
    Maximum capacity for autoscaling. Accepted values are in the range 2 to 125.

    ApplicationGatewayBackendAddressPool, ApplicationGatewayBackendAddressPoolArgs

    Name string
    The name of the Backend Address Pool.
    Fqdns List<string>
    A list of FQDN's which should be part of the Backend Address Pool.
    Id string
    The ID of the Rewrite Rule Set
    IpAddresses List<string>
    A list of IP Addresses which should be part of the Backend Address Pool.
    Name string
    The name of the Backend Address Pool.
    Fqdns []string
    A list of FQDN's which should be part of the Backend Address Pool.
    Id string
    The ID of the Rewrite Rule Set
    IpAddresses []string
    A list of IP Addresses which should be part of the Backend Address Pool.
    name String
    The name of the Backend Address Pool.
    fqdns List<String>
    A list of FQDN's which should be part of the Backend Address Pool.
    id String
    The ID of the Rewrite Rule Set
    ipAddresses List<String>
    A list of IP Addresses which should be part of the Backend Address Pool.
    name string
    The name of the Backend Address Pool.
    fqdns string[]
    A list of FQDN's which should be part of the Backend Address Pool.
    id string
    The ID of the Rewrite Rule Set
    ipAddresses string[]
    A list of IP Addresses which should be part of the Backend Address Pool.
    name str
    The name of the Backend Address Pool.
    fqdns Sequence[str]
    A list of FQDN's which should be part of the Backend Address Pool.
    id str
    The ID of the Rewrite Rule Set
    ip_addresses Sequence[str]
    A list of IP Addresses which should be part of the Backend Address Pool.
    name String
    The name of the Backend Address Pool.
    fqdns List<String>
    A list of FQDN's which should be part of the Backend Address Pool.
    id String
    The ID of the Rewrite Rule Set
    ipAddresses List<String>
    A list of IP Addresses which should be part of the Backend Address Pool.

    ApplicationGatewayBackendHttpSetting, ApplicationGatewayBackendHttpSettingArgs

    CookieBasedAffinity string
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    Name string
    The name of the Authentication Certificate.
    Port int
    The port which should be used for this Backend HTTP Settings Collection.
    Protocol string
    The Protocol which should be used. Possible values are Http and Https.
    AffinityCookieName string
    The name of the affinity cookie.
    AuthenticationCertificates List<ApplicationGatewayBackendHttpSettingAuthenticationCertificate>
    One or more authentication_certificate_backend blocks as defined below.
    ConnectionDraining ApplicationGatewayBackendHttpSettingConnectionDraining
    A connection_draining block as defined below.
    HostName string
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    Id string
    The ID of the Rewrite Rule Set
    Path string
    The Path which should be used as a prefix for all HTTP requests.
    PickHostNameFromBackendAddress bool
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    ProbeId string
    The ID of the associated Probe.
    ProbeName string
    The name of an associated HTTP Probe.
    RequestTimeout int
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    TrustedRootCertificateNames List<string>
    A list of trusted_root_certificate names.
    CookieBasedAffinity string
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    Name string
    The name of the Authentication Certificate.
    Port int
    The port which should be used for this Backend HTTP Settings Collection.
    Protocol string
    The Protocol which should be used. Possible values are Http and Https.
    AffinityCookieName string
    The name of the affinity cookie.
    AuthenticationCertificates []ApplicationGatewayBackendHttpSettingAuthenticationCertificate
    One or more authentication_certificate_backend blocks as defined below.
    ConnectionDraining ApplicationGatewayBackendHttpSettingConnectionDraining
    A connection_draining block as defined below.
    HostName string
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    Id string
    The ID of the Rewrite Rule Set
    Path string
    The Path which should be used as a prefix for all HTTP requests.
    PickHostNameFromBackendAddress bool
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    ProbeId string
    The ID of the associated Probe.
    ProbeName string
    The name of an associated HTTP Probe.
    RequestTimeout int
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    TrustedRootCertificateNames []string
    A list of trusted_root_certificate names.
    cookieBasedAffinity String
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    name String
    The name of the Authentication Certificate.
    port Integer
    The port which should be used for this Backend HTTP Settings Collection.
    protocol String
    The Protocol which should be used. Possible values are Http and Https.
    affinityCookieName String
    The name of the affinity cookie.
    authenticationCertificates List<ApplicationGatewayBackendHttpSettingAuthenticationCertificate>
    One or more authentication_certificate_backend blocks as defined below.
    connectionDraining ApplicationGatewayBackendHttpSettingConnectionDraining
    A connection_draining block as defined below.
    hostName String
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    id String
    The ID of the Rewrite Rule Set
    path String
    The Path which should be used as a prefix for all HTTP requests.
    pickHostNameFromBackendAddress Boolean
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    probeId String
    The ID of the associated Probe.
    probeName String
    The name of an associated HTTP Probe.
    requestTimeout Integer
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    trustedRootCertificateNames List<String>
    A list of trusted_root_certificate names.
    cookieBasedAffinity string
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    name string
    The name of the Authentication Certificate.
    port number
    The port which should be used for this Backend HTTP Settings Collection.
    protocol string
    The Protocol which should be used. Possible values are Http and Https.
    affinityCookieName string
    The name of the affinity cookie.
    authenticationCertificates ApplicationGatewayBackendHttpSettingAuthenticationCertificate[]
    One or more authentication_certificate_backend blocks as defined below.
    connectionDraining ApplicationGatewayBackendHttpSettingConnectionDraining
    A connection_draining block as defined below.
    hostName string
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    id string
    The ID of the Rewrite Rule Set
    path string
    The Path which should be used as a prefix for all HTTP requests.
    pickHostNameFromBackendAddress boolean
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    probeId string
    The ID of the associated Probe.
    probeName string
    The name of an associated HTTP Probe.
    requestTimeout number
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    trustedRootCertificateNames string[]
    A list of trusted_root_certificate names.
    cookie_based_affinity str
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    name str
    The name of the Authentication Certificate.
    port int
    The port which should be used for this Backend HTTP Settings Collection.
    protocol str
    The Protocol which should be used. Possible values are Http and Https.
    affinity_cookie_name str
    The name of the affinity cookie.
    authentication_certificates Sequence[ApplicationGatewayBackendHttpSettingAuthenticationCertificate]
    One or more authentication_certificate_backend blocks as defined below.
    connection_draining ApplicationGatewayBackendHttpSettingConnectionDraining
    A connection_draining block as defined below.
    host_name str
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    id str
    The ID of the Rewrite Rule Set
    path str
    The Path which should be used as a prefix for all HTTP requests.
    pick_host_name_from_backend_address bool
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    probe_id str
    The ID of the associated Probe.
    probe_name str
    The name of an associated HTTP Probe.
    request_timeout int
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    trusted_root_certificate_names Sequence[str]
    A list of trusted_root_certificate names.
    cookieBasedAffinity String
    Is Cookie-Based Affinity enabled? Possible values are Enabled and Disabled.
    name String
    The name of the Authentication Certificate.
    port Number
    The port which should be used for this Backend HTTP Settings Collection.
    protocol String
    The Protocol which should be used. Possible values are Http and Https.
    affinityCookieName String
    The name of the affinity cookie.
    authenticationCertificates List<Property Map>
    One or more authentication_certificate_backend blocks as defined below.
    connectionDraining Property Map
    A connection_draining block as defined below.
    hostName String
    Host header to be sent to the backend servers. Cannot be set if pick_host_name_from_backend_address is set to true.
    id String
    The ID of the Rewrite Rule Set
    path String
    The Path which should be used as a prefix for all HTTP requests.
    pickHostNameFromBackendAddress Boolean
    Whether host header should be picked from the host name of the backend server. Defaults to false.
    probeId String
    The ID of the associated Probe.
    probeName String
    The name of an associated HTTP Probe.
    requestTimeout Number
    The request timeout in seconds, which must be between 1 and 86400 seconds. Defaults to 30.
    trustedRootCertificateNames List<String>
    A list of trusted_root_certificate names.

    ApplicationGatewayBackendHttpSettingAuthenticationCertificate, ApplicationGatewayBackendHttpSettingAuthenticationCertificateArgs

    Name string
    The Name of the Authentication Certificate to use.
    Id string
    The ID of the Rewrite Rule Set
    Name string
    The Name of the Authentication Certificate to use.
    Id string
    The ID of the Rewrite Rule Set
    name String
    The Name of the Authentication Certificate to use.
    id String
    The ID of the Rewrite Rule Set
    name string
    The Name of the Authentication Certificate to use.
    id string
    The ID of the Rewrite Rule Set
    name str
    The Name of the Authentication Certificate to use.
    id str
    The ID of the Rewrite Rule Set
    name String
    The Name of the Authentication Certificate to use.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayBackendHttpSettingConnectionDraining, ApplicationGatewayBackendHttpSettingConnectionDrainingArgs

    DrainTimeoutSec int
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    Enabled bool
    If connection draining is enabled or not.
    DrainTimeoutSec int
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    Enabled bool
    If connection draining is enabled or not.
    drainTimeoutSec Integer
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    enabled Boolean
    If connection draining is enabled or not.
    drainTimeoutSec number
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    enabled boolean
    If connection draining is enabled or not.
    drain_timeout_sec int
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    enabled bool
    If connection draining is enabled or not.
    drainTimeoutSec Number
    The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds.
    enabled Boolean
    If connection draining is enabled or not.

    ApplicationGatewayCustomErrorConfiguration, ApplicationGatewayCustomErrorConfigurationArgs

    CustomErrorPageUrl string
    Error page URL of the application gateway customer error.
    StatusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    Id string
    The ID of the Rewrite Rule Set
    CustomErrorPageUrl string
    Error page URL of the application gateway customer error.
    StatusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    Id string
    The ID of the Rewrite Rule Set
    customErrorPageUrl String
    Error page URL of the application gateway customer error.
    statusCode String
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id String
    The ID of the Rewrite Rule Set
    customErrorPageUrl string
    Error page URL of the application gateway customer error.
    statusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id string
    The ID of the Rewrite Rule Set
    custom_error_page_url str
    Error page URL of the application gateway customer error.
    status_code str
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id str
    The ID of the Rewrite Rule Set
    customErrorPageUrl String
    Error page URL of the application gateway customer error.
    statusCode String
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayFrontendIpConfiguration, ApplicationGatewayFrontendIpConfigurationArgs

    Name string
    The name of the Frontend IP Configuration.
    Id string
    The ID of the Rewrite Rule Set
    PrivateIpAddress string
    The Private IP Address to use for the Application Gateway.
    PrivateIpAddressAllocation string
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    PrivateLinkConfigurationId string
    The ID of the associated private link configuration.
    PrivateLinkConfigurationName string
    The name of the private link configuration to use for this frontend IP configuration.
    PublicIpAddressId string
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    SubnetId string
    The ID of the Subnet.
    Name string
    The name of the Frontend IP Configuration.
    Id string
    The ID of the Rewrite Rule Set
    PrivateIpAddress string
    The Private IP Address to use for the Application Gateway.
    PrivateIpAddressAllocation string
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    PrivateLinkConfigurationId string
    The ID of the associated private link configuration.
    PrivateLinkConfigurationName string
    The name of the private link configuration to use for this frontend IP configuration.
    PublicIpAddressId string
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    SubnetId string
    The ID of the Subnet.
    name String
    The name of the Frontend IP Configuration.
    id String
    The ID of the Rewrite Rule Set
    privateIpAddress String
    The Private IP Address to use for the Application Gateway.
    privateIpAddressAllocation String
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    privateLinkConfigurationId String
    The ID of the associated private link configuration.
    privateLinkConfigurationName String
    The name of the private link configuration to use for this frontend IP configuration.
    publicIpAddressId String
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    subnetId String
    The ID of the Subnet.
    name string
    The name of the Frontend IP Configuration.
    id string
    The ID of the Rewrite Rule Set
    privateIpAddress string
    The Private IP Address to use for the Application Gateway.
    privateIpAddressAllocation string
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    privateLinkConfigurationId string
    The ID of the associated private link configuration.
    privateLinkConfigurationName string
    The name of the private link configuration to use for this frontend IP configuration.
    publicIpAddressId string
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    subnetId string
    The ID of the Subnet.
    name str
    The name of the Frontend IP Configuration.
    id str
    The ID of the Rewrite Rule Set
    private_ip_address str
    The Private IP Address to use for the Application Gateway.
    private_ip_address_allocation str
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    private_link_configuration_id str
    The ID of the associated private link configuration.
    private_link_configuration_name str
    The name of the private link configuration to use for this frontend IP configuration.
    public_ip_address_id str
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    subnet_id str
    The ID of the Subnet.
    name String
    The name of the Frontend IP Configuration.
    id String
    The ID of the Rewrite Rule Set
    privateIpAddress String
    The Private IP Address to use for the Application Gateway.
    privateIpAddressAllocation String
    The Allocation Method for the Private IP Address. Possible values are Dynamic and Static. Defaults to Dynamic.
    privateLinkConfigurationId String
    The ID of the associated private link configuration.
    privateLinkConfigurationName String
    The name of the private link configuration to use for this frontend IP configuration.
    publicIpAddressId String
    The ID of a Public IP Address which the Application Gateway should use. The allocation method for the Public IP Address depends on the sku of this Application Gateway. Please refer to the Azure documentation for public IP addresses for details.
    subnetId String
    The ID of the Subnet.

    ApplicationGatewayFrontendPort, ApplicationGatewayFrontendPortArgs

    Name string
    The name of the Frontend Port.
    Port int
    The port used for this Frontend Port.
    Id string
    The ID of the Rewrite Rule Set
    Name string
    The name of the Frontend Port.
    Port int
    The port used for this Frontend Port.
    Id string
    The ID of the Rewrite Rule Set
    name String
    The name of the Frontend Port.
    port Integer
    The port used for this Frontend Port.
    id String
    The ID of the Rewrite Rule Set
    name string
    The name of the Frontend Port.
    port number
    The port used for this Frontend Port.
    id string
    The ID of the Rewrite Rule Set
    name str
    The name of the Frontend Port.
    port int
    The port used for this Frontend Port.
    id str
    The ID of the Rewrite Rule Set
    name String
    The name of the Frontend Port.
    port Number
    The port used for this Frontend Port.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayGatewayIpConfiguration, ApplicationGatewayGatewayIpConfigurationArgs

    Name string
    The Name of this Gateway IP Configuration.
    SubnetId string
    The ID of the Subnet which the Application Gateway should be connected to.
    Id string
    The ID of the Rewrite Rule Set
    Name string
    The Name of this Gateway IP Configuration.
    SubnetId string
    The ID of the Subnet which the Application Gateway should be connected to.
    Id string
    The ID of the Rewrite Rule Set
    name String
    The Name of this Gateway IP Configuration.
    subnetId String
    The ID of the Subnet which the Application Gateway should be connected to.
    id String
    The ID of the Rewrite Rule Set
    name string
    The Name of this Gateway IP Configuration.
    subnetId string
    The ID of the Subnet which the Application Gateway should be connected to.
    id string
    The ID of the Rewrite Rule Set
    name str
    The Name of this Gateway IP Configuration.
    subnet_id str
    The ID of the Subnet which the Application Gateway should be connected to.
    id str
    The ID of the Rewrite Rule Set
    name String
    The Name of this Gateway IP Configuration.
    subnetId String
    The ID of the Subnet which the Application Gateway should be connected to.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayGlobal, ApplicationGatewayGlobalArgs

    RequestBufferingEnabled bool
    Whether Application Gateway's Request buffer is enabled.
    ResponseBufferingEnabled bool
    Whether Application Gateway's Response buffer is enabled.
    RequestBufferingEnabled bool
    Whether Application Gateway's Request buffer is enabled.
    ResponseBufferingEnabled bool
    Whether Application Gateway's Response buffer is enabled.
    requestBufferingEnabled Boolean
    Whether Application Gateway's Request buffer is enabled.
    responseBufferingEnabled Boolean
    Whether Application Gateway's Response buffer is enabled.
    requestBufferingEnabled boolean
    Whether Application Gateway's Request buffer is enabled.
    responseBufferingEnabled boolean
    Whether Application Gateway's Response buffer is enabled.
    request_buffering_enabled bool
    Whether Application Gateway's Request buffer is enabled.
    response_buffering_enabled bool
    Whether Application Gateway's Response buffer is enabled.
    requestBufferingEnabled Boolean
    Whether Application Gateway's Request buffer is enabled.
    responseBufferingEnabled Boolean
    Whether Application Gateway's Response buffer is enabled.

    ApplicationGatewayHttpListener, ApplicationGatewayHttpListenerArgs

    FrontendIpConfigurationName string
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    FrontendPortName string
    The Name of the Frontend Port use for this HTTP Listener.
    Name string
    The Name of the HTTP Listener.
    Protocol string
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    CustomErrorConfigurations List<ApplicationGatewayHttpListenerCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    FrontendIpConfigurationId string
    The ID of the associated Frontend Configuration.
    FrontendPortId string
    The ID of the associated Frontend Port.
    HostName string
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    HostNames List<string>

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    Id string
    The ID of the Rewrite Rule Set
    RequireSni bool
    Should Server Name Indication be Required? Defaults to false.
    SslCertificateId string
    The ID of the associated SSL Certificate.
    SslCertificateName string
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    SslProfileId string
    The ID of the associated SSL Profile.
    SslProfileName string
    The name of the associated SSL Profile which should be used for this HTTP Listener.
    FrontendIpConfigurationName string
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    FrontendPortName string
    The Name of the Frontend Port use for this HTTP Listener.
    Name string
    The Name of the HTTP Listener.
    Protocol string
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    CustomErrorConfigurations []ApplicationGatewayHttpListenerCustomErrorConfiguration
    One or more custom_error_configuration blocks as defined below.
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    FrontendIpConfigurationId string
    The ID of the associated Frontend Configuration.
    FrontendPortId string
    The ID of the associated Frontend Port.
    HostName string
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    HostNames []string

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    Id string
    The ID of the Rewrite Rule Set
    RequireSni bool
    Should Server Name Indication be Required? Defaults to false.
    SslCertificateId string
    The ID of the associated SSL Certificate.
    SslCertificateName string
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    SslProfileId string
    The ID of the associated SSL Profile.
    SslProfileName string
    The name of the associated SSL Profile which should be used for this HTTP Listener.
    frontendIpConfigurationName String
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    frontendPortName String
    The Name of the Frontend Port use for this HTTP Listener.
    name String
    The Name of the HTTP Listener.
    protocol String
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    customErrorConfigurations List<ApplicationGatewayHttpListenerCustomErrorConfiguration>
    One or more custom_error_configuration blocks as defined below.
    firewallPolicyId String
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    frontendIpConfigurationId String
    The ID of the associated Frontend Configuration.
    frontendPortId String
    The ID of the associated Frontend Port.
    hostName String
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    hostNames List<String>

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    id String
    The ID of the Rewrite Rule Set
    requireSni Boolean
    Should Server Name Indication be Required? Defaults to false.
    sslCertificateId String
    The ID of the associated SSL Certificate.
    sslCertificateName String
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    sslProfileId String
    The ID of the associated SSL Profile.
    sslProfileName String
    The name of the associated SSL Profile which should be used for this HTTP Listener.
    frontendIpConfigurationName string
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    frontendPortName string
    The Name of the Frontend Port use for this HTTP Listener.
    name string
    The Name of the HTTP Listener.
    protocol string
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    customErrorConfigurations ApplicationGatewayHttpListenerCustomErrorConfiguration[]
    One or more custom_error_configuration blocks as defined below.
    firewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    frontendIpConfigurationId string
    The ID of the associated Frontend Configuration.
    frontendPortId string
    The ID of the associated Frontend Port.
    hostName string
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    hostNames string[]

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    id string
    The ID of the Rewrite Rule Set
    requireSni boolean
    Should Server Name Indication be Required? Defaults to false.
    sslCertificateId string
    The ID of the associated SSL Certificate.
    sslCertificateName string
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    sslProfileId string
    The ID of the associated SSL Profile.
    sslProfileName string
    The name of the associated SSL Profile which should be used for this HTTP Listener.
    frontend_ip_configuration_name str
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    frontend_port_name str
    The Name of the Frontend Port use for this HTTP Listener.
    name str
    The Name of the HTTP Listener.
    protocol str
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    custom_error_configurations Sequence[ApplicationGatewayHttpListenerCustomErrorConfiguration]
    One or more custom_error_configuration blocks as defined below.
    firewall_policy_id str
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    frontend_ip_configuration_id str
    The ID of the associated Frontend Configuration.
    frontend_port_id str
    The ID of the associated Frontend Port.
    host_name str
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    host_names Sequence[str]

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    id str
    The ID of the Rewrite Rule Set
    require_sni bool
    Should Server Name Indication be Required? Defaults to false.
    ssl_certificate_id str
    The ID of the associated SSL Certificate.
    ssl_certificate_name str
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    ssl_profile_id str
    The ID of the associated SSL Profile.
    ssl_profile_name str
    The name of the associated SSL Profile which should be used for this HTTP Listener.
    frontendIpConfigurationName String
    The Name of the Frontend IP Configuration used for this HTTP Listener.
    frontendPortName String
    The Name of the Frontend Port use for this HTTP Listener.
    name String
    The Name of the HTTP Listener.
    protocol String
    The Protocol to use for this HTTP Listener. Possible values are Http and Https.
    customErrorConfigurations List<Property Map>
    One or more custom_error_configuration blocks as defined below.
    firewallPolicyId String
    The ID of the Web Application Firewall Policy which should be used for this HTTP Listener.
    frontendIpConfigurationId String
    The ID of the associated Frontend Configuration.
    frontendPortId String
    The ID of the associated Frontend Port.
    hostName String
    The Hostname which should be used for this HTTP Listener. Setting this value changes Listener Type to 'Multi site'.
    hostNames List<String>

    A list of Hostname(s) should be used for this HTTP Listener. It allows special wildcard characters.

    NOTE The host_names and host_name are mutually exclusive and cannot both be set.

    id String
    The ID of the Rewrite Rule Set
    requireSni Boolean
    Should Server Name Indication be Required? Defaults to false.
    sslCertificateId String
    The ID of the associated SSL Certificate.
    sslCertificateName String
    The name of the associated SSL Certificate which should be used for this HTTP Listener.
    sslProfileId String
    The ID of the associated SSL Profile.
    sslProfileName String
    The name of the associated SSL Profile which should be used for this HTTP Listener.

    ApplicationGatewayHttpListenerCustomErrorConfiguration, ApplicationGatewayHttpListenerCustomErrorConfigurationArgs

    CustomErrorPageUrl string
    Error page URL of the application gateway customer error.
    StatusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    Id string
    The ID of the Rewrite Rule Set
    CustomErrorPageUrl string
    Error page URL of the application gateway customer error.
    StatusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    Id string
    The ID of the Rewrite Rule Set
    customErrorPageUrl String
    Error page URL of the application gateway customer error.
    statusCode String
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id String
    The ID of the Rewrite Rule Set
    customErrorPageUrl string
    Error page URL of the application gateway customer error.
    statusCode string
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id string
    The ID of the Rewrite Rule Set
    custom_error_page_url str
    Error page URL of the application gateway customer error.
    status_code str
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id str
    The ID of the Rewrite Rule Set
    customErrorPageUrl String
    Error page URL of the application gateway customer error.
    statusCode String
    Status code of the application gateway customer error. Possible values are HttpStatus403 and HttpStatus502
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayIdentity, ApplicationGatewayIdentityArgs

    Type string
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    IdentityIds List<string>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    PrincipalId string
    TenantId string
    Type string
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    IdentityIds []string
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    PrincipalId string
    TenantId string
    type String
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    principalId String
    tenantId String
    type string
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    identityIds string[]
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    principalId string
    tenantId string
    type str
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    identity_ids Sequence[str]
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    principal_id str
    tenant_id str
    type String
    Specifies the type of Managed Service Identity that should be configured on this Application Gateway. Only possible value is UserAssigned.
    identityIds List<String>
    Specifies a list of User Assigned Managed Identity IDs to be assigned to this Application Gateway.
    principalId String
    tenantId String

    ApplicationGatewayPrivateEndpointConnection, ApplicationGatewayPrivateEndpointConnectionArgs

    Id string
    The ID of the Rewrite Rule Set
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    Id string
    The ID of the Rewrite Rule Set
    Name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    id String
    The ID of the Rewrite Rule Set
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.
    id string
    The ID of the Rewrite Rule Set
    name string
    The name of the Application Gateway. Changing this forces a new resource to be created.
    id str
    The ID of the Rewrite Rule Set
    name str
    The name of the Application Gateway. Changing this forces a new resource to be created.
    id String
    The ID of the Rewrite Rule Set
    name String
    The name of the Application Gateway. Changing this forces a new resource to be created.

    ApplicationGatewayPrivateLinkConfiguration, ApplicationGatewayPrivateLinkConfigurationArgs

    IpConfigurations List<ApplicationGatewayPrivateLinkConfigurationIpConfiguration>

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    Name string
    The name of the private link configuration.
    Id string
    The ID of the Rewrite Rule Set
    IpConfigurations []ApplicationGatewayPrivateLinkConfigurationIpConfiguration

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    Name string
    The name of the private link configuration.
    Id string
    The ID of the Rewrite Rule Set
    ipConfigurations List<ApplicationGatewayPrivateLinkConfigurationIpConfiguration>

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    name String
    The name of the private link configuration.
    id String
    The ID of the Rewrite Rule Set
    ipConfigurations ApplicationGatewayPrivateLinkConfigurationIpConfiguration[]

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    name string
    The name of the private link configuration.
    id string
    The ID of the Rewrite Rule Set
    ip_configurations Sequence[ApplicationGatewayPrivateLinkConfigurationIpConfiguration]

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    name str
    The name of the private link configuration.
    id str
    The ID of the Rewrite Rule Set
    ipConfigurations List<Property Map>

    One or more ip_configuration blocks as defined below.

    Please Note: The AllowApplicationGatewayPrivateLink feature must be registered on the subscription before enabling private link

    az feature register --name AllowApplicationGatewayPrivateLink --namespace Microsoft.Network
    
    name String
    The name of the private link configuration.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayPrivateLinkConfigurationIpConfiguration, ApplicationGatewayPrivateLinkConfigurationIpConfigurationArgs

    Name string
    The name of the IP configuration.
    Primary bool
    Is this the Primary IP Configuration?
    PrivateIpAddressAllocation string
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    SubnetId string
    The ID of the subnet the private link configuration should connect to.
    PrivateIpAddress string
    The Static IP Address which should be used.
    Name string
    The name of the IP configuration.
    Primary bool
    Is this the Primary IP Configuration?
    PrivateIpAddressAllocation string
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    SubnetId string
    The ID of the subnet the private link configuration should connect to.
    PrivateIpAddress string
    The Static IP Address which should be used.
    name String
    The name of the IP configuration.
    primary Boolean
    Is this the Primary IP Configuration?
    privateIpAddressAllocation String
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    subnetId String
    The ID of the subnet the private link configuration should connect to.
    privateIpAddress String
    The Static IP Address which should be used.
    name string
    The name of the IP configuration.
    primary boolean
    Is this the Primary IP Configuration?
    privateIpAddressAllocation string
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    subnetId string
    The ID of the subnet the private link configuration should connect to.
    privateIpAddress string
    The Static IP Address which should be used.
    name str
    The name of the IP configuration.
    primary bool
    Is this the Primary IP Configuration?
    private_ip_address_allocation str
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    subnet_id str
    The ID of the subnet the private link configuration should connect to.
    private_ip_address str
    The Static IP Address which should be used.
    name String
    The name of the IP configuration.
    primary Boolean
    Is this the Primary IP Configuration?
    privateIpAddressAllocation String
    The allocation method used for the Private IP Address. Possible values are Dynamic and Static.
    subnetId String
    The ID of the subnet the private link configuration should connect to.
    privateIpAddress String
    The Static IP Address which should be used.

    ApplicationGatewayProbe, ApplicationGatewayProbeArgs

    Interval int
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    Name string
    The Name of the Probe.
    Path string
    The Path used for this Probe.
    Protocol string
    The Protocol used for this Probe. Possible values are Http and Https.
    Timeout int
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    UnhealthyThreshold int
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    Host string
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    Id string
    The ID of the Rewrite Rule Set
    Match ApplicationGatewayProbeMatch
    A match block as defined above.
    MinimumServers int
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    PickHostNameFromBackendHttpSettings bool
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    Port int
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
    Interval int
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    Name string
    The Name of the Probe.
    Path string
    The Path used for this Probe.
    Protocol string
    The Protocol used for this Probe. Possible values are Http and Https.
    Timeout int
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    UnhealthyThreshold int
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    Host string
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    Id string
    The ID of the Rewrite Rule Set
    Match ApplicationGatewayProbeMatch
    A match block as defined above.
    MinimumServers int
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    PickHostNameFromBackendHttpSettings bool
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    Port int
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
    interval Integer
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    name String
    The Name of the Probe.
    path String
    The Path used for this Probe.
    protocol String
    The Protocol used for this Probe. Possible values are Http and Https.
    timeout Integer
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    unhealthyThreshold Integer
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    host String
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    id String
    The ID of the Rewrite Rule Set
    match ApplicationGatewayProbeMatch
    A match block as defined above.
    minimumServers Integer
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    pickHostNameFromBackendHttpSettings Boolean
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    port Integer
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
    interval number
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    name string
    The Name of the Probe.
    path string
    The Path used for this Probe.
    protocol string
    The Protocol used for this Probe. Possible values are Http and Https.
    timeout number
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    unhealthyThreshold number
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    host string
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    id string
    The ID of the Rewrite Rule Set
    match ApplicationGatewayProbeMatch
    A match block as defined above.
    minimumServers number
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    pickHostNameFromBackendHttpSettings boolean
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    port number
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
    interval int
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    name str
    The Name of the Probe.
    path str
    The Path used for this Probe.
    protocol str
    The Protocol used for this Probe. Possible values are Http and Https.
    timeout int
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    unhealthy_threshold int
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    host str
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    id str
    The ID of the Rewrite Rule Set
    match ApplicationGatewayProbeMatch
    A match block as defined above.
    minimum_servers int
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    pick_host_name_from_backend_http_settings bool
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    port int
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.
    interval Number
    The Interval between two consecutive probes in seconds. Possible values range from 1 second to a maximum of 86,400 seconds.
    name String
    The Name of the Probe.
    path String
    The Path used for this Probe.
    protocol String
    The Protocol used for this Probe. Possible values are Http and Https.
    timeout Number
    The Timeout used for this Probe, which indicates when a probe becomes unhealthy. Possible values range from 1 second to a maximum of 86,400 seconds.
    unhealthyThreshold Number
    The Unhealthy Threshold for this Probe, which indicates the amount of retries which should be attempted before a node is deemed unhealthy. Possible values are from 1 to 20.
    host String
    The Hostname used for this Probe. If the Application Gateway is configured for a single site, by default the Host name should be specified as 127.0.0.1, unless otherwise configured in custom probe. Cannot be set if pick_host_name_from_backend_http_settings is set to true.
    id String
    The ID of the Rewrite Rule Set
    match Property Map
    A match block as defined above.
    minimumServers Number
    The minimum number of servers that are always marked as healthy. Defaults to 0.
    pickHostNameFromBackendHttpSettings Boolean
    Whether the host header should be picked from the backend HTTP settings. Defaults to false.
    port Number
    Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from HTTP settings will be used. This property is valid for Standard_v2 and WAF_v2 only.

    ApplicationGatewayProbeMatch, ApplicationGatewayProbeMatchArgs

    StatusCodes List<string>
    A list of allowed status codes for this Health Probe.
    Body string
    A snippet from the Response Body which must be present in the Response.
    StatusCodes []string
    A list of allowed status codes for this Health Probe.
    Body string
    A snippet from the Response Body which must be present in the Response.
    statusCodes List<String>
    A list of allowed status codes for this Health Probe.
    body String
    A snippet from the Response Body which must be present in the Response.
    statusCodes string[]
    A list of allowed status codes for this Health Probe.
    body string
    A snippet from the Response Body which must be present in the Response.
    status_codes Sequence[str]
    A list of allowed status codes for this Health Probe.
    body str
    A snippet from the Response Body which must be present in the Response.
    statusCodes List<String>
    A list of allowed status codes for this Health Probe.
    body String
    A snippet from the Response Body which must be present in the Response.

    ApplicationGatewayRedirectConfiguration, ApplicationGatewayRedirectConfigurationArgs

    Name string
    Unique name of the redirect configuration block
    RedirectType string
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    Id string
    The ID of the Rewrite Rule Set
    IncludePath bool
    Whether to include the path in the redirected URL. Defaults to false
    IncludeQueryString bool
    Whether to include the query string in the redirected URL. Default to false
    TargetListenerId string
    TargetListenerName string
    The name of the listener to redirect to. Cannot be set if target_url is set.
    TargetUrl string
    The URL to redirect the request to. Cannot be set if target_listener_name is set.
    Name string
    Unique name of the redirect configuration block
    RedirectType string
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    Id string
    The ID of the Rewrite Rule Set
    IncludePath bool
    Whether to include the path in the redirected URL. Defaults to false
    IncludeQueryString bool
    Whether to include the query string in the redirected URL. Default to false
    TargetListenerId string
    TargetListenerName string
    The name of the listener to redirect to. Cannot be set if target_url is set.
    TargetUrl string
    The URL to redirect the request to. Cannot be set if target_listener_name is set.
    name String
    Unique name of the redirect configuration block
    redirectType String
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    id String
    The ID of the Rewrite Rule Set
    includePath Boolean
    Whether to include the path in the redirected URL. Defaults to false
    includeQueryString Boolean
    Whether to include the query string in the redirected URL. Default to false
    targetListenerId String
    targetListenerName String
    The name of the listener to redirect to. Cannot be set if target_url is set.
    targetUrl String
    The URL to redirect the request to. Cannot be set if target_listener_name is set.
    name string
    Unique name of the redirect configuration block
    redirectType string
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    id string
    The ID of the Rewrite Rule Set
    includePath boolean
    Whether to include the path in the redirected URL. Defaults to false
    includeQueryString boolean
    Whether to include the query string in the redirected URL. Default to false
    targetListenerId string
    targetListenerName string
    The name of the listener to redirect to. Cannot be set if target_url is set.
    targetUrl string
    The URL to redirect the request to. Cannot be set if target_listener_name is set.
    name str
    Unique name of the redirect configuration block
    redirect_type str
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    id str
    The ID of the Rewrite Rule Set
    include_path bool
    Whether to include the path in the redirected URL. Defaults to false
    include_query_string bool
    Whether to include the query string in the redirected URL. Default to false
    target_listener_id str
    target_listener_name str
    The name of the listener to redirect to. Cannot be set if target_url is set.
    target_url str
    The URL to redirect the request to. Cannot be set if target_listener_name is set.
    name String
    Unique name of the redirect configuration block
    redirectType String
    The type of redirect. Possible values are Permanent, Temporary, Found and SeeOther
    id String
    The ID of the Rewrite Rule Set
    includePath Boolean
    Whether to include the path in the redirected URL. Defaults to false
    includeQueryString Boolean
    Whether to include the query string in the redirected URL. Default to false
    targetListenerId String
    targetListenerName String
    The name of the listener to redirect to. Cannot be set if target_url is set.
    targetUrl String
    The URL to redirect the request to. Cannot be set if target_listener_name is set.

    ApplicationGatewayRequestRoutingRule, ApplicationGatewayRequestRoutingRuleArgs

    HttpListenerName string
    The Name of the HTTP Listener which should be used for this Routing Rule.
    Name string
    The Name of this Request Routing Rule.
    RuleType string
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    BackendAddressPoolId string
    The ID of the associated Backend Address Pool.
    BackendAddressPoolName string
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    BackendHttpSettingsId string
    The ID of the associated Backend HTTP Settings Configuration.
    BackendHttpSettingsName string
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    HttpListenerId string
    The ID of the associated HTTP Listener.
    Id string
    The ID of the Rewrite Rule Set
    Priority int

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    RedirectConfigurationId string
    The ID of the associated Redirect Configuration.
    RedirectConfigurationName string
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    RewriteRuleSetId string
    The ID of the associated Rewrite Rule Set.
    RewriteRuleSetName string

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    UrlPathMapId string
    The ID of the associated URL Path Map.
    UrlPathMapName string
    The Name of the URL Path Map which should be associated with this Routing Rule.
    HttpListenerName string
    The Name of the HTTP Listener which should be used for this Routing Rule.
    Name string
    The Name of this Request Routing Rule.
    RuleType string
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    BackendAddressPoolId string
    The ID of the associated Backend Address Pool.
    BackendAddressPoolName string
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    BackendHttpSettingsId string
    The ID of the associated Backend HTTP Settings Configuration.
    BackendHttpSettingsName string
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    HttpListenerId string
    The ID of the associated HTTP Listener.
    Id string
    The ID of the Rewrite Rule Set
    Priority int

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    RedirectConfigurationId string
    The ID of the associated Redirect Configuration.
    RedirectConfigurationName string
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    RewriteRuleSetId string
    The ID of the associated Rewrite Rule Set.
    RewriteRuleSetName string

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    UrlPathMapId string
    The ID of the associated URL Path Map.
    UrlPathMapName string
    The Name of the URL Path Map which should be associated with this Routing Rule.
    httpListenerName String
    The Name of the HTTP Listener which should be used for this Routing Rule.
    name String
    The Name of this Request Routing Rule.
    ruleType String
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    backendAddressPoolId String
    The ID of the associated Backend Address Pool.
    backendAddressPoolName String
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    backendHttpSettingsId String
    The ID of the associated Backend HTTP Settings Configuration.
    backendHttpSettingsName String
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    httpListenerId String
    The ID of the associated HTTP Listener.
    id String
    The ID of the Rewrite Rule Set
    priority Integer

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    redirectConfigurationId String
    The ID of the associated Redirect Configuration.
    redirectConfigurationName String
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    rewriteRuleSetId String
    The ID of the associated Rewrite Rule Set.
    rewriteRuleSetName String

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    urlPathMapId String
    The ID of the associated URL Path Map.
    urlPathMapName String
    The Name of the URL Path Map which should be associated with this Routing Rule.
    httpListenerName string
    The Name of the HTTP Listener which should be used for this Routing Rule.
    name string
    The Name of this Request Routing Rule.
    ruleType string
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    backendAddressPoolId string
    The ID of the associated Backend Address Pool.
    backendAddressPoolName string
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    backendHttpSettingsId string
    The ID of the associated Backend HTTP Settings Configuration.
    backendHttpSettingsName string
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    httpListenerId string
    The ID of the associated HTTP Listener.
    id string
    The ID of the Rewrite Rule Set
    priority number

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    redirectConfigurationId string
    The ID of the associated Redirect Configuration.
    redirectConfigurationName string
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    rewriteRuleSetId string
    The ID of the associated Rewrite Rule Set.
    rewriteRuleSetName string

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    urlPathMapId string
    The ID of the associated URL Path Map.
    urlPathMapName string
    The Name of the URL Path Map which should be associated with this Routing Rule.
    http_listener_name str
    The Name of the HTTP Listener which should be used for this Routing Rule.
    name str
    The Name of this Request Routing Rule.
    rule_type str
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    backend_address_pool_id str
    The ID of the associated Backend Address Pool.
    backend_address_pool_name str
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    backend_http_settings_id str
    The ID of the associated Backend HTTP Settings Configuration.
    backend_http_settings_name str
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    http_listener_id str
    The ID of the associated HTTP Listener.
    id str
    The ID of the Rewrite Rule Set
    priority int

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    redirect_configuration_id str
    The ID of the associated Redirect Configuration.
    redirect_configuration_name str
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    rewrite_rule_set_id str
    The ID of the associated Rewrite Rule Set.
    rewrite_rule_set_name str

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    url_path_map_id str
    The ID of the associated URL Path Map.
    url_path_map_name str
    The Name of the URL Path Map which should be associated with this Routing Rule.
    httpListenerName String
    The Name of the HTTP Listener which should be used for this Routing Rule.
    name String
    The Name of this Request Routing Rule.
    ruleType String
    The Type of Routing that should be used for this Rule. Possible values are Basic and PathBasedRouting.
    backendAddressPoolId String
    The ID of the associated Backend Address Pool.
    backendAddressPoolName String
    The Name of the Backend Address Pool which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    backendHttpSettingsId String
    The ID of the associated Backend HTTP Settings Configuration.
    backendHttpSettingsName String
    The Name of the Backend HTTP Settings Collection which should be used for this Routing Rule. Cannot be set if redirect_configuration_name is set.
    httpListenerId String
    The ID of the associated HTTP Listener.
    id String
    The ID of the Rewrite Rule Set
    priority Number

    Rule evaluation order can be dictated by specifying an integer value from 1 to 20000 with 1 being the highest priority and 20000 being the lowest priority.

    NOTE: priority is required when sku[0].tier is set to *_v2.

    redirectConfigurationId String
    The ID of the associated Redirect Configuration.
    redirectConfigurationName String
    The Name of the Redirect Configuration which should be used for this Routing Rule. Cannot be set if either backend_address_pool_name or backend_http_settings_name is set.
    rewriteRuleSetId String
    The ID of the associated Rewrite Rule Set.
    rewriteRuleSetName String

    The Name of the Rewrite Rule Set which should be used for this Routing Rule. Only valid for v2 SKUs.

    NOTE: backend_address_pool_name, backend_http_settings_name, redirect_configuration_name, and rewrite_rule_set_name are applicable only when rule_type is Basic.

    urlPathMapId String
    The ID of the associated URL Path Map.
    urlPathMapName String
    The Name of the URL Path Map which should be associated with this Routing Rule.

    ApplicationGatewayRewriteRuleSet, ApplicationGatewayRewriteRuleSetArgs

    Name string
    Unique name of the rewrite rule set block
    Id string
    The ID of the Rewrite Rule Set
    RewriteRules List<ApplicationGatewayRewriteRuleSetRewriteRule>
    One or more rewrite_rule blocks as defined below.
    Name string
    Unique name of the rewrite rule set block
    Id string
    The ID of the Rewrite Rule Set
    RewriteRules []ApplicationGatewayRewriteRuleSetRewriteRule
    One or more rewrite_rule blocks as defined below.
    name String
    Unique name of the rewrite rule set block
    id String
    The ID of the Rewrite Rule Set
    rewriteRules List<ApplicationGatewayRewriteRuleSetRewriteRule>
    One or more rewrite_rule blocks as defined below.
    name string
    Unique name of the rewrite rule set block
    id string
    The ID of the Rewrite Rule Set
    rewriteRules ApplicationGatewayRewriteRuleSetRewriteRule[]
    One or more rewrite_rule blocks as defined below.
    name str
    Unique name of the rewrite rule set block
    id str
    The ID of the Rewrite Rule Set
    rewrite_rules Sequence[ApplicationGatewayRewriteRuleSetRewriteRule]
    One or more rewrite_rule blocks as defined below.
    name String
    Unique name of the rewrite rule set block
    id String
    The ID of the Rewrite Rule Set
    rewriteRules List<Property Map>
    One or more rewrite_rule blocks as defined below.

    ApplicationGatewayRewriteRuleSetRewriteRule, ApplicationGatewayRewriteRuleSetRewriteRuleArgs

    Name string
    Unique name of the rewrite rule block
    RuleSequence int
    Rule sequence of the rewrite rule that determines the order of execution in a set.
    Conditions List<ApplicationGatewayRewriteRuleSetRewriteRuleCondition>
    One or more condition blocks as defined above.
    RequestHeaderConfigurations List<ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration>
    One or more request_header_configuration blocks as defined above.
    ResponseHeaderConfigurations List<ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration>
    One or more response_header_configuration blocks as defined above.
    Url ApplicationGatewayRewriteRuleSetRewriteRuleUrl
    One url block as defined below
    Name string
    Unique name of the rewrite rule block
    RuleSequence int
    Rule sequence of the rewrite rule that determines the order of execution in a set.
    Conditions []ApplicationGatewayRewriteRuleSetRewriteRuleCondition
    One or more condition blocks as defined above.
    RequestHeaderConfigurations []ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration
    One or more request_header_configuration blocks as defined above.
    ResponseHeaderConfigurations []ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration
    One or more response_header_configuration blocks as defined above.
    Url ApplicationGatewayRewriteRuleSetRewriteRuleUrl
    One url block as defined below
    name String
    Unique name of the rewrite rule block
    ruleSequence Integer
    Rule sequence of the rewrite rule that determines the order of execution in a set.
    conditions List<ApplicationGatewayRewriteRuleSetRewriteRuleCondition>
    One or more condition blocks as defined above.
    requestHeaderConfigurations List<ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration>
    One or more request_header_configuration blocks as defined above.
    responseHeaderConfigurations List<ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration>
    One or more response_header_configuration blocks as defined above.
    url ApplicationGatewayRewriteRuleSetRewriteRuleUrl
    One url block as defined below
    name string
    Unique name of the rewrite rule block