Method: firewallPolicies.addRule

Inserts a rule into a firewall policy.

HTTP request

POST https://compute.googleapis.com/compute/v1/locations/global/{resourceId=firewallPolicies/*}/addRule

The URL uses gRPC Transcoding syntax.

Path parameters

Parameters
resourceId

string

Name of the firewall policy to update.

Query parameters

Parameters
requestId

string

An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed.

For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments.

The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).

Request body

The request body contains data with the following structure:

JSON representation
{
  "description": string,
  "priority": integer,
  "match": {
    "srcIpRanges": [
      string
    ],
    "destIpRanges": [
      string
    ],
    "layer4Configs": [
      {
        "ipProtocol": string,
        "ports": [
          string
        ]
      }
    ]
  },
  "action": string,
  "direction": enum,
  "targetResources": [
    string
  ],
  "enableLogging": boolean,
  "ruleTupleCount": integer,
  "targetServiceAccounts": [
    string
  ],
  "disabled": boolean,
  "kind": string
}
Fields
description

string

An optional description for this resource.

priority

integer

An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest prority.

match

object

A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced.

match.srcIpRanges[]

string

CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.

match.destIpRanges[]

string

CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.

match.layer4Configs[]

object

Pairs of IP protocols and ports that the rule should match.

match.layer4Configs[].ipProtocol

string

The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.

match.layer4Configs[].ports[]

string

An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port.

Example inputs include: ["22"], ["80","443"], and ["12345-12349"].

action

string

The Action to perform when the client connection triggers the rule. Can currently be either "allow" or "deny()" where valid values for status are 403, 404, and 502.

direction

enum

The direction in which this rule applies.

targetResources[]

string

A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the ru