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

We recommend using Azure Native.

Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi

azure.network.FirewallPolicyRuleCollectionGroup

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi

    Manages a Firewall Policy Rule Collection Group.

    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 exampleFirewallPolicy = new azure.network.FirewallPolicy("example", {
        name: "example-fwpolicy",
        resourceGroupName: example.name,
        location: example.location,
    });
    const exampleFirewallPolicyRuleCollectionGroup = new azure.network.FirewallPolicyRuleCollectionGroup("example", {
        name: "example-fwpolicy-rcg",
        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",
                translatedAddress: "192.168.0.1",
                translatedPort: 8080,
            }],
        }],
    });
    
    import pulumi
    import pulumi_azure as azure
    
    example = azure.core.ResourceGroup("example",
        name="example-resources",
        location="West Europe")
    example_firewall_policy = azure.network.FirewallPolicy("example",
        name="example-fwpolicy",
        resource_group_name=example.name,
        location=example.location)
    example_firewall_policy_rule_collection_group = azure.network.FirewallPolicyRuleCollectionGroup("example",
        name="example-fwpolicy-rcg",
        firewall_policy_id=example_firewall_policy.id,
        priority=500,
        application_rule_collections=[{
            "name": "app_rule_collection1",
            "priority": 500,
            "action": "Deny",
            "rules": [{
                "name": "app_rule_collection1_rule1",
                "protocols": [
                    {
                        "type": "Http",
                        "port": 80,
                    },
                    {
                        "type": "Https",
                        "port": 443,
                    },
                ],
                "source_addresses": ["10.0.0.1"],
                "destination_fqdns": ["*.microsoft.com"],
            }],
        }],
        network_rule_collections=[{
            "name": "network_rule_collection1",
            "priority": 400,
            "action": "Deny",
            "rules": [{
                "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=[{
            "name": "nat_rule_collection1",
            "priority": 300,
            "action": "Dnat",
            "rules": [{
                "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",
                "translated_address": "192.168.0.1",
                "translated_port": 8080,
            }],
        }])
    
    package main
    
    import (
    	"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
    		}
    		exampleFirewallPolicy, err := network.NewFirewallPolicy(ctx, "example", &network.FirewallPolicyArgs{
    			Name:              pulumi.String("example-fwpolicy"),
    			ResourceGroupName: example.Name,
    			Location:          example.Location,
    		})
    		if err != nil {
    			return err
    		}
    		_, err = network.NewFirewallPolicyRuleCollectionGroup(ctx, "example", &network.FirewallPolicyRuleCollectionGroupArgs{
    			Name:             pulumi.String("example-fwpolicy-rcg"),
    			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.String("80"),
    							TranslatedAddress:  pulumi.String("192.168.0.1"),
    							TranslatedPort:     pulumi.Int(8080),
    						},
    					},
    				},
    			},
    		})
    		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 exampleFirewallPolicy = new Azure.Network.FirewallPolicy("example", new()
        {
            Name = "example-fwpolicy",
            ResourceGroupName = example.Name,
            Location = example.Location,
        });
    
        var exampleFirewallPolicyRuleCollectionGroup = new Azure.Network.FirewallPolicyRuleCollectionGroup("example", new()
        {
            Name = "example-fwpolicy-rcg",
            FirewallPolicyId = exampleFirewallPolicy.Id,
            Priority = 500,
            ApplicationRuleCollections = new[]
            {
                new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs
                {
                    Name = "app_rule_collection1",
                    Priority = 500,
                    Action = "Deny",
                    Rules = new[]
                    {
                        new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs
                        {
                            Name = "app_rule_collection1_rule1",
                            Protocols = new[]
                            {
                                new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs
                                {
                                    Type = "Http",
                                    Port = 80,
                                },
                                new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs
                                {
                                    Type = "Https",
                                    Port = 443,
                                },
                            },
                            SourceAddresses = new[]
                            {
                                "10.0.0.1",
                            },
                            DestinationFqdns = new[]
                            {
                                "*.microsoft.com",
                            },
                        },
                    },
                },
            },
            NetworkRuleCollections = new[]
            {
                new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs
                {
                    Name = "network_rule_collection1",
                    Priority = 400,
                    Action = "Deny",
                    Rules = new[]
                    {
                        new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs
                        {
                            Name = "network_rule_collection1_rule1",
                            Protocols = new[]
                            {
                                "TCP",
                                "UDP",
                            },
                            SourceAddresses = new[]
                            {
                                "10.0.0.1",
                            },
                            DestinationAddresses = new[]
                            {
                                "192.168.1.1",
                                "192.168.1.2",
                            },
                            DestinationPorts = new[]
                            {
                                "80",
                                "1000-2000",
                            },
                        },
                    },
                },
            },
            NatRuleCollections = new[]
            {
                new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs
                {
                    Name = "nat_rule_collection1",
                    Priority = 300,
                    Action = "Dnat",
                    Rules = new[]
                    {
                        new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs
                        {
                            Name = "nat_rule_collection1_rule1",
                            Protocols = new[]
                            {
                                "TCP",
                                "UDP",
                            },
                            SourceAddresses = new[]
                            {
                                "10.0.0.1",
                                "10.0.0.2",
                            },
                            DestinationAddress = "192.168.1.1",
                            DestinationPorts = "80",
                            TranslatedAddress = "192.168.0.1",
                            TranslatedPort = 8080,
                        },
                    },
                },
            },
        });
    
    });
    
    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.FirewallPolicy;
    import com.pulumi.azure.network.FirewallPolicyArgs;
    import com.pulumi.azure.network.FirewallPolicyRuleCollectionGroup;
    import com.pulumi.azure.network.FirewallPolicyRuleCollectionGroupArgs;
    import com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs;
    import com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs;
    import com.pulumi.azure.network.inputs.FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs;
    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 exampleFirewallPolicy = new FirewallPolicy("exampleFirewallPolicy", FirewallPolicyArgs.builder()
                .name("example-fwpolicy")
                .resourceGroupName(example.name())
                .location(example.location())
                .build());
    
            var exampleFirewallPolicyRuleCollectionGroup = new FirewallPolicyRuleCollectionGroup("exampleFirewallPolicyRuleCollectionGroup", FirewallPolicyRuleCollectionGroupArgs.builder()
                .name("example-fwpolicy-rcg")
                .firewallPolicyId(exampleFirewallPolicy.id())
                .priority(500)
                .applicationRuleCollections(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionArgs.builder()
                    .name("app_rule_collection1")
                    .priority(500)
                    .action("Deny")
                    .rules(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs.builder()
                        .name("app_rule_collection1_rule1")
                        .protocols(                    
                            FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs.builder()
                                .type("Http")
                                .port(80)
                                .build(),
                            FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs.builder()
                                .type("Https")
                                .port(443)
                                .build())
                        .sourceAddresses("10.0.0.1")
                        .destinationFqdns("*.microsoft.com")
                        .build())
                    .build())
                .networkRuleCollections(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionArgs.builder()
                    .name("network_rule_collection1")
                    .priority(400)
                    .action("Deny")
                    .rules(FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs.builder()
                        .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")
                        .build())
                    .build())
                .natRuleCollections(FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs.builder()
                    .name("nat_rule_collection1")
                    .priority(300)
                    .action("Dnat")
                    .rules(FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs.builder()
                        .name("nat_rule_collection1_rule1")
                        .protocols(                    
                            "TCP",
                            "UDP")
                        .sourceAddresses(                    
                            "10.0.0.1",
                            "10.0.0.2")
                        .destinationAddress("192.168.1.1")
                        .destinationPorts("80")
                        .translatedAddress("192.168.0.1")
                        .translatedPort("8080")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: azure:core:ResourceGroup
        properties:
          name: example-resources
          location: West Europe
      exampleFirewallPolicy:
        type: azure:network:FirewallPolicy
        name: example
        properties:
          name: example-fwpolicy
          resourceGroupName: ${example.name}
          location: ${example.location}
      exampleFirewallPolicyRuleCollectionGroup:
        type: azure:network:FirewallPolicyRuleCollectionGroup
        name: example
        properties:
          name: example-fwpolicy-rcg
          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'
                  translatedAddress: 192.168.0.1
                  translatedPort: '8080'
    

    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",
                        },
                        HttpHeaders = new[]
                        {
                            new Azure.Network.Inputs.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeaderArgs
                            {
                                Name = "string",
                                Value = "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,
                        Description = "string",
                        DestinationAddress = "string",
                        DestinationPorts = "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",
                        },
                        Description = "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"),
    					},
    					HttpHeaders: network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeaderArray{
    						&network.FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeaderArgs{
    							Name:  pulumi.String("string"),
    							Value: 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),
    					Description:        pulumi.String("string"),
    					DestinationAddress: pulumi.String("string"),
    					DestinationPorts:   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"),
    					},
    					Description: 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")
                .httpHeaders(FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeaderArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .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)
                .description("string")
                .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")
                .description("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",
                "destinationAddresses": ["string"],
                "destinationFqdnTags": ["string"],
                "destinationFqdns": ["string"],
                "destinationUrls": ["string"],
                "httpHeaders": [{
                    "name": "string",
                    "value": "string",
                }],
                "protocols": [{
                    "port": 0,
                    "type": "string",
                }],
                "sourceAddresses": ["string"],
                "sourceIpGroups": ["string"],
                "terminateTls": False,
                "webCategories": ["string"],
            }],
        }],
        name="string",
        nat_rule_collections=[{
            "action": "string",
            "name": "string",
            "priority": 0,
            "rules": [{
                "name": "string",
                "protocols": ["string"],
                "translatedPort": 0,
                "description": "string",
                "destinationAddress": "string",
                "destinationPorts": "string",
                "sourceAddresses": ["string"],
                "sourceIpGroups": ["string"],
                "translatedAddress": "string",
                "translatedFqdn": "string",
            }],
        }],
        network_rule_collections=[{
            "action": "string",
            "name": "string",
            "priority": 0,
            "rules": [{
                "destinationPorts": ["string"],
                "name": "string",
                "protocols": ["string"],
                "description": "string",
                "destinationAddresses": ["string"],
                "destinationFqdns": ["string"],
                "destinationIpGroups": ["string"],
                "sourceAddresses": ["string"],
                "sourceIpGroups": ["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"],
                httpHeaders: [{
                    name: "string",
                    value: "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,
                description: "string",
                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"],
                description: "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
                  httpHeaders:
                    - name: string
                      value: 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:
                - description: string
                  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:
                - description: string
                  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

    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)
    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:
    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 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 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 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 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 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 application_rule blocks as defined below.

    FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs

    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.
    Description string
    DestinationAddresses List<string>
    DestinationFqdnTags List<string>
    Specifies a list of destination FQDN tags.
    DestinationFqdns List<string>
    DestinationUrls List<string>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    HttpHeaders List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader>
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    Protocols List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol>
    SourceAddresses List<string>
    SourceIpGroups List<string>
    TerminateTls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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 Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    Description string
    DestinationAddresses []string
    DestinationFqdnTags []string
    Specifies a list of destination FQDN tags.
    DestinationFqdns []string
    DestinationUrls []string
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    HttpHeaders []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    Protocols []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol
    SourceAddresses []string
    SourceIpGroups []string
    TerminateTls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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 Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    description String
    destinationAddresses List<String>
    destinationFqdnTags List<String>
    Specifies a list of destination FQDN tags.
    destinationFqdns List<String>
    destinationUrls List<String>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    httpHeaders List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader>
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    protocols List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol>
    sourceAddresses List<String>
    sourceIpGroups List<String>
    terminateTls Boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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 Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    description string
    destinationAddresses string[]
    destinationFqdnTags string[]
    Specifies a list of destination FQDN tags.
    destinationFqdns string[]
    destinationUrls string[]
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    httpHeaders FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader[]
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    protocols FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol[]
    sourceAddresses string[]
    sourceIpGroups string[]
    terminateTls boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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 Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    description str
    destination_addresses Sequence[str]
    destination_fqdn_tags Sequence[str]
    Specifies a list of destination FQDN tags.
    destination_fqdns Sequence[str]
    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.
    http_headers Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader]
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    protocols Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol]
    source_addresses Sequence[str]
    source_ip_groups Sequence[str]
    terminate_tls bool
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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 Firewall Policy Rule Collection Group. Changing this forces a new Firewall Policy Rule Collection Group to be created.
    description String
    destinationAddresses List<String>
    destinationFqdnTags List<String>
    Specifies a list of destination FQDN tags.
    destinationFqdns List<String>
    destinationUrls List<String>
    Specifies a list of destination URLs for which policy should hold. Needs Premium SKU for Firewall Policy. Conflicts with destination_fqdns.
    httpHeaders List<Property Map>
    Specifies a list of HTTP/HTTPS headers to insert. One or more http_headers blocks as defined below.
    protocols List<Property Map>
    sourceAddresses List<String>
    sourceIpGroups List<String>
    terminateTls Boolean
    Boolean specifying if TLS shall be terminated (true) or not (false). Must be true when using destination_urls. 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.

    FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeader, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleHttpHeaderArgs

    Name string
    Specifies the name of the header.
    Value string
    Specifies the value of the value.
    Name string
    Specifies the name of the header.
    Value string
    Specifies the value of the value.
    name String
    Specifies the name of the header.
    value String
    Specifies the value of the value.
    name string
    Specifies the name of the header.
    value string
    Specifies the value of the value.
    name str
    Specifies the name of the header.
    value str
    Specifies the value of the value.
    name String
    Specifies the name of the header.
    value String
    Specifies the value of the value.

    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 nat_rule block as defined below.
    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 nat_rule block as defined below.
    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 nat_rule block as defined below.
    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 nat_rule block as defined below.
    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 nat_rule block as defined below.
    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 nat_rule block as defined below.

    FirewallPolicyRuleCollectionGroupNatRuleCollectionRule, FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs

    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.
    Protocols List<string>
    TranslatedPort int
    Specifies the translated port.
    Description string
    DestinationAddress string
    The destination IP address (including CIDR).
    DestinationPorts string
    SourceAddresses List<string>
    SourceIpGroups List<string>
    TranslatedAddress string
    Specifies the translated address.
    TranslatedFqdn string

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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.
    Protocols []string
    TranslatedPort int
    Specifies the translated port.
    Description string
    DestinationAddress string
    The destination IP address (including CIDR).
    DestinationPorts string
    SourceAddresses []string
    SourceIpGroups []string
    TranslatedAddress string
    Specifies the translated address.
    TranslatedFqdn string

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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.
    protocols List<String>
    translatedPort Integer
    Specifies the translated port.
    description String
    destinationAddress String
    The destination IP address (including CIDR).
    destinationPorts String
    sourceAddresses List<String>
    sourceIpGroups List<String>
    translatedAddress String
    Specifies the translated address.
    translatedFqdn String

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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.
    protocols string[]
    translatedPort number
    Specifies the translated port.
    description string
    destinationAddress string
    The destination IP address (including CIDR).
    destinationPorts string
    sourceAddresses string[]
    sourceIpGroups string[]
    translatedAddress string
    Specifies the translated address.
    translatedFqdn string

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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.
    protocols Sequence[str]
    translated_port int
    Specifies the translated port.
    description str
    destination_address str
    The destination IP address (including CIDR).
    destination_ports str
    source_addresses Sequence[str]
    source_ip_groups Sequence[str]
    translated_address str
    Specifies the translated address.
    translated_fqdn str

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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.
    protocols List<String>
    translatedPort Number
    Specifies the translated port.
    description String
    destinationAddress String
    The destination IP address (including CIDR).
    destinationPorts String
    sourceAddresses List<String>
    sourceIpGroups List<String>
    translatedAddress String
    Specifies the translated address.
    translatedFqdn String

    Specifies the translated FQDN.

    NOTE: Exactly one of translated_address and translated_fqdn should be set.

    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 network_rule blocks as defined below.
    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 network_rule blocks as defined below.
    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 network_rule blocks as defined below.
    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 network_rule blocks as defined below.
    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 network_rule blocks as defined below.
    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 network_rule blocks as defined below.

    FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule, FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs

    DestinationPorts List<string>
    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.
    Protocols List<string>
    Description string
    DestinationAddresses List<string>
    DestinationFqdns List<string>
    DestinationIpGroups List<string>
    Specifies a list of destination IP groups.
    SourceAddresses List<string>
    SourceIpGroups List<string>
    DestinationPorts []string
    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.
    Protocols []string
    Description string
    DestinationAddresses []string
    DestinationFqdns []string
    DestinationIpGroups []string
    Specifies a list of destination IP groups.
    SourceAddresses []string
    SourceIpGroups []string
    destinationPorts List<String>
    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.
    protocols List<String>
    description String
    destinationAddresses List<String>
    destinationFqdns List<String>
    destinationIpGroups List<String>
    Specifies a list of destination IP groups.
    sourceAddresses List<String>
    sourceIpGroups List<String>
    destinationPorts string[]
    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.
    protocols string[]
    description string
    destinationAddresses string[]
    destinationFqdns string[]
    destinationIpGroups string[]
    Specifies a list of destination IP groups.
    sourceAddresses string[]
    sourceIpGroups string[]
    destination_ports Sequence[str]
    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.
    protocols Sequence[str]
    description str
    destination_addresses Sequence[str]
    destination_fqdns Sequence[str]
    destination_ip_groups Sequence[str]
    Specifies a list of destination IP groups.
    source_addresses Sequence[str]
    source_ip_groups Sequence[str]
    destinationPorts List<String>
    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.
    protocols List<String>
    description String
    destinationAddresses List<String>
    destinationFqdns List<String>
    destinationIpGroups List<String>
    Specifies a list of destination IP groups.
    sourceAddresses List<String>
    sourceIpGroups List<String>

    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.

    Azure Classic v6.2.0 published on Friday, Sep 27, 2024 by Pulumi