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

We recommend using Azure Native.

Azure v6.21.0 published on Friday, Mar 7, 2025 by Pulumi

azure.network.FirewallPolicyRuleCollectionGroup

Explore with Pulumi AI

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,
        }],
    }],
});
Copy
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,
        }],
    }])
Copy
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
	})
}
Copy
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,
                    },
                },
            },
        },
    });

});
Copy
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());

    }
}
Copy
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'
Copy

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 This property is required. string
The unique name of the resource.
args This property is required. FirewallPolicyRuleCollectionGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. 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 This property is required. string
The unique name of the resource.
args This property is required. FirewallPolicyRuleCollectionGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. FirewallPolicyRuleCollectionGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. 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",
                    },
                },
            },
        },
    },
});
Copy
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"),
					},
				},
			},
		},
	},
})
Copy
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());
Copy
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"],
            "http_headers": [{
                "name": "string",
                "value": "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,
            "description": "string",
            "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"],
            "description": "string",
            "destination_addresses": ["string"],
            "destination_fqdns": ["string"],
            "destination_ip_groups": ["string"],
            "source_addresses": ["string"],
            "source_ip_groups": ["string"],
        }],
    }])
Copy
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"],
        }],
    }],
});
Copy
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
Copy

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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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
This property is required.
Changes to this property will trigger replacement.
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 This property is required. 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 Changes to this property will trigger replacement. 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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 Changes to this property will trigger replacement. 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 This property is required. string
The action to take for the application rules in this collection. Possible values are Allow and Deny.
Name This property is required. string
The name which should be used for this application rule collection.
Priority This property is required. int
The priority of the application rule collection. The range is 100 - 65000.
Rules This property is required. List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule>
One or more application_rule blocks as defined below.
Action This property is required. string
The action to take for the application rules in this collection. Possible values are Allow and Deny.
Name This property is required. string
The name which should be used for this application rule collection.
Priority This property is required. int
The priority of the application rule collection. The range is 100 - 65000.
Rules This property is required. []FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule
One or more application_rule blocks as defined below.
action This property is required. String
The action to take for the application rules in this collection. Possible values are Allow and Deny.
name This property is required. String
The name which should be used for this application rule collection.
priority This property is required. Integer
The priority of the application rule collection. The range is 100 - 65000.
rules This property is required. List<FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule>
One or more application_rule blocks as defined below.
action This property is required. string
The action to take for the application rules in this collection. Possible values are Allow and Deny.
name This property is required. string
The name which should be used for this application rule collection.
priority This property is required. number
The priority of the application rule collection. The range is 100 - 65000.
rules This property is required. FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule[]
One or more application_rule blocks as defined below.
action This property is required. str
The action to take for the application rules in this collection. Possible values are Allow and Deny.
name This property is required. str
The name which should be used for this application rule collection.
priority This property is required. int
The priority of the application rule collection. The range is 100 - 65000.
rules This property is required. Sequence[FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule]
One or more application_rule blocks as defined below.
action This property is required. String
The action to take for the application rules in this collection. Possible values are Allow and Deny.
name This property is required. String
The name which should be used for this application rule collection.
priority This property is required. Number
The priority of the application rule collection. The range is 100 - 65000.
rules This property is required. List<Property Map>
One or more application_rule blocks as defined below.

FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRule
, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleArgs

Name This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. string
Specifies the name of the header.
Value This property is required. string
Specifies the value of the value.
Name This property is required. string
Specifies the name of the header.
Value This property is required. string
Specifies the value of the value.
name This property is required. String
Specifies the name of the header.
value This property is required. String
Specifies the value of the value.
name This property is required. string
Specifies the name of the header.
value This property is required. string
Specifies the value of the value.
name This property is required. str
Specifies the name of the header.
value This property is required. str
Specifies the value of the value.
name This property is required. String
Specifies the name of the header.
value This property is required. String
Specifies the value of the value.

FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocol
, FirewallPolicyRuleCollectionGroupApplicationRuleCollectionRuleProtocolArgs

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

FirewallPolicyRuleCollectionGroupNatRuleCollection
, FirewallPolicyRuleCollectionGroupNatRuleCollectionArgs

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

FirewallPolicyRuleCollectionGroupNatRuleCollectionRule
, FirewallPolicyRuleCollectionGroupNatRuleCollectionRuleArgs

Name This property is required. 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 This property is required. List<string>
TranslatedPort This property is required. 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 This property is required. 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 This property is required. []string
TranslatedPort This property is required. 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 This property is required. 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 This property is required. List<String>
translatedPort This property is required. 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 This property is required. 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 This property is required. string[]
translatedPort This property is required. 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 This property is required. 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 This property is required. Sequence[str]
translated_port This property is required. 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 This property is required. 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 This property is required. List<String>
translatedPort This property is required. 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 This property is required. string
The action to take for the network rules in this collection. Possible values are Allow and Deny.
Name This property is required. string
The name which should be used for this network rule collection.
Priority This property is required. int
The priority of the network rule collection. The range is 100 - 65000.
Rules This property is required. List<FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule>
One or more network_rule blocks as defined below.
Action This property is required. string
The action to take for the network rules in this collection. Possible values are Allow and Deny.
Name This property is required. string
The name which should be used for this network rule collection.
Priority This property is required. int
The priority of the network rule collection. The range is 100 - 65000.
Rules This property is required. []FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule
One or more network_rule blocks as defined below.
action This property is required. String
The action to take for the network rules in this collection. Possible values are Allow and Deny.
name This property is required. String
The name which should be used for this network rule collection.
priority This property is required. Integer
The priority of the network rule collection. The range is 100 - 65000.
rules This property is required. List<FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule>
One or more network_rule blocks as defined below.
action This property is required. string
The action to take for the network rules in this collection. Possible values are Allow and Deny.
name This property is required. string
The name which should be used for this network rule collection.
priority This property is required. number
The priority of the network rule collection. The range is 100 - 65000.
rules This property is required. FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule[]
One or more network_rule blocks as defined below.
action This property is required. str
The action to take for the network rules in this collection. Possible values are Allow and Deny.
name This property is required. str
The name which should be used for this network rule collection.
priority This property is required. int
The priority of the network rule collection. The range is 100 - 65000.
rules This property is required. Sequence[FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule]
One or more network_rule blocks as defined below.
action This property is required. String
The action to take for the network rules in this collection. Possible values are Allow and Deny.
name This property is required. String
The name which should be used for this network rule collection.
priority This property is required. Number
The priority of the network rule collection. The range is 100 - 65000.
rules This property is required. List<Property Map>
One or more network_rule blocks as defined below.

FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRule
, FirewallPolicyRuleCollectionGroupNetworkRuleCollectionRuleArgs

DestinationPorts This property is required. List<string>
Name This property is required. 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 This property is required. 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 This property is required. []string
Name This property is required. 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 This property is required. []string
Description string
DestinationAddresses []string
DestinationFqdns []string
DestinationIpGroups []string
Specifies a list of destination IP groups.
SourceAddresses []string
SourceIpGroups []string
destinationPorts This property is required. List<String>
name This property is required. 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 This property is required. 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 This property is required. string[]
name This property is required. 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 This property is required. string[]
description string
destinationAddresses string[]
destinationFqdns string[]
destinationIpGroups string[]
Specifies a list of destination IP groups.
sourceAddresses string[]
sourceIpGroups string[]
destination_ports This property is required. Sequence[str]
name This property is required. 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 This property is required. 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 This property is required. List<String>
name This property is required. 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 This property is required. 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
Copy

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.