# App Engine Admin API . apps . firewall . ingressRules

## Instance Methods

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.

Creates a firewall rule for the application.

Deletes the specified firewall rule.

Gets the specified firewall rule.

Lists the firewall rules of an application.

Retrieves the next page of results.

Updates the specified firewall rule.

### Method Details

`batchUpdate(appsId, body=None, x__xgafv=None)`

    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.

    Args:
      appsId: string, Part of `name`. Name of the Firewall collection to set. Example: apps/myapp/firewall/ingressRules. (required)
      body: object, The request body.
        The object takes the form of:

    { # Request message for Firewall.BatchUpdateIngressRules.
        "ingressRules": [ # A list of FirewallRules to replace the existing set.
          { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
            "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
            "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
            "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
            "action": "A String", # The action to take on matched requests.
          },
        ],
      }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for Firewall.UpdateAllIngressRules.
        "ingressRules": [ # The full list of ingress FirewallRules for this application.
          { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
            "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
            "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
            "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
            "action": "A String", # The action to take on matched requests.
          },
        ],
      }

`create(appsId, body=None, x__xgafv=None)`

    Creates a firewall rule for the application.

    Args:
      appsId: string, Part of `parent`. Name of the parent Firewall collection in which to create a new rule. Example: apps/myapp/firewall/ingressRules. (required)
      body: object, The request body.
        The object takes the form of:

    { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
      "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
      "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
      "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
      "action": "A String", # The action to take on matched requests.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
        "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
        "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
        "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
        "action": "A String", # The action to take on matched requests.
      }

`delete(appsId, ingressRulesId, x__xgafv=None)`

    Deletes the specified firewall rule.

    Args:
      appsId: string, Part of `name`. Name of the Firewall resource to delete. Example: apps/myapp/firewall/ingressRules/100. (required)
      ingressRulesId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance:
          # service Foo {
          #   rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
          # }
          # The JSON representation for Empty is empty JSON object {}.
      }

`get(appsId, ingressRulesId, x__xgafv=None)`

    Gets the specified firewall rule.

    Args:
      appsId: string, Part of `name`. Name of the Firewall resource to retrieve. Example: apps/myapp/firewall/ingressRules/100. (required)
      ingressRulesId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
        "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
        "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
        "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
        "action": "A String", # The action to take on matched requests.
      }

`list(appsId, pageToken=None, pageSize=None, matchingAddress=None, x__xgafv=None)`

    Lists the firewall rules of an application.

    Args:
      appsId: string, Part of `parent`. Name of the Firewall collection to retrieve. Example: apps/myapp/firewall/ingressRules. (required)
      pageToken: string, Continuation token for fetching the next page of results.
      pageSize: integer, Maximum results to return per page.
      matchingAddress: string, A valid IP Address. If set, only rules matching this address will be returned. The first returned rule will be the rule that fires on requests from this IP.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for Firewall.ListIngressRules.
        "ingressRules": [ # The ingress FirewallRules for this application.
          { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
            "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
            "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
            "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
            "action": "A String", # The action to take on matched requests.
          },
        ],
        "nextPageToken": "A String", # Continuation token for fetching the next page of results.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(appsId, ingressRulesId, body=None, updateMask=None, x__xgafv=None)`

    Updates the specified firewall rule.

    Args:
      appsId: string, Part of `name`. Name of the Firewall resource to update. Example: apps/myapp/firewall/ingressRules/100. (required)
      ingressRulesId: string, Part of `name`. See documentation of `appsId`. (required)
      body: object, The request body.
        The object takes the form of:

    { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
      "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
      "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
      "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
      "action": "A String", # The action to take on matched requests.
    }

      updateMask: string, Standard field mask for the set of fields to be updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A single firewall rule that is evaluated against incoming traffic and provides an action to take on matched requests.
        "description": "A String", # An optional string description of this rule. This field has a maximum length of 100 characters.
        "priority": 42, # A positive integer between 1, Int32.MaxValue-1 that defines the order of rule evaluation. Rules with the lowest priority are evaluated first.A default rule at priority Int32.MaxValue matches all IPv4 and IPv6 traffic when no previous rule matches. Only the action of this rule can be modified by the user.
        "sourceRange": "A String", # IP address or range, defined using CIDR notation, of requests that this rule applies to. You can use the wildcard character "*" to match all IPs equivalent to "0/0" and "::/0" together. Examples: 192.168.1.1 or 192.168.0.0/16 or 2001:db8::/32  or 2001:0db8:0000:0042:0000:8a2e:0370:7334.<p>Truncation will be silently performed on addresses which are not properly truncated. For example, 1.2.3.4/24 is accepted as the same address as 1.2.3.0/24. Similarly, for IPv6, 2001:db8::1/32 is accepted as the same address as 2001:db8::/32.
        "action": "A String", # The action to take on matched requests.
      }