# Method: apps.firewall.ingressRules.batchUpdate

- [HTTP request](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.HTTP_TEMPLATE)
- [Path parameters](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.PATH_PARAMETERS)
- [Request body](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.request_body)
  - [JSON representation](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.response_body)
  - [JSON representation](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.BatchUpdateIngressRulesResponse.SCHEMA_REPRESENTATION)
- [Authorization Scopes](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#body.aspect)
- [Try it!](https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules/batchUpdate#try-it)

Replaces the entire firewall ruleset in one bulk operation. This overrides and replaces the rules of an existing firewall with the new rules.

If the final rule does not match traffic with the '\*' wildcard IP range, then an "allow all" rule is explicitly added to the end of the list.

### HTTP request

`POST https://appengine.googleapis.com/v1/{name=apps/*/firewall/ingressRules}:batchUpdate`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `name` | `string` Name of the Firewall collection to set. Example: `apps/myapp/firewall/ingressRules`. Authorization requires the following [IAM](https://cloud.google.com/iam/docs/) permission on the specified resource `name`: - `appengine.applications.update` |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "ingressRules": [ { object (`https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules#FirewallRule`) } ] } ``` |

| Fields ||
|---|---|
| `ingressRules[]` | ``object (`https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules#FirewallRule`)`` A list of FirewallRules to replace the existing set. |

### Response body

If successful, the response body contains data with the following structure:
Response message for `Firewall.UpdateAllIngressRules`.

| JSON representation |
|---|
| ``` { "ingressRules": [ { object (`https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules#FirewallRule`) } ] } ``` |

| Fields ||
|---|---|
| `ingressRules[]` | ``object (`https://docs.cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.firewall.ingressRules#FirewallRule`)`` The full list of ingress FirewallRules for this application. |

### Authorization Scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/cloud-platform`

For more information, see the [Authentication Overview](https://cloud.google.com/docs/authentication/).