AWS Network Firewall

2025/11/19 - AWS Network Firewall - 5 updated api methods

Changes  Partner Managed Rulegroup feature support

CreateFirewall (updated) Link ¶
Changes (response)
{'FirewallStatus': {'SyncStates': {'Config': {'SyncStatus': {'DEPRECATED',
                                                             'NOT_SUBSCRIBED'}}}}}

Creates an Network Firewall Firewall and accompanying FirewallStatus for a VPC.

The firewall defines the configuration settings for an Network Firewall firewall. The settings that you can define at creation include the firewall policy, the subnets in your VPC to use for the firewall endpoints, and any tags that are attached to the firewall Amazon Web Services resource.

After you create a firewall, you can provide additional settings, like the logging configuration.

To update the settings for a firewall, you use the operations that apply to the settings themselves, for example UpdateLoggingConfiguration, AssociateSubnets, and UpdateFirewallDeleteProtection.

To manage a firewall's tags, use the standard Amazon Web Services resource tagging operations, ListTagsForResource, TagResource, and UntagResource.

To retrieve information about firewalls, use ListFirewalls and DescribeFirewall.

To generate a report on the last 30 days of traffic monitored by a firewall, use StartAnalysisReport.

See also: AWS API Documentation

Request Syntax

client.create_firewall(
    FirewallName='string',
    FirewallPolicyArn='string',
    VpcId='string',
    SubnetMappings=[
        {
            'SubnetId': 'string',
            'IPAddressType': 'DUALSTACK'|'IPV4'|'IPV6'
        },
    ],
    DeleteProtection=True|False,
    SubnetChangeProtection=True|False,
    FirewallPolicyChangeProtection=True|False,
    Description='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    EncryptionConfiguration={
        'KeyId': 'string',
        'Type': 'CUSTOMER_KMS'|'AWS_OWNED_KMS_KEY'
    },
    EnabledAnalysisTypes=[
        'TLS_SNI'|'HTTP_HOST',
    ],
    TransitGatewayId='string',
    AvailabilityZoneMappings=[
        {
            'AvailabilityZone': 'string'
        },
    ],
    AvailabilityZoneChangeProtection=True|False
)
type FirewallName:

string

param FirewallName:

[REQUIRED]

The descriptive name of the firewall. You can't change the name of a firewall after you create it.

type FirewallPolicyArn:

string

param FirewallPolicyArn:

[REQUIRED]

The Amazon Resource Name (ARN) of the FirewallPolicy that you want to use for the firewall.

type VpcId:

string

param VpcId:

The unique identifier of the VPC where Network Firewall should create the firewall.

You can't change this setting after you create the firewall.

type SubnetMappings:

list

param SubnetMappings:

The public subnets to use for your Network Firewall firewalls. Each subnet must belong to a different Availability Zone in the VPC. Network Firewall creates a firewall endpoint in each subnet.

  • (dict) --

    The ID for a subnet that's used in an association with a firewall. This is used in CreateFirewall, AssociateSubnets, and CreateVpcEndpointAssociation. Network Firewall creates an instance of the associated firewall in each subnet that you specify, to filter traffic in the subnet's Availability Zone.

    • SubnetId (string) -- [REQUIRED]

      The unique identifier for the subnet.

    • IPAddressType (string) --

      The subnet's IP address type. You can't change the IP address type after you create the subnet.

type DeleteProtection:

boolean

param DeleteProtection:

A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

type SubnetChangeProtection:

boolean

param SubnetChangeProtection:

A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

type FirewallPolicyChangeProtection:

boolean

param FirewallPolicyChangeProtection:

A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

type Description:

string

param Description:

A description of the firewall.

type Tags:

list

param Tags:

The key:value pairs to associate with the resource.

  • (dict) --

    A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each Amazon Web Services resource.

    • Key (string) -- [REQUIRED]

      The part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

    • Value (string) -- [REQUIRED]

      The part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

type EncryptionConfiguration:

dict

param EncryptionConfiguration:

A complex type that contains settings for encryption of your firewall resources.

  • KeyId (string) --

    The ID of the Amazon Web Services Key Management Service (KMS) customer managed key. You can use any of the key identifiers that KMS supports, unless you're using a key that's managed by another account. If you're using a key managed by another account, then specify the key ARN. For more information, see Key ID in the Amazon Web Services KMS Developer Guide.

  • Type (string) -- [REQUIRED]

    The type of Amazon Web Services KMS key to use for encryption of your Network Firewall resources.

type EnabledAnalysisTypes:

list

param EnabledAnalysisTypes:

An optional setting indicating the specific traffic analysis types to enable on the firewall.

  • (string) --

type TransitGatewayId:

string

param TransitGatewayId:

Required when creating a transit gateway-attached firewall. The unique identifier of the transit gateway to attach to this firewall. You can provide either a transit gateway from your account or one that has been shared with you through Resource Access Manager.

For information about creating firewalls, see CreateFirewall. For specific guidance about transit gateway-attached firewalls, see Considerations for transit gateway-attached firewalls in the Network Firewall Developer Guide.

type AvailabilityZoneMappings:

list

param AvailabilityZoneMappings:

Required. The Availability Zones where you want to create firewall endpoints for a transit gateway-attached firewall. You must specify at least one Availability Zone. Consider enabling the firewall in every Availability Zone where you have workloads to maintain Availability Zone isolation.

You can modify Availability Zones later using AssociateAvailabilityZones or DisassociateAvailabilityZones, but this may briefly disrupt traffic. The AvailabilityZoneChangeProtection setting controls whether you can make these modifications.

  • (dict) --

    Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

    To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

    • AvailabilityZone (string) -- [REQUIRED]

      The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

type AvailabilityZoneChangeProtection:

boolean

param AvailabilityZoneChangeProtection:

Optional. A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you cannot add or remove Availability Zones without first disabling this protection using UpdateAvailabilityZoneChangeProtection.

Default value: FALSE

rtype:

dict

returns:

Response Syntax

{
    'Firewall': {
        'FirewallName': 'string',
        'FirewallArn': 'string',
        'FirewallPolicyArn': 'string',
        'VpcId': 'string',
        'SubnetMappings': [
            {
                'SubnetId': 'string',
                'IPAddressType': 'DUALSTACK'|'IPV4'|'IPV6'
            },
        ],
        'DeleteProtection': True|False,
        'SubnetChangeProtection': True|False,
        'FirewallPolicyChangeProtection': True|False,
        'Description': 'string',
        'FirewallId': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'EncryptionConfiguration': {
            'KeyId': 'string',
            'Type': 'CUSTOMER_KMS'|'AWS_OWNED_KMS_KEY'
        },
        'NumberOfAssociations': 123,
        'EnabledAnalysisTypes': [
            'TLS_SNI'|'HTTP_HOST',
        ],
        'TransitGatewayId': 'string',
        'TransitGatewayOwnerAccountId': 'string',
        'AvailabilityZoneMappings': [
            {
                'AvailabilityZone': 'string'
            },
        ],
        'AvailabilityZoneChangeProtection': True|False
    },
    'FirewallStatus': {
        'Status': 'PROVISIONING'|'DELETING'|'READY',
        'ConfigurationSyncStateSummary': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED',
        'SyncStates': {
            'string': {
                'Attachment': {
                    'SubnetId': 'string',
                    'EndpointId': 'string',
                    'Status': 'CREATING'|'DELETING'|'FAILED'|'ERROR'|'SCALING'|'READY',
                    'StatusMessage': 'string'
                },
                'Config': {
                    'string': {
                        'SyncStatus': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED'|'NOT_SUBSCRIBED'|'DEPRECATED',
                        'UpdateToken': 'string'
                    }
                }
            }
        },
        'CapacityUsageSummary': {
            'CIDRs': {
                'AvailableCIDRCount': 123,
                'UtilizedCIDRCount': 123,
                'IPSetReferences': {
                    'string': {
                        'ResolvedCIDRCount': 123
                    }
                }
            }
        },
        'TransitGatewayAttachmentSyncState': {
            'AttachmentId': 'string',
            'TransitGatewayAttachmentStatus': 'CREATING'|'DELETING'|'DELETED'|'FAILED'|'ERROR'|'READY'|'PENDING_ACCEPTANCE'|'REJECTING'|'REJECTED',
            'StatusMessage': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • Firewall (dict) --

      The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints.

      • FirewallName (string) --

        The descriptive name of the firewall. You can't change the name of a firewall after you create it.

      • FirewallArn (string) --

        The Amazon Resource Name (ARN) of the firewall.

      • FirewallPolicyArn (string) --

        The Amazon Resource Name (ARN) of the firewall policy.

        The relationship of firewall to firewall policy is many to one. Each firewall requires one firewall policy association, and you can use the same firewall policy for multiple firewalls.

      • VpcId (string) --

        The unique identifier of the VPC where the firewall is in use.

      • SubnetMappings (list) --

        The primary public subnets that Network Firewall is using for the firewall. Network Firewall creates a firewall endpoint in each subnet. Create a subnet mapping for each Availability Zone where you want to use the firewall.

        These subnets are all defined for a single, primary VPC, and each must belong to a different Availability Zone. Each of these subnets establishes the availability of the firewall in its Availability Zone.

        In addition to these subnets, you can define other endpoints for the firewall in VpcEndpointAssociation resources. You can define these additional endpoints for any VPC, and for any of the Availability Zones where the firewall resource already has a subnet mapping. VPC endpoint associations give you the ability to protect multiple VPCs using a single firewall, and to define multiple firewall endpoints for a VPC in a single Availability Zone.

        • (dict) --

          The ID for a subnet that's used in an association with a firewall. This is used in CreateFirewall, AssociateSubnets, and CreateVpcEndpointAssociation. Network Firewall creates an instance of the associated firewall in each subnet that you specify, to filter traffic in the subnet's Availability Zone.

          • SubnetId (string) --

            The unique identifier for the subnet.

          • IPAddressType (string) --

            The subnet's IP address type. You can't change the IP address type after you create the subnet.

      • DeleteProtection (boolean) --

        A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

      • SubnetChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • FirewallPolicyChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • Description (string) --

        A description of the firewall.

      • FirewallId (string) --

        The unique identifier for the firewall.

      • Tags (list) --

        • (dict) --

          A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each Amazon Web Services resource.

          • Key (string) --

            The part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

          • Value (string) --

            The part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

      • EncryptionConfiguration (dict) --

        A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.

        • KeyId (string) --

          The ID of the Amazon Web Services Key Management Service (KMS) customer managed key. You can use any of the key identifiers that KMS supports, unless you're using a key that's managed by another account. If you're using a key managed by another account, then specify the key ARN. For more information, see Key ID in the Amazon Web Services KMS Developer Guide.

        • Type (string) --

          The type of Amazon Web Services KMS key to use for encryption of your Network Firewall resources.

      • NumberOfAssociations (integer) --

        The number of VpcEndpointAssociation resources that use this firewall.

      • EnabledAnalysisTypes (list) --

        An optional setting indicating the specific traffic analysis types to enable on the firewall.

        • (string) --

      • TransitGatewayId (string) --

        The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.

      • TransitGatewayOwnerAccountId (string) --

        The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.

      • AvailabilityZoneMappings (list) --

        The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.

        • (dict) --

          Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

          To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

          • AvailabilityZone (string) --

            The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

      • AvailabilityZoneChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you must first disable this protection before adding or removing Availability Zones.

    • FirewallStatus (dict) --

      Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

      The firewall status indicates a combined status. It indicates whether all subnets are up-to-date with the latest firewall configurations, which is based on the sync states config values, and also whether all subnets have their endpoints fully enabled, based on their sync states attachment values.

      • Status (string) --

        The readiness of the configured firewall to handle network traffic across all of the Availability Zones where you have it configured. This setting is READY only when the ConfigurationSyncStateSummary value is IN_SYNC and the Attachment Status values for all of the configured subnets are READY.

      • ConfigurationSyncStateSummary (string) --

        The configuration sync state for the firewall. This summarizes the Config settings in the SyncStates for this firewall status object.

        When you create a firewall or update its configuration, for example by adding a rule group to its firewall policy, Network Firewall distributes the configuration changes to all Availability Zones that have subnets defined for the firewall. This summary indicates whether the configuration changes have been applied everywhere.

        This status must be IN_SYNC for the firewall to be ready for use, but it doesn't indicate that the firewall is ready. The Status setting indicates firewall readiness. It's based on this setting and the readiness of the firewall endpoints to take traffic.

      • SyncStates (dict) --

        Status for the subnets that you've configured in the firewall. This contains one array element per Availability Zone where you've configured a subnet in the firewall.

        These objects provide detailed information for the settings ConfigurationSyncStateSummary and Status.

        • (string) --

          • (dict) --

            The status of the firewall endpoint and firewall policy configuration for a single VPC subnet. This is part of the FirewallStatus.

            For each VPC subnet that you associate with a firewall, Network Firewall does the following:

            • Instantiates a firewall endpoint in the subnet, ready to take traffic.

            • Configures the endpoint with the current firewall policy settings, to provide the filtering behavior for the endpoint.

            When you update a firewall, for example to add a subnet association or change a rule group in the firewall policy, the affected sync states reflect out-of-sync or not ready status until the changes are complete.

            • Attachment (dict) --

              The configuration and status for a single firewall subnet. For each configured subnet, Network Firewall creates the attachment by instantiating the firewall endpoint in the subnet so that it's ready to take traffic.

              • SubnetId (string) --

                The unique identifier of the subnet that you've specified to be used for a firewall endpoint.

              • EndpointId (string) --

                The identifier of the firewall endpoint that Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint.

              • Status (string) --

                The current status of the firewall endpoint instantiation in the subnet.

                When this value is READY, the endpoint is available to handle network traffic. Otherwise, this value reflects its state, for example CREATING or DELETING.

              • StatusMessage (string) --

                If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. A FAILED status indicates a non-recoverable state, and a ERROR status indicates an issue that you can fix. Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

            • Config (dict) --

              The configuration status of the firewall endpoint in a single VPC subnet. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic.

              • (string) --

                • (dict) --

                  Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic. This is part of a SyncState for a firewall.

                  • SyncStatus (string) --

                    Indicates whether this object is in sync with the version indicated in the update token.

                  • UpdateToken (string) --

                    The current version of the object that is either in sync or pending synchronization.

      • CapacityUsageSummary (dict) --

        Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calculates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.

        • CIDRs (dict) --

          Describes the capacity usage of the CIDR blocks used by the IP set references in a firewall.

          • AvailableCIDRCount (integer) --

            The number of CIDR blocks available for use by the IP set references in a firewall.

          • UtilizedCIDRCount (integer) --

            The number of CIDR blocks used by the IP set references in a firewall.

          • IPSetReferences (dict) --

            The list of the IP set references used by a firewall.

            • (string) --

              • (dict) --

                General information about the IP set.

                • ResolvedCIDRCount (integer) --

                  Describes the total number of CIDR blocks currently in use by the IP set references in a firewall. To determine how many CIDR blocks are available for you to use in a firewall, you can call AvailableCIDRCount.

      • TransitGatewayAttachmentSyncState (dict) --

        The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.

        • AttachmentId (string) --

          The unique identifier of the transit gateway attachment.

        • TransitGatewayAttachmentStatus (string) --

          The current status of the transit gateway attachment.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

        • StatusMessage (string) --

          A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non- READY state.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

          For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

DeleteFirewall (updated) Link ¶
Changes (response)
{'FirewallStatus': {'SyncStates': {'Config': {'SyncStatus': {'DEPRECATED',
                                                             'NOT_SUBSCRIBED'}}}}}

Deletes the specified Firewall and its FirewallStatus. This operation requires the firewall's DeleteProtection flag to be FALSE. You can't revert this operation.

You can check whether a firewall is in use by reviewing the route tables for the Availability Zones where you have firewall subnet mappings. Retrieve the subnet mappings by calling DescribeFirewall. You define and update the route tables through Amazon VPC. As needed, update the route tables for the zones to remove the firewall endpoints. When the route tables no longer use the firewall endpoints, you can remove the firewall safely.

To delete a firewall, remove the delete protection if you need to using UpdateFirewallDeleteProtection, then delete the firewall by calling DeleteFirewall.

See also: AWS API Documentation

Request Syntax

client.delete_firewall(
    FirewallName='string',
    FirewallArn='string'
)
type FirewallName:

string

param FirewallName:

The descriptive name of the firewall. You can't change the name of a firewall after you create it.

You must specify the ARN or the name, and you can specify both.

type FirewallArn:

string

param FirewallArn:

The Amazon Resource Name (ARN) of the firewall.

You must specify the ARN or the name, and you can specify both.

rtype:

dict

returns:

Response Syntax

{
    'Firewall': {
        'FirewallName': 'string',
        'FirewallArn': 'string',
        'FirewallPolicyArn': 'string',
        'VpcId': 'string',
        'SubnetMappings': [
            {
                'SubnetId': 'string',
                'IPAddressType': 'DUALSTACK'|'IPV4'|'IPV6'
            },
        ],
        'DeleteProtection': True|False,
        'SubnetChangeProtection': True|False,
        'FirewallPolicyChangeProtection': True|False,
        'Description': 'string',
        'FirewallId': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'EncryptionConfiguration': {
            'KeyId': 'string',
            'Type': 'CUSTOMER_KMS'|'AWS_OWNED_KMS_KEY'
        },
        'NumberOfAssociations': 123,
        'EnabledAnalysisTypes': [
            'TLS_SNI'|'HTTP_HOST',
        ],
        'TransitGatewayId': 'string',
        'TransitGatewayOwnerAccountId': 'string',
        'AvailabilityZoneMappings': [
            {
                'AvailabilityZone': 'string'
            },
        ],
        'AvailabilityZoneChangeProtection': True|False
    },
    'FirewallStatus': {
        'Status': 'PROVISIONING'|'DELETING'|'READY',
        'ConfigurationSyncStateSummary': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED',
        'SyncStates': {
            'string': {
                'Attachment': {
                    'SubnetId': 'string',
                    'EndpointId': 'string',
                    'Status': 'CREATING'|'DELETING'|'FAILED'|'ERROR'|'SCALING'|'READY',
                    'StatusMessage': 'string'
                },
                'Config': {
                    'string': {
                        'SyncStatus': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED'|'NOT_SUBSCRIBED'|'DEPRECATED',
                        'UpdateToken': 'string'
                    }
                }
            }
        },
        'CapacityUsageSummary': {
            'CIDRs': {
                'AvailableCIDRCount': 123,
                'UtilizedCIDRCount': 123,
                'IPSetReferences': {
                    'string': {
                        'ResolvedCIDRCount': 123
                    }
                }
            }
        },
        'TransitGatewayAttachmentSyncState': {
            'AttachmentId': 'string',
            'TransitGatewayAttachmentStatus': 'CREATING'|'DELETING'|'DELETED'|'FAILED'|'ERROR'|'READY'|'PENDING_ACCEPTANCE'|'REJECTING'|'REJECTED',
            'StatusMessage': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • Firewall (dict) --

      A firewall defines the behavior of a firewall, the main VPC where the firewall is used, the Availability Zones where the firewall can be used, and one subnet to use for a firewall endpoint within each of the Availability Zones. The Availability Zones are defined implicitly in the subnet specifications.

      In addition to the firewall endpoints that you define in this Firewall specification, you can create firewall endpoints in VpcEndpointAssociation resources for any VPC, in any Availability Zone where the firewall is already in use.

      The status of the firewall, for example whether it's ready to filter network traffic, is provided in the corresponding FirewallStatus. You can retrieve both the firewall and firewall status by calling DescribeFirewall.

      • FirewallName (string) --

        The descriptive name of the firewall. You can't change the name of a firewall after you create it.

      • FirewallArn (string) --

        The Amazon Resource Name (ARN) of the firewall.

      • FirewallPolicyArn (string) --

        The Amazon Resource Name (ARN) of the firewall policy.

        The relationship of firewall to firewall policy is many to one. Each firewall requires one firewall policy association, and you can use the same firewall policy for multiple firewalls.

      • VpcId (string) --

        The unique identifier of the VPC where the firewall is in use.

      • SubnetMappings (list) --

        The primary public subnets that Network Firewall is using for the firewall. Network Firewall creates a firewall endpoint in each subnet. Create a subnet mapping for each Availability Zone where you want to use the firewall.

        These subnets are all defined for a single, primary VPC, and each must belong to a different Availability Zone. Each of these subnets establishes the availability of the firewall in its Availability Zone.

        In addition to these subnets, you can define other endpoints for the firewall in VpcEndpointAssociation resources. You can define these additional endpoints for any VPC, and for any of the Availability Zones where the firewall resource already has a subnet mapping. VPC endpoint associations give you the ability to protect multiple VPCs using a single firewall, and to define multiple firewall endpoints for a VPC in a single Availability Zone.

        • (dict) --

          The ID for a subnet that's used in an association with a firewall. This is used in CreateFirewall, AssociateSubnets, and CreateVpcEndpointAssociation. Network Firewall creates an instance of the associated firewall in each subnet that you specify, to filter traffic in the subnet's Availability Zone.

          • SubnetId (string) --

            The unique identifier for the subnet.

          • IPAddressType (string) --

            The subnet's IP address type. You can't change the IP address type after you create the subnet.

      • DeleteProtection (boolean) --

        A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

      • SubnetChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • FirewallPolicyChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • Description (string) --

        A description of the firewall.

      • FirewallId (string) --

        The unique identifier for the firewall.

      • Tags (list) --

        • (dict) --

          A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each Amazon Web Services resource.

          • Key (string) --

            The part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

          • Value (string) --

            The part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

      • EncryptionConfiguration (dict) --

        A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.

        • KeyId (string) --

          The ID of the Amazon Web Services Key Management Service (KMS) customer managed key. You can use any of the key identifiers that KMS supports, unless you're using a key that's managed by another account. If you're using a key managed by another account, then specify the key ARN. For more information, see Key ID in the Amazon Web Services KMS Developer Guide.

        • Type (string) --

          The type of Amazon Web Services KMS key to use for encryption of your Network Firewall resources.

      • NumberOfAssociations (integer) --

        The number of VpcEndpointAssociation resources that use this firewall.

      • EnabledAnalysisTypes (list) --

        An optional setting indicating the specific traffic analysis types to enable on the firewall.

        • (string) --

      • TransitGatewayId (string) --

        The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.

      • TransitGatewayOwnerAccountId (string) --

        The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.

      • AvailabilityZoneMappings (list) --

        The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.

        • (dict) --

          Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

          To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

          • AvailabilityZone (string) --

            The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

      • AvailabilityZoneChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you must first disable this protection before adding or removing Availability Zones.

    • FirewallStatus (dict) --

      Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

      The firewall status indicates a combined status. It indicates whether all subnets are up-to-date with the latest firewall configurations, which is based on the sync states config values, and also whether all subnets have their endpoints fully enabled, based on their sync states attachment values.

      • Status (string) --

        The readiness of the configured firewall to handle network traffic across all of the Availability Zones where you have it configured. This setting is READY only when the ConfigurationSyncStateSummary value is IN_SYNC and the Attachment Status values for all of the configured subnets are READY.

      • ConfigurationSyncStateSummary (string) --

        The configuration sync state for the firewall. This summarizes the Config settings in the SyncStates for this firewall status object.

        When you create a firewall or update its configuration, for example by adding a rule group to its firewall policy, Network Firewall distributes the configuration changes to all Availability Zones that have subnets defined for the firewall. This summary indicates whether the configuration changes have been applied everywhere.

        This status must be IN_SYNC for the firewall to be ready for use, but it doesn't indicate that the firewall is ready. The Status setting indicates firewall readiness. It's based on this setting and the readiness of the firewall endpoints to take traffic.

      • SyncStates (dict) --

        Status for the subnets that you've configured in the firewall. This contains one array element per Availability Zone where you've configured a subnet in the firewall.

        These objects provide detailed information for the settings ConfigurationSyncStateSummary and Status.

        • (string) --

          • (dict) --

            The status of the firewall endpoint and firewall policy configuration for a single VPC subnet. This is part of the FirewallStatus.

            For each VPC subnet that you associate with a firewall, Network Firewall does the following:

            • Instantiates a firewall endpoint in the subnet, ready to take traffic.

            • Configures the endpoint with the current firewall policy settings, to provide the filtering behavior for the endpoint.

            When you update a firewall, for example to add a subnet association or change a rule group in the firewall policy, the affected sync states reflect out-of-sync or not ready status until the changes are complete.

            • Attachment (dict) --

              The configuration and status for a single firewall subnet. For each configured subnet, Network Firewall creates the attachment by instantiating the firewall endpoint in the subnet so that it's ready to take traffic.

              • SubnetId (string) --

                The unique identifier of the subnet that you've specified to be used for a firewall endpoint.

              • EndpointId (string) --

                The identifier of the firewall endpoint that Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint.

              • Status (string) --

                The current status of the firewall endpoint instantiation in the subnet.

                When this value is READY, the endpoint is available to handle network traffic. Otherwise, this value reflects its state, for example CREATING or DELETING.

              • StatusMessage (string) --

                If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. A FAILED status indicates a non-recoverable state, and a ERROR status indicates an issue that you can fix. Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

            • Config (dict) --

              The configuration status of the firewall endpoint in a single VPC subnet. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic.

              • (string) --

                • (dict) --

                  Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic. This is part of a SyncState for a firewall.

                  • SyncStatus (string) --

                    Indicates whether this object is in sync with the version indicated in the update token.

                  • UpdateToken (string) --

                    The current version of the object that is either in sync or pending synchronization.

      • CapacityUsageSummary (dict) --

        Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calculates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.

        • CIDRs (dict) --

          Describes the capacity usage of the CIDR blocks used by the IP set references in a firewall.

          • AvailableCIDRCount (integer) --

            The number of CIDR blocks available for use by the IP set references in a firewall.

          • UtilizedCIDRCount (integer) --

            The number of CIDR blocks used by the IP set references in a firewall.

          • IPSetReferences (dict) --

            The list of the IP set references used by a firewall.

            • (string) --

              • (dict) --

                General information about the IP set.

                • ResolvedCIDRCount (integer) --

                  Describes the total number of CIDR blocks currently in use by the IP set references in a firewall. To determine how many CIDR blocks are available for you to use in a firewall, you can call AvailableCIDRCount.

      • TransitGatewayAttachmentSyncState (dict) --

        The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.

        • AttachmentId (string) --

          The unique identifier of the transit gateway attachment.

        • TransitGatewayAttachmentStatus (string) --

          The current status of the transit gateway attachment.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

        • StatusMessage (string) --

          A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non- READY state.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

          For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

DescribeFirewall (updated) Link ¶
Changes (response)
{'FirewallStatus': {'SyncStates': {'Config': {'SyncStatus': {'DEPRECATED',
                                                             'NOT_SUBSCRIBED'}}}}}

Returns the data objects for the specified firewall.

See also: AWS API Documentation

Request Syntax

client.describe_firewall(
    FirewallName='string',
    FirewallArn='string'
)
type FirewallName:

string

param FirewallName:

The descriptive name of the firewall. You can't change the name of a firewall after you create it.

You must specify the ARN or the name, and you can specify both.

type FirewallArn:

string

param FirewallArn:

The Amazon Resource Name (ARN) of the firewall.

You must specify the ARN or the name, and you can specify both.

rtype:

dict

returns:

Response Syntax

{
    'UpdateToken': 'string',
    'Firewall': {
        'FirewallName': 'string',
        'FirewallArn': 'string',
        'FirewallPolicyArn': 'string',
        'VpcId': 'string',
        'SubnetMappings': [
            {
                'SubnetId': 'string',
                'IPAddressType': 'DUALSTACK'|'IPV4'|'IPV6'
            },
        ],
        'DeleteProtection': True|False,
        'SubnetChangeProtection': True|False,
        'FirewallPolicyChangeProtection': True|False,
        'Description': 'string',
        'FirewallId': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'EncryptionConfiguration': {
            'KeyId': 'string',
            'Type': 'CUSTOMER_KMS'|'AWS_OWNED_KMS_KEY'
        },
        'NumberOfAssociations': 123,
        'EnabledAnalysisTypes': [
            'TLS_SNI'|'HTTP_HOST',
        ],
        'TransitGatewayId': 'string',
        'TransitGatewayOwnerAccountId': 'string',
        'AvailabilityZoneMappings': [
            {
                'AvailabilityZone': 'string'
            },
        ],
        'AvailabilityZoneChangeProtection': True|False
    },
    'FirewallStatus': {
        'Status': 'PROVISIONING'|'DELETING'|'READY',
        'ConfigurationSyncStateSummary': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED',
        'SyncStates': {
            'string': {
                'Attachment': {
                    'SubnetId': 'string',
                    'EndpointId': 'string',
                    'Status': 'CREATING'|'DELETING'|'FAILED'|'ERROR'|'SCALING'|'READY',
                    'StatusMessage': 'string'
                },
                'Config': {
                    'string': {
                        'SyncStatus': 'PENDING'|'IN_SYNC'|'CAPACITY_CONSTRAINED'|'NOT_SUBSCRIBED'|'DEPRECATED',
                        'UpdateToken': 'string'
                    }
                }
            }
        },
        'CapacityUsageSummary': {
            'CIDRs': {
                'AvailableCIDRCount': 123,
                'UtilizedCIDRCount': 123,
                'IPSetReferences': {
                    'string': {
                        'ResolvedCIDRCount': 123
                    }
                }
            }
        },
        'TransitGatewayAttachmentSyncState': {
            'AttachmentId': 'string',
            'TransitGatewayAttachmentStatus': 'CREATING'|'DELETING'|'DELETED'|'FAILED'|'ERROR'|'READY'|'PENDING_ACCEPTANCE'|'REJECTING'|'REJECTED',
            'StatusMessage': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • UpdateToken (string) --

      An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

      To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

      To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

    • Firewall (dict) --

      The configuration settings for the firewall. These settings include the firewall policy and the subnets in your VPC to use for the firewall endpoints.

      • FirewallName (string) --

        The descriptive name of the firewall. You can't change the name of a firewall after you create it.

      • FirewallArn (string) --

        The Amazon Resource Name (ARN) of the firewall.

      • FirewallPolicyArn (string) --

        The Amazon Resource Name (ARN) of the firewall policy.

        The relationship of firewall to firewall policy is many to one. Each firewall requires one firewall policy association, and you can use the same firewall policy for multiple firewalls.

      • VpcId (string) --

        The unique identifier of the VPC where the firewall is in use.

      • SubnetMappings (list) --

        The primary public subnets that Network Firewall is using for the firewall. Network Firewall creates a firewall endpoint in each subnet. Create a subnet mapping for each Availability Zone where you want to use the firewall.

        These subnets are all defined for a single, primary VPC, and each must belong to a different Availability Zone. Each of these subnets establishes the availability of the firewall in its Availability Zone.

        In addition to these subnets, you can define other endpoints for the firewall in VpcEndpointAssociation resources. You can define these additional endpoints for any VPC, and for any of the Availability Zones where the firewall resource already has a subnet mapping. VPC endpoint associations give you the ability to protect multiple VPCs using a single firewall, and to define multiple firewall endpoints for a VPC in a single Availability Zone.

        • (dict) --

          The ID for a subnet that's used in an association with a firewall. This is used in CreateFirewall, AssociateSubnets, and CreateVpcEndpointAssociation. Network Firewall creates an instance of the associated firewall in each subnet that you specify, to filter traffic in the subnet's Availability Zone.

          • SubnetId (string) --

            The unique identifier for the subnet.

          • IPAddressType (string) --

            The subnet's IP address type. You can't change the IP address type after you create the subnet.

      • DeleteProtection (boolean) --

        A flag indicating whether it is possible to delete the firewall. A setting of TRUE indicates that the firewall is protected against deletion. Use this setting to protect against accidentally deleting a firewall that is in use. When you create a firewall, the operation initializes this flag to TRUE.

      • SubnetChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to the subnet associations. Use this setting to protect against accidentally modifying the subnet associations for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • FirewallPolicyChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against a change to the firewall policy association. Use this setting to protect against accidentally modifying the firewall policy for a firewall that is in use. When you create a firewall, the operation initializes this setting to TRUE.

      • Description (string) --

        A description of the firewall.

      • FirewallId (string) --

        The unique identifier for the firewall.

      • Tags (list) --

        • (dict) --

          A key:value pair associated with an Amazon Web Services resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each Amazon Web Services resource.

          • Key (string) --

            The part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as "customer." Tag keys are case-sensitive.

          • Value (string) --

            The part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as "companyA" or "companyB." Tag values are case-sensitive.

      • EncryptionConfiguration (dict) --

        A complex type that contains the Amazon Web Services KMS encryption configuration settings for your firewall.

        • KeyId (string) --

          The ID of the Amazon Web Services Key Management Service (KMS) customer managed key. You can use any of the key identifiers that KMS supports, unless you're using a key that's managed by another account. If you're using a key managed by another account, then specify the key ARN. For more information, see Key ID in the Amazon Web Services KMS Developer Guide.

        • Type (string) --

          The type of Amazon Web Services KMS key to use for encryption of your Network Firewall resources.

      • NumberOfAssociations (integer) --

        The number of VpcEndpointAssociation resources that use this firewall.

      • EnabledAnalysisTypes (list) --

        An optional setting indicating the specific traffic analysis types to enable on the firewall.

        • (string) --

      • TransitGatewayId (string) --

        The unique identifier of the transit gateway associated with this firewall. This field is only present for transit gateway-attached firewalls.

      • TransitGatewayOwnerAccountId (string) --

        The Amazon Web Services account ID that owns the transit gateway. This may be different from the firewall owner's account ID when using a shared transit gateway.

      • AvailabilityZoneMappings (list) --

        The Availability Zones where the firewall endpoints are created for a transit gateway-attached firewall. Each mapping specifies an Availability Zone where the firewall processes traffic.

        • (dict) --

          Defines the mapping between an Availability Zone and a firewall endpoint for a transit gateway-attached firewall. Each mapping represents where the firewall can process traffic. You use these mappings when calling CreateFirewall, AssociateAvailabilityZones, and DisassociateAvailabilityZones.

          To retrieve the current Availability Zone mappings for a firewall, use DescribeFirewall.

          • AvailabilityZone (string) --

            The ID of the Availability Zone where the firewall endpoint is located. For example, us-east-2a. The Availability Zone must be in the same Region as the transit gateway.

      • AvailabilityZoneChangeProtection (boolean) --

        A setting indicating whether the firewall is protected against changes to its Availability Zone configuration. When set to TRUE, you must first disable this protection before adding or removing Availability Zones.

    • FirewallStatus (dict) --

      Detailed information about the current status of a Firewall. You can retrieve this for a firewall by calling DescribeFirewall and providing the firewall name and ARN.

      The firewall status indicates a combined status. It indicates whether all subnets are up-to-date with the latest firewall configurations, which is based on the sync states config values, and also whether all subnets have their endpoints fully enabled, based on their sync states attachment values.

      • Status (string) --

        The readiness of the configured firewall to handle network traffic across all of the Availability Zones where you have it configured. This setting is READY only when the ConfigurationSyncStateSummary value is IN_SYNC and the Attachment Status values for all of the configured subnets are READY.

      • ConfigurationSyncStateSummary (string) --

        The configuration sync state for the firewall. This summarizes the Config settings in the SyncStates for this firewall status object.

        When you create a firewall or update its configuration, for example by adding a rule group to its firewall policy, Network Firewall distributes the configuration changes to all Availability Zones that have subnets defined for the firewall. This summary indicates whether the configuration changes have been applied everywhere.

        This status must be IN_SYNC for the firewall to be ready for use, but it doesn't indicate that the firewall is ready. The Status setting indicates firewall readiness. It's based on this setting and the readiness of the firewall endpoints to take traffic.

      • SyncStates (dict) --

        Status for the subnets that you've configured in the firewall. This contains one array element per Availability Zone where you've configured a subnet in the firewall.

        These objects provide detailed information for the settings ConfigurationSyncStateSummary and Status.

        • (string) --

          • (dict) --

            The status of the firewall endpoint and firewall policy configuration for a single VPC subnet. This is part of the FirewallStatus.

            For each VPC subnet that you associate with a firewall, Network Firewall does the following:

            • Instantiates a firewall endpoint in the subnet, ready to take traffic.

            • Configures the endpoint with the current firewall policy settings, to provide the filtering behavior for the endpoint.

            When you update a firewall, for example to add a subnet association or change a rule group in the firewall policy, the affected sync states reflect out-of-sync or not ready status until the changes are complete.

            • Attachment (dict) --

              The configuration and status for a single firewall subnet. For each configured subnet, Network Firewall creates the attachment by instantiating the firewall endpoint in the subnet so that it's ready to take traffic.

              • SubnetId (string) --

                The unique identifier of the subnet that you've specified to be used for a firewall endpoint.

              • EndpointId (string) --

                The identifier of the firewall endpoint that Network Firewall has instantiated in the subnet. You use this to identify the firewall endpoint in the VPC route tables, when you redirect the VPC traffic through the endpoint.

              • Status (string) --

                The current status of the firewall endpoint instantiation in the subnet.

                When this value is READY, the endpoint is available to handle network traffic. Otherwise, this value reflects its state, for example CREATING or DELETING.

              • StatusMessage (string) --

                If Network Firewall fails to create or delete the firewall endpoint in the subnet, it populates this with the reason for the error or failure and how to resolve it. A FAILED status indicates a non-recoverable state, and a ERROR status indicates an issue that you can fix. Depending on the error, it can take as many as 15 minutes to populate this field. For more information about the causes for failiure or errors and solutions available for this field, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

            • Config (dict) --

              The configuration status of the firewall endpoint in a single VPC subnet. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic.

              • (string) --

                • (dict) --

                  Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic. This is part of a SyncState for a firewall.

                  • SyncStatus (string) --

                    Indicates whether this object is in sync with the version indicated in the update token.

                  • UpdateToken (string) --

                    The current version of the object that is either in sync or pending synchronization.

      • CapacityUsageSummary (dict) --

        Describes the capacity usage of the resources contained in a firewall's reference sets. Network Firewall calculates the capacity usage by taking an aggregated count of all of the resources used by all of the reference sets in a firewall.

        • CIDRs (dict) --

          Describes the capacity usage of the CIDR blocks used by the IP set references in a firewall.

          • AvailableCIDRCount (integer) --

            The number of CIDR blocks available for use by the IP set references in a firewall.

          • UtilizedCIDRCount (integer) --

            The number of CIDR blocks used by the IP set references in a firewall.

          • IPSetReferences (dict) --

            The list of the IP set references used by a firewall.

            • (string) --

              • (dict) --

                General information about the IP set.

                • ResolvedCIDRCount (integer) --

                  Describes the total number of CIDR blocks currently in use by the IP set references in a firewall. To determine how many CIDR blocks are available for you to use in a firewall, you can call AvailableCIDRCount.

      • TransitGatewayAttachmentSyncState (dict) --

        The synchronization state of the transit gateway attachment. This indicates whether the firewall's transit gateway configuration is properly synchronized and operational. Use this to verify that your transit gateway configuration changes have been applied.

        • AttachmentId (string) --

          The unique identifier of the transit gateway attachment.

        • TransitGatewayAttachmentStatus (string) --

          The current status of the transit gateway attachment.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

        • StatusMessage (string) --

          A message providing additional information about the current status, particularly useful when the transit gateway attachment is in a non- READY state.

          Valid values are:

          • CREATING - The attachment is being created

          • DELETING - The attachment is being deleted

          • DELETED - The attachment has been deleted

          • FAILED - The attachment creation has failed and cannot be recovered

          • ERROR - The attachment is in an error state that might be recoverable

          • READY - The attachment is active and processing traffic

          • PENDING_ACCEPTANCE - The attachment is waiting to be accepted

          • REJECTING - The attachment is in the process of being rejected

          • REJECTED - The attachment has been rejected

          For information about troubleshooting endpoint failures, see Troubleshooting firewall endpoint failures in the Network Firewall Developer Guide.

DescribeRuleGroupMetadata (updated) Link ¶
Changes (response)
{'ListingName': 'string', 'ProductId': 'string', 'VendorName': 'string'}

High-level information about a rule group, returned by operations like create and describe. You can use the information provided in the metadata to retrieve and manage a rule group. You can retrieve all objects for a rule group by calling DescribeRuleGroup.

See also: AWS API Documentation

Request Syntax

client.describe_rule_group_metadata(
    RuleGroupName='string',
    RuleGroupArn='string',
    Type='STATELESS'|'STATEFUL'
)
type RuleGroupName:

string

param RuleGroupName:

The descriptive name of the rule group. You can't change the name of a rule group after you create it.

You must specify the ARN or the name, and you can specify both.

type RuleGroupArn:

string

param RuleGroupArn:

The descriptive name of the rule group. You can't change the name of a rule group after you create it.

You must specify the ARN or the name, and you can specify both.

type Type:

string

param Type:

Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

rtype:

dict

returns:

Response Syntax

{
    'RuleGroupArn': 'string',
    'RuleGroupName': 'string',
    'Description': 'string',
    'Type': 'STATELESS'|'STATEFUL',
    'Capacity': 123,
    'StatefulRuleOptions': {
        'RuleOrder': 'DEFAULT_ACTION_ORDER'|'STRICT_ORDER'
    },
    'LastModifiedTime': datetime(2015, 1, 1),
    'VendorName': 'string',
    'ProductId': 'string',
    'ListingName': 'string'
}

Response Structure

  • (dict) --

    • RuleGroupArn (string) --

      The descriptive name of the rule group. You can't change the name of a rule group after you create it.

      You must specify the ARN or the name, and you can specify both.

    • RuleGroupName (string) --

      The descriptive name of the rule group. You can't change the name of a rule group after you create it.

      You must specify the ARN or the name, and you can specify both.

    • Description (string) --

      Returns the metadata objects for the specified rule group.

    • Type (string) --

      Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

    • Capacity (integer) --

      The maximum operating resources that this rule group can use. Rule group capacity is fixed at creation. When you update a rule group, you are limited to this capacity. When you reference a rule group from a firewall policy, Network Firewall reserves this capacity for the rule group.

      You can retrieve the capacity that would be required for a rule group before you create the rule group by calling CreateRuleGroup with DryRun set to TRUE.

    • StatefulRuleOptions (dict) --

      Additional options governing how Network Firewall handles the rule group. You can only use these for stateful rule groups.

      • RuleOrder (string) --

        Indicates how to manage the order of the rule evaluation for the rule group. DEFAULT_ACTION_ORDER is the default behavior. Stateful rules are provided to the rule engine as Suricata compatible strings, and Suricata evaluates them based on certain settings. For more information, see Evaluation order for stateful rules in the Network Firewall Developer Guide.

    • LastModifiedTime (datetime) --

      A timestamp indicating when the rule group was last modified.

    • VendorName (string) --

      The name of the Amazon Web Services Marketplace vendor that provides this rule group.

    • ProductId (string) --

      The unique identifier for the product listing associated with this rule group.

    • ListingName (string) --

      The display name of the product listing for this rule group.

ListRuleGroups (updated) Link ¶
Changes (request, response)
Request
{'ManagedType': {'PARTNER_MANAGED'},
 'SubscriptionStatus': 'NOT_SUBSCRIBED | SUBSCRIBED'}
Response
{'RuleGroups': {'VendorName': 'string'}}

Retrieves the metadata for the rule groups that you have defined. Depending on your setting for max results and the number of rule groups, a single call might not return the full list.

See also: AWS API Documentation

Request Syntax

client.list_rule_groups(
    NextToken='string',
    MaxResults=123,
    Scope='MANAGED'|'ACCOUNT',
    ManagedType='AWS_MANAGED_THREAT_SIGNATURES'|'AWS_MANAGED_DOMAIN_LISTS'|'ACTIVE_THREAT_DEFENSE'|'PARTNER_MANAGED',
    SubscriptionStatus='NOT_SUBSCRIBED'|'SUBSCRIBED',
    Type='STATELESS'|'STATEFUL'
)
type NextToken:

string

param NextToken:

When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

type MaxResults:

integer

param MaxResults:

The maximum number of objects that you want Network Firewall to return for this request. If more objects are available, in the response, Network Firewall provides a NextToken value that you can use in a subsequent call to get the next batch of objects.

type Scope:

string

param Scope:

The scope of the request. The default setting of ACCOUNT or a setting of NULL returns all of the rule groups in your account. A setting of MANAGED returns all available managed rule groups.

type ManagedType:

string

param ManagedType:

Indicates the general category of the Amazon Web Services managed rule group.

type SubscriptionStatus:

string

param SubscriptionStatus:

Filters the results to show only rule groups with the specified subscription status. Use this to find subscribed or unsubscribed rule groups.

type Type:

string

param Type:

Indicates whether the rule group is stateless or stateful. If the rule group is stateless, it contains stateless rules. If it is stateful, it contains stateful rules.

rtype:

dict

returns:

Response Syntax

{
    'NextToken': 'string',
    'RuleGroups': [
        {
            'Name': 'string',
            'Arn': 'string',
            'VendorName': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • NextToken (string) --

      When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Network Firewall returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request.

    • RuleGroups (list) --

      The rule group metadata objects that you've defined. Depending on your setting for max results and the number of rule groups, this might not be the full list.

      • (dict) --

        High-level information about a rule group, returned by ListRuleGroups. You can use the information provided in the metadata to retrieve and manage a rule group.

        • Name (string) --

          The descriptive name of the rule group. You can't change the name of a rule group after you create it.

        • Arn (string) --

          The Amazon Resource Name (ARN) of the rule group.

        • VendorName (string) --

          The name of the Amazon Web Services Marketplace seller that provides this rule group.