{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2020-11-12",
    "endpointPrefix":"network-firewall",
    "jsonVersion":"1.0",
    "protocol":"json",
    "protocols":["json"],
    "serviceAbbreviation":"Network Firewall",
    "serviceFullName":"AWS Network Firewall",
    "serviceId":"Network Firewall",
    "signatureVersion":"v4",
    "signingName":"network-firewall",
    "targetPrefix":"NetworkFirewall_20201112",
    "uid":"network-firewall-2020-11-12",
    "auth":["aws.auth#sigv4"]
  },
  "operations":{
    "AcceptNetworkFirewallTransitGatewayAttachment":{
      "name":"AcceptNetworkFirewallTransitGatewayAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AcceptNetworkFirewallTransitGatewayAttachmentRequest"},
      "output":{"shape":"AcceptNetworkFirewallTransitGatewayAttachmentResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "AssociateAvailabilityZones":{
      "name":"AssociateAvailabilityZones",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AssociateAvailabilityZonesRequest"},
      "output":{"shape":"AssociateAvailabilityZonesResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"InvalidOperationException"},
        {"shape":"InsufficientCapacityException"}
      ]
    },
    "AssociateFirewallPolicy":{
      "name":"AssociateFirewallPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AssociateFirewallPolicyRequest"},
      "output":{"shape":"AssociateFirewallPolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "AssociateSubnets":{
      "name":"AssociateSubnets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AssociateSubnetsRequest"},
      "output":{"shape":"AssociateSubnetsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"InvalidOperationException"},
        {"shape":"InsufficientCapacityException"}
      ]
    },
    "CreateFirewall":{
      "name":"CreateFirewall",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateFirewallRequest"},
      "output":{"shape":"CreateFirewallResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"LimitExceededException"},
        {"shape":"InternalServerError"},
        {"shape":"ThrottlingException"},
        {"shape":"InsufficientCapacityException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "CreateFirewallPolicy":{
      "name":"CreateFirewallPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateFirewallPolicyRequest"},
      "output":{"shape":"CreateFirewallPolicyResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InsufficientCapacityException"}
      ]
    },
    "CreateRuleGroup":{
      "name":"CreateRuleGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateRuleGroupRequest"},
      "output":{"shape":"CreateRuleGroupResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InsufficientCapacityException"}
      ]
    },
    "CreateTLSInspectionConfiguration":{
      "name":"CreateTLSInspectionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateTLSInspectionConfigurationRequest"},
      "output":{"shape":"CreateTLSInspectionConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"LimitExceededException"},
        {"shape":"InsufficientCapacityException"}
      ]
    },
    "CreateVpcEndpointAssociation":{
      "name":"CreateVpcEndpointAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateVpcEndpointAssociationRequest"},
      "output":{"shape":"CreateVpcEndpointAssociationResponse"},
      "errors":[
        {"shape":"LimitExceededException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InsufficientCapacityException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DeleteFirewall":{
      "name":"DeleteFirewall",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteFirewallRequest"},
      "output":{"shape":"DeleteFirewallResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"UnsupportedOperationException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DeleteFirewallPolicy":{
      "name":"DeleteFirewallPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteFirewallPolicyRequest"},
      "output":{"shape":"DeleteFirewallPolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"UnsupportedOperationException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DeleteNetworkFirewallTransitGatewayAttachment":{
      "name":"DeleteNetworkFirewallTransitGatewayAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteNetworkFirewallTransitGatewayAttachmentRequest"},
      "output":{"shape":"DeleteNetworkFirewallTransitGatewayAttachmentResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DeleteResourcePolicy":{
      "name":"DeleteResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteResourcePolicyRequest"},
      "output":{"shape":"DeleteResourcePolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidResourcePolicyException"}
      ]
    },
    "DeleteRuleGroup":{
      "name":"DeleteRuleGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteRuleGroupRequest"},
      "output":{"shape":"DeleteRuleGroupResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"UnsupportedOperationException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DeleteTLSInspectionConfiguration":{
      "name":"DeleteTLSInspectionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteTLSInspectionConfigurationRequest"},
      "output":{"shape":"DeleteTLSInspectionConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DeleteVpcEndpointAssociation":{
      "name":"DeleteVpcEndpointAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteVpcEndpointAssociationRequest"},
      "output":{"shape":"DeleteVpcEndpointAssociationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DescribeFirewall":{
      "name":"DescribeFirewall",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeFirewallRequest"},
      "output":{"shape":"DescribeFirewallResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeFirewallMetadata":{
      "name":"DescribeFirewallMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeFirewallMetadataRequest"},
      "output":{"shape":"DescribeFirewallMetadataResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeFirewallPolicy":{
      "name":"DescribeFirewallPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeFirewallPolicyRequest"},
      "output":{"shape":"DescribeFirewallPolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "DescribeFlowOperation":{
      "name":"DescribeFlowOperation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeFlowOperationRequest"},
      "output":{"shape":"DescribeFlowOperationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeLoggingConfiguration":{
      "name":"DescribeLoggingConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeLoggingConfigurationRequest"},
      "output":{"shape":"DescribeLoggingConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeResourcePolicy":{
      "name":"DescribeResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeResourcePolicyRequest"},
      "output":{"shape":"DescribeResourcePolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeRuleGroup":{
      "name":"DescribeRuleGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeRuleGroupRequest"},
      "output":{"shape":"DescribeRuleGroupResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "DescribeRuleGroupMetadata":{
      "name":"DescribeRuleGroupMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeRuleGroupMetadataRequest"},
      "output":{"shape":"DescribeRuleGroupMetadataResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "DescribeRuleGroupSummary":{
      "name":"DescribeRuleGroupSummary",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeRuleGroupSummaryRequest"},
      "output":{"shape":"DescribeRuleGroupSummaryResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "DescribeTLSInspectionConfiguration":{
      "name":"DescribeTLSInspectionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeTLSInspectionConfigurationRequest"},
      "output":{"shape":"DescribeTLSInspectionConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DescribeVpcEndpointAssociation":{
      "name":"DescribeVpcEndpointAssociation",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeVpcEndpointAssociationRequest"},
      "output":{"shape":"DescribeVpcEndpointAssociationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "DisassociateAvailabilityZones":{
      "name":"DisassociateAvailabilityZones",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DisassociateAvailabilityZonesRequest"},
      "output":{"shape":"DisassociateAvailabilityZonesResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "DisassociateSubnets":{
      "name":"DisassociateSubnets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DisassociateSubnetsRequest"},
      "output":{"shape":"DisassociateSubnetsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"InvalidOperationException"}
      ]
    },
    "GetAnalysisReportResults":{
      "name":"GetAnalysisReportResults",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetAnalysisReportResultsRequest"},
      "output":{"shape":"GetAnalysisReportResultsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListAnalysisReports":{
      "name":"ListAnalysisReports",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAnalysisReportsRequest"},
      "output":{"shape":"ListAnalysisReportsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListFirewallPolicies":{
      "name":"ListFirewallPolicies",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListFirewallPoliciesRequest"},
      "output":{"shape":"ListFirewallPoliciesResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "ListFirewalls":{
      "name":"ListFirewalls",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListFirewallsRequest"},
      "output":{"shape":"ListFirewallsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListFlowOperationResults":{
      "name":"ListFlowOperationResults",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListFlowOperationResultsRequest"},
      "output":{"shape":"ListFlowOperationResultsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListFlowOperations":{
      "name":"ListFlowOperations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListFlowOperationsRequest"},
      "output":{"shape":"ListFlowOperationsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListRuleGroups":{
      "name":"ListRuleGroups",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRuleGroupsRequest"},
      "output":{"shape":"ListRuleGroupsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "ListTLSInspectionConfigurations":{
      "name":"ListTLSInspectionConfigurations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTLSInspectionConfigurationsRequest"},
      "output":{"shape":"ListTLSInspectionConfigurationsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ThrottlingException"}
      ]
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"}
      ]
    },
    "ListVpcEndpointAssociations":{
      "name":"ListVpcEndpointAssociations",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListVpcEndpointAssociationsRequest"},
      "output":{"shape":"ListVpcEndpointAssociationsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"}
      ]
    },
    "PutResourcePolicy":{
      "name":"PutResourcePolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PutResourcePolicyRequest"},
      "output":{"shape":"PutResourcePolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidResourcePolicyException"}
      ]
    },
    "RejectNetworkFirewallTransitGatewayAttachment":{
      "name":"RejectNetworkFirewallTransitGatewayAttachment",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RejectNetworkFirewallTransitGatewayAttachmentRequest"},
      "output":{"shape":"RejectNetworkFirewallTransitGatewayAttachmentResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "StartAnalysisReport":{
      "name":"StartAnalysisReport",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartAnalysisReportRequest"},
      "output":{"shape":"StartAnalysisReportResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "StartFlowCapture":{
      "name":"StartFlowCapture",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartFlowCaptureRequest"},
      "output":{"shape":"StartFlowCaptureResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "StartFlowFlush":{
      "name":"StartFlowFlush",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartFlowFlushRequest"},
      "output":{"shape":"StartFlowFlushResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"}
      ]
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"}
      ]
    },
    "UpdateAvailabilityZoneChangeProtection":{
      "name":"UpdateAvailabilityZoneChangeProtection",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAvailabilityZoneChangeProtectionRequest"},
      "output":{"shape":"UpdateAvailabilityZoneChangeProtectionResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"ResourceOwnerCheckException"}
      ]
    },
    "UpdateFirewallAnalysisSettings":{
      "name":"UpdateFirewallAnalysisSettings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallAnalysisSettingsRequest"},
      "output":{"shape":"UpdateFirewallAnalysisSettingsResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"}
      ]
    },
    "UpdateFirewallDeleteProtection":{
      "name":"UpdateFirewallDeleteProtection",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallDeleteProtectionRequest"},
      "output":{"shape":"UpdateFirewallDeleteProtectionResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"ResourceOwnerCheckException"}
      ]
    },
    "UpdateFirewallDescription":{
      "name":"UpdateFirewallDescription",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallDescriptionRequest"},
      "output":{"shape":"UpdateFirewallDescriptionResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"}
      ]
    },
    "UpdateFirewallEncryptionConfiguration":{
      "name":"UpdateFirewallEncryptionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallEncryptionConfigurationRequest"},
      "output":{"shape":"UpdateFirewallEncryptionConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"ResourceOwnerCheckException"}
      ]
    },
    "UpdateFirewallPolicy":{
      "name":"UpdateFirewallPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallPolicyRequest"},
      "output":{"shape":"UpdateFirewallPolicyResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidTokenException"}
      ]
    },
    "UpdateFirewallPolicyChangeProtection":{
      "name":"UpdateFirewallPolicyChangeProtection",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateFirewallPolicyChangeProtectionRequest"},
      "output":{"shape":"UpdateFirewallPolicyChangeProtectionResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"ResourceOwnerCheckException"}
      ]
    },
    "UpdateLoggingConfiguration":{
      "name":"UpdateLoggingConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateLoggingConfigurationRequest"},
      "output":{"shape":"UpdateLoggingConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"LogDestinationPermissionException"}
      ]
    },
    "UpdateRuleGroup":{
      "name":"UpdateRuleGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateRuleGroupRequest"},
      "output":{"shape":"UpdateRuleGroupResponse"},
      "errors":[
        {"shape":"ResourceNotFoundException"},
        {"shape":"InvalidRequestException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidTokenException"}
      ]
    },
    "UpdateSubnetChangeProtection":{
      "name":"UpdateSubnetChangeProtection",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateSubnetChangeProtectionRequest"},
      "output":{"shape":"UpdateSubnetChangeProtectionResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"InternalServerError"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InvalidTokenException"},
        {"shape":"ResourceOwnerCheckException"}
      ]
    },
    "UpdateTLSInspectionConfiguration":{
      "name":"UpdateTLSInspectionConfiguration",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateTLSInspectionConfigurationRequest"},
      "output":{"shape":"UpdateTLSInspectionConfigurationResponse"},
      "errors":[
        {"shape":"InvalidRequestException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServerError"},
        {"shape":"InvalidTokenException"}
      ]
    }
  },
  "shapes":{
    "AWSAccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"^\\d{12}$"
    },
    "AZSyncState":{
      "type":"structure",
      "members":{
        "Attachment":{"shape":"Attachment"}
      }
    },
    "AcceptNetworkFirewallTransitGatewayAttachmentRequest":{
      "type":"structure",
      "required":["TransitGatewayAttachmentId"],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"}
      }
    },
    "AcceptNetworkFirewallTransitGatewayAttachmentResponse":{
      "type":"structure",
      "required":[
        "TransitGatewayAttachmentId",
        "TransitGatewayAttachmentStatus"
      ],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"},
        "TransitGatewayAttachmentStatus":{"shape":"TransitGatewayAttachmentStatus"}
      }
    },
    "ActionDefinition":{
      "type":"structure",
      "members":{
        "PublishMetricAction":{"shape":"PublishMetricAction"}
      }
    },
    "ActionName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[a-zA-Z0-9]+$"
    },
    "Address":{
      "type":"structure",
      "required":["AddressDefinition"],
      "members":{
        "AddressDefinition":{"shape":"AddressDefinition"}
      }
    },
    "AddressDefinition":{
      "type":"string",
      "max":255,
      "min":1,
      "pattern":"^([a-fA-F\\d:\\.]+($|/\\d{1,3}))$"
    },
    "Addresses":{
      "type":"list",
      "member":{"shape":"Address"}
    },
    "Age":{"type":"integer"},
    "AnalysisReport":{
      "type":"structure",
      "members":{
        "AnalysisReportId":{"shape":"AnalysisReportId"},
        "AnalysisType":{"shape":"EnabledAnalysisType"},
        "ReportTime":{"shape":"ReportTime"},
        "Status":{"shape":"Status"}
      }
    },
    "AnalysisReportId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"\\S+"
    },
    "AnalysisReportNextToken":{
      "type":"string",
      "max":1024,
      "min":1
    },
    "AnalysisReportResults":{
      "type":"list",
      "member":{"shape":"AnalysisTypeReportResult"}
    },
    "AnalysisReports":{
      "type":"list",
      "member":{"shape":"AnalysisReport"}
    },
    "AnalysisResult":{
      "type":"structure",
      "members":{
        "IdentifiedRuleIds":{"shape":"RuleIdList"},
        "IdentifiedType":{"shape":"IdentifiedType"},
        "AnalysisDetail":{"shape":"CollectionMember_String"}
      }
    },
    "AnalysisResultList":{
      "type":"list",
      "member":{"shape":"AnalysisResult"}
    },
    "AnalysisTypeReportResult":{
      "type":"structure",
      "members":{
        "Protocol":{"shape":"CollectionMember_String"},
        "FirstAccessed":{"shape":"FirstAccessed"},
        "LastAccessed":{"shape":"LastAccessed"},
        "Domain":{"shape":"Domain"},
        "Hits":{"shape":"Hits"},
        "UniqueSources":{"shape":"UniqueSources"}
      }
    },
    "AssociateAvailabilityZonesRequest":{
      "type":"structure",
      "required":["AvailabilityZoneMappings"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"}
      }
    },
    "AssociateAvailabilityZonesResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "AssociateFirewallPolicyRequest":{
      "type":"structure",
      "required":["FirewallPolicyArn"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"}
      }
    },
    "AssociateFirewallPolicyResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "AssociateSubnetsRequest":{
      "type":"structure",
      "required":["SubnetMappings"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetMappings":{"shape":"SubnetMappings"}
      }
    },
    "AssociateSubnetsResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetMappings":{"shape":"SubnetMappings"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "AssociationSyncState":{
      "type":"map",
      "key":{"shape":"AvailabilityZone"},
      "value":{"shape":"AZSyncState"}
    },
    "Attachment":{
      "type":"structure",
      "members":{
        "SubnetId":{"shape":"AzSubnet"},
        "EndpointId":{"shape":"EndpointId"},
        "Status":{"shape":"AttachmentStatus"},
        "StatusMessage":{"shape":"StatusMessage"}
      }
    },
    "AttachmentId":{"type":"string"},
    "AttachmentStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "DELETING",
        "FAILED",
        "ERROR",
        "SCALING",
        "READY"
      ]
    },
    "AvailabilityZone":{"type":"string"},
    "AvailabilityZoneMapping":{
      "type":"structure",
      "required":["AvailabilityZone"],
      "members":{
        "AvailabilityZone":{"shape":"AvailabilityZoneMappingString"}
      }
    },
    "AvailabilityZoneMappingString":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"\\S+"
    },
    "AvailabilityZoneMappings":{
      "type":"list",
      "member":{"shape":"AvailabilityZoneMapping"}
    },
    "AvailabilityZoneMetadata":{
      "type":"structure",
      "members":{
        "IPAddressType":{"shape":"IPAddressType"}
      }
    },
    "AzSubnet":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^subnet-[0-9a-f]+$"
    },
    "AzSubnets":{
      "type":"list",
      "member":{"shape":"AzSubnet"}
    },
    "Boolean":{"type":"boolean"},
    "ByteCount":{"type":"long"},
    "CIDRCount":{
      "type":"integer",
      "max":1000000,
      "min":0
    },
    "CIDRSummary":{
      "type":"structure",
      "members":{
        "AvailableCIDRCount":{"shape":"CIDRCount"},
        "UtilizedCIDRCount":{"shape":"CIDRCount"},
        "IPSetReferences":{"shape":"IPSetMetadataMap"}
      }
    },
    "CapacityUsageSummary":{
      "type":"structure",
      "members":{
        "CIDRs":{"shape":"CIDRSummary"}
      }
    },
    "Certificates":{
      "type":"list",
      "member":{"shape":"TlsCertificateData"}
    },
    "CheckCertificateRevocationStatusActions":{
      "type":"structure",
      "members":{
        "RevokedStatusAction":{"shape":"RevocationCheckAction"},
        "UnknownStatusAction":{"shape":"RevocationCheckAction"}
      }
    },
    "CollectionMember_String":{"type":"string"},
    "ConfigurationSyncState":{
      "type":"string",
      "enum":[
        "PENDING",
        "IN_SYNC",
        "CAPACITY_CONSTRAINED"
      ]
    },
    "Count":{"type":"integer"},
    "CreateFirewallPolicyRequest":{
      "type":"structure",
      "required":[
        "FirewallPolicyName",
        "FirewallPolicy"
      ],
      "members":{
        "FirewallPolicyName":{"shape":"ResourceName"},
        "FirewallPolicy":{"shape":"FirewallPolicy"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"},
        "DryRun":{"shape":"Boolean"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "CreateFirewallPolicyResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "FirewallPolicyResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallPolicyResponse":{"shape":"FirewallPolicyResponse"}
      }
    },
    "CreateFirewallRequest":{
      "type":"structure",
      "required":[
        "FirewallName",
        "FirewallPolicyArn"
      ],
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "VpcId":{"shape":"VpcId"},
        "SubnetMappings":{"shape":"SubnetMappings"},
        "DeleteProtection":{"shape":"Boolean"},
        "SubnetChangeProtection":{"shape":"Boolean"},
        "FirewallPolicyChangeProtection":{"shape":"Boolean"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "EnabledAnalysisTypes":{"shape":"EnabledAnalysisTypes"},
        "TransitGatewayId":{"shape":"TransitGatewayId"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"},
        "AvailabilityZoneChangeProtection":{"shape":"Boolean"}
      }
    },
    "CreateFirewallResponse":{
      "type":"structure",
      "members":{
        "Firewall":{"shape":"Firewall"},
        "FirewallStatus":{"shape":"FirewallStatus"}
      }
    },
    "CreateRuleGroupRequest":{
      "type":"structure",
      "required":[
        "RuleGroupName",
        "Type",
        "Capacity"
      ],
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroup":{"shape":"RuleGroup"},
        "Rules":{"shape":"RulesString"},
        "Type":{"shape":"RuleGroupType"},
        "Description":{"shape":"Description"},
        "Capacity":{"shape":"RuleCapacity"},
        "Tags":{"shape":"TagList"},
        "DryRun":{"shape":"Boolean"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "SourceMetadata":{"shape":"SourceMetadata"},
        "AnalyzeRuleGroup":{"shape":"Boolean"},
        "SummaryConfiguration":{"shape":"SummaryConfiguration"}
      }
    },
    "CreateRuleGroupResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "RuleGroupResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "RuleGroupResponse":{"shape":"RuleGroupResponse"}
      }
    },
    "CreateTLSInspectionConfigurationRequest":{
      "type":"structure",
      "required":[
        "TLSInspectionConfigurationName",
        "TLSInspectionConfiguration"
      ],
      "members":{
        "TLSInspectionConfigurationName":{"shape":"ResourceName"},
        "TLSInspectionConfiguration":{"shape":"TLSInspectionConfiguration"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "CreateTLSInspectionConfigurationResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "TLSInspectionConfigurationResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "TLSInspectionConfigurationResponse":{"shape":"TLSInspectionConfigurationResponse"}
      }
    },
    "CreateVpcEndpointAssociationRequest":{
      "type":"structure",
      "required":[
        "FirewallArn",
        "VpcId",
        "SubnetMapping"
      ],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "VpcId":{"shape":"VpcId"},
        "SubnetMapping":{"shape":"SubnetMapping"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"}
      }
    },
    "CreateVpcEndpointAssociationResponse":{
      "type":"structure",
      "members":{
        "VpcEndpointAssociation":{"shape":"VpcEndpointAssociation"},
        "VpcEndpointAssociationStatus":{"shape":"VpcEndpointAssociationStatus"}
      }
    },
    "CustomAction":{
      "type":"structure",
      "required":[
        "ActionName",
        "ActionDefinition"
      ],
      "members":{
        "ActionName":{"shape":"ActionName"},
        "ActionDefinition":{"shape":"ActionDefinition"}
      }
    },
    "CustomActions":{
      "type":"list",
      "member":{"shape":"CustomAction"}
    },
    "DeepThreatInspection":{"type":"boolean"},
    "DeleteFirewallPolicyRequest":{
      "type":"structure",
      "members":{
        "FirewallPolicyName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"}
      }
    },
    "DeleteFirewallPolicyResponse":{
      "type":"structure",
      "required":["FirewallPolicyResponse"],
      "members":{
        "FirewallPolicyResponse":{"shape":"FirewallPolicyResponse"}
      }
    },
    "DeleteFirewallRequest":{
      "type":"structure",
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"}
      }
    },
    "DeleteFirewallResponse":{
      "type":"structure",
      "members":{
        "Firewall":{"shape":"Firewall"},
        "FirewallStatus":{"shape":"FirewallStatus"}
      }
    },
    "DeleteNetworkFirewallTransitGatewayAttachmentRequest":{
      "type":"structure",
      "required":["TransitGatewayAttachmentId"],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"}
      }
    },
    "DeleteNetworkFirewallTransitGatewayAttachmentResponse":{
      "type":"structure",
      "required":[
        "TransitGatewayAttachmentId",
        "TransitGatewayAttachmentStatus"
      ],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"},
        "TransitGatewayAttachmentStatus":{"shape":"TransitGatewayAttachmentStatus"}
      }
    },
    "DeleteResourcePolicyRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"}
      }
    },
    "DeleteResourcePolicyResponse":{
      "type":"structure",
      "members":{}
    },
    "DeleteRuleGroupRequest":{
      "type":"structure",
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroupArn":{"shape":"ResourceArn"},
        "Type":{"shape":"RuleGroupType"}
      }
    },
    "DeleteRuleGroupResponse":{
      "type":"structure",
      "required":["RuleGroupResponse"],
      "members":{
        "RuleGroupResponse":{"shape":"RuleGroupResponse"}
      }
    },
    "DeleteTLSInspectionConfigurationRequest":{
      "type":"structure",
      "members":{
        "TLSInspectionConfigurationArn":{"shape":"ResourceArn"},
        "TLSInspectionConfigurationName":{"shape":"ResourceName"}
      }
    },
    "DeleteTLSInspectionConfigurationResponse":{
      "type":"structure",
      "required":["TLSInspectionConfigurationResponse"],
      "members":{
        "TLSInspectionConfigurationResponse":{"shape":"TLSInspectionConfigurationResponse"}
      }
    },
    "DeleteVpcEndpointAssociationRequest":{
      "type":"structure",
      "required":["VpcEndpointAssociationArn"],
      "members":{
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"}
      }
    },
    "DeleteVpcEndpointAssociationResponse":{
      "type":"structure",
      "members":{
        "VpcEndpointAssociation":{"shape":"VpcEndpointAssociation"},
        "VpcEndpointAssociationStatus":{"shape":"VpcEndpointAssociationStatus"}
      }
    },
    "DescribeFirewallMetadataRequest":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"}
      }
    },
    "DescribeFirewallMetadataResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "Description":{"shape":"Description"},
        "Status":{"shape":"FirewallStatusValue"},
        "SupportedAvailabilityZones":{"shape":"SupportedAvailabilityZones"},
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"}
      }
    },
    "DescribeFirewallPolicyRequest":{
      "type":"structure",
      "members":{
        "FirewallPolicyName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"}
      }
    },
    "DescribeFirewallPolicyResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "FirewallPolicyResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallPolicyResponse":{"shape":"FirewallPolicyResponse"},
        "FirewallPolicy":{"shape":"FirewallPolicy"}
      }
    },
    "DescribeFirewallRequest":{
      "type":"structure",
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"}
      }
    },
    "DescribeFirewallResponse":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "Firewall":{"shape":"Firewall"},
        "FirewallStatus":{"shape":"FirewallStatus"}
      }
    },
    "DescribeFlowOperationRequest":{
      "type":"structure",
      "required":[
        "FirewallArn",
        "FlowOperationId"
      ],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "FlowOperationId":{"shape":"FlowOperationId"}
      }
    },
    "DescribeFlowOperationResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "FlowOperationId":{"shape":"FlowOperationId"},
        "FlowOperationType":{"shape":"FlowOperationType"},
        "FlowOperationStatus":{"shape":"FlowOperationStatus"},
        "StatusMessage":{"shape":"StatusReason"},
        "FlowRequestTimestamp":{"shape":"FlowRequestTimestamp"},
        "FlowOperation":{"shape":"FlowOperation"}
      }
    },
    "DescribeLoggingConfigurationRequest":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"}
      }
    },
    "DescribeLoggingConfigurationResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "LoggingConfiguration":{"shape":"LoggingConfiguration"},
        "EnableMonitoringDashboard":{"shape":"EnableMonitoringDashboard"}
      }
    },
    "DescribeResourcePolicyRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"}
      }
    },
    "DescribeResourcePolicyResponse":{
      "type":"structure",
      "members":{
        "Policy":{"shape":"PolicyString"}
      }
    },
    "DescribeRuleGroupMetadataRequest":{
      "type":"structure",
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroupArn":{"shape":"ResourceArn"},
        "Type":{"shape":"RuleGroupType"}
      }
    },
    "DescribeRuleGroupMetadataResponse":{
      "type":"structure",
      "required":[
        "RuleGroupArn",
        "RuleGroupName"
      ],
      "members":{
        "RuleGroupArn":{"shape":"ResourceArn"},
        "RuleGroupName":{"shape":"ResourceName"},
        "Description":{"shape":"Description"},
        "Type":{"shape":"RuleGroupType"},
        "Capacity":{"shape":"RuleCapacity"},
        "StatefulRuleOptions":{"shape":"StatefulRuleOptions"},
        "LastModifiedTime":{"shape":"LastUpdateTime"}
      }
    },
    "DescribeRuleGroupRequest":{
      "type":"structure",
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroupArn":{"shape":"ResourceArn"},
        "Type":{"shape":"RuleGroupType"},
        "AnalyzeRuleGroup":{"shape":"Boolean"}
      }
    },
    "DescribeRuleGroupResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "RuleGroupResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "RuleGroup":{"shape":"RuleGroup"},
        "RuleGroupResponse":{"shape":"RuleGroupResponse"}
      }
    },
    "DescribeRuleGroupSummaryRequest":{
      "type":"structure",
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroupArn":{"shape":"ResourceArn"},
        "Type":{"shape":"RuleGroupType"}
      }
    },
    "DescribeRuleGroupSummaryResponse":{
      "type":"structure",
      "required":["RuleGroupName"],
      "members":{
        "RuleGroupName":{"shape":"ResourceName"},
        "Description":{"shape":"Description"},
        "Summary":{"shape":"Summary"}
      }
    },
    "DescribeTLSInspectionConfigurationRequest":{
      "type":"structure",
      "members":{
        "TLSInspectionConfigurationArn":{"shape":"ResourceArn"},
        "TLSInspectionConfigurationName":{"shape":"ResourceName"}
      }
    },
    "DescribeTLSInspectionConfigurationResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "TLSInspectionConfigurationResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "TLSInspectionConfiguration":{"shape":"TLSInspectionConfiguration"},
        "TLSInspectionConfigurationResponse":{"shape":"TLSInspectionConfigurationResponse"}
      }
    },
    "DescribeVpcEndpointAssociationRequest":{
      "type":"structure",
      "required":["VpcEndpointAssociationArn"],
      "members":{
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"}
      }
    },
    "DescribeVpcEndpointAssociationResponse":{
      "type":"structure",
      "members":{
        "VpcEndpointAssociation":{"shape":"VpcEndpointAssociation"},
        "VpcEndpointAssociationStatus":{"shape":"VpcEndpointAssociationStatus"}
      }
    },
    "Description":{
      "type":"string",
      "max":512,
      "pattern":"^.*$"
    },
    "Destination":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^.*$"
    },
    "Dimension":{
      "type":"structure",
      "required":["Value"],
      "members":{
        "Value":{"shape":"DimensionValue"}
      }
    },
    "DimensionValue":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[a-zA-Z0-9-_ ]+$"
    },
    "Dimensions":{
      "type":"list",
      "member":{"shape":"Dimension"},
      "max":1,
      "min":1
    },
    "DisassociateAvailabilityZonesRequest":{
      "type":"structure",
      "required":["AvailabilityZoneMappings"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"}
      }
    },
    "DisassociateAvailabilityZonesResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "DisassociateSubnetsRequest":{
      "type":"structure",
      "required":["SubnetIds"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetIds":{"shape":"AzSubnets"}
      }
    },
    "DisassociateSubnetsResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetMappings":{"shape":"SubnetMappings"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "Domain":{"type":"string"},
    "EnableMonitoringDashboard":{"type":"boolean"},
    "EnabledAnalysisType":{
      "type":"string",
      "enum":[
        "TLS_SNI",
        "HTTP_HOST"
      ]
    },
    "EnabledAnalysisTypes":{
      "type":"list",
      "member":{"shape":"EnabledAnalysisType"}
    },
    "EncryptionConfiguration":{
      "type":"structure",
      "required":["Type"],
      "members":{
        "KeyId":{"shape":"KeyId"},
        "Type":{"shape":"EncryptionType"}
      }
    },
    "EncryptionType":{
      "type":"string",
      "enum":[
        "CUSTOMER_KMS",
        "AWS_OWNED_KMS_KEY"
      ]
    },
    "EndTime":{"type":"timestamp"},
    "EndpointId":{"type":"string"},
    "ErrorMessage":{"type":"string"},
    "Firewall":{
      "type":"structure",
      "required":[
        "FirewallPolicyArn",
        "VpcId",
        "SubnetMappings",
        "FirewallId"
      ],
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "VpcId":{"shape":"VpcId"},
        "SubnetMappings":{"shape":"SubnetMappings"},
        "DeleteProtection":{"shape":"Boolean"},
        "SubnetChangeProtection":{"shape":"Boolean"},
        "FirewallPolicyChangeProtection":{"shape":"Boolean"},
        "Description":{"shape":"Description"},
        "FirewallId":{"shape":"ResourceId"},
        "Tags":{"shape":"TagList"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "NumberOfAssociations":{"shape":"NumberOfAssociations"},
        "EnabledAnalysisTypes":{"shape":"EnabledAnalysisTypes"},
        "TransitGatewayId":{"shape":"TransitGatewayId"},
        "TransitGatewayOwnerAccountId":{"shape":"AWSAccountId"},
        "AvailabilityZoneMappings":{"shape":"AvailabilityZoneMappings"},
        "AvailabilityZoneChangeProtection":{"shape":"Boolean"}
      }
    },
    "FirewallMetadata":{
      "type":"structure",
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"},
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"}
      }
    },
    "FirewallPolicies":{
      "type":"list",
      "member":{"shape":"FirewallPolicyMetadata"}
    },
    "FirewallPolicy":{
      "type":"structure",
      "required":[
        "StatelessDefaultActions",
        "StatelessFragmentDefaultActions"
      ],
      "members":{
        "StatelessRuleGroupReferences":{"shape":"StatelessRuleGroupReferences"},
        "StatelessDefaultActions":{"shape":"StatelessActions"},
        "StatelessFragmentDefaultActions":{"shape":"StatelessActions"},
        "StatelessCustomActions":{"shape":"CustomActions"},
        "StatefulRuleGroupReferences":{"shape":"StatefulRuleGroupReferences"},
        "StatefulDefaultActions":{"shape":"StatefulActions"},
        "StatefulEngineOptions":{"shape":"StatefulEngineOptions"},
        "TLSInspectionConfigurationArn":{"shape":"ResourceArn"},
        "PolicyVariables":{"shape":"PolicyVariables"}
      }
    },
    "FirewallPolicyMetadata":{
      "type":"structure",
      "members":{
        "Name":{"shape":"ResourceName"},
        "Arn":{"shape":"ResourceArn"}
      }
    },
    "FirewallPolicyResponse":{
      "type":"structure",
      "required":[
        "FirewallPolicyName",
        "FirewallPolicyArn",
        "FirewallPolicyId"
      ],
      "members":{
        "FirewallPolicyName":{"shape":"ResourceName"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "FirewallPolicyId":{"shape":"ResourceId"},
        "Description":{"shape":"Description"},
        "FirewallPolicyStatus":{"shape":"ResourceStatus"},
        "Tags":{"shape":"TagList"},
        "ConsumedStatelessRuleCapacity":{"shape":"RuleCapacity"},
        "ConsumedStatefulRuleCapacity":{"shape":"RuleCapacity"},
        "NumberOfAssociations":{"shape":"NumberOfAssociations"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "LastModifiedTime":{"shape":"LastUpdateTime"}
      }
    },
    "FirewallStatus":{
      "type":"structure",
      "required":[
        "Status",
        "ConfigurationSyncStateSummary"
      ],
      "members":{
        "Status":{"shape":"FirewallStatusValue"},
        "ConfigurationSyncStateSummary":{"shape":"ConfigurationSyncState"},
        "SyncStates":{"shape":"SyncStates"},
        "CapacityUsageSummary":{"shape":"CapacityUsageSummary"},
        "TransitGatewayAttachmentSyncState":{"shape":"TransitGatewayAttachmentSyncState"}
      }
    },
    "FirewallStatusValue":{
      "type":"string",
      "enum":[
        "PROVISIONING",
        "DELETING",
        "READY"
      ]
    },
    "Firewalls":{
      "type":"list",
      "member":{"shape":"FirewallMetadata"}
    },
    "FirstAccessed":{"type":"timestamp"},
    "Flags":{
      "type":"list",
      "member":{"shape":"TCPFlag"}
    },
    "Flow":{
      "type":"structure",
      "members":{
        "SourceAddress":{"shape":"Address"},
        "DestinationAddress":{"shape":"Address"},
        "SourcePort":{"shape":"Port"},
        "DestinationPort":{"shape":"Port"},
        "Protocol":{"shape":"ProtocolString"},
        "Age":{"shape":"Age"},
        "PacketCount":{"shape":"PacketCount"},
        "ByteCount":{"shape":"ByteCount"}
      }
    },
    "FlowFilter":{
      "type":"structure",
      "members":{
        "SourceAddress":{"shape":"Address"},
        "DestinationAddress":{"shape":"Address"},
        "SourcePort":{"shape":"Port"},
        "DestinationPort":{"shape":"Port"},
        "Protocols":{"shape":"ProtocolStrings"}
      }
    },
    "FlowFilters":{
      "type":"list",
      "member":{"shape":"FlowFilter"}
    },
    "FlowOperation":{
      "type":"structure",
      "members":{
        "MinimumFlowAgeInSeconds":{"shape":"Age"},
        "FlowFilters":{"shape":"FlowFilters"}
      }
    },
    "FlowOperationId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$"
    },
    "FlowOperationMetadata":{
      "type":"structure",
      "members":{
        "FlowOperationId":{"shape":"FlowOperationId"},
        "FlowOperationType":{"shape":"FlowOperationType"},
        "FlowRequestTimestamp":{"shape":"FlowRequestTimestamp"},
        "FlowOperationStatus":{"shape":"FlowOperationStatus"}
      }
    },
    "FlowOperationStatus":{
      "type":"string",
      "enum":[
        "COMPLETED",
        "IN_PROGRESS",
        "FAILED",
        "COMPLETED_WITH_ERRORS"
      ]
    },
    "FlowOperationType":{
      "type":"string",
      "enum":[
        "FLOW_FLUSH",
        "FLOW_CAPTURE"
      ]
    },
    "FlowOperations":{
      "type":"list",
      "member":{"shape":"FlowOperationMetadata"}
    },
    "FlowRequestTimestamp":{"type":"timestamp"},
    "FlowTimeouts":{
      "type":"structure",
      "members":{
        "TcpIdleTimeoutSeconds":{"shape":"TcpIdleTimeoutRangeBound"}
      }
    },
    "Flows":{
      "type":"list",
      "member":{"shape":"Flow"}
    },
    "GeneratedRulesType":{
      "type":"string",
      "enum":[
        "ALLOWLIST",
        "DENYLIST"
      ]
    },
    "GetAnalysisReportResultsRequest":{
      "type":"structure",
      "required":["AnalysisReportId"],
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "AnalysisReportId":{"shape":"AnalysisReportId"},
        "FirewallArn":{"shape":"ResourceArn"},
        "NextToken":{"shape":"AnalysisReportNextToken"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "GetAnalysisReportResultsResponse":{
      "type":"structure",
      "members":{
        "Status":{"shape":"Status"},
        "StartTime":{"shape":"StartTime"},
        "EndTime":{"shape":"EndTime"},
        "ReportTime":{"shape":"ReportTime"},
        "AnalysisType":{"shape":"EnabledAnalysisType"},
        "NextToken":{"shape":"AnalysisReportNextToken"},
        "AnalysisReportResults":{"shape":"AnalysisReportResults"}
      }
    },
    "HashMapKey":{
      "type":"string",
      "max":50,
      "min":3,
      "pattern":"^[0-9A-Za-z.\\-_@\\/]+$"
    },
    "HashMapValue":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"[\\s\\S]*$"
    },
    "Header":{
      "type":"structure",
      "required":[
        "Protocol",
        "Source",
        "SourcePort",
        "Direction",
        "Destination",
        "DestinationPort"
      ],
      "members":{
        "Protocol":{"shape":"StatefulRuleProtocol"},
        "Source":{"shape":"Source"},
        "SourcePort":{"shape":"Port"},
        "Direction":{"shape":"StatefulRuleDirection"},
        "Destination":{"shape":"Destination"},
        "DestinationPort":{"shape":"Port"}
      }
    },
    "Hits":{
      "type":"structure",
      "members":{
        "Count":{"shape":"Count"}
      }
    },
    "IPAddressType":{
      "type":"string",
      "enum":[
        "DUALSTACK",
        "IPV4",
        "IPV6"
      ]
    },
    "IPSet":{
      "type":"structure",
      "required":["Definition"],
      "members":{
        "Definition":{"shape":"VariableDefinitionList"}
      }
    },
    "IPSetArn":{"type":"string"},
    "IPSetMetadata":{
      "type":"structure",
      "members":{
        "ResolvedCIDRCount":{"shape":"CIDRCount"}
      }
    },
    "IPSetMetadataMap":{
      "type":"map",
      "key":{"shape":"IPSetArn"},
      "value":{"shape":"IPSetMetadata"}
    },
    "IPSetReference":{
      "type":"structure",
      "members":{
        "ReferenceArn":{"shape":"ResourceArn"}
      }
    },
    "IPSetReferenceMap":{
      "type":"map",
      "key":{"shape":"IPSetReferenceName"},
      "value":{"shape":"IPSetReference"}
    },
    "IPSetReferenceName":{
      "type":"string",
      "max":32,
      "min":1,
      "pattern":"^[A-Za-z][A-Za-z0-9_]*$"
    },
    "IPSets":{
      "type":"map",
      "key":{"shape":"RuleVariableName"},
      "value":{"shape":"IPSet"}
    },
    "IdentifiedType":{
      "type":"string",
      "enum":[
        "STATELESS_RULE_FORWARDING_ASYMMETRICALLY",
        "STATELESS_RULE_CONTAINS_TCP_FLAGS"
      ]
    },
    "InsufficientCapacityException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true,
      "fault":true
    },
    "InternalServerError":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true,
      "fault":true
    },
    "InvalidOperationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "InvalidRequestException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "InvalidResourcePolicyException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "InvalidTokenException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "KeyId":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":".*\\S.*"
    },
    "Keyword":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":".*"
    },
    "LastAccessed":{"type":"timestamp"},
    "LastUpdateTime":{"type":"timestamp"},
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ListAnalysisReportsRequest":{
      "type":"structure",
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"},
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "ListAnalysisReportsResponse":{
      "type":"structure",
      "members":{
        "AnalysisReports":{"shape":"AnalysisReports"},
        "NextToken":{"shape":"PaginationToken"}
      }
    },
    "ListFirewallPoliciesRequest":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "ListFirewallPoliciesResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "FirewallPolicies":{"shape":"FirewallPolicies"}
      }
    },
    "ListFirewallsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "VpcIds":{"shape":"VpcIds"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "ListFirewallsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "Firewalls":{"shape":"Firewalls"}
      }
    },
    "ListFlowOperationResultsRequest":{
      "type":"structure",
      "required":[
        "FirewallArn",
        "FlowOperationId"
      ],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FlowOperationId":{"shape":"FlowOperationId"},
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"}
      }
    },
    "ListFlowOperationResultsResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "FlowOperationId":{"shape":"FlowOperationId"},
        "FlowOperationStatus":{"shape":"FlowOperationStatus"},
        "StatusMessage":{"shape":"StatusReason"},
        "FlowRequestTimestamp":{"shape":"FlowRequestTimestamp"},
        "Flows":{"shape":"Flows"},
        "NextToken":{"shape":"PaginationToken"}
      }
    },
    "ListFlowOperationsRequest":{
      "type":"structure",
      "required":["FirewallArn"],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "FlowOperationType":{"shape":"FlowOperationType"},
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "ListFlowOperationsResponse":{
      "type":"structure",
      "members":{
        "FlowOperations":{"shape":"FlowOperations"},
        "NextToken":{"shape":"PaginationToken"}
      }
    },
    "ListRuleGroupsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"},
        "Scope":{"shape":"ResourceManagedStatus"},
        "ManagedType":{"shape":"ResourceManagedType"},
        "Type":{"shape":"RuleGroupType"}
      }
    },
    "ListRuleGroupsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "RuleGroups":{"shape":"RuleGroups"}
      }
    },
    "ListTLSInspectionConfigurationsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"}
      }
    },
    "ListTLSInspectionConfigurationsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "TLSInspectionConfigurations":{"shape":"TLSInspectionConfigurations"}
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"TagsPaginationMaxResults"},
        "ResourceArn":{"shape":"ResourceArn"}
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "Tags":{"shape":"TagList"}
      }
    },
    "ListVpcEndpointAssociationsRequest":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "MaxResults":{"shape":"PaginationMaxResults"},
        "FirewallArn":{"shape":"ResourceArn"}
      }
    },
    "ListVpcEndpointAssociationsResponse":{
      "type":"structure",
      "members":{
        "NextToken":{"shape":"PaginationToken"},
        "VpcEndpointAssociations":{"shape":"VpcEndpointAssociations"}
      }
    },
    "LogDestinationConfig":{
      "type":"structure",
      "required":[
        "LogType",
        "LogDestinationType",
        "LogDestination"
      ],
      "members":{
        "LogType":{"shape":"LogType"},
        "LogDestinationType":{"shape":"LogDestinationType"},
        "LogDestination":{"shape":"LogDestinationMap"}
      }
    },
    "LogDestinationConfigs":{
      "type":"list",
      "member":{"shape":"LogDestinationConfig"}
    },
    "LogDestinationMap":{
      "type":"map",
      "key":{"shape":"HashMapKey"},
      "value":{"shape":"HashMapValue"}
    },
    "LogDestinationPermissionException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "LogDestinationType":{
      "type":"string",
      "enum":[
        "S3",
        "CloudWatchLogs",
        "KinesisDataFirehose"
      ],
      "max":30,
      "min":2,
      "pattern":"[0-9A-Za-z]+"
    },
    "LogType":{
      "type":"string",
      "enum":[
        "ALERT",
        "FLOW",
        "TLS"
      ]
    },
    "LoggingConfiguration":{
      "type":"structure",
      "required":["LogDestinationConfigs"],
      "members":{
        "LogDestinationConfigs":{"shape":"LogDestinationConfigs"}
      }
    },
    "MatchAttributes":{
      "type":"structure",
      "members":{
        "Sources":{"shape":"Addresses"},
        "Destinations":{"shape":"Addresses"},
        "SourcePorts":{"shape":"PortRanges"},
        "DestinationPorts":{"shape":"PortRanges"},
        "Protocols":{"shape":"ProtocolNumbers"},
        "TCPFlags":{"shape":"TCPFlags"}
      }
    },
    "NumberOfAssociations":{"type":"integer"},
    "OverrideAction":{
      "type":"string",
      "enum":["DROP_TO_ALERT"]
    },
    "PacketCount":{"type":"integer"},
    "PaginationMaxResults":{
      "type":"integer",
      "max":100,
      "min":1
    },
    "PaginationToken":{
      "type":"string",
      "max":4096,
      "min":1,
      "pattern":"[0-9A-Za-z:\\/+=]+$"
    },
    "PerObjectStatus":{
      "type":"structure",
      "members":{
        "SyncStatus":{"shape":"PerObjectSyncStatus"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "PerObjectSyncStatus":{
      "type":"string",
      "enum":[
        "PENDING",
        "IN_SYNC",
        "CAPACITY_CONSTRAINED"
      ]
    },
    "PolicyString":{
      "type":"string",
      "max":395000,
      "min":1,
      "pattern":".*\\S.*"
    },
    "PolicyVariables":{
      "type":"structure",
      "members":{
        "RuleVariables":{"shape":"IPSets"}
      }
    },
    "Port":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^.*$"
    },
    "PortRange":{
      "type":"structure",
      "required":[
        "FromPort",
        "ToPort"
      ],
      "members":{
        "FromPort":{"shape":"PortRangeBound"},
        "ToPort":{"shape":"PortRangeBound"}
      }
    },
    "PortRangeBound":{
      "type":"integer",
      "max":65535,
      "min":0
    },
    "PortRanges":{
      "type":"list",
      "member":{"shape":"PortRange"}
    },
    "PortSet":{
      "type":"structure",
      "members":{
        "Definition":{"shape":"VariableDefinitionList"}
      }
    },
    "PortSets":{
      "type":"map",
      "key":{"shape":"RuleVariableName"},
      "value":{"shape":"PortSet"}
    },
    "Priority":{
      "type":"integer",
      "max":65535,
      "min":1
    },
    "ProtocolNumber":{
      "type":"integer",
      "max":255,
      "min":0
    },
    "ProtocolNumbers":{
      "type":"list",
      "member":{"shape":"ProtocolNumber"}
    },
    "ProtocolString":{
      "type":"string",
      "max":12,
      "min":1,
      "pattern":"^.*$"
    },
    "ProtocolStrings":{
      "type":"list",
      "member":{"shape":"ProtocolString"}
    },
    "PublishMetricAction":{
      "type":"structure",
      "required":["Dimensions"],
      "members":{
        "Dimensions":{"shape":"Dimensions"}
      }
    },
    "PutResourcePolicyRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Policy"
      ],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"},
        "Policy":{"shape":"PolicyString"}
      }
    },
    "PutResourcePolicyResponse":{
      "type":"structure",
      "members":{}
    },
    "ReferenceSets":{
      "type":"structure",
      "members":{
        "IPSetReferences":{"shape":"IPSetReferenceMap"}
      }
    },
    "RejectNetworkFirewallTransitGatewayAttachmentRequest":{
      "type":"structure",
      "required":["TransitGatewayAttachmentId"],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"}
      }
    },
    "RejectNetworkFirewallTransitGatewayAttachmentResponse":{
      "type":"structure",
      "required":[
        "TransitGatewayAttachmentId",
        "TransitGatewayAttachmentStatus"
      ],
      "members":{
        "TransitGatewayAttachmentId":{"shape":"TransitGatewayAttachmentId"},
        "TransitGatewayAttachmentStatus":{"shape":"TransitGatewayAttachmentStatus"}
      }
    },
    "ReportTime":{"type":"timestamp"},
    "ResourceArn":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^arn:aws.*"
    },
    "ResourceId":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$"
    },
    "ResourceManagedStatus":{
      "type":"string",
      "enum":[
        "MANAGED",
        "ACCOUNT"
      ]
    },
    "ResourceManagedType":{
      "type":"string",
      "enum":[
        "AWS_MANAGED_THREAT_SIGNATURES",
        "AWS_MANAGED_DOMAIN_LISTS",
        "ACTIVE_THREAT_DEFENSE"
      ]
    },
    "ResourceName":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^[a-zA-Z0-9-]+$"
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ResourceOwnerCheckException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "ResourceStatus":{
      "type":"string",
      "enum":[
        "ACTIVE",
        "DELETING",
        "ERROR"
      ]
    },
    "RevocationCheckAction":{
      "type":"string",
      "enum":[
        "PASS",
        "DROP",
        "REJECT"
      ]
    },
    "RuleCapacity":{"type":"integer"},
    "RuleDefinition":{
      "type":"structure",
      "required":[
        "MatchAttributes",
        "Actions"
      ],
      "members":{
        "MatchAttributes":{"shape":"MatchAttributes"},
        "Actions":{"shape":"StatelessActions"}
      }
    },
    "RuleGroup":{
      "type":"structure",
      "required":["RulesSource"],
      "members":{
        "RuleVariables":{"shape":"RuleVariables"},
        "ReferenceSets":{"shape":"ReferenceSets"},
        "RulesSource":{"shape":"RulesSource"},
        "StatefulRuleOptions":{"shape":"StatefulRuleOptions"}
      }
    },
    "RuleGroupMetadata":{
      "type":"structure",
      "members":{
        "Name":{"shape":"ResourceName"},
        "Arn":{"shape":"ResourceArn"}
      }
    },
    "RuleGroupResponse":{
      "type":"structure",
      "required":[
        "RuleGroupArn",
        "RuleGroupName",
        "RuleGroupId"
      ],
      "members":{
        "RuleGroupArn":{"shape":"ResourceArn"},
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroupId":{"shape":"ResourceId"},
        "Description":{"shape":"Description"},
        "Type":{"shape":"RuleGroupType"},
        "Capacity":{"shape":"RuleCapacity"},
        "RuleGroupStatus":{"shape":"ResourceStatus"},
        "Tags":{"shape":"TagList"},
        "ConsumedCapacity":{"shape":"RuleCapacity"},
        "NumberOfAssociations":{"shape":"NumberOfAssociations"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "SourceMetadata":{"shape":"SourceMetadata"},
        "SnsTopic":{"shape":"ResourceArn"},
        "LastModifiedTime":{"shape":"LastUpdateTime"},
        "AnalysisResults":{"shape":"AnalysisResultList"},
        "SummaryConfiguration":{"shape":"SummaryConfiguration"}
      }
    },
    "RuleGroupType":{
      "type":"string",
      "enum":[
        "STATELESS",
        "STATEFUL"
      ]
    },
    "RuleGroups":{
      "type":"list",
      "member":{"shape":"RuleGroupMetadata"}
    },
    "RuleIdList":{
      "type":"list",
      "member":{"shape":"CollectionMember_String"}
    },
    "RuleOption":{
      "type":"structure",
      "required":["Keyword"],
      "members":{
        "Keyword":{"shape":"Keyword"},
        "Settings":{"shape":"Settings"}
      }
    },
    "RuleOptions":{
      "type":"list",
      "member":{"shape":"RuleOption"}
    },
    "RuleOrder":{
      "type":"string",
      "enum":[
        "DEFAULT_ACTION_ORDER",
        "STRICT_ORDER"
      ]
    },
    "RuleSummaries":{
      "type":"list",
      "member":{"shape":"RuleSummary"}
    },
    "RuleSummary":{
      "type":"structure",
      "members":{
        "SID":{"shape":"CollectionMember_String"},
        "Msg":{"shape":"CollectionMember_String"},
        "Metadata":{"shape":"CollectionMember_String"}
      }
    },
    "RuleTargets":{
      "type":"list",
      "member":{"shape":"CollectionMember_String"}
    },
    "RuleVariableName":{
      "type":"string",
      "max":32,
      "min":1,
      "pattern":"^[A-Za-z][A-Za-z0-9_]*$"
    },
    "RuleVariables":{
      "type":"structure",
      "members":{
        "IPSets":{"shape":"IPSets"},
        "PortSets":{"shape":"PortSets"}
      }
    },
    "RulesSource":{
      "type":"structure",
      "members":{
        "RulesString":{"shape":"RulesString"},
        "RulesSourceList":{"shape":"RulesSourceList"},
        "StatefulRules":{"shape":"StatefulRules"},
        "StatelessRulesAndCustomActions":{"shape":"StatelessRulesAndCustomActions"}
      }
    },
    "RulesSourceList":{
      "type":"structure",
      "required":[
        "Targets",
        "TargetTypes",
        "GeneratedRulesType"
      ],
      "members":{
        "Targets":{"shape":"RuleTargets"},
        "TargetTypes":{"shape":"TargetTypes"},
        "GeneratedRulesType":{"shape":"GeneratedRulesType"}
      }
    },
    "RulesString":{
      "type":"string",
      "max":2000000,
      "min":0
    },
    "ServerCertificate":{
      "type":"structure",
      "members":{
        "ResourceArn":{"shape":"ResourceArn"}
      }
    },
    "ServerCertificateConfiguration":{
      "type":"structure",
      "members":{
        "ServerCertificates":{"shape":"ServerCertificates"},
        "Scopes":{"shape":"ServerCertificateScopes"},
        "CertificateAuthorityArn":{"shape":"ResourceArn"},
        "CheckCertificateRevocationStatus":{"shape":"CheckCertificateRevocationStatusActions"}
      }
    },
    "ServerCertificateConfigurations":{
      "type":"list",
      "member":{"shape":"ServerCertificateConfiguration"}
    },
    "ServerCertificateScope":{
      "type":"structure",
      "members":{
        "Sources":{"shape":"Addresses"},
        "Destinations":{"shape":"Addresses"},
        "SourcePorts":{"shape":"PortRanges"},
        "DestinationPorts":{"shape":"PortRanges"},
        "Protocols":{"shape":"ProtocolNumbers"}
      }
    },
    "ServerCertificateScopes":{
      "type":"list",
      "member":{"shape":"ServerCertificateScope"}
    },
    "ServerCertificates":{
      "type":"list",
      "member":{"shape":"ServerCertificate"}
    },
    "Setting":{
      "type":"string",
      "max":8192,
      "min":1,
      "pattern":".*"
    },
    "Settings":{
      "type":"list",
      "member":{"shape":"Setting"}
    },
    "Source":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^.*$"
    },
    "SourceMetadata":{
      "type":"structure",
      "members":{
        "SourceArn":{"shape":"ResourceArn"},
        "SourceUpdateToken":{"shape":"UpdateToken"}
      }
    },
    "StartAnalysisReportRequest":{
      "type":"structure",
      "required":["AnalysisType"],
      "members":{
        "FirewallName":{"shape":"ResourceName"},
        "FirewallArn":{"shape":"ResourceArn"},
        "AnalysisType":{"shape":"EnabledAnalysisType"}
      }
    },
    "StartAnalysisReportResponse":{
      "type":"structure",
      "required":["AnalysisReportId"],
      "members":{
        "AnalysisReportId":{"shape":"AnalysisReportId"}
      }
    },
    "StartFlowCaptureRequest":{
      "type":"structure",
      "required":[
        "FirewallArn",
        "FlowFilters"
      ],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "MinimumFlowAgeInSeconds":{"shape":"Age"},
        "FlowFilters":{"shape":"FlowFilters"}
      }
    },
    "StartFlowCaptureResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FlowOperationId":{"shape":"FlowOperationId"},
        "FlowOperationStatus":{"shape":"FlowOperationStatus"}
      }
    },
    "StartFlowFlushRequest":{
      "type":"structure",
      "required":[
        "FirewallArn",
        "FlowFilters"
      ],
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "AvailabilityZone":{"shape":"AvailabilityZone"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "VpcEndpointId":{"shape":"VpcEndpointId"},
        "MinimumFlowAgeInSeconds":{"shape":"Age"},
        "FlowFilters":{"shape":"FlowFilters"}
      }
    },
    "StartFlowFlushResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FlowOperationId":{"shape":"FlowOperationId"},
        "FlowOperationStatus":{"shape":"FlowOperationStatus"}
      }
    },
    "StartTime":{"type":"timestamp"},
    "StatefulAction":{
      "type":"string",
      "enum":[
        "PASS",
        "DROP",
        "ALERT",
        "REJECT"
      ]
    },
    "StatefulActions":{
      "type":"list",
      "member":{"shape":"CollectionMember_String"}
    },
    "StatefulEngineOptions":{
      "type":"structure",
      "members":{
        "RuleOrder":{"shape":"RuleOrder"},
        "StreamExceptionPolicy":{"shape":"StreamExceptionPolicy"},
        "FlowTimeouts":{"shape":"FlowTimeouts"}
      }
    },
    "StatefulRule":{
      "type":"structure",
      "required":[
        "Action",
        "Header",
        "RuleOptions"
      ],
      "members":{
        "Action":{"shape":"StatefulAction"},
        "Header":{"shape":"Header"},
        "RuleOptions":{"shape":"RuleOptions"}
      }
    },
    "StatefulRuleDirection":{
      "type":"string",
      "enum":[
        "FORWARD",
        "ANY"
      ]
    },
    "StatefulRuleGroupOverride":{
      "type":"structure",
      "members":{
        "Action":{"shape":"OverrideAction"}
      }
    },
    "StatefulRuleGroupReference":{
      "type":"structure",
      "required":["ResourceArn"],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"},
        "Priority":{
          "shape":"Priority",
          "box":true
        },
        "Override":{"shape":"StatefulRuleGroupOverride"},
        "DeepThreatInspection":{"shape":"DeepThreatInspection"}
      }
    },
    "StatefulRuleGroupReferences":{
      "type":"list",
      "member":{"shape":"StatefulRuleGroupReference"}
    },
    "StatefulRuleOptions":{
      "type":"structure",
      "members":{
        "RuleOrder":{"shape":"RuleOrder"}
      }
    },
    "StatefulRuleProtocol":{
      "type":"string",
      "enum":[
        "IP",
        "TCP",
        "UDP",
        "ICMP",
        "HTTP",
        "FTP",
        "TLS",
        "SMB",
        "DNS",
        "DCERPC",
        "SSH",
        "SMTP",
        "IMAP",
        "MSN",
        "KRB5",
        "IKEV2",
        "TFTP",
        "NTP",
        "DHCP",
        "HTTP2",
        "QUIC"
      ]
    },
    "StatefulRules":{
      "type":"list",
      "member":{"shape":"StatefulRule"}
    },
    "StatelessActions":{
      "type":"list",
      "member":{"shape":"CollectionMember_String"}
    },
    "StatelessRule":{
      "type":"structure",
      "required":[
        "RuleDefinition",
        "Priority"
      ],
      "members":{
        "RuleDefinition":{"shape":"RuleDefinition"},
        "Priority":{"shape":"Priority"}
      }
    },
    "StatelessRuleGroupReference":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Priority"
      ],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"},
        "Priority":{"shape":"Priority"}
      }
    },
    "StatelessRuleGroupReferences":{
      "type":"list",
      "member":{"shape":"StatelessRuleGroupReference"}
    },
    "StatelessRules":{
      "type":"list",
      "member":{"shape":"StatelessRule"}
    },
    "StatelessRulesAndCustomActions":{
      "type":"structure",
      "required":["StatelessRules"],
      "members":{
        "StatelessRules":{"shape":"StatelessRules"},
        "CustomActions":{"shape":"CustomActions"}
      }
    },
    "Status":{"type":"string"},
    "StatusMessage":{"type":"string"},
    "StatusReason":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"^[a-zA-Z0-9- ]+$"
    },
    "StreamExceptionPolicy":{
      "type":"string",
      "enum":[
        "DROP",
        "CONTINUE",
        "REJECT"
      ]
    },
    "SubnetMapping":{
      "type":"structure",
      "required":["SubnetId"],
      "members":{
        "SubnetId":{"shape":"CollectionMember_String"},
        "IPAddressType":{"shape":"IPAddressType"}
      }
    },
    "SubnetMappings":{
      "type":"list",
      "member":{"shape":"SubnetMapping"}
    },
    "Summary":{
      "type":"structure",
      "members":{
        "RuleSummaries":{"shape":"RuleSummaries"}
      }
    },
    "SummaryConfiguration":{
      "type":"structure",
      "members":{
        "RuleOptions":{"shape":"SummaryRuleOptions"}
      }
    },
    "SummaryRuleOption":{
      "type":"string",
      "enum":[
        "SID",
        "MSG",
        "METADATA"
      ]
    },
    "SummaryRuleOptions":{
      "type":"list",
      "member":{"shape":"SummaryRuleOption"}
    },
    "SupportedAvailabilityZones":{
      "type":"map",
      "key":{"shape":"AvailabilityZone"},
      "value":{"shape":"AvailabilityZoneMetadata"}
    },
    "SyncState":{
      "type":"structure",
      "members":{
        "Attachment":{"shape":"Attachment"},
        "Config":{"shape":"SyncStateConfig"}
      }
    },
    "SyncStateConfig":{
      "type":"map",
      "key":{"shape":"ResourceName"},
      "value":{"shape":"PerObjectStatus"}
    },
    "SyncStates":{
      "type":"map",
      "key":{"shape":"AvailabilityZone"},
      "value":{"shape":"SyncState"}
    },
    "TCPFlag":{
      "type":"string",
      "enum":[
        "FIN",
        "SYN",
        "RST",
        "PSH",
        "ACK",
        "URG",
        "ECE",
        "CWR"
      ]
    },
    "TCPFlagField":{
      "type":"structure",
      "required":["Flags"],
      "members":{
        "Flags":{"shape":"Flags"},
        "Masks":{"shape":"Flags"}
      }
    },
    "TCPFlags":{
      "type":"list",
      "member":{"shape":"TCPFlagField"}
    },
    "TLSInspectionConfiguration":{
      "type":"structure",
      "members":{
        "ServerCertificateConfigurations":{"shape":"ServerCertificateConfigurations"}
      }
    },
    "TLSInspectionConfigurationMetadata":{
      "type":"structure",
      "members":{
        "Name":{"shape":"ResourceName"},
        "Arn":{"shape":"ResourceArn"}
      }
    },
    "TLSInspectionConfigurationResponse":{
      "type":"structure",
      "required":[
        "TLSInspectionConfigurationArn",
        "TLSInspectionConfigurationName",
        "TLSInspectionConfigurationId"
      ],
      "members":{
        "TLSInspectionConfigurationArn":{"shape":"ResourceArn"},
        "TLSInspectionConfigurationName":{"shape":"ResourceName"},
        "TLSInspectionConfigurationId":{"shape":"ResourceId"},
        "TLSInspectionConfigurationStatus":{"shape":"ResourceStatus"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"},
        "LastModifiedTime":{"shape":"LastUpdateTime"},
        "NumberOfAssociations":{"shape":"NumberOfAssociations"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "Certificates":{"shape":"Certificates"},
        "CertificateAuthority":{"shape":"TlsCertificateData"}
      }
    },
    "TLSInspectionConfigurations":{
      "type":"list",
      "member":{"shape":"TLSInspectionConfigurationMetadata"}
    },
    "Tag":{
      "type":"structure",
      "required":[
        "Key",
        "Value"
      ],
      "members":{
        "Key":{"shape":"TagKey"},
        "Value":{"shape":"TagValue"}
      }
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^.*$"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":200,
      "min":1
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":200,
      "min":1
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "Tags"
      ],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"},
        "Tags":{"shape":"TagList"}
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"^.*$"
    },
    "TagsPaginationMaxResults":{
      "type":"integer",
      "max":100,
      "min":0
    },
    "TargetType":{
      "type":"string",
      "enum":[
        "TLS_SNI",
        "HTTP_HOST"
      ]
    },
    "TargetTypes":{
      "type":"list",
      "member":{"shape":"TargetType"}
    },
    "TcpIdleTimeoutRangeBound":{"type":"integer"},
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "TlsCertificateData":{
      "type":"structure",
      "members":{
        "CertificateArn":{"shape":"ResourceArn"},
        "CertificateSerial":{"shape":"CollectionMember_String"},
        "Status":{"shape":"CollectionMember_String"},
        "StatusMessage":{"shape":"StatusReason"}
      }
    },
    "TransitGatewayAttachmentId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^tgw-attach-[0-9a-z]+$"
    },
    "TransitGatewayAttachmentStatus":{
      "type":"string",
      "enum":[
        "CREATING",
        "DELETING",
        "DELETED",
        "FAILED",
        "ERROR",
        "READY",
        "PENDING_ACCEPTANCE",
        "REJECTING",
        "REJECTED"
      ]
    },
    "TransitGatewayAttachmentSyncState":{
      "type":"structure",
      "members":{
        "AttachmentId":{"shape":"AttachmentId"},
        "TransitGatewayAttachmentStatus":{"shape":"TransitGatewayAttachmentStatus"},
        "StatusMessage":{"shape":"TransitGatewayAttachmentSyncStateMessage"}
      }
    },
    "TransitGatewayAttachmentSyncStateMessage":{"type":"string"},
    "TransitGatewayId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^tgw-[0-9a-z]+$"
    },
    "UniqueSources":{
      "type":"structure",
      "members":{
        "Count":{"shape":"Count"}
      }
    },
    "UnsupportedOperationException":{
      "type":"structure",
      "members":{
        "Message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "ResourceArn",
        "TagKeys"
      ],
      "members":{
        "ResourceArn":{"shape":"ResourceArn"},
        "TagKeys":{"shape":"TagKeyList"}
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateAvailabilityZoneChangeProtectionRequest":{
      "type":"structure",
      "required":["AvailabilityZoneChangeProtection"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateAvailabilityZoneChangeProtectionResponse":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "AvailabilityZoneChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateFirewallAnalysisSettingsRequest":{
      "type":"structure",
      "members":{
        "EnabledAnalysisTypes":{"shape":"EnabledAnalysisTypes"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "UpdateFirewallAnalysisSettingsResponse":{
      "type":"structure",
      "members":{
        "EnabledAnalysisTypes":{"shape":"EnabledAnalysisTypes"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "UpdateFirewallDeleteProtectionRequest":{
      "type":"structure",
      "required":["DeleteProtection"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "DeleteProtection":{"shape":"Boolean"}
      }
    },
    "UpdateFirewallDeleteProtectionResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "DeleteProtection":{"shape":"Boolean"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "UpdateFirewallDescriptionRequest":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "Description":{"shape":"Description"}
      }
    },
    "UpdateFirewallDescriptionResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "Description":{"shape":"Description"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "UpdateFirewallEncryptionConfigurationRequest":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "UpdateFirewallEncryptionConfigurationResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "UpdateToken":{"shape":"UpdateToken"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "UpdateFirewallPolicyChangeProtectionRequest":{
      "type":"structure",
      "required":["FirewallPolicyChangeProtection"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "FirewallPolicyChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateFirewallPolicyChangeProtectionResponse":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "FirewallPolicyChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateFirewallPolicyRequest":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "FirewallPolicy"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallPolicyArn":{"shape":"ResourceArn"},
        "FirewallPolicyName":{"shape":"ResourceName"},
        "FirewallPolicy":{"shape":"FirewallPolicy"},
        "Description":{"shape":"Description"},
        "DryRun":{"shape":"Boolean"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"}
      }
    },
    "UpdateFirewallPolicyResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "FirewallPolicyResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallPolicyResponse":{"shape":"FirewallPolicyResponse"}
      }
    },
    "UpdateLoggingConfigurationRequest":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "LoggingConfiguration":{"shape":"LoggingConfiguration"},
        "EnableMonitoringDashboard":{"shape":"EnableMonitoringDashboard"}
      }
    },
    "UpdateLoggingConfigurationResponse":{
      "type":"structure",
      "members":{
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "LoggingConfiguration":{"shape":"LoggingConfiguration"},
        "EnableMonitoringDashboard":{"shape":"EnableMonitoringDashboard"}
      }
    },
    "UpdateRuleGroupRequest":{
      "type":"structure",
      "required":["UpdateToken"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "RuleGroupArn":{"shape":"ResourceArn"},
        "RuleGroupName":{"shape":"ResourceName"},
        "RuleGroup":{"shape":"RuleGroup"},
        "Rules":{"shape":"RulesString"},
        "Type":{"shape":"RuleGroupType"},
        "Description":{"shape":"Description"},
        "DryRun":{"shape":"Boolean"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "SourceMetadata":{"shape":"SourceMetadata"},
        "AnalyzeRuleGroup":{"shape":"Boolean"},
        "SummaryConfiguration":{"shape":"SummaryConfiguration"}
      }
    },
    "UpdateRuleGroupResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "RuleGroupResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "RuleGroupResponse":{"shape":"RuleGroupResponse"}
      }
    },
    "UpdateSubnetChangeProtectionRequest":{
      "type":"structure",
      "required":["SubnetChangeProtection"],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateSubnetChangeProtectionResponse":{
      "type":"structure",
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "FirewallArn":{"shape":"ResourceArn"},
        "FirewallName":{"shape":"ResourceName"},
        "SubnetChangeProtection":{"shape":"Boolean"}
      }
    },
    "UpdateTLSInspectionConfigurationRequest":{
      "type":"structure",
      "required":[
        "TLSInspectionConfiguration",
        "UpdateToken"
      ],
      "members":{
        "TLSInspectionConfigurationArn":{"shape":"ResourceArn"},
        "TLSInspectionConfigurationName":{"shape":"ResourceName"},
        "TLSInspectionConfiguration":{"shape":"TLSInspectionConfiguration"},
        "Description":{"shape":"Description"},
        "EncryptionConfiguration":{"shape":"EncryptionConfiguration"},
        "UpdateToken":{"shape":"UpdateToken"}
      }
    },
    "UpdateTLSInspectionConfigurationResponse":{
      "type":"structure",
      "required":[
        "UpdateToken",
        "TLSInspectionConfigurationResponse"
      ],
      "members":{
        "UpdateToken":{"shape":"UpdateToken"},
        "TLSInspectionConfigurationResponse":{"shape":"TLSInspectionConfigurationResponse"}
      }
    },
    "UpdateToken":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":"^([0-9a-f]{8})-([0-9a-f]{4}-){3}([0-9a-f]{12})$"
    },
    "VariableDefinition":{
      "type":"string",
      "min":1,
      "pattern":"^.*$"
    },
    "VariableDefinitionList":{
      "type":"list",
      "member":{"shape":"VariableDefinition"}
    },
    "VpcEndpointAssociation":{
      "type":"structure",
      "required":[
        "VpcEndpointAssociationArn",
        "FirewallArn",
        "VpcId",
        "SubnetMapping"
      ],
      "members":{
        "VpcEndpointAssociationId":{"shape":"ResourceId"},
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"},
        "FirewallArn":{"shape":"ResourceArn"},
        "VpcId":{"shape":"VpcId"},
        "SubnetMapping":{"shape":"SubnetMapping"},
        "Description":{"shape":"Description"},
        "Tags":{"shape":"TagList"}
      }
    },
    "VpcEndpointAssociationMetadata":{
      "type":"structure",
      "members":{
        "VpcEndpointAssociationArn":{"shape":"ResourceArn"}
      }
    },
    "VpcEndpointAssociationStatus":{
      "type":"structure",
      "required":["Status"],
      "members":{
        "Status":{"shape":"FirewallStatusValue"},
        "AssociationSyncState":{"shape":"AssociationSyncState"}
      }
    },
    "VpcEndpointAssociations":{
      "type":"list",
      "member":{"shape":"VpcEndpointAssociationMetadata"}
    },
    "VpcEndpointId":{
      "type":"string",
      "max":256,
      "min":5,
      "pattern":"^vpce-[a-zA-Z0-9]*$"
    },
    "VpcId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"^vpc-[0-9a-f]+$"
    },
    "VpcIds":{
      "type":"list",
      "member":{"shape":"VpcId"}
    }
  }
}
