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

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
azure logo

We recommend using Azure Native.

Viewing docs for Azure v4.42.0 (Older version)
published on Monday, Mar 9, 2026 by Pulumi

    Manages a Firewall Policy Rule Collection Group.

    Example Usage

    using Pulumi;
    using Azure = Pulumi.Azure;
    
    class MyStack : Stack
    {
        public MyStack()
        {
            var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new Azure.Core.ResourceGroupArgs
            {
                Location = "West Europe",
            });
            var exampleFirewallPolicy = new Azure.Network.FirewallPolicy("exampleFirewallPolicy", new Azure.Network.FirewallPolicyArgs
            {
                ResourceGroupName = exampleResourceGroup.Name,
                Location = exampleResourceGroup.Location,
            });
            var exampleFirewallPolicyRuleCollectionGroup = new Azure.Network.FirewallPolicyRuleCollectionGroup("exampleFirewallPolicyRuleCollectionGroup", new Azure.Network.FirewallPolicyRuleCollectionGroupArgs
            {
                FirewallPolicyId = exampleFirewallPolicy.Id,
                Priority = 500,
                ApplicationRuleCollections = 
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs
                    {
                        Name = "app_rule_collection1",
                        Priority = 500,
                        Action = "Deny",
                        Rules = 
                        {
                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs
                            {
                                Name = "app_rule_collection1_rule1",
                                Protocols = 
                                {
                                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs
                                    {
                                        Type = "Http",
                                        Port = 80,
                                    },
                                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs
                                    {
                                        Type = "Https",
                                        Port = 443,
                                    },
                                },
                                SourceAddresses = 
                                {
                                    "10.0.0.1",
                                },
                                DestinationFqdns = 
                                {
                                    ".microsoft.com",
                                },
                            },
                        },
                    },
                },
                NetworkRuleCollections = 
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs
                    {
                        Name = "network_rule_collection1",
                        Priority = 400,
                        Action = "Deny",
                        Rules = 
                        {
                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs
                            {
                                Name = "network_rule_collection1_rule1",
                                Protocols = 
                                {
                                    "TCP",
                                    "UDP",
                                },
                                SourceAddresses = 
                                {
                                    "10.0.0.1",
                                },
                                DestinationAddresses = 
                                {
                                    "192.168.1.1",
                                    "192.168.1.2",
                                },
                                DestinationPorts = 
                                {
                                    "80",
                                    "1000-2000",
                                },
                            },
                        },
                    },
                },
                NatRuleCollections = 
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs
                    {
                        Name = "nat_rule_collection1",
                        Priority = 300,
                        Action = "Dnat",
                        Rules = 
                        {
                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs
                            {
                                Name = "nat_rule_collection1_rule1",
                                Protocols = 
                                {
                                    "TCP",
                                    "UDP",
                                },
                                SourceAddresses = 
                                {
                                    "10.0.0.1",
                                    "10.0.0.2",
                                },
                                DestinationAddress = "192.168.1.1",
                                DestinationPorts = 
                                {
                                    "80",
                                    "1000-2000",
                                },
                                TranslatedAddress = "192.168.0.1",
                                TranslatedPort = 8080,
                            },
                        },
                    },
                },
            });
        }
    
    }
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
    	"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		exampleFirewallPolicy, err := network.NewFirewallPolicy(ctx, "exampleFirewallPolicy", &network.FirewallPolicyArgs{
    			ResourceGroupName: exampleResourceGroup.Name,
    			Location:          exampleResourceGroup.Location,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewFirewallPolicyRuleCollectionGroup(ctx, "exampleFirewallPolicyRuleCollectionGroup", &network.FirewallPolicyRuleCollectionGroupArgs{
    			FirewallPolicyId: exampleFirewallPolicy.ID(),
    			Priority:         pulumi.Int(500),
    			ApplicationRuleCollections: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArray{
    				&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs{
    					Name:     pulumi.String("app_rule_collection1"),
    					Priority: pulumi.Int(500),
    					Action:   pulumi.String("Deny"),
    					Rules: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArray{
    						&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs{
    							Name: pulumi.String("app_rule_collection1_rule1"),
    							Protocols: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArray{
    								&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs{
    									Type: pulumi.String("Http"),
    									Port: pulumi.Int(80),
    								},
    								&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs{
    									Type: pulumi.String("Https"),
    									Port: pulumi.Int(443),
    								},
    							},
    							SourceAddresses: pulumi.StringArray{
    								pulumi.String("10.0.0.1"),
    							},
    							DestinationFqdns: pulumi.StringArray{
    								pulumi.String(".microsoft.com"),
    							},
    						},
    					},
    				},
    			},
    			NetworkRuleCollections: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArray{
    				&network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs{
    					Name:     pulumi.String("network_rule_collection1"),
    					Priority: pulumi.Int(400),
    					Action:   pulumi.String("Deny"),
    					Rules: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArray{
    						&network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs{
    							Name: pulumi.String("network_rule_collection1_rule1"),
    							Protocols: pulumi.StringArray{
    								pulumi.String("TCP"),
    								pulumi.String("UDP"),
    							},
    							SourceAddresses: pulumi.StringArray{
    								pulumi.String("10.0.0.1"),
    							},
    							DestinationAddresses: pulumi.StringArray{
    								pulumi.String("192.168.1.1"),
    								pulumi.String("192.168.1.2"),
    							},
    							DestinationPorts: pulumi.StringArray{
    								pulumi.String("80"),
    								pulumi.String("1000-2000"),
    							},
    						},
    					},
    				},
    			},
    			NatRuleCollections: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArray{
    				&network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs{
    					Name:     pulumi.String("nat_rule_collection1"),
    					Priority: pulumi.Int(300),
    					Action:   pulumi.String("Dnat"),
    					Rules: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArray{
    						&network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs{
    							Name: pulumi.String("nat_rule_collection1_rule1"),
    							Protocols: pulumi.StringArray{
    								pulumi.String("TCP"),
    								pulumi.String("UDP"),
    							},
    							SourceAddresses: pulumi.StringArray{
    								pulumi.String("10.0.0.1"),
    								pulumi.String("10.0.0.2"),
    							},
    							DestinationAddress: pulumi.String("192.168.1.1"),
    							DestinationPorts: pulumi.StringArray{
    								pulumi.String("80"),
    								pulumi.String("1000-2000"),
    							},
    							TranslatedAddress: pulumi.String("192.168.0.1"),
    							TranslatedPort:    pulumi.Int(8080),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Example coming soon!

    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const exampleFirewallPolicy = new azure.network.FirewallPolicy("exampleFirewallPolicy", {
        resourceGroupName: exampleResourceGroup.name,
        location: exampleResourceGroup.location,
    });
    const exampleFirewallPolicyRuleCollectionGroup = new azure.network.FirewallPolicyRuleCollectionGroup("exampleFirewallPolicyRuleCollectionGroup", {
        firewallPolicyId: exampleFirewallPolicy.id,
        priority: 500,
        applicationRuleCollections: [{
            name: "app_rule_collection1",
            priority: 500,
            action: "Deny",
            rules: [{
                name: "app_rule_collection1_rule1",
                protocols: [
                    {
                        type: "Http",
                        port: 80,
                    },
                    {
                        type: "Https",
                        port: 443,
                    },
                ],
                sourceAddresses: ["10.0.0.1"],
                destinationFqdns: [".microsoft.com"],
            }],
        }],
        networkRuleCollections: [{
            name: "network_rule_collection1",
            priority: 400,
            action: "Deny",
            rules: [{
                name: "network_rule_collection1_rule1",
                protocols: [
                    "TCP",
                    "UDP",
                ],
                sourceAddresses: ["10.0.0.1"],
                destinationAddresses: [
                    "192.168.1.1",
                    "192.168.1.2",
                ],
                destinationPorts: [
                    "80",
                    "1000-2000",
                ],
            }],
        }],
        natRuleCollections: [{
            name: "nat_rule_collection1",
            priority: 300,
            action: "Dnat",
            rules: [{
                name: "nat_rule_collection1_rule1",
                protocols: [
                    "TCP",
                    "UDP",
                ],
                sourceAddresses: [
                    "10.0.0.1",
                    "10.0.0.2",
                ],
                destinationAddress: "192.168.1.1",
                destinationPorts: [
                    "80",
                    "1000-2000",
                ],
                translatedAddress: "192.168.0.1",
                translatedPort: "8080",
            }],
        }],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_firewall_policy = azure.network.FirewallPolicy("exampleFirewallPolicy",
        resource_group_name=example_resource_group.name,
        location=example_resource_group.location)
    example_firewall_policy_rule_collection_group = azure.network.FirewallPolicyRuleCollectionGroup("exampleFirewallPolicyRuleCollectionGroup",
        firewall_policy_id=example_firewall_policy.id,
        priority=500,
        application_rule_collections=[azure.network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs(
            name="app_rule_collection1",
            priority=500,
            action="Deny",
            rules=[azure.network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs(
                name="app_rule_collection1_rule1",
                protocols=[
                    azure.network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs(
                        type="Http",
                        port=80,
                    ),
                    azure.network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs(
                        type="Https",
                        port=443,
                    ),
                ],
                source_addresses=["10.0.0.1"],
                destination_fqdns=[".microsoft.com"],
            )],
        )],
        network_rule_collections=[azure.network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs(
            name="network_rule_collection1",
            priority=400,
            action="Deny",
            rules=[azure.network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs(
                name="network_rule_collection1_rule1",
                protocols=[
                    "TCP",
                    "UDP",
                ],
                source_addresses=["10.0.0.1"],
                destination_addresses=[
                    "192.168.1.1",
                    "192.168.1.2",
                ],
                destination_ports=[
                    "80",
                    "1000-2000",
                ],
            )],
        )],
        nat_rule_collections=[azure.network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs(
            name="nat_rule_collection1",
            priority=300,
            action="Dnat",
            rules=[azure.network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs(
                name="nat_rule_collection1_rule1",
                protocols=[
                    "TCP",
                    "UDP",
                ],
                source_addresses=[
                    "10.0.0.1",
                    "10.0.0.2",
                ],
                destination_address="192.168.1.1",
                destination_ports=[
                    "80",
                    "1000-2000",
                ],
                translated_address="192.168.0.1",
                translated_port=8080,
            )],
        )])
    

    Example coming soon!

    Create FirewallPolicyRuleCollectionGroup Resource

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

    Constructor syntax

    new FirewallPolicyRuleCollectionGroup(name: string, args: FirewallPolicyRuleCollectionGroupArgs, opts?: CustomResourceOptions);
    @overload
    def FirewallPolicyRuleCollectionGroup(resource_name: str,
                                          args: FirewallPolicyRuleCollectionGroupArgs,
                                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def FirewallPolicyRuleCollectionGroup(resource_name: str,
                                          opts: Optional[ResourceOptions] = None,
                                          firewall_policy_id: Optional[str] = None,
                                          priority: Optional[int] = None,
                                          application_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs]] = None,
                                          name: Optional[str] = None,
                                          nat_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs]] = None,
                                          network_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs]] = None)
    func NewFirewallPolicyRuleCollectionGroup(ctx *Context, name string, args FirewallPolicyRuleCollectionGroupArgs, opts ...ResourceOption) (*FirewallPolicyRuleCollectionGroup, error)
    public FirewallPolicyRuleCollectionGroup(string name, FirewallPolicyRuleCollectionGroupArgs args, CustomResourceOptions? opts = null)
    public FirewallPolicyRuleCollectionGroup(String name, FirewallPolicyRuleCollectionGroupArgs args)
    public FirewallPolicyRuleCollectionGroup(String name, FirewallPolicyRuleCollectionGroupArgs args, CustomResourceOptions options)
    
    type: azure:network:FirewallPolicyRuleCollectionGroup
    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 FirewallPolicyRuleCollectionGroupArgs
    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 FirewallPolicyRuleCollectionGroupArgs
    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 FirewallPolicyRuleCollectionGroupArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FirewallPolicyRuleCollectionGroupArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FirewallPolicyRuleCollectionGroupArgs
    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 firewallPolicyRuleCollectionGroupResource = new Azure.Network.FirewallPolicyRuleCollectionGroup("firewallPolicyRuleCollectionGroupResource", new()
    {
        FirewallPolicyId = "string",
        Priority = 0,
        ApplicationRuleCollections = new[]
        {
            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs
            {
                Action = "string",
                Name = "string",
                Priority = 0,
                Rules = new[]
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs
                    {
                        Name = "string",
                        Description = "string",
                        DestinationAddresses = new[]
                        {
                            "string",
                        },
                        DestinationFqdnTags = new[]
                        {
                            "string",
                        },
                        DestinationFqdns = new[]
                        {
                            "string",
                        },
                        DestinationUrls = new[]
                        {
                            "string",
                        },
                        Protocols = new[]
                        {
                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs
                            {
                                Port = 0,
                                Type = "string",
                            },
                        },
                        SourceAddresses = new[]
                        {
                            "string",
                        },
                        SourceIpGroups = new[]
                        {
                            "string",
                        },
                        TerminateTls = false,
                        WebCategories = new[]
                        {
                            "string",
                        },
                    },
                },
            },
        },
        Name = "string",
        NatRuleCollections = new[]
        {
            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs
            {
                Action = "string",
                Name = "string",
                Priority = 0,
                Rules = new[]
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs
                    {
                        Name = "string",
                        Protocols = new[]
                        {
                            "string",
                        },
                        TranslatedPort = 0,
                        DestinationAddress = "string",
                        DestinationPorts = new[]
                        {
                            "string",
                        },
                        SourceAddresses = new[]
                        {
                            "string",
                        },
                        SourceIpGroups = new[]
                        {
                            "string",
                        },
                        TranslatedAddress = "string",
                        TranslatedFqdn = "string",
                    },
                },
            },
        },
        NetworkRuleCollections = new[]
        {
            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs
            {
                Action = "string",
                Name = "string",
                Priority = 0,
                Rules = new[]
                {
                    new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs
                    {
                        DestinationPorts = new[]
                        {
                            "string",
                        },
                        Name = "string",
                        Protocols = new[]
                        {
                            "string",
                        },
                        DestinationAddresses = new[]
                        {
                            "string",
                        },
                        DestinationFqdns = new[]
                        {
                            "string",
                        },
                        DestinationIpGroups = new[]
                        {
                            "string",
                        },
                        SourceAddresses = new[]
                        {
                            "string",
                        },
                        SourceIpGroups = new[]
                        {
                            "string",
                        },
                    },
                },
            },
        },
    });
    
    example, err := network.NewFirewallPolicyRuleCollectionGroup(ctx, "firewallPolicyRuleCollectionGroupResource", &network.FirewallPolicyRuleCollectionGroupArgs{
    	FirewallPolicyId: pulumi.String("string"),
    	Priority:         pulumi.Int(0),
    	ApplicationRuleCollections: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArray{
    		&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs{
    			Action:   pulumi.String("string"),
    			Name:     pulumi.String("string"),
    			Priority: pulumi.Int(0),
    			Rules: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArray{
    				&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs{
    					Name:        pulumi.String("string"),
    					Description: pulumi.String("string"),
    					DestinationAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationFqdnTags: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationFqdns: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationUrls: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Protocols: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArray{
    						&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs{
    							Port: pulumi.Int(0),
    							Type: pulumi.String("string"),
    						},
    					},
    					SourceAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceIpGroups: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					TerminateTls: pulumi.Bool(false),
    					WebCategories: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    	NatRuleCollections: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArray{
    		&network.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs{
    			Action:   pulumi.String("string"),
    			Name:     pulumi.String("string"),
    			Priority: pulumi.Int(0),
    			Rules: network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArray{
    				&network.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs{
    					Name: pulumi.String("string"),
    					Protocols: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					TranslatedPort:     pulumi.Int(0),
    					DestinationAddress: pulumi.String("string"),
    					DestinationPorts: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceIpGroups: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					TranslatedAddress: pulumi.String("string"),
    					TranslatedFqdn:    pulumi.String("string"),
    				},
    			},
    		},
    	},
    	NetworkRuleCollections: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArray{
    		&network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs{
    			Action:   pulumi.String("string"),
    			Name:     pulumi.String("string"),
    			Priority: pulumi.Int(0),
    			Rules: network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArray{
    				&network.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs{
    					DestinationPorts: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Name: pulumi.String("string"),
    					Protocols: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationFqdns: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					DestinationIpGroups: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceAddresses: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					SourceIpGroups: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    })
    
    var firewallPolicyRuleCollectionGroupResource = new FirewallPolicyRuleCollectionGroup("firewallPolicyRuleCollectionGroupResource", FirewallPolicyRuleCollectionGroupArgs.builder()
        .firewallPolicyId("string")
        .priority(0)
        .applicationRuleCollections(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs.builder()
            .action("string")
            .name("string")
            .priority(0)
            .rules(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs.builder()
                .name("string")
                .description("string")
                .destinationAddresses("string")
                .destinationFqdnTags("string")
                .destinationFqdns("string")
                .destinationUrls("string")
                .protocols(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs.builder()
                    .port(0)
                    .type("string")
                    .build())
                .sourceAddresses("string")
                .sourceIpGroups("string")
                .terminateTls(false)
                .webCategories("string")
                .build())
            .build())
        .name("string")
        .natRuleCollections(FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs.builder()
            .action("string")
            .name("string")
            .priority(0)
            .rules(FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs.builder()
                .name("string")
                .protocols("string")
                .translatedPort(0)
                .destinationAddress("string")
                .destinationPorts("string")
                .sourceAddresses("string")
                .sourceIpGroups("string")
                .translatedAddress("string")
                .translatedFqdn("string")
                .build())
            .build())
        .networkRuleCollections(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs.builder()
            .action("string")
            .name("string")
            .priority(0)
            .rules(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs.builder()
                .destinationPorts("string")
                .name("string")
                .protocols("string")
                .destinationAddresses("string")
                .destinationFqdns("string")
                .destinationIpGroups("string")
                .sourceAddresses("string")
                .sourceIpGroups("string")
                .build())
            .build())
        .build());
    
    firewall_policy_rule_collection_group_resource = azure.network.FirewallPolicyRuleCollectionGroup("firewallPolicyRuleCollectionGroupResource",
        firewall_policy_id="string",
        priority=0,
        application_rule_collections=[{
            "action": "string",
            "name": "string",
            "priority": 0,
            "rules": [{
                "name": "string",
                "description": "string",
                "destination_addresses": ["string"],
                "destination_fqdn_tags": ["string"],
                "destination_fqdns": ["string"],
                "destination_urls": ["string"],
                "protocols": [{
                    "port": 0,
                    "type": "string",
                }],
                "source_addresses": ["string"],
                "source_ip_groups": ["string"],
                "terminate_tls": False,
                "web_categories": ["string"],
            }],
        }],
        name="string",
        nat_rule_collections=[{
            "action": "string",
            "name": "string",
            "priority": 0,
            "rules": [{
                "name": "string",
                "protocols": ["string"],
                "translated_port": 0,
                "destination_address": "string",
                "destination_ports": ["string"],
                "source_addresses": ["string"],
                "source_ip_groups": ["string"],
                "translated_address": "string",
                "translated_fqdn": "string",
            }],
        }],
        network_rule_collections=[{
            "action": "string",
            "name": "string",
            "priority": 0,
            "rules": [{
                "destination_ports": ["string"],
                "name": "string",
                "protocols": ["string"],
                "destination_addresses": ["string"],
                "destination_fqdns": ["string"],
                "destination_ip_groups": ["string"],
                "source_addresses": ["string"],
                "source_ip_groups": ["string"],
            }],
        }])
    
    const firewallPolicyRuleCollectionGroupResource = new azure.network.FirewallPolicyRuleCollectionGroup("firewallPolicyRuleCollectionGroupResource", {
        firewallPolicyId: "string",
        priority: 0,
        applicationRuleCollections: [{
            action: "string",
            name: "string",
            priority: 0,
            rules: [{
                name: "string",
                description: "string",
                destinationAddresses: ["string"],
                destinationFqdnTags: ["string"],
                destinationFqdns: ["string"],
                destinationUrls: ["string"],
                protocols: [{
                    port: 0,
                    type: "string",
                }],
                sourceAddresses: ["string"],
                sourceIpGroups: ["string"],
                terminateTls: false,
                webCategories: ["string"],
            }],
        }],
        name: "string",
        natRuleCollections: [{
            action: "string",
            name: "string",
            priority: 0,
            rules: [{
                name: "string",
                protocols: ["string"],
                translatedPort: 0,
                destinationAddress: "string",
                destinationPorts: ["string"],
                sourceAddresses: ["string"],
                sourceIpGroups: ["string"],
                translatedAddress: "string",
                translatedFqdn: "string",
            }],
        }],
        networkRuleCollections: [{
            action: "string",
            name: "string",
            priority: 0,
            rules: [{
                destinationPorts: ["string"],
                name: "string",
                protocols: ["string"],
                destinationAddresses: ["string"],
                destinationFqdns: ["string"],
                destinationIpGroups: ["string"],
                sourceAddresses: ["string"],
                sourceIpGroups: ["string"],
            }],
        }],
    });
    
    type: azure:network:FirewallPolicyRuleCollectionGroup
    properties:
        applicationRuleCollections:
            - action: string
              name: string
              priority: 0
              rules:
                - description: string
                  destinationAddresses:
                    - string
                  destinationFqdnTags:
                    - string
                  destinationFqdns:
                    - string
                  destinationUrls:
                    - string
                  name: string
                  protocols:
                    - port: 0
                      type: string
                  sourceAddresses:
                    - string
                  sourceIpGroups:
                    - string
                  terminateTls: false
                  webCategories:
                    - string
        firewallPolicyId: string
        name: string
        natRuleCollections:
            - action: string
              name: string
              priority: 0
              rules:
                - destinationAddress: string
                  destinationPorts:
                    - string
                  name: string
                  protocols:
                    - string
                  sourceAddresses:
                    - string
                  sourceIpGroups:
                    - string
                  translatedAddress: string
                  translatedFqdn: string
                  translatedPort: 0
        networkRuleCollections:
            - action: string
              name: string
              priority: 0
              rules:
                - destinationAddresses:
                    - string
                  destinationFqdns:
                    - string
                  destinationIpGroups:
                    - string
                  destinationPorts:
                    - string
                  name: string
                  protocols:
                    - string
                  sourceAddresses:
                    - string
                  sourceIpGroups:
                    - string
        priority: 0
    

    FirewallPolicyRuleCollectionGroup 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 FirewallPolicyRuleCollectionGroup resource accepts the following input properties:

    FirewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    Priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    ApplicationRuleCollections List<FirewallPolicyRuleCollectionGroupApplicationRuleCollection>
    One or more application_rule_collection blocks as defined below.
    Name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    NatRuleCollections List<FirewallPolicyRuleCollectionGroupNatRuleCollection>
    One or more nat_rule_collection blocks as defined below.
    NetworkRuleCollections List<FirewallPolicyRuleCollectionGroupNetworkRuleCollection>
    One or more network_rule_collection blocks as defined below.
    FirewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    Priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    ApplicationRuleCollections []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs
    One or more application_rule_collection blocks as defined below.
    Name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    NatRuleCollections []FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs
    One or more nat_rule_collection blocks as defined below.
    NetworkRuleCollections []FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs
    One or more network_rule_collection blocks as defined below.
    firewallPolicyId String
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    priority Integer
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections List<FirewallPolicyRuleCollectionGroupApplicationRuleCollection>
    One or more application_rule_collection blocks as defined below.
    name String
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections List<FirewallPolicyRuleCollectionGroupNatRuleCollection>
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections List<FirewallPolicyRuleCollectionGroupNetworkRuleCollection>
    One or more network_rule_collection blocks as defined below.
    firewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    priority number
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections FirewallPolicyRuleCollectionGroupApplicationRuleCollection[]
    One or more application_rule_collection blocks as defined below.
    name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections FirewallPolicyRuleCollectionGroupNatRuleCollection[]
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections FirewallPolicyRuleCollectionGroupNetworkRuleCollection[]
    One or more network_rule_collection blocks as defined below.
    firewall_policy_id str
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    application_rule_collections Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs]
    One or more application_rule_collection blocks as defined below.
    name str
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    nat_rule_collections Sequence[FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs]
    One or more nat_rule_collection blocks as defined below.
    network_rule_collections Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs]
    One or more network_rule_collection blocks as defined below.
    firewallPolicyId String
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    priority Number
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections List<Property Map>
    One or more application_rule_collection blocks as defined below.
    name String
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections List<Property Map>
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections List<Property Map>
    One or more network_rule_collection blocks as defined below.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing FirewallPolicyRuleCollectionGroup Resource

    Get an existing FirewallPolicyRuleCollectionGroup 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?: FirewallPolicyRuleCollectionGroupState, opts?: CustomResourceOptions): FirewallPolicyRuleCollectionGroup
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs]] = None,
            firewall_policy_id: Optional[str] = None,
            name: Optional[str] = None,
            nat_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs]] = None,
            network_rule_collections: Optional[Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs]] = None,
            priority: Optional[int] = None) -> FirewallPolicyRuleCollectionGroup
    func GetFirewallPolicyRuleCollectionGroup(ctx *Context, name string, id IDInput, state *FirewallPolicyRuleCollectionGroupState, opts ...ResourceOption) (*FirewallPolicyRuleCollectionGroup, error)
    public static FirewallPolicyRuleCollectionGroup Get(string name, Input<string> id, FirewallPolicyRuleCollectionGroupState? state, CustomResourceOptions? opts = null)
    public static FirewallPolicyRuleCollectionGroup get(String name, Output<String> id, FirewallPolicyRuleCollectionGroupState state, CustomResourceOptions options)
    resources:  _:    type: azure:network:FirewallPolicyRuleCollectionGroup    get:      id: ${id}
    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:
    ApplicationRuleCollections List<FirewallPolicyRuleCollectionGroupApplicationRuleCollection>
    One or more application_rule_collection blocks as defined below.
    FirewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    Name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    NatRuleCollections List<FirewallPolicyRuleCollectionGroupNatRuleCollection>
    One or more nat_rule_collection blocks as defined below.
    NetworkRuleCollections List<FirewallPolicyRuleCollectionGroupNetworkRuleCollection>
    One or more network_rule_collection blocks as defined below.
    Priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    ApplicationRuleCollections []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs
    One or more application_rule_collection blocks as defined below.
    FirewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    Name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    NatRuleCollections []FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs
    One or more nat_rule_collection blocks as defined below.
    NetworkRuleCollections []FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs
    One or more network_rule_collection blocks as defined below.
    Priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections List<FirewallPolicyRuleCollectionGroupApplicationRuleCollection>
    One or more application_rule_collection blocks as defined below.
    firewallPolicyId String
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    name String
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections List<FirewallPolicyRuleCollectionGroupNatRuleCollection>
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections List<FirewallPolicyRuleCollectionGroupNetworkRuleCollection>
    One or more network_rule_collection blocks as defined below.
    priority Integer
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections FirewallPolicyRuleCollectionGroupApplicationRuleCollection[]
    One or more application_rule_collection blocks as defined below.
    firewallPolicyId string
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    name string
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections FirewallPolicyRuleCollectionGroupNatRuleCollection[]
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections FirewallPolicyRuleCollectionGroupNetworkRuleCollection[]
    One or more network_rule_collection blocks as defined below.
    priority number
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    application_rule_collections Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs]
    One or more application_rule_collection blocks as defined below.
    firewall_policy_id str
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    name str
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    nat_rule_collections Sequence[FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs]
    One or more nat_rule_collection blocks as defined below.
    network_rule_collections Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs]
    One or more network_rule_collection blocks as defined below.
    priority int
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.
    applicationRuleCollections List<Property Map>
    One or more application_rule_collection blocks as defined below.
    firewallPolicyId String
    The ID of the Firewall Policy where the Firewall Policy Rule Collection Group should exist. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    name String
    The name which should be used for this Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    natRuleCollections List<Property Map>
    One or more nat_rule_collection blocks as defined below.
    networkRuleCollections List<Property Map>
    One or more network_rule_collection blocks as defined below.
    priority Number
    The priority of the Firewall Policy Rule Collection Group. The range is 100-65000.

    Supporting Types

    FirewallPolicyRuleCollectionGroupApplicationRuleCollection, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs

    Action string
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    Name string
    The name which should be used for this application rule collection.
    Priority int
    The priority of the application rule collection. The range is 100 - 65000.
    Rules List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule>
    One or more rule (application rule) blocks as defined below.
    Action string
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    Name string
    The name which should be used for this application rule collection.
    Priority int
    The priority of the application rule collection. The range is 100 - 65000.
    Rules []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule
    One or more rule (application rule) blocks as defined below.
    action String
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    name String
    The name which should be used for this application rule collection.
    priority Integer
    The priority of the application rule collection. The range is 100 - 65000.
    rules List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule>
    One or more rule (application rule) blocks as defined below.
    action string
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    name string
    The name which should be used for this application rule collection.
    priority number
    The priority of the application rule collection. The range is 100 - 65000.
    rules FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule[]
    One or more rule (application rule) blocks as defined below.
    action str
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    name str
    The name which should be used for this application rule collection.
    priority int
    The priority of the application rule collection. The range is 100 - 65000.
    rules Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule]
    One or more rule (application rule) blocks as defined below.
    action String
    The action to take for the application rules in this collection. Possible values are Allow and Deny.
    name String
    The name which should be used for this application rule collection.
    priority Number
    The priority of the application rule collection. The range is 100 - 65000.
    rules List<Property Map>
    One or more rule (application rule) blocks as defined below.

    FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs

    Name string
    The name which should be used for this rule.
    Description string
    The description which should be used for this rule.
    DestinationAddresses List<string>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    DestinationFqdnTags List<string>
    Specifies a list of destination FQDN tags.
    DestinationFqdns List<string>
    Specifies a list of destination FQDNs.
    DestinationUrls List<string>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    Protocols List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    SourceAddresses List<string>
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups List<string>
    Specifies a list of source IP groups.
    TerminateTls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    WebCategories List<string>
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.
    Name string
    The name which should be used for this rule.
    Description string
    The description which should be used for this rule.
    DestinationAddresses []string
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    DestinationFqdnTags []string
    Specifies a list of destination FQDN tags.
    DestinationFqdns []string
    Specifies a list of destination FQDNs.
    DestinationUrls []string
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    Protocols []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    SourceAddresses []string
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups []string
    Specifies a list of source IP groups.
    TerminateTls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    WebCategories []string
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.
    name String
    The name which should be used for this rule.
    description String
    The description which should be used for this rule.
    destinationAddresses List<String>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdnTags List<String>
    Specifies a list of destination FQDN tags.
    destinationFqdns List<String>
    Specifies a list of destination FQDNs.
    destinationUrls List<String>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    protocols List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.
    terminateTls Boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    webCategories List<String>
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.
    name string
    The name which should be used for this rule.
    description string
    The description which should be used for this rule.
    destinationAddresses string[]
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdnTags string[]
    Specifies a list of destination FQDN tags.
    destinationFqdns string[]
    Specifies a list of destination FQDNs.
    destinationUrls string[]
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    protocols FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol[]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    sourceAddresses string[]
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups string[]
    Specifies a list of source IP groups.
    terminateTls boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    webCategories string[]
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.
    name str
    The name which should be used for this rule.
    description str
    The description which should be used for this rule.
    destination_addresses Sequence[str]
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destination_fqdn_tags Sequence[str]
    Specifies a list of destination FQDN tags.
    destination_fqdns Sequence[str]
    Specifies a list of destination FQDNs.
    destination_urls Sequence[str]
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    protocols Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    source_addresses Sequence[str]
    Specifies a list of source IP addresses (including CIDR and *).
    source_ip_groups Sequence[str]
    Specifies a list of source IP groups.
    terminate_tls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    web_categories Sequence[str]
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.
    name String
    The name which should be used for this rule.
    description String
    The description which should be used for this rule.
    destinationAddresses List<String>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdnTags List<String>
    Specifies a list of destination FQDN tags.
    destinationFqdns List<String>
    Specifies a list of destination FQDNs.
    destinationUrls List<String>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    protocols List<Property Map>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.
    terminateTls Boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Needs Premium SKU for Firewall Policy.
    webCategories List<String>
    Specifies a list of web categories to which access is denied or allowed depending on the value of action above. Needs Premium SKU for Firewall Policy.

    FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs

    Port int
    Port number of the protocol. Range is 0-64000.
    Type string
    Protocol type. Possible values are Http and Https.
    Port int
    Port number of the protocol. Range is 0-64000.
    Type string
    Protocol type. Possible values are Http and Https.
    port Integer
    Port number of the protocol. Range is 0-64000.
    type String
    Protocol type. Possible values are Http and Https.
    port number
    Port number of the protocol. Range is 0-64000.
    type string
    Protocol type. Possible values are Http and Https.
    port int
    Port number of the protocol. Range is 0-64000.
    type str
    Protocol type. Possible values are Http and Https.
    port Number
    Port number of the protocol. Range is 0-64000.
    type String
    Protocol type. Possible values are Http and Https.

    FirewallPolicyRuleCollectionGroupNatRuleCollection, FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs

    Action string
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    Name string
    The name which should be used for this nat rule collection.
    Priority int
    The priority of the nat rule collection. The range is 100 - 65000.
    Rules List<FirewallPolicyRuleCollectionGroupNatRuleCollectionRule>
    A rule (nat rule) block as defined above.
    Action string
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    Name string
    The name which should be used for this nat rule collection.
    Priority int
    The priority of the nat rule collection. The range is 100 - 65000.
    Rules []FirewallPolicyRuleCollectionGroupNatRuleCollectionRule
    A rule (nat rule) block as defined above.
    action String
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    name String
    The name which should be used for this nat rule collection.
    priority Integer
    The priority of the nat rule collection. The range is 100 - 65000.
    rules List<FirewallPolicyRuleCollectionGroupNatRuleCollectionRule>
    A rule (nat rule) block as defined above.
    action string
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    name string
    The name which should be used for this nat rule collection.
    priority number
    The priority of the nat rule collection. The range is 100 - 65000.
    rules FirewallPolicyRuleCollectionGroupNatRuleCollectionRule[]
    A rule (nat rule) block as defined above.
    action str
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    name str
    The name which should be used for this nat rule collection.
    priority int
    The priority of the nat rule collection. The range is 100 - 65000.
    rules Sequence[FirewallPolicyRuleCollectionGroupNatRuleCollectionRule]
    A rule (nat rule) block as defined above.
    action String
    The action to take for the nat rules in this collection. Currently, the only possible value is Dnat.
    name String
    The name which should be used for this nat rule collection.
    priority Number
    The priority of the nat rule collection. The range is 100 - 65000.
    rules List<Property Map>
    A rule (nat rule) block as defined above.

    FirewallPolicyRuleCollectionGroupNatRuleCollectionRule, FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs

    Name string
    The name which should be used for this rule.
    Protocols List<string>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    TranslatedPort int
    Specifies the translated port.
    DestinationAddress string
    The destination IP address (including CIDR).
    DestinationPorts List<string>
    Specifies a list of destination ports.
    SourceAddresses List<string>
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups List<string>
    Specifies a list of source IP groups.
    TranslatedAddress string
    Specifies the translated address.
    TranslatedFqdn string
    Specifies the translated FQDN.
    Name string
    The name which should be used for this rule.
    Protocols []string
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    TranslatedPort int
    Specifies the translated port.
    DestinationAddress string
    The destination IP address (including CIDR).
    DestinationPorts []string
    Specifies a list of destination ports.
    SourceAddresses []string
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups []string
    Specifies a list of source IP groups.
    TranslatedAddress string
    Specifies the translated address.
    TranslatedFqdn string
    Specifies the translated FQDN.
    name String
    The name which should be used for this rule.
    protocols List<String>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    translatedPort Integer
    Specifies the translated port.
    destinationAddress String
    The destination IP address (including CIDR).
    destinationPorts List<String>
    Specifies a list of destination ports.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.
    translatedAddress String
    Specifies the translated address.
    translatedFqdn String
    Specifies the translated FQDN.
    name string
    The name which should be used for this rule.
    protocols string[]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    translatedPort number
    Specifies the translated port.
    destinationAddress string
    The destination IP address (including CIDR).
    destinationPorts string[]
    Specifies a list of destination ports.
    sourceAddresses string[]
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups string[]
    Specifies a list of source IP groups.
    translatedAddress string
    Specifies the translated address.
    translatedFqdn string
    Specifies the translated FQDN.
    name str
    The name which should be used for this rule.
    protocols Sequence[str]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    translated_port int
    Specifies the translated port.
    destination_address str
    The destination IP address (including CIDR).
    destination_ports Sequence[str]
    Specifies a list of destination ports.
    source_addresses Sequence[str]
    Specifies a list of source IP addresses (including CIDR and *).
    source_ip_groups Sequence[str]
    Specifies a list of source IP groups.
    translated_address str
    Specifies the translated address.
    translated_fqdn str
    Specifies the translated FQDN.
    name String
    The name which should be used for this rule.
    protocols List<String>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    translatedPort Number
    Specifies the translated port.
    destinationAddress String
    The destination IP address (including CIDR).
    destinationPorts List<String>
    Specifies a list of destination ports.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.
    translatedAddress String
    Specifies the translated address.
    translatedFqdn String
    Specifies the translated FQDN.

    FirewallPolicyRuleCollectionGroupNetworkRuleCollection, FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs

    Action string
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    Name string
    The name which should be used for this network rule collection.
    Priority int
    The priority of the network rule collection. The range is 100 - 65000.
    Rules List<FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule>
    One or more rule (network rule) blocks as defined above.
    Action string
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    Name string
    The name which should be used for this network rule collection.
    Priority int
    The priority of the network rule collection. The range is 100 - 65000.
    Rules []FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule
    One or more rule (network rule) blocks as defined above.
    action String
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    name String
    The name which should be used for this network rule collection.
    priority Integer
    The priority of the network rule collection. The range is 100 - 65000.
    rules List<FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule>
    One or more rule (network rule) blocks as defined above.
    action string
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    name string
    The name which should be used for this network rule collection.
    priority number
    The priority of the network rule collection. The range is 100 - 65000.
    rules FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule[]
    One or more rule (network rule) blocks as defined above.
    action str
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    name str
    The name which should be used for this network rule collection.
    priority int
    The priority of the network rule collection. The range is 100 - 65000.
    rules Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule]
    One or more rule (network rule) blocks as defined above.
    action String
    The action to take for the network rules in this collection. Possible values are Allow and Deny.
    name String
    The name which should be used for this network rule collection.
    priority Number
    The priority of the network rule collection. The range is 100 - 65000.
    rules List<Property Map>
    One or more rule (network rule) blocks as defined above.

    FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule, FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs

    DestinationPorts List<string>
    Specifies a list of destination ports.
    Name string
    The name which should be used for this rule.
    Protocols List<string>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    DestinationAddresses List<string>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    DestinationFqdns List<string>
    Specifies a list of destination FQDNs.
    DestinationIpGroups List<string>
    Specifies a list of destination IP groups.
    SourceAddresses List<string>
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups List<string>
    Specifies a list of source IP groups.
    DestinationPorts []string
    Specifies a list of destination ports.
    Name string
    The name which should be used for this rule.
    Protocols []string
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    DestinationAddresses []string
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    DestinationFqdns []string
    Specifies a list of destination FQDNs.
    DestinationIpGroups []string
    Specifies a list of destination IP groups.
    SourceAddresses []string
    Specifies a list of source IP addresses (including CIDR and *).
    SourceIpGroups []string
    Specifies a list of source IP groups.
    destinationPorts List<String>
    Specifies a list of destination ports.
    name String
    The name which should be used for this rule.
    protocols List<String>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    destinationAddresses List<String>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdns List<String>
    Specifies a list of destination FQDNs.
    destinationIpGroups List<String>
    Specifies a list of destination IP groups.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.
    destinationPorts string[]
    Specifies a list of destination ports.
    name string
    The name which should be used for this rule.
    protocols string[]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    destinationAddresses string[]
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdns string[]
    Specifies a list of destination FQDNs.
    destinationIpGroups string[]
    Specifies a list of destination IP groups.
    sourceAddresses string[]
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups string[]
    Specifies a list of source IP groups.
    destination_ports Sequence[str]
    Specifies a list of destination ports.
    name str
    The name which should be used for this rule.
    protocols Sequence[str]
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    destination_addresses Sequence[str]
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destination_fqdns Sequence[str]
    Specifies a list of destination FQDNs.
    destination_ip_groups Sequence[str]
    Specifies a list of destination IP groups.
    source_addresses Sequence[str]
    Specifies a list of source IP addresses (including CIDR and *).
    source_ip_groups Sequence[str]
    Specifies a list of source IP groups.
    destinationPorts List<String>
    Specifies a list of destination ports.
    name String
    The name which should be used for this rule.
    protocols List<String>
    Specifies a list of network protocols this rule applies to. Possible values are TCP, UDP.
    destinationAddresses List<String>
    Specifies a list of destination IP addresses (including CIDR and *) or Service Tags.
    destinationFqdns List<String>
    Specifies a list of destination FQDNs.
    destinationIpGroups List<String>
    Specifies a list of destination IP groups.
    sourceAddresses List<String>
    Specifies a list of source IP addresses (including CIDR and *).
    sourceIpGroups List<String>
    Specifies a list of source IP groups.

    Import

    Firewall Policy Rule Collection Groups can be imported using the resource id, e.g.

     $ pulumi import azure:network/firewallPolicyRuleCollectionGroup:FirewallPolicyRuleCollectionGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Network/firewallPolicies/policy1/ruleCollectionGroups/gruop1
    

    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.

    Viewing docs for Azure v4.42.0 (Older version)
    published on Monday, Mar 9, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.