FirewallPolicy

The firewall policy defines the behavior of a firewall using a collection of stateless and stateful rule groups and other settings. You can use one firewall policy for multiple firewalls.

This, along with FirewallPolicyResponse, define the policy. You can retrieve all objects for a firewall policy by calling DescribeFirewallPolicy.

FirewallIntrusion DetectionNetwork SecurityVPC

Properties

Name Type Description
StatelessRuleGroupReferences object
StatelessDefaultActions object
StatelessFragmentDefaultActions object
StatelessCustomActions object
StatefulRuleGroupReferences object
StatefulDefaultActions object
StatefulEngineOptions object
TLSInspectionConfigurationArn object
View JSON Schema on GitHub

JSON Schema

openapi-firewall-policy-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-network-firewall/refs/heads/main/json-schema/openapi-firewall-policy-schema.json",
  "title": "FirewallPolicy",
  "description": "<p>The firewall policy defines the behavior of a firewall using a collection of stateless and stateful rule groups and other settings. You can use one firewall policy for multiple firewalls. </p> <p>This, along with <a>FirewallPolicyResponse</a>, define the policy. You can retrieve all objects for a firewall policy by calling <a>DescribeFirewallPolicy</a>.</p>",
  "type": "object",
  "properties": {
    "StatelessRuleGroupReferences": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatelessRuleGroupReferences"
        },
        {
          "description": "References to the stateless rule groups that are used in the policy. These define the matching criteria in stateless rules. "
        }
      ]
    },
    "StatelessDefaultActions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatelessActions"
        },
        {
          "description": "<p>The actions to take on a packet if it doesn't match any of the stateless rules in the policy. If you want non-matching packets to be forwarded for stateful inspection, specify <code>aws:forward_to_sfe</code>. </p> <p>You must specify one of the standard actions: <code>aws:pass</code>, <code>aws:drop</code>, or <code>aws:forward_to_sfe</code>. In addition, you can specify custom actions that are compatible with your standard section choice.</p> <p>For example, you could specify <code>[\"aws:pass\"]</code> or you could specify <code>[\"aws:pass\", \u201ccustomActionName\u201d]</code>. For information about compatibility, see the custom action descriptions under <a>CustomAction</a>.</p>"
        }
      ]
    },
    "StatelessFragmentDefaultActions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatelessActions"
        },
        {
          "description": "<p>The actions to take on a fragmented UDP packet if it doesn't match any of the stateless rules in the policy. Network Firewall only manages UDP packet fragments and silently drops packet fragments for other protocols. If you want non-matching fragmented UDP packets to be forwarded for stateful inspection, specify <code>aws:forward_to_sfe</code>. </p> <p>You must specify one of the standard actions: <code>aws:pass</code>, <code>aws:drop</code>, or <code>aws:forward_to_sfe</code>. In addition, you can specify custom actions that are compatible with your standard section choice.</p> <p>For example, you could specify <code>[\"aws:pass\"]</code> or you could specify <code>[\"aws:pass\", \u201ccustomActionName\u201d]</code>. For information about compatibility, see the custom action descriptions under <a>CustomAction</a>.</p>"
        }
      ]
    },
    "StatelessCustomActions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/CustomActions"
        },
        {
          "description": "The custom action definitions that are available for use in the firewall policy's <code>StatelessDefaultActions</code> setting. You name each custom action that you define, and then you can use it by name in your default actions specifications."
        }
      ]
    },
    "StatefulRuleGroupReferences": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatefulRuleGroupReferences"
        },
        {
          "description": "References to the stateful rule groups that are used in the policy. These define the inspection criteria in stateful rules. "
        }
      ]
    },
    "StatefulDefaultActions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatefulActions"
        },
        {
          "description": "<p>The default actions to take on a packet that doesn't match any stateful rules. The stateful default action is optional, and is only valid when using the strict rule order.</p> <p>Valid values of the stateful default action:</p> <ul> <li> <p>aws:drop_strict</p> </li> <li> <p>aws:drop_established</p> </li> <li> <p>aws:alert_strict</p> </li> <li> <p>aws:alert_established</p> </li> </ul> <p>For more information, see <a href=\"https://docs.aws.amazon.com/network-firewall/latest/developerguide/suricata-rule-evaluation-order.html#suricata-strict-rule-evaluation-order.html\">Strict evaluation order</a> in the <i>Network Firewall Developer Guide</i>. </p>"
        }
      ]
    },
    "StatefulEngineOptions": {
      "allOf": [
        {
          "$ref": "#/components/schemas/StatefulEngineOptions"
        },
        {
          "description": "Additional options governing how Network Firewall handles stateful rules. The stateful rule groups that you use in your policy must have stateful rule options settings that are compatible with these settings."
        }
      ]
    },
    "TLSInspectionConfigurationArn": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ResourceArn"
        },
        {
          "description": "The Amazon Resource Name (ARN) of the TLS inspection configuration."
        }
      ]
    }
  },
  "required": [
    "StatelessDefaultActions",
    "StatelessFragmentDefaultActions"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/openapi-firewall-policy"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.