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

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi

azure.network.ApplicationGateway

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure v6.10.0 published on Tuesday, Nov 19, 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: "Static",
    });
    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="Static")
    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",
            "subnet_id": example_subnet.id,
        }],
        frontend_ports=[{
            "name": frontend_port_name,
            "port": 80,
        }],
        frontend_ip_configurations=[{
            "name": frontend_ip_configuration_name,
            "public_ip_address_id": example_public_ip.id,
        }],
        backend_address_pools=[{
            "name": backend_address_pool_name,
        }],
        backend_http_settings=[{
            "name": http_setting_name,
            "cookie_based_affinity": "Disabled",
            "path": "/path1/",
            "port": 80,
            "protocol": "Http",
            "request_timeout": 60,
        }],
        http_listeners=[{
            "name": listener_name,
            "frontend_ip_configuration_name": frontend_ip_configuration_name,
            "frontend_port_name": frontend_port_name,
            "protocol": "Http",
        }],
        request_routing_rules=[{
            "name": request_routing_rule_name,
            "priority": 9,
            "rule_type": "Basic",
            "http_listener_name": listener_name,
            "backend_address_pool_name": backend_address_pool_name,
            "backend_http_settings_name": http_setting_name,
        }])
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v6/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("Static"),
    		})
    		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 = "Static",
        });
    
        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("Static")
                .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: Static
      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",
            "private_ip_address": "string",
            "private_ip_address_allocation": "string",
            "private_link_configuration_id": "string",
            "private_link_configuration_name": "string",
            "public_ip_address_id": "string",
            "subnet_id": "string",
        }],
        sku={
            "name": "string",
            "tier": "string",
            "capacity": 0,
        },
        backend_address_pools=[{
            "name": "string",
            "fqdns": ["string"],
            "id": "string",
            "ip_addresses": ["string"],
        }],
        backend_http_settings=[{
            "name": "string",
            "port": 0,
            "protocol": "string",
            "cookie_based_affinity": "string",
            "pick_host_name_from_backend_address": False,
            "id": "string",
            "authentication_certificates": [{
                "name": "string",
                "id": "string",
            }],
            "path": "string",
            "affinity_cookie_name": "string",
            "host_name": "string",
            "probe_id": "string",
            "probe_name": "string",
            "connection_draining": {
                "drain_timeout_sec": 0,
                "enabled": False,
            },
            "request_timeout": 0,
            "trusted_root_certificate_names": ["string"],
        }],
        resource_group_name="string",
        request_routing_rules=[{
            "http_listener_name": "string",
            "rule_type": "string",
            "name": "string",
            "priority": 0,
            "http_listener_id": "string",
            "backend_http_settings_name": "string",
            "id": "string",
            "backend_http_settings_id": "string",
            "backend_address_pool_id": "string",
            "redirect_configuration_id": "string",
            "redirect_configuration_name": "string",
            "rewrite_rule_set_id": "string",
            "rewrite_rule_set_name": "string",
            "backend_address_pool_name": "string",
            "url_path_map_id": "string",
            "url_path_map_name": "string",
        }],
        http_listeners=[{
            "frontend_port_name": "string",
            "protocol": "string",
            "name": "string",
            "frontend_ip_configuration_name": "string",
            "id": "string",
            "frontend_port_id": "string",
            "host_name": "string",
            "host_names": ["string"],
            "custom_error_configurations": [{
                "custom_error_page_url": "string",
                "status_code": "string",
                "id": "string",
            }],
            "frontend_ip_configuration_id": "string",
            "firewall_policy_id": "string",
            "require_sni": False,
            "ssl_certificate_id": "string",
            "ssl_certificate_name": "string",
            "ssl_profile_id": "string",
            "ssl_profile_name": "string",
        }],
        gateway_ip_configurations=[{
            "name": "string",
            "subnet_id": "string",
            "id": "string",
        }],
        frontend_ports=[{
            "name": "string",
            "port": 0,
            "id": "string",
        }],
        name="string",
        enable_http2=False,
        firewall_policy_id="string",
        global_={
            "request_buffering_enabled": False,
            "response_buffering_enabled": False,
        },
        fips_enabled=False,
        identity={
            "type": "string",
            "identity_ids": ["string"],
            "principal_id": "string",
            "tenant_id": "string",
        },
        location="string",
        authentication_certificates=[{
            "data": "string",
            "name": "string",
            "id": "string",
        }],
        private_link_configurations=[{
            "ip_configurations": [{
                "name": "string",
                "primary": False,
                "private_ip_address_allocation": "string",
                "subnet_id": "string",
                "private_ip_address": "string",
            }],
            "name": "string",
            "id": "string",
        }],
        probes=[{
            "interval": 0,
            "name": "string",
            "path": "string",
            "protocol": "string",
            "timeout": 0,
            "unhealthy_threshold": 0,
            "host": "string",
            "id": "string",
            "match": {
                "status_codes": ["string"],
                "body": "string",
            },
            "minimum_servers": 0,
            "pick_host_name_from_backend_http_settings": False,
            "port": 0,
        }],
        redirect_configurations=[{
            "name": "string",
            "redirect_type": "string",
            "id": "string",
            "include_path": False,
            "include_query_string": False,
            "target_listener_id": "string",
            "target_listener_name": "string",
            "target_url": "string",
        }],
        force_firewall_policy_association=False,
        custom_error_configurations=[{
            "custom_error_page_url": "string",
            "status_code": "string",
            "id": "string",
        }],
        rewrite_rule_sets=[{
            "name": "string",
            "id": "string",
            "rewrite_rules": [{
                "name": "string",
                "rule_sequence": 0,
                "conditions": [{
                    "pattern": "string",
                    "variable": "string",
                    "ignore_case": False,
                    "negate": False,
                }],
                "request_header_configurations": [{
                    "header_name": "string",
                    "header_value": "string",
                }],
                "response_header_configurations": [{
                    "header_name": "string",
                    "header_value": "string",
                }],
                "url": {
                    "components": "string",
                    "path": "string",
                    "query_string": "string",
                    "reroute": False,
                },
            }],
        }],
        autoscale_configuration={
            "min_capacity": 0,
            "max_capacity": 0,
        },
        ssl_certificates=[{
            "name": "string",
            "data": "string",
            "id": "string",
            "key_vault_secret_id": "string",
            "password": "string",
            "public_cert_data": "string",
        }],
        ssl_policy={
            "cipher_suites": ["string"],
            "disabled_protocols": ["string"],
            "min_protocol_version": "string",
            "policy_name": "string",
            "policy_type": "string",
        },
        ssl_profiles=[{
            "name": "string",
            "id": "string",
            "ssl_policy": {
                "cipher_suites": ["string"],
                "disabled_protocols": ["string"],
                "min_protocol_version": "string",
                "policy_name": "string",
                "policy_type": "string",
            },
            "trusted_client_certificate_names": ["string"],
            "verify_client_cert_issuer_dn": False,
            "verify_client_certificate_revocation": "string",
        }],
        tags={
            "string": "string",
        },
        trusted_client_certificates=[{
            "data": "string",
            "name": "string",
            "id": "string",
        }],
        trusted_root_certificates=[{
            "name": "string",
            "data": "string",
            "id": "string",
            "key_vault_secret_id": "string",
        }],
        url_path_maps=[{
            "name": "string",
            "path_rules": [{
                "name": "string",
                "paths": ["string"],
                "backend_address_pool_id": "string",
                "backend_address_pool_name": "string",
                "backend_http_settings_id": "string",
                "backend_http_settings_name": "string",
                "firewall_policy_id": "string",
                "id": "string",
                "redirect_configuration_id": "string",
                "redirect_configuration_name": "string",
                "rewrite_rule_set_id": "string",
                "rewrite_rule_set_name": "string",
            }],
            "default_backend_address_pool_id": "string",
            "default_backend_address_pool_name": "string",
            "default_backend_http_settings_id": "string",
            "default_backend_http_settings_name": "string",
            "default_redirect_configuration_id": "string",
            "default_redirect_configuration_name": "string",
            "default_rewrite_rule_set_id": "string",
            "default_rewrite_rule_set_name": "string",
            "id": "string",
        }],
        waf_configuration={
            "enabled": False,
            "firewall_mode": "string",
            "rule_set_version": "string",
            "disabled_rule_groups": [{
                "rule_group_name": "string",
                "rules": [0],
            }],
            "exclusions": [{
                "match_variable": "string",
                "selector": "string",
                "selector_match_operator": "string",
            }],
            "file_upload_limit_mb": 0,
            "max_request_body_size_kb": 0,
            "request_body_check": False,
            "rule_set_type": "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

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 WAF and Standard 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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 HttpStatus400, HttpStatus403, HttpStatus404, HttpStatus405, HttpStatus408, HttpStatus500, HttpStatus502, HttpStatus503 and HttpStatus504
    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 Basic, 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 Basic, 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 Basic, 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 Basic, 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 Basic, 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 Basic, 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
    ruleSequence number
    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 str
    Unique name of the rewrite rule block
    rule_sequence int
    Rule sequence of the rewrite rule that determines the order of execution in a set.
    conditions Sequence[ApplicationGatewayRewriteRuleSetRewriteRuleCondition]
    One or more condition blocks as defined above.
    request_header_configurations Sequence[ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration]
    One or more request_header_configuration blocks as defined above.
    response_header_configurations Sequence[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 Number
    Rule sequence of the rewrite rule that determines the order of execution in a set.
    conditions List<Property Map>
    One or more condition blocks as defined above.
    requestHeaderConfigurations List<Property Map>
    One or more request_header_configuration blocks as defined above.
    responseHeaderConfigurations List<Property Map>
    One or more response_header_configuration blocks as defined above.
    url Property Map
    One url block as defined below

    ApplicationGatewayRewriteRuleSetRewriteRuleCondition, ApplicationGatewayRewriteRuleSetRewriteRuleConditionArgs

    Pattern string
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    Variable string
    The variable of the condition.
    IgnoreCase bool
    Perform a case in-sensitive comparison. Defaults to false
    Negate bool
    Negate the result of the condition evaluation. Defaults to false
    Pattern string
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    Variable string
    The variable of the condition.
    IgnoreCase bool
    Perform a case in-sensitive comparison. Defaults to false
    Negate bool
    Negate the result of the condition evaluation. Defaults to false
    pattern String
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    variable String
    The variable of the condition.
    ignoreCase Boolean
    Perform a case in-sensitive comparison. Defaults to false
    negate Boolean
    Negate the result of the condition evaluation. Defaults to false
    pattern string
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    variable string
    The variable of the condition.
    ignoreCase boolean
    Perform a case in-sensitive comparison. Defaults to false
    negate boolean
    Negate the result of the condition evaluation. Defaults to false
    pattern str
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    variable str
    The variable of the condition.
    ignore_case bool
    Perform a case in-sensitive comparison. Defaults to false
    negate bool
    Negate the result of the condition evaluation. Defaults to false
    pattern String
    The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition.
    variable String
    The variable of the condition.
    ignoreCase Boolean
    Perform a case in-sensitive comparison. Defaults to false
    negate Boolean
    Negate the result of the condition evaluation. Defaults to false

    ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfiguration, ApplicationGatewayRewriteRuleSetRewriteRuleRequestHeaderConfigurationArgs

    HeaderName string
    Header name of the header configuration.
    HeaderValue string
    Header value of the header configuration. To delete a request header set this property to an empty string.
    HeaderName string
    Header name of the header configuration.
    HeaderValue string
    Header value of the header configuration. To delete a request header set this property to an empty string.
    headerName String
    Header name of the header configuration.
    headerValue String
    Header value of the header configuration. To delete a request header set this property to an empty string.
    headerName string
    Header name of the header configuration.
    headerValue string
    Header value of the header configuration. To delete a request header set this property to an empty string.
    header_name str
    Header name of the header configuration.
    header_value str
    Header value of the header configuration. To delete a request header set this property to an empty string.
    headerName String
    Header name of the header configuration.
    headerValue String
    Header value of the header configuration. To delete a request header set this property to an empty string.

    ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfiguration, ApplicationGatewayRewriteRuleSetRewriteRuleResponseHeaderConfigurationArgs

    HeaderName string
    Header name of the header configuration.
    HeaderValue string
    Header value of the header configuration. To delete a response header set this property to an empty string.
    HeaderName string
    Header name of the header configuration.
    HeaderValue string
    Header value of the header configuration. To delete a response header set this property to an empty string.
    headerName String
    Header name of the header configuration.
    headerValue String
    Header value of the header configuration. To delete a response header set this property to an empty string.
    headerName string
    Header name of the header configuration.
    headerValue string
    Header value of the header configuration. To delete a response header set this property to an empty string.
    header_name str
    Header name of the header configuration.
    header_value str
    Header value of the header configuration. To delete a response header set this property to an empty string.
    headerName String
    Header name of the header configuration.
    headerValue String
    Header value of the header configuration. To delete a response header set this property to an empty string.

    ApplicationGatewayRewriteRuleSetRewriteRuleUrl, ApplicationGatewayRewriteRuleSetRewriteRuleUrlArgs

    Components string

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    Path string
    The URL path to rewrite.
    QueryString string
    The query string to rewrite.
    Reroute bool
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration
    Components string

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    Path string
    The URL path to rewrite.
    QueryString string
    The query string to rewrite.
    Reroute bool
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration
    components String

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    path String
    The URL path to rewrite.
    queryString String
    The query string to rewrite.
    reroute Boolean
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration
    components string

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    path string
    The URL path to rewrite.
    queryString string
    The query string to rewrite.
    reroute boolean
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration
    components str

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    path str
    The URL path to rewrite.
    query_string str
    The query string to rewrite.
    reroute bool
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration
    components String

    The components used to rewrite the URL. Possible values are path_only and query_string_only to limit the rewrite to the URL Path or URL Query String only.

    Note: One or both of path and query_string must be specified. If one of these is not specified, it means the value will be empty. If you only want to rewrite path or query_string, use components.

    path String
    The URL path to rewrite.
    queryString String
    The query string to rewrite.
    reroute Boolean
    Whether the URL path map should be reevaluated after this rewrite has been applied. More info on rewrite configuration

    ApplicationGatewaySku, ApplicationGatewaySkuArgs

    Name string
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    Tier string

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    Capacity int
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.
    Name string
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    Tier string

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    Capacity int
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.
    name String
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    tier String

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    capacity Integer
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.
    name string
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    tier string

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    capacity number
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.
    name str
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    tier str

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    capacity int
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.
    name String
    The Name of the SKU to use for this Application Gateway. Possible values are Basic, Standard_Small, Standard_Medium, Standard_Large, Basic, Standard_v2, WAF_Medium, WAF_Large, and WAF_v2.
    tier String

    The Tier of the SKU to use for this Application Gateway. Possible values are Basic, Standard, Standard_v2, WAF and WAF_v2.

    !> NOTE: The Standard and WAF SKU have been deprecated in favour of the Basic, Standard_v2 and WAF_v2 SKU. Please see the Azure documentation for more details.

    capacity Number
    The Capacity of the SKU to use for this Application Gateway. When using a V1 SKU this value must be between 1 and 32, and 1 to 125 for a V2 SKU. When using a Basic SKU this property must be between 1 and 2. This property is optional if autoscale_configuration is set.

    ApplicationGatewaySslCertificate, ApplicationGatewaySslCertificateArgs

    Name string
    The Name of the SSL certificate that is unique within this Application Gateway
    Data string

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    Id string
    The ID of the Rewrite Rule Set
    KeyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    Password string
    Password for the pfx file specified in data. Required if data is set.
    PublicCertData string
    The Public Certificate Data associated with the SSL Certificate.
    Name string
    The Name of the SSL certificate that is unique within this Application Gateway
    Data string

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    Id string
    The ID of the Rewrite Rule Set
    KeyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    Password string
    Password for the pfx file specified in data. Required if data is set.
    PublicCertData string
    The Public Certificate Data associated with the SSL Certificate.
    name String
    The Name of the SSL certificate that is unique within this Application Gateway
    data String

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    id String
    The ID of the Rewrite Rule Set
    keyVaultSecretId String

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    password String
    Password for the pfx file specified in data. Required if data is set.
    publicCertData String
    The Public Certificate Data associated with the SSL Certificate.
    name string
    The Name of the SSL certificate that is unique within this Application Gateway
    data string

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    id string
    The ID of the Rewrite Rule Set
    keyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    password string
    Password for the pfx file specified in data. Required if data is set.
    publicCertData string
    The Public Certificate Data associated with the SSL Certificate.
    name str
    The Name of the SSL certificate that is unique within this Application Gateway
    data str

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    id str
    The ID of the Rewrite Rule Set
    key_vault_secret_id str

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    password str
    Password for the pfx file specified in data. Required if data is set.
    public_cert_data str
    The Public Certificate Data associated with the SSL Certificate.
    name String
    The Name of the SSL certificate that is unique within this Application Gateway
    data String

    The base64-encoded PFX certificate data. Required if key_vault_secret_id is not set.

    NOTE: When specifying a file, use data = filebase64("path/to/file") to encode the contents of that file.

    id String
    The ID of the Rewrite Rule Set
    keyVaultSecretId String

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    password String
    Password for the pfx file specified in data. Required if data is set.
    publicCertData String
    The Public Certificate Data associated with the SSL Certificate.

    ApplicationGatewaySslPolicy, ApplicationGatewaySslPolicyArgs

    CipherSuites List<string>
    DisabledProtocols List<string>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    MinProtocolVersion string
    PolicyName string
    PolicyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    CipherSuites []string
    DisabledProtocols []string

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    MinProtocolVersion string
    PolicyName string
    PolicyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites List<String>
    disabledProtocols List<String>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion String
    policyName String
    policyType String

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites string[]
    disabledProtocols string[]

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion string
    policyName string
    policyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipher_suites Sequence[str]
    disabled_protocols Sequence[str]

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    min_protocol_version str
    policy_name str
    policy_type str

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites List<String>
    disabledProtocols List<String>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion String
    policyName String
    policyType String

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    ApplicationGatewaySslProfile, ApplicationGatewaySslProfileArgs

    Name string
    The name of the SSL Profile that is unique within this Application Gateway.
    Id string
    The ID of the Rewrite Rule Set
    SslPolicy ApplicationGatewaySslProfileSslPolicy
    a ssl_policy block as defined below.
    TrustedClientCertificateNames List<string>
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    VerifyClientCertIssuerDn bool
    Should client certificate issuer DN be verified? Defaults to false.
    VerifyClientCertificateRevocation string
    Specify the method to check client certificate revocation status. Possible value is OCSP.
    Name string
    The name of the SSL Profile that is unique within this Application Gateway.
    Id string
    The ID of the Rewrite Rule Set
    SslPolicy ApplicationGatewaySslProfileSslPolicy
    a ssl_policy block as defined below.
    TrustedClientCertificateNames []string
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    VerifyClientCertIssuerDn bool
    Should client certificate issuer DN be verified? Defaults to false.
    VerifyClientCertificateRevocation string
    Specify the method to check client certificate revocation status. Possible value is OCSP.
    name String
    The name of the SSL Profile that is unique within this Application Gateway.
    id String
    The ID of the Rewrite Rule Set
    sslPolicy ApplicationGatewaySslProfileSslPolicy
    a ssl_policy block as defined below.
    trustedClientCertificateNames List<String>
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    verifyClientCertIssuerDn Boolean
    Should client certificate issuer DN be verified? Defaults to false.
    verifyClientCertificateRevocation String
    Specify the method to check client certificate revocation status. Possible value is OCSP.
    name string
    The name of the SSL Profile that is unique within this Application Gateway.
    id string
    The ID of the Rewrite Rule Set
    sslPolicy ApplicationGatewaySslProfileSslPolicy
    a ssl_policy block as defined below.
    trustedClientCertificateNames string[]
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    verifyClientCertIssuerDn boolean
    Should client certificate issuer DN be verified? Defaults to false.
    verifyClientCertificateRevocation string
    Specify the method to check client certificate revocation status. Possible value is OCSP.
    name str
    The name of the SSL Profile that is unique within this Application Gateway.
    id str
    The ID of the Rewrite Rule Set
    ssl_policy ApplicationGatewaySslProfileSslPolicy
    a ssl_policy block as defined below.
    trusted_client_certificate_names Sequence[str]
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    verify_client_cert_issuer_dn bool
    Should client certificate issuer DN be verified? Defaults to false.
    verify_client_certificate_revocation str
    Specify the method to check client certificate revocation status. Possible value is OCSP.
    name String
    The name of the SSL Profile that is unique within this Application Gateway.
    id String
    The ID of the Rewrite Rule Set
    sslPolicy Property Map
    a ssl_policy block as defined below.
    trustedClientCertificateNames List<String>
    The name of the Trusted Client Certificate that will be used to authenticate requests from clients.
    verifyClientCertIssuerDn Boolean
    Should client certificate issuer DN be verified? Defaults to false.
    verifyClientCertificateRevocation String
    Specify the method to check client certificate revocation status. Possible value is OCSP.

    ApplicationGatewaySslProfileSslPolicy, ApplicationGatewaySslProfileSslPolicyArgs

    CipherSuites List<string>
    DisabledProtocols List<string>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    MinProtocolVersion string
    PolicyName string
    PolicyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    CipherSuites []string
    DisabledProtocols []string

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    MinProtocolVersion string
    PolicyName string
    PolicyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites List<String>
    disabledProtocols List<String>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion String
    policyName String
    policyType String

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites string[]
    disabledProtocols string[]

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion string
    policyName string
    policyType string

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipher_suites Sequence[str]
    disabled_protocols Sequence[str]

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    min_protocol_version str
    policy_name str
    policy_type str

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    cipherSuites List<String>
    disabledProtocols List<String>

    A list of SSL Protocols which should be disabled on this Application Gateway. Possible values are TLSv1_0, TLSv1_1, TLSv1_2 and TLSv1_3.

    NOTE: disabled_protocols cannot be set when policy_name or policy_type are set.

    minProtocolVersion String
    policyName String
    policyType String

    The Type of the Policy. Possible values are Predefined, Custom and CustomV2.

    NOTE: policy_type is Required when policy_name is set - cannot be set if disabled_protocols is set.

    ApplicationGatewayTrustedClientCertificate, ApplicationGatewayTrustedClientCertificateArgs

    Data string
    The base-64 encoded certificate.
    Name string
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    Id string
    The ID of the Rewrite Rule Set
    Data string
    The base-64 encoded certificate.
    Name string
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    Id string
    The ID of the Rewrite Rule Set
    data String
    The base-64 encoded certificate.
    name String
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    id String
    The ID of the Rewrite Rule Set
    data string
    The base-64 encoded certificate.
    name string
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    id string
    The ID of the Rewrite Rule Set
    data str
    The base-64 encoded certificate.
    name str
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    id str
    The ID of the Rewrite Rule Set
    data String
    The base-64 encoded certificate.
    name String
    The name of the Trusted Client Certificate that is unique within this Application Gateway.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayTrustedRootCertificate, ApplicationGatewayTrustedRootCertificateArgs

    Name string
    The Name of the Trusted Root Certificate to use.
    Data string
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    Id string
    The ID of the Rewrite Rule Set
    KeyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    Name string
    The Name of the Trusted Root Certificate to use.
    Data string
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    Id string
    The ID of the Rewrite Rule Set
    KeyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    name String
    The Name of the Trusted Root Certificate to use.
    data String
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    id String
    The ID of the Rewrite Rule Set
    keyVaultSecretId String

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    name string
    The Name of the Trusted Root Certificate to use.
    data string
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    id string
    The ID of the Rewrite Rule Set
    keyVaultSecretId string

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    name str
    The Name of the Trusted Root Certificate to use.
    data str
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    id str
    The ID of the Rewrite Rule Set
    key_vault_secret_id str

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    name String
    The Name of the Trusted Root Certificate to use.
    data String
    The contents of the Trusted Root Certificate which should be used. Required if key_vault_secret_id is not set.
    id String
    The ID of the Rewrite Rule Set
    keyVaultSecretId String

    The Secret ID of the (base-64 encoded unencrypted pfx) Secret or Certificate object stored in Azure KeyVault. You need to enable soft delete for the Key Vault to use this feature. Required if data is not set.

    NOTE: To implement certificate rotation, versionless_secret_id should be used, although secret_id is also supported.

    NOTE: TLS termination with Key Vault certificates is limited to the v2 SKUs.

    NOTE: For TLS termination with Key Vault certificates to work properly, an existing user-assigned managed identity, which Application Gateway uses to retrieve certificates from Key Vault, should be defined via identity block. Additionally, access policies in the Key Vault to allow the identity to be granted get access to the secret should be defined.

    ApplicationGatewayUrlPathMap, ApplicationGatewayUrlPathMapArgs

    Name string
    The Name of the URL Path Map.
    PathRules List<ApplicationGatewayUrlPathMapPathRule>
    One or more path_rule blocks as defined above.
    DefaultBackendAddressPoolId string
    The ID of the Default Backend Address Pool.
    DefaultBackendAddressPoolName string
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    DefaultBackendHttpSettingsId string
    The ID of the Default Backend HTTP Settings Collection.
    DefaultBackendHttpSettingsName string
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    DefaultRedirectConfigurationId string
    The ID of the Default Redirect Configuration.
    DefaultRedirectConfigurationName string

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    DefaultRewriteRuleSetId string
    DefaultRewriteRuleSetName string
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    Id string
    The ID of the Rewrite Rule Set
    Name string
    The Name of the URL Path Map.
    PathRules []ApplicationGatewayUrlPathMapPathRule
    One or more path_rule blocks as defined above.
    DefaultBackendAddressPoolId string
    The ID of the Default Backend Address Pool.
    DefaultBackendAddressPoolName string
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    DefaultBackendHttpSettingsId string
    The ID of the Default Backend HTTP Settings Collection.
    DefaultBackendHttpSettingsName string
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    DefaultRedirectConfigurationId string
    The ID of the Default Redirect Configuration.
    DefaultRedirectConfigurationName string

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    DefaultRewriteRuleSetId string
    DefaultRewriteRuleSetName string
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    Id string
    The ID of the Rewrite Rule Set
    name String
    The Name of the URL Path Map.
    pathRules List<ApplicationGatewayUrlPathMapPathRule>
    One or more path_rule blocks as defined above.
    defaultBackendAddressPoolId String
    The ID of the Default Backend Address Pool.
    defaultBackendAddressPoolName String
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultBackendHttpSettingsId String
    The ID of the Default Backend HTTP Settings Collection.
    defaultBackendHttpSettingsName String
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultRedirectConfigurationId String
    The ID of the Default Redirect Configuration.
    defaultRedirectConfigurationName String

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    defaultRewriteRuleSetId String
    defaultRewriteRuleSetName String
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    id String
    The ID of the Rewrite Rule Set
    name string
    The Name of the URL Path Map.
    pathRules ApplicationGatewayUrlPathMapPathRule[]
    One or more path_rule blocks as defined above.
    defaultBackendAddressPoolId string
    The ID of the Default Backend Address Pool.
    defaultBackendAddressPoolName string
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultBackendHttpSettingsId string
    The ID of the Default Backend HTTP Settings Collection.
    defaultBackendHttpSettingsName string
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultRedirectConfigurationId string
    The ID of the Default Redirect Configuration.
    defaultRedirectConfigurationName string

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    defaultRewriteRuleSetId string
    defaultRewriteRuleSetName string
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    id string
    The ID of the Rewrite Rule Set
    name str
    The Name of the URL Path Map.
    path_rules Sequence[ApplicationGatewayUrlPathMapPathRule]
    One or more path_rule blocks as defined above.
    default_backend_address_pool_id str
    The ID of the Default Backend Address Pool.
    default_backend_address_pool_name str
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    default_backend_http_settings_id str
    The ID of the Default Backend HTTP Settings Collection.
    default_backend_http_settings_name str
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    default_redirect_configuration_id str
    The ID of the Default Redirect Configuration.
    default_redirect_configuration_name str

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    default_rewrite_rule_set_id str
    default_rewrite_rule_set_name str
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    id str
    The ID of the Rewrite Rule Set
    name String
    The Name of the URL Path Map.
    pathRules List<Property Map>
    One or more path_rule blocks as defined above.
    defaultBackendAddressPoolId String
    The ID of the Default Backend Address Pool.
    defaultBackendAddressPoolName String
    The Name of the Default Backend Address Pool which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultBackendHttpSettingsId String
    The ID of the Default Backend HTTP Settings Collection.
    defaultBackendHttpSettingsName String
    The Name of the Default Backend HTTP Settings Collection which should be used for this URL Path Map. Cannot be set if default_redirect_configuration_name is set.
    defaultRedirectConfigurationId String
    The ID of the Default Redirect Configuration.
    defaultRedirectConfigurationName String

    The Name of the Default Redirect Configuration which should be used for this URL Path Map. Cannot be set if either default_backend_address_pool_name or default_backend_http_settings_name is set.

    NOTE: Both default_backend_address_pool_name and default_backend_http_settings_name or default_redirect_configuration_name should be specified.

    defaultRewriteRuleSetId String
    defaultRewriteRuleSetName String
    The Name of the Default Rewrite Rule Set which should be used for this URL Path Map. Only valid for v2 SKUs.
    id String
    The ID of the Rewrite Rule Set

    ApplicationGatewayUrlPathMapPathRule, ApplicationGatewayUrlPathMapPathRuleArgs

    Name string
    The Name of the Path Rule.
    Paths List<string>
    A list of Paths used in this Path Rule.
    BackendAddressPoolId string
    The ID of the associated Backend Address Pool.
    BackendAddressPoolName string
    The Name of the Backend Address Pool to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    Id string
    The ID of the Rewrite Rule Set
    RedirectConfigurationId string
    The ID of the associated Redirect Configuration.
    RedirectConfigurationName string
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.
    Name string
    The Name of the Path Rule.
    Paths []string
    A list of Paths used in this Path Rule.
    BackendAddressPoolId string
    The ID of the associated Backend Address Pool.
    BackendAddressPoolName string
    The Name of the Backend Address Pool to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    FirewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    Id string
    The ID of the Rewrite Rule Set
    RedirectConfigurationId string
    The ID of the associated Redirect Configuration.
    RedirectConfigurationName string
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.
    name String
    The Name of the Path Rule.
    paths List<String>
    A list of Paths used in this Path Rule.
    backendAddressPoolId String
    The ID of the associated Backend Address Pool.
    backendAddressPoolName String
    The Name of the Backend Address Pool to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    firewallPolicyId String
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    id String
    The ID of the Rewrite Rule Set
    redirectConfigurationId String
    The ID of the associated Redirect Configuration.
    redirectConfigurationName String
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.
    name string
    The Name of the Path Rule.
    paths string[]
    A list of Paths used in this Path Rule.
    backendAddressPoolId string
    The ID of the associated Backend Address Pool.
    backendAddressPoolName string
    The Name of the Backend Address Pool to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    firewallPolicyId string
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    id string
    The ID of the Rewrite Rule Set
    redirectConfigurationId string
    The ID of the associated Redirect Configuration.
    redirectConfigurationName string
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.
    name str
    The Name of the Path Rule.
    paths Sequence[str]
    A list of Paths used in this Path Rule.
    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 to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    firewall_policy_id str
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    id str
    The ID of the Rewrite Rule Set
    redirect_configuration_id str
    The ID of the associated Redirect Configuration.
    redirect_configuration_name str
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.
    name String
    The Name of the Path Rule.
    paths List<String>
    A list of Paths used in this Path Rule.
    backendAddressPoolId String
    The ID of the associated Backend Address Pool.
    backendAddressPoolName String
    The Name of the Backend Address Pool to use for this Path 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 to use for this Path Rule. Cannot be set if redirect_configuration_name is set.
    firewallPolicyId String
    The ID of the Web Application Firewall Policy which should be used as an HTTP Listener.
    id String
    The ID of the Rewrite Rule Set
    redirectConfigurationId String
    The ID of the associated Redirect Configuration.
    redirectConfigurationName String
    The Name of a Redirect Configuration to use for this Path Rule. Cannot be set if 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 URL Path Map. Only valid for v2 SKUs.

    ApplicationGatewayWafConfiguration, ApplicationGatewayWafConfigurationArgs

    Enabled bool
    Is the Web Application Firewall enabled?
    FirewallMode string
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    RuleSetVersion string
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    DisabledRuleGroups List<ApplicationGatewayWafConfigurationDisabledRuleGroup>
    One or more disabled_rule_group blocks as defined below.
    Exclusions List<ApplicationGatewayWafConfigurationExclusion>
    One or more exclusion blocks as defined below.
    FileUploadLimitMb int
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    MaxRequestBodySizeKb int
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    RequestBodyCheck bool
    Is Request Body Inspection enabled? Defaults to true.
    RuleSetType string
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.
    Enabled bool
    Is the Web Application Firewall enabled?
    FirewallMode string
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    RuleSetVersion string
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    DisabledRuleGroups []ApplicationGatewayWafConfigurationDisabledRuleGroup
    One or more disabled_rule_group blocks as defined below.
    Exclusions []ApplicationGatewayWafConfigurationExclusion
    One or more exclusion blocks as defined below.
    FileUploadLimitMb int
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    MaxRequestBodySizeKb int
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    RequestBodyCheck bool
    Is Request Body Inspection enabled? Defaults to true.
    RuleSetType string
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.
    enabled Boolean
    Is the Web Application Firewall enabled?
    firewallMode String
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    ruleSetVersion String
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    disabledRuleGroups List<ApplicationGatewayWafConfigurationDisabledRuleGroup>
    One or more disabled_rule_group blocks as defined below.
    exclusions List<ApplicationGatewayWafConfigurationExclusion>
    One or more exclusion blocks as defined below.
    fileUploadLimitMb Integer
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    maxRequestBodySizeKb Integer
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    requestBodyCheck Boolean
    Is Request Body Inspection enabled? Defaults to true.
    ruleSetType String
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.
    enabled boolean
    Is the Web Application Firewall enabled?
    firewallMode string
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    ruleSetVersion string
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    disabledRuleGroups ApplicationGatewayWafConfigurationDisabledRuleGroup[]
    One or more disabled_rule_group blocks as defined below.
    exclusions ApplicationGatewayWafConfigurationExclusion[]
    One or more exclusion blocks as defined below.
    fileUploadLimitMb number
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    maxRequestBodySizeKb number
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    requestBodyCheck boolean
    Is Request Body Inspection enabled? Defaults to true.
    ruleSetType string
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.
    enabled bool
    Is the Web Application Firewall enabled?
    firewall_mode str
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    rule_set_version str
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    disabled_rule_groups Sequence[ApplicationGatewayWafConfigurationDisabledRuleGroup]
    One or more disabled_rule_group blocks as defined below.
    exclusions Sequence[ApplicationGatewayWafConfigurationExclusion]
    One or more exclusion blocks as defined below.
    file_upload_limit_mb int
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    max_request_body_size_kb int
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    request_body_check bool
    Is Request Body Inspection enabled? Defaults to true.
    rule_set_type str
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.
    enabled Boolean
    Is the Web Application Firewall enabled?
    firewallMode String
    The Web Application Firewall Mode. Possible values are Detection and Prevention.
    ruleSetVersion String
    The Version of the Rule Set used for this Web Application Firewall. Possible values are 0.1, 1.0, 2.1, 2.2.9, 3.0, 3.1 and 3.2.
    disabledRuleGroups List<Property Map>
    One or more disabled_rule_group blocks as defined below.
    exclusions List<Property Map>
    One or more exclusion blocks as defined below.
    fileUploadLimitMb Number
    The File Upload Limit in MB. Accepted values are in the range 1MB to 750MB for the WAF_v2 SKU, and 1MB to 500MB for all other SKUs. Defaults to 100MB.
    maxRequestBodySizeKb Number
    The Maximum Request Body Size in KB. Accepted values are in the range 1KB to 128KB. Defaults to 128KB.
    requestBodyCheck Boolean
    Is Request Body Inspection enabled? Defaults to true.
    ruleSetType String
    The Type of the Rule Set used for this Web Application Firewall. Possible values are OWASP, Microsoft_BotManagerRuleSet and Microsoft_DefaultRuleSet. Defaults to OWASP.

    ApplicationGatewayWafConfigurationDisabledRuleGroup, ApplicationGatewayWafConfigurationDisabledRuleGroupArgs

    RuleGroupName string
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    Rules List<int>
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.
    RuleGroupName string
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    Rules []int
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.
    ruleGroupName String
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    rules List<Integer>
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.
    ruleGroupName string
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    rules number[]
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.
    rule_group_name str
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    rules Sequence[int]
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.
    ruleGroupName String
    The rule group where specific rules should be disabled. Possible values are BadBots, crs_20_protocol_violations, crs_21_protocol_anomalies, crs_23_request_limits, crs_30_http_policy, crs_35_bad_robots, crs_40_generic_attacks, crs_41_sql_injection_attacks, crs_41_xss_attacks, crs_42_tight_security, crs_45_trojans, crs_49_inbound_blocking, General, GoodBots, KnownBadBots, Known-CVEs, REQUEST-911-METHOD-ENFORCEMENT, REQUEST-913-SCANNER-DETECTION, REQUEST-920-PROTOCOL-ENFORCEMENT, REQUEST-921-PROTOCOL-ATTACK, REQUEST-930-APPLICATION-ATTACK-LFI, REQUEST-931-APPLICATION-ATTACK-RFI, REQUEST-932-APPLICATION-ATTACK-RCE, REQUEST-933-APPLICATION-ATTACK-PHP, REQUEST-941-APPLICATION-ATTACK-XSS, REQUEST-942-APPLICATION-ATTACK-SQLI, REQUEST-943-APPLICATION-ATTACK-SESSION-FIXATION, REQUEST-944-APPLICATION-ATTACK-JAVA, UnknownBots, METHOD-ENFORCEMENT, PROTOCOL-ENFORCEMENT, PROTOCOL-ATTACK, LFI, RFI, RCE, PHP, NODEJS, XSS, SQLI, FIX, JAVA, MS-ThreatIntel-WebShells, MS-ThreatIntel-AppSec, MS-ThreatIntel-SQLI and MS-ThreatIntel-CVEs.
    rules List<Number>
    A list of rules which should be disabled in that group. Disables all rules in the specified group if rules is not specified.

    ApplicationGatewayWafConfigurationExclusion, ApplicationGatewayWafConfigurationExclusionArgs

    MatchVariable string
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    Selector string
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    SelectorMatchOperator string
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable
    MatchVariable string
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    Selector string
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    SelectorMatchOperator string
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable
    matchVariable String
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    selector String
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    selectorMatchOperator String
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable
    matchVariable string
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    selector string
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    selectorMatchOperator string
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable
    match_variable str
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    selector str
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    selector_match_operator str
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable
    matchVariable String
    Match variable of the exclusion rule to exclude header, cookie or GET arguments. Possible values are RequestArgKeys, RequestArgNames, RequestArgValues, RequestCookieKeys, RequestCookieNames, RequestCookieValues, RequestHeaderKeys, RequestHeaderNames and RequestHeaderValues
    selector String
    String value which will be used for the filter operation. If empty will exclude all traffic on this match_variable
    selectorMatchOperator String
    Operator which will be used to search in the variable content. Possible values are Contains, EndsWith, Equals, EqualsAny and StartsWith. If empty will exclude all traffic on this match_variable

    Import

    Application Gateway’s can be imported using the resource id, e.g.

    $ pulumi import azure:network/applicationGateway:ApplicationGateway example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Network/applicationGateways/myGateway1
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the azurerm Terraform Provider.
    azure logo

    We recommend using Azure Native.

    Azure v6.10.0 published on Tuesday, Nov 19, 2024 by Pulumi