@datafire/amazonaws_wafv2
Client library for AWS WAFV2
Installation and Usage
npm install --save @datafire/amazonaws_wafv2
let amazonaws_wafv2 = require('@datafire/amazonaws_wafv2').create({
accessKeyId: "",
secretAccessKey: "",
region: ""
});
.then(data => {
console.log(data);
});
Description
This is the latest version of the AWS WAF API, released in November, 2019. The names of the entities that you use to access this API, like endpoints and namespaces, all have the versioning information added, like "V2" or "v2", to distinguish from the prior version. We recommend migrating your resources to this version, because it has a number of significant improvements.
If you used AWS WAF prior to this release, you can't use this AWS WAFV2 API to access any AWS WAF resources that you created before. You can access your old rules, web ACLs, and other AWS WAF resources only through the AWS WAF Classic APIs. The AWS WAF Classic APIs have retained the prior names, endpoints, and namespaces.
For information, including how to migrate your AWS WAF resources to this version, see the AWS WAF Developer Guide.
AWS WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API. AWS WAF also lets you control access to your content. Based on conditions that you specify, such as the IP addresses that requests originate from or the values of query strings, the API Gateway REST API, CloudFront distribution, the Application Load Balancer, or the AWS AppSync GraphQL API responds to requests either with the requested content or with an HTTP 403 status code (Forbidden). You also can configure CloudFront to return a custom error page when a request is blocked.
This API guide is for developers who need detailed information about AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use AWS WAF, see the AWS WAF Developer Guide.
You can make calls using the endpoints listed in AWS Service Endpoints for AWS WAF.
-
For regional applications, you can use any of the endpoints in the list. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.
-
For AWS CloudFront applications, you must use the API endpoint listed for US East (N. Virginia): us-east-1.
Alternatively, you can use one of the AWS SDKs to access an API that's tailored to the programming language or platform that you're using. For more information, see AWS SDKs.
We currently provide two versions of the AWS WAF API: this API and the prior versions, the classic AWS WAF APIs. This new API provides the same functionality as the older versions, with the following major improvements:
-
You use one API for both global and regional applications. Where you need to distinguish the scope, you specify a
Scope
parameter and set it toCLOUDFRONT
orREGIONAL
. -
You can define a Web ACL or rule group with a single call, and update it with a single call. You define all rule specifications in JSON format, and pass them to your rule group or Web ACL calls.
-
The limits AWS WAF places on the use of rules more closely reflects the cost of running each type of rule. Rule groups include capacity settings, so you know the maximum cost of a rule group when you use it.
Actions
AssociateWebACL
amazonaws_wafv2.AssociateWebACL({
"WebACLArn": null,
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
- WebACLArn required
Output
- output AssociateWebACLResponse
CheckCapacity
amazonaws_wafv2.CheckCapacity({
"Scope": null,
"Rules": null
}, context)
Input
- input
object
- Rules required
- items Rule
- Scope required
- Rules required
Output
- output CheckCapacityResponse
CreateIPSet
amazonaws_wafv2.CreateIPSet({
"Name": null,
"Scope": null,
"IPAddressVersion": null,
"Addresses": null
}, context)
Input
- input
object
Output
- output CreateIPSetResponse
CreateRegexPatternSet
amazonaws_wafv2.CreateRegexPatternSet({
"Name": null,
"Scope": null,
"RegularExpressionList": null
}, context)
Input
- input
object
Output
CreateRuleGroup
amazonaws_wafv2.CreateRuleGroup({
"Name": null,
"Scope": null,
"Capacity": null,
"VisibilityConfig": null
}, context)
Input
- input
object
Output
- output CreateRuleGroupResponse
CreateWebACL
amazonaws_wafv2.CreateWebACL({
"Name": null,
"Scope": null,
"DefaultAction": null,
"VisibilityConfig": null
}, context)
Input
- input
object
Output
- output CreateWebACLResponse
DeleteFirewallManagerRuleGroups
amazonaws_wafv2.DeleteFirewallManagerRuleGroups({
"WebACLArn": null,
"WebACLLockToken": null
}, context)
Input
- input
object
- WebACLArn required
- WebACLLockToken required
Output
DeleteIPSet
amazonaws_wafv2.DeleteIPSet({
"Name": null,
"Scope": null,
"Id": null,
"LockToken": null
}, context)
Input
- input
object
- Id required
- LockToken required
- Name required
- Scope required
Output
- output DeleteIPSetResponse
DeleteLoggingConfiguration
amazonaws_wafv2.DeleteLoggingConfiguration({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
DeletePermissionPolicy
amazonaws_wafv2.DeletePermissionPolicy({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
DeleteRegexPatternSet
amazonaws_wafv2.DeleteRegexPatternSet({
"Name": null,
"Scope": null,
"Id": null,
"LockToken": null
}, context)
Input
- input
object
- Id required
- LockToken required
- Name required
- Scope required
Output
DeleteRuleGroup
amazonaws_wafv2.DeleteRuleGroup({
"Name": null,
"Scope": null,
"Id": null,
"LockToken": null
}, context)
Input
- input
object
- Id required
- LockToken required
- Name required
- Scope required
Output
- output DeleteRuleGroupResponse
DeleteWebACL
amazonaws_wafv2.DeleteWebACL({
"Name": null,
"Scope": null,
"Id": null,
"LockToken": null
}, context)
Input
- input
object
- Id required
- LockToken required
- Name required
- Scope required
Output
- output DeleteWebACLResponse
DescribeManagedRuleGroup
amazonaws_wafv2.DescribeManagedRuleGroup({
"VendorName": null,
"Name": null,
"Scope": null
}, context)
Input
- input
object
- Name required
- Scope required
- VendorName required
Output
DisassociateWebACL
amazonaws_wafv2.DisassociateWebACL({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
- output DisassociateWebACLResponse
GetIPSet
amazonaws_wafv2.GetIPSet({
"Name": null,
"Scope": null,
"Id": null
}, context)
Input
- input
object
- Id required
- Name required
- Scope required
Output
- output GetIPSetResponse
GetLoggingConfiguration
amazonaws_wafv2.GetLoggingConfiguration({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
GetPermissionPolicy
amazonaws_wafv2.GetPermissionPolicy({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
- output GetPermissionPolicyResponse
GetRateBasedStatementManagedKeys
amazonaws_wafv2.GetRateBasedStatementManagedKeys({
"Scope": null,
"WebACLName": null,
"WebACLId": null,
"RuleName": null
}, context)
Input
- input
object
- RuleName required
- Scope required
- WebACLId required
- WebACLName required
Output
GetRegexPatternSet
amazonaws_wafv2.GetRegexPatternSet({
"Name": null,
"Scope": null,
"Id": null
}, context)
Input
- input
object
- Id required
- Name required
- Scope required
Output
- output GetRegexPatternSetResponse
GetRuleGroup
amazonaws_wafv2.GetRuleGroup({
"Name": null,
"Scope": null,
"Id": null
}, context)
Input
- input
object
- Id required
- Name required
- Scope required
Output
- output GetRuleGroupResponse
GetSampledRequests
amazonaws_wafv2.GetSampledRequests({
"WebAclArn": null,
"RuleMetricName": null,
"Scope": null,
"TimeWindow": null,
"MaxItems": null
}, context)
Input
- input
object
- MaxItems required
- RuleMetricName required
- Scope required
- TimeWindow required
- EndTime required
- StartTime required
- WebAclArn required
Output
- output GetSampledRequestsResponse
GetWebACL
amazonaws_wafv2.GetWebACL({
"Name": null,
"Scope": null,
"Id": null
}, context)
Input
- input
object
- Id required
- Name required
- Scope required
Output
- output GetWebACLResponse
GetWebACLForResource
amazonaws_wafv2.GetWebACLForResource({
"ResourceArn": null
}, context)
Input
- input
object
- ResourceArn required
Output
- output GetWebACLForResourceResponse
ListAvailableManagedRuleGroups
amazonaws_wafv2.ListAvailableManagedRuleGroups({
"Scope": null
}, context)
Input
- input
object
- Limit
- NextMarker
- Scope required
Output
ListIPSets
amazonaws_wafv2.ListIPSets({
"Scope": null
}, context)
Input
- input
object
- Limit
- NextMarker
- Scope required
Output
- output ListIPSetsResponse
ListLoggingConfigurations
amazonaws_wafv2.ListLoggingConfigurations({}, context)
Input
- input
object
- Limit
- NextMarker
- Scope
Output
ListRegexPatternSets
amazonaws_wafv2.ListRegexPatternSets({
"Scope": null
}, context)
Input
- input
object
- Limit
- NextMarker
- Scope required
Output
- output ListRegexPatternSetsResponse
ListResourcesForWebACL
amazonaws_wafv2.ListResourcesForWebACL({
"WebACLArn": null
}, context)
Input
- input
object
- ResourceType
- WebACLArn required
Output
ListRuleGroups
amazonaws_wafv2.ListRuleGroups({
"Scope": null
}, context)
Input
- input
object
- Limit
- NextMarker
- Scope required
Output
- output ListRuleGroupsResponse
ListTagsForResource
amazonaws_wafv2.ListTagsForResource({
"ResourceARN": null
}, context)
Input
- input
object
- Limit
- NextMarker
- ResourceARN required
Output
- output ListTagsForResourceResponse
ListWebACLs
amazonaws_wafv2.ListWebACLs({
"Scope": null
}, context)
Input
- input
object
- Limit
- NextMarker
- Scope required
Output
- output ListWebACLsResponse
PutLoggingConfiguration
amazonaws_wafv2.PutLoggingConfiguration({
"LoggingConfiguration": null
}, context)
Input
- input
object
- LoggingConfiguration required
- LogDestinationConfigs required
- items ResourceArn
- ManagedByFirewallManager
- RedactedFields
- items FieldToMatch
- ResourceArn required
- LogDestinationConfigs required
- LoggingConfiguration required
Output
PutPermissionPolicy
amazonaws_wafv2.PutPermissionPolicy({
"ResourceArn": null,
"Policy": null
}, context)
Input
- input
object
- Policy required
- ResourceArn required
Output
- output PutPermissionPolicyResponse
TagResource
amazonaws_wafv2.TagResource({
"ResourceARN": null,
"Tags": null
}, context)
Input
- input
object
- ResourceARN required
- Tags required
- items Tag
Output
- output TagResourceResponse
UntagResource
amazonaws_wafv2.UntagResource({
"ResourceARN": null,
"TagKeys": null
}, context)
Input
- input
object
- ResourceARN required
- TagKeys required
- items TagKey
Output
- output UntagResourceResponse
UpdateIPSet
amazonaws_wafv2.UpdateIPSet({
"Name": null,
"Scope": null,
"Id": null,
"Addresses": null,
"LockToken": null
}, context)
Input
- input
object
- Addresses required
- items IPAddress
- Description
- Id required
- LockToken required
- Name required
- Scope required
- Addresses required
Output
- output UpdateIPSetResponse
UpdateRegexPatternSet
amazonaws_wafv2.UpdateRegexPatternSet({
"Name": null,
"Scope": null,
"Id": null,
"RegularExpressionList": null,
"LockToken": null
}, context)
Input
- input
object
- Description
- Id required
- LockToken required
- Name required
- RegularExpressionList required
- items Regex
- Scope required
Output
UpdateRuleGroup
amazonaws_wafv2.UpdateRuleGroup({
"Name": null,
"Scope": null,
"Id": null,
"VisibilityConfig": null,
"LockToken": null
}, context)
Input
- input
object
- Description
- Id required
- LockToken required
- Name required
- Rules
- items Rule
- Scope required
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
Output
- output UpdateRuleGroupResponse
UpdateWebACL
amazonaws_wafv2.UpdateWebACL({
"Name": null,
"Scope": null,
"Id": null,
"DefaultAction": null,
"VisibilityConfig": null,
"LockToken": null
}, context)
Input
- input
object
- DefaultAction required
- Allow
- Block
- Description
- Id required
- LockToken required
- Name required
- Rules
- items Rule
- Scope required
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
- DefaultAction required
Output
- output UpdateWebACLResponse
Definitions
Action
- Action
string
AllQueryArguments
- AllQueryArguments
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
All query arguments of a web request.
This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
AllowAction
- AllowAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Specifies that AWS WAF should allow requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
AndStatement
- AndStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A logical rule statement used to combine other rule statements with AND logic. You provide more than one Statement within the
AndStatement
.- Statements required
- items Statement
- Statements required
AssociateWebACLRequest
- AssociateWebACLRequest
object
- ResourceArn required
- WebACLArn required
AssociateWebACLResponse
- AssociateWebACLResponse
object
BlockAction
- BlockAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Specifies that AWS WAF should block requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
Body
- Body
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The body of a web request. This immediately follows the request headers.
This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
Boolean
- Boolean
boolean
ByteMatchStatement
- ByteMatchStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement that defines a string match search for AWS WAF to apply to web requests. The byte match statement provides the bytes to search for, the location in requests that you want AWS WAF to search, and other settings. The bytes to search for are typically a string that corresponds with ASCII characters. In the AWS WAF console and the developer guide, this is refered to as a string match statement.
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
CapacityUnit
- CapacityUnit
integer
CheckCapacityRequest
- CheckCapacityRequest
object
- Rules required
- items Rule
- Scope required
- Rules required
CheckCapacityResponse
- CheckCapacityResponse
object
- Capacity
ComparisonOperator
- ComparisonOperator
string
(values: EQ, NE, LE, LT, GE, GT)
ConsumedCapacity
- ConsumedCapacity
integer
CountAction
- CountAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Specifies that AWS WAF should count requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
Country
- Country
string
CountryCode
- CountryCode
string
(values: AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, KH, CM, CA, CV, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MK, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SZ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW)
CountryCodes
- CountryCodes
array
- items CountryCode
CreateIPSetRequest
- CreateIPSetRequest
object
CreateIPSetResponse
- CreateIPSetResponse
object
- Summary
- ARN
- Description
- Id
- LockToken
- Name
- Summary
CreateRegexPatternSetRequest
- CreateRegexPatternSetRequest
object
CreateRegexPatternSetResponse
- CreateRegexPatternSetResponse
object
- Summary
- ARN
- Description
- Id
- LockToken
- Name
- Summary
CreateRuleGroupRequest
- CreateRuleGroupRequest
object
CreateRuleGroupResponse
- CreateRuleGroupResponse
object
- Summary
- ARN
- Description
- Id
- LockToken
- Name
- Summary
CreateWebACLRequest
- CreateWebACLRequest
object
CreateWebACLResponse
- CreateWebACLResponse
object
- Summary
- ARN
- Description
- Id
- LockToken
- Name
- Summary
DefaultAction
- DefaultAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
In a WebACL, this is the action that you want AWS WAF to perform when a web request doesn't match any of the rules in the
WebACL
. The default action must be a terminating action, so count is not allowed.- Allow
- Block
DeleteFirewallManagerRuleGroupsRequest
- DeleteFirewallManagerRuleGroupsRequest
object
- WebACLArn required
- WebACLLockToken required
DeleteFirewallManagerRuleGroupsResponse
- DeleteFirewallManagerRuleGroupsResponse
object
- NextWebACLLockToken
DeleteIPSetRequest
- DeleteIPSetRequest
object
- Id required
- LockToken required
- Name required
- Scope required
DeleteIPSetResponse
- DeleteIPSetResponse
object
DeleteLoggingConfigurationRequest
- DeleteLoggingConfigurationRequest
object
- ResourceArn required
DeleteLoggingConfigurationResponse
- DeleteLoggingConfigurationResponse
object
DeletePermissionPolicyRequest
- DeletePermissionPolicyRequest
object
- ResourceArn required
DeletePermissionPolicyResponse
- DeletePermissionPolicyResponse
object
DeleteRegexPatternSetRequest
- DeleteRegexPatternSetRequest
object
- Id required
- LockToken required
- Name required
- Scope required
DeleteRegexPatternSetResponse
- DeleteRegexPatternSetResponse
object
DeleteRuleGroupRequest
- DeleteRuleGroupRequest
object
- Id required
- LockToken required
- Name required
- Scope required
DeleteRuleGroupResponse
- DeleteRuleGroupResponse
object
DeleteWebACLRequest
- DeleteWebACLRequest
object
- Id required
- LockToken required
- Name required
- Scope required
DeleteWebACLResponse
- DeleteWebACLResponse
object
DescribeManagedRuleGroupRequest
- DescribeManagedRuleGroupRequest
object
- Name required
- Scope required
- VendorName required
DescribeManagedRuleGroupResponse
- DescribeManagedRuleGroupResponse
object
- Capacity
- Rules
- items RuleSummary
DisassociateWebACLRequest
- DisassociateWebACLRequest
object
- ResourceArn required
DisassociateWebACLResponse
- DisassociateWebACLResponse
object
EntityDescription
- EntityDescription
string
EntityId
- EntityId
string
EntityName
- EntityName
string
ExcludedRule
- ExcludedRule
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Specifies a single rule to exclude from the rule group. Excluding a rule overrides its action setting for the rule group in the web ACL, setting it to
COUNT
. This effectively excludes the rule from acting on web requests.- Name required
ExcludedRules
- ExcludedRules
array
- items ExcludedRule
FallbackBehavior
- FallbackBehavior
string
(values: MATCH, NO_MATCH)
FieldToMatch
- FieldToMatch
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The part of a web request that you want AWS WAF to inspect. Include the single
FieldToMatch
type that you want to inspect, with additional specifications as needed, according to the type. You specify a single request component inFieldToMatch
for each rule statement that requires it. To inspect more than one component of a web request, create a separate rule statement for each component.- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
FieldToMatchData
- FieldToMatchData
string
FirewallManagerRuleGroup
- FirewallManagerRuleGroup
object
: A rule group that's defined for an AWS Firewall Manager WAF policy.- FirewallManagerStatement required
- ManagedRuleGroupStatement ManagedRuleGroupStatement
- RuleGroupReferenceStatement RuleGroupReferenceStatement
- Name required
- OverrideAction required OverrideAction
- Priority required
- VisibilityConfig required VisibilityConfig
- FirewallManagerStatement required
FirewallManagerRuleGroups
- FirewallManagerRuleGroups
array
- items FirewallManagerRuleGroup
FirewallManagerStatement
- FirewallManagerStatement
object
: The processing guidance for an AWS Firewall Manager rule. This is like a regular rule Statement, but it can only contain a rule group reference.- ManagedRuleGroupStatement ManagedRuleGroupStatement
- RuleGroupReferenceStatement RuleGroupReferenceStatement
ForwardedIPConfig
- ForwardedIPConfig
object
:The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
This configuration is used for GeoMatchStatement and RateBasedStatement. For IPSetReferenceStatement, use IPSetForwardedIPConfig instead.
AWS WAF only evaluates the first IP address found in the specified HTTP header.
- FallbackBehavior required
- HeaderName required
ForwardedIPHeaderName
- ForwardedIPHeaderName
string
ForwardedIPPosition
- ForwardedIPPosition
string
(values: FIRST, LAST, ANY)
GeoMatchStatement
- GeoMatchStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to identify web requests based on country of origin.
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
GetIPSetRequest
- GetIPSetRequest
object
- Id required
- Name required
- Scope required
GetIPSetResponse
- GetIPSetResponse
object
- IPSet
- ARN required
- Addresses required
- items IPAddress
- Description
- IPAddressVersion required
- Id required
- Name required
- LockToken
- IPSet
GetLoggingConfigurationRequest
- GetLoggingConfigurationRequest
object
- ResourceArn required
GetLoggingConfigurationResponse
- GetLoggingConfigurationResponse
object
- LoggingConfiguration
- LogDestinationConfigs required
- items ResourceArn
- ManagedByFirewallManager
- RedactedFields
- items FieldToMatch
- ResourceArn required
- LogDestinationConfigs required
- LoggingConfiguration
GetPermissionPolicyRequest
- GetPermissionPolicyRequest
object
- ResourceArn required
GetPermissionPolicyResponse
- GetPermissionPolicyResponse
object
- Policy
GetRateBasedStatementManagedKeysRequest
- GetRateBasedStatementManagedKeysRequest
object
- RuleName required
- Scope required
- WebACLId required
- WebACLName required
GetRateBasedStatementManagedKeysResponse
- GetRateBasedStatementManagedKeysResponse
object
- ManagedKeysIPV4
- Addresses
- items IPAddress
- IPAddressVersion IPAddressVersion
- Addresses
- ManagedKeysIPV6
- Addresses
- items IPAddress
- IPAddressVersion IPAddressVersion
- Addresses
- ManagedKeysIPV4
GetRegexPatternSetRequest
- GetRegexPatternSetRequest
object
- Id required
- Name required
- Scope required
GetRegexPatternSetResponse
- GetRegexPatternSetResponse
object
- LockToken
- RegexPatternSet
- ARN
- Description
- Id
- Name
- RegularExpressionList
- items Regex
GetRuleGroupRequest
- GetRuleGroupRequest
object
- Id required
- Name required
- Scope required
GetRuleGroupResponse
- GetRuleGroupResponse
object
- LockToken
- RuleGroup
- ARN required
- Capacity required
- Description
- Id required
- Name required
- Rules
- items Rule
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
GetSampledRequestsRequest
- GetSampledRequestsRequest
object
- MaxItems required
- RuleMetricName required
- Scope required
- TimeWindow required
- EndTime required
- StartTime required
- WebAclArn required
GetSampledRequestsResponse
- GetSampledRequestsResponse
object
- PopulationSize
- SampledRequests
- items SampledHTTPRequest
- TimeWindow
- EndTime required
- StartTime required
GetWebACLForResourceRequest
- GetWebACLForResourceRequest
object
- ResourceArn required
GetWebACLForResourceResponse
- GetWebACLForResourceResponse
object
- WebACL
- ARN required
- Capacity
- DefaultAction required
- Allow
- Block
- Description
- Id required
- ManagedByFirewallManager
- Name required
- PostProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- PreProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- Rules
- items Rule
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
- WebACL
GetWebACLRequest
- GetWebACLRequest
object
- Id required
- Name required
- Scope required
GetWebACLResponse
- GetWebACLResponse
object
- LockToken
- WebACL
- ARN required
- Capacity
- DefaultAction required
- Allow
- Block
- Description
- Id required
- ManagedByFirewallManager
- Name required
- PostProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- PreProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- Rules
- items Rule
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
HTTPHeader
- HTTPHeader
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Part of the response from GetSampledRequests. This is a complex type that appears as
Headers
in the response syntax.HTTPHeader
contains the names and values of all of the headers that appear in one of the web requests.- Name
- Value
HTTPHeaders
- HTTPHeaders
array
- items HTTPHeader
HTTPMethod
- HTTPMethod
string
HTTPRequest
- HTTPRequest
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Part of the response from GetSampledRequests. This is a complex type that appears as
Request
in the response syntax.HTTPRequest
contains information about one of the web requests.- ClientIP
- Country
- HTTPVersion
- Headers
- items HTTPHeader
- Method
- URI
HTTPVersion
- HTTPVersion
string
HeaderName
- HeaderName
string
HeaderValue
- HeaderValue
string
IPAddress
- IPAddress
string
IPAddressVersion
- IPAddressVersion
string
(values: IPV4, IPV6)
IPAddresses
- IPAddresses
array
- items IPAddress
IPSet
- IPSet
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Contains one or more IP addresses or blocks of IP addresses specified in Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports any CIDR range. For information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.
AWS WAF assigns an ARN to each
IPSet
that you create. To use an IP set in a rule, you provide the ARN to the Rule statement IPSetReferenceStatement.- ARN required
- Addresses required
- items IPAddress
- Description
- IPAddressVersion required
- Id required
- Name required
IPSetForwardedIPConfig
- IPSetForwardedIPConfig
object
:The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name.
If the specified header isn't present in the request, AWS WAF doesn't apply the rule to the web request at all.
This configuration is used only for IPSetReferenceStatement. For GeoMatchStatement and RateBasedStatement, use ForwardedIPConfig instead.
- FallbackBehavior required
- HeaderName required
- Position required
IPSetReferenceStatement
- IPSetReferenceStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to detect web requests coming from particular IP addresses or address ranges. To use this, create an IPSet that specifies the addresses you want to detect, then use the ARN of that set in this statement. To create an IP set, see CreateIPSet.
Each IP set rule statement references an IP set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
IPSetSummaries
- IPSetSummaries
array
- items IPSetSummary
IPSetSummary
- IPSetSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about an IPSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage an
IPSet
, and the ARN, that you provide to the IPSetReferenceStatement to use the address set in a Rule.- ARN
- Description
- Id
- LockToken
- Name
IPString
- IPString
string
ListAvailableManagedRuleGroupsRequest
- ListAvailableManagedRuleGroupsRequest
object
- Limit
- NextMarker
- Scope required
ListAvailableManagedRuleGroupsResponse
- ListAvailableManagedRuleGroupsResponse
object
- ManagedRuleGroups
- items ManagedRuleGroupSummary
- NextMarker
- ManagedRuleGroups
ListIPSetsRequest
- ListIPSetsRequest
object
- Limit
- NextMarker
- Scope required
ListIPSetsResponse
- ListIPSetsResponse
object
- IPSets
- items IPSetSummary
- NextMarker
- IPSets
ListLoggingConfigurationsRequest
- ListLoggingConfigurationsRequest
object
- Limit
- NextMarker
- Scope
ListLoggingConfigurationsResponse
- ListLoggingConfigurationsResponse
object
- LoggingConfigurations
- items LoggingConfiguration
- NextMarker
- LoggingConfigurations
ListMaxItems
- ListMaxItems
integer
ListRegexPatternSetsRequest
- ListRegexPatternSetsRequest
object
- Limit
- NextMarker
- Scope required
ListRegexPatternSetsResponse
- ListRegexPatternSetsResponse
object
- NextMarker
- RegexPatternSets
- items RegexPatternSetSummary
ListResourcesForWebACLRequest
- ListResourcesForWebACLRequest
object
- ResourceType
- WebACLArn required
ListResourcesForWebACLResponse
- ListResourcesForWebACLResponse
object
- ResourceArns
- items ResourceArn
- ResourceArns
ListRuleGroupsRequest
- ListRuleGroupsRequest
object
- Limit
- NextMarker
- Scope required
ListRuleGroupsResponse
- ListRuleGroupsResponse
object
- NextMarker
- RuleGroups
- items RuleGroupSummary
ListTagsForResourceRequest
- ListTagsForResourceRequest
object
- Limit
- NextMarker
- ResourceARN required
ListTagsForResourceResponse
- ListTagsForResourceResponse
object
- NextMarker
- TagInfoForResource
- ResourceARN
- TagList
- items Tag
ListWebACLsRequest
- ListWebACLsRequest
object
- Limit
- NextMarker
- Scope required
ListWebACLsResponse
- ListWebACLsResponse
object
- NextMarker
- WebACLs
- items WebACLSummary
LockToken
- LockToken
string
LogDestinationConfigs
- LogDestinationConfigs
array
- items ResourceArn
LoggingConfiguration
- LoggingConfiguration
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Defines an association between Amazon Kinesis Data Firehose destinations and a web ACL resource, for logging from AWS WAF. As part of the association, you can specify parts of the standard logging fields to keep out of the logs.
- LogDestinationConfigs required
- items ResourceArn
- ManagedByFirewallManager
- RedactedFields
- items FieldToMatch
- ResourceArn required
- LogDestinationConfigs required
LoggingConfigurations
- LoggingConfigurations
array
- items LoggingConfiguration
ManagedRuleGroupStatement
- ManagedRuleGroupStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to run the rules that are defined in a managed rule group. To use this, provide the vendor name and the name of the rule group in this statement. You can retrieve the required names by calling ListAvailableManagedRuleGroups.
You can't nest a
ManagedRuleGroupStatement
, for example for use inside aNotStatement
orOrStatement
. It can only be referenced as a top-level statement within a rule.- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
ManagedRuleGroupSummaries
- ManagedRuleGroupSummaries
array
- items ManagedRuleGroupSummary
ManagedRuleGroupSummary
- ManagedRuleGroupSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about a managed rule group, returned by ListAvailableManagedRuleGroups. This provides information like the name and vendor name, that you provide when you add a ManagedRuleGroupStatement to a web ACL. Managed rule groups include AWS Managed Rules rule groups, which are free of charge to AWS WAF customers, and AWS Marketplace managed rule groups, which you can subscribe to through AWS Marketplace.
- Description
- Name
- VendorName
Method
- Method
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The HTTP method of a web request. The method indicates the type of operation that the request is asking the origin to perform.
This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
MetricName
- MetricName
string
NextMarker
- NextMarker
string
NoneAction
- NoneAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Specifies that AWS WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the
OverrideAction
on the Rule.This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
NotStatement
- NotStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A logical rule statement used to negate the results of another rule statement. You provide one Statement within the
NotStatement
.- Statement required
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
- Statement required
OrStatement
- OrStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the
OrStatement
.- Statements required
- items Statement
- Statements required
OverrideAction
- OverrideAction
object
:The override action to apply to the rules in a rule group. Used only for rule statements that reference a rule group, like
RuleGroupReferenceStatement
andManagedRuleGroupStatement
.Set the override action to none to leave the rule actions in effect. Set it to count to only count matches, regardless of the rule action settings.
In a Rule, you must specify either this
OverrideAction
setting or the ruleAction
setting, but not both:-
If the rule statement references a rule group, use this override action setting and not the action setting.
-
If the rule statement does not reference a rule group, use the rule action setting and not this rule override action setting.
- Count
- None
-
PaginationLimit
- PaginationLimit
integer
PolicyString
- PolicyString
string
PopulationSize
- PopulationSize
integer
PositionalConstraint
- PositionalConstraint
string
(values: EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD)
PutLoggingConfigurationRequest
- PutLoggingConfigurationRequest
object
- LoggingConfiguration required
- LogDestinationConfigs required
- items ResourceArn
- ManagedByFirewallManager
- RedactedFields
- items FieldToMatch
- ResourceArn required
- LogDestinationConfigs required
- LoggingConfiguration required
PutLoggingConfigurationResponse
- PutLoggingConfigurationResponse
object
- LoggingConfiguration
- LogDestinationConfigs required
- items ResourceArn
- ManagedByFirewallManager
- RedactedFields
- items FieldToMatch
- ResourceArn required
- LogDestinationConfigs required
- LoggingConfiguration
PutPermissionPolicyRequest
- PutPermissionPolicyRequest
object
- Policy required
- ResourceArn required
PutPermissionPolicyResponse
- PutPermissionPolicyResponse
object
QueryString
- QueryString
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The query string of a web request. This is the part of a URL that appears after a
?
character, if any.This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
RateBasedStatement
- RateBasedStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rate-based rule tracks the rate of requests for each originating IP address, and triggers the rule action when the rate exceeds a limit that you specify on the number of requests in any 5-minute time span. You can use this to put a temporary block on requests from an IP address that is sending excessive requests.
When the rule action triggers, AWS WAF blocks additional requests from the IP address until the request rate falls below the limit.
You can optionally nest another statement inside the rate-based statement, to narrow the scope of the rule so that it only counts requests that match the nested statement. For example, based on recent requests that you have seen from an attacker, you might create a rate-based rule with a nested AND rule statement that contains the following nested statements:
-
An IP match statement with an IP set that specified the address 192.0.2.44.
-
A string match statement that searches in the User-Agent header for the string BadBot.
In this rate-based rule, you also define a rate limit. For this example, the rate limit is 1,000. Requests that meet both of the conditions in the statements are counted. If the count exceeds 1,000 requests per five minutes, the rule action triggers. Requests that do not meet both conditions are not counted towards the rate limit and are not affected by this rule.
You cannot nest a
RateBasedStatement
, for example for use inside aNotStatement
orOrStatement
. It can only be referenced as a top-level statement within a rule.- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
-
RateBasedStatementAggregateKeyType
- RateBasedStatementAggregateKeyType
string
(values: IP, FORWARDED_IP)
RateBasedStatementManagedKeysIPSet
- RateBasedStatementManagedKeysIPSet
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The set of IP addresses that are currently blocked for a rate-based statement.
- Addresses
- items IPAddress
- IPAddressVersion IPAddressVersion
- Addresses
RateLimit
- RateLimit
integer
RedactedFields
- RedactedFields
array
- items FieldToMatch
Regex
- Regex
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A single regular expression. This is used in a RegexPatternSet.
- RegexString
RegexPatternSet
- RegexPatternSet
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Contains one or more regular expressions.
AWS WAF assigns an ARN to each
RegexPatternSet
that you create. To use a set in a rule, you provide the ARN to the Rule statement RegexPatternSetReferenceStatement.- ARN
- Description
- Id
- Name
- RegularExpressionList
- items Regex
RegexPatternSetReferenceStatement
- RegexPatternSetReferenceStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to search web request components for matches with regular expressions. To use this, create a RegexPatternSet that specifies the expressions that you want to detect, then use the ARN of that set in this statement. A web request matches the pattern set rule statement if the request component matches any of the patterns in the set. To create a regex pattern set, see CreateRegexPatternSet.
Each regex pattern set rule statement references a regex pattern set. You create and maintain the set independent of your rules. This allows you to use the single set in multiple rules. When you update the referenced set, AWS WAF automatically updates all rules that reference it.
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
RegexPatternSetSummaries
- RegexPatternSetSummaries
array
- items RegexPatternSetSummary
RegexPatternSetSummary
- RegexPatternSetSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about a RegexPatternSet, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a
RegexPatternSet
, and the ARN, that you provide to the RegexPatternSetReferenceStatement to use the pattern set in a Rule.- ARN
- Description
- Id
- LockToken
- Name
RegexPatternString
- RegexPatternString
string
RegularExpressionList
- RegularExpressionList
array
- items Regex
ResourceArn
- ResourceArn
string
ResourceArns
- ResourceArns
array
- items ResourceArn
ResourceType
- ResourceType
string
(values: APPLICATION_LOAD_BALANCER, API_GATEWAY, APPSYNC)
Rule
- Rule
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. Each rule includes one top-level Statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
- Action
- Allow
- Block
- Count
- Name required
- OverrideAction
- Count
- None
- Priority required
- Statement required
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- PositionalConstraint required
- SearchString required
- TextTransformations required
- GeoMatchStatement
- CountryCodes
- ForwardedIPConfig
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- ManagedRuleGroupStatement
- ExcludedRules
- Name required
- VendorName required
- NotStatement
- Statement required
- OrStatement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- Limit required
- ScopeDownStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- TextTransformations required
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- Size required
- TextTransformations required
- SqliMatchStatement
- FieldToMatch required
- TextTransformations required
- XssMatchStatement
- FieldToMatch required
- TextTransformations required
- AndStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
- Action
RuleAction
- RuleAction
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The action that AWS WAF should take on a web request when it matches a rule's statement. Settings at the web ACL level can override the rule action setting.
- Allow
- Block
- Count
RuleGroup
- RuleGroup
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.
- ARN required
- Capacity required
- Description
- Id required
- Name required
- Rules
- items Rule
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
RuleGroupReferenceStatement
- RuleGroupReferenceStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement used to run the rules that are defined in a RuleGroup. To use this, create a rule group with your rules, then provide the ARN of the rule group in this statement.
You cannot nest a
RuleGroupReferenceStatement
, for example for use inside aNotStatement
orOrStatement
. It can only be referenced as a top-level statement within a rule.- ARN required
- ExcludedRules
- items ExcludedRule
RuleGroupSummaries
- RuleGroupSummaries
array
- items RuleGroupSummary
RuleGroupSummary
- RuleGroupSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about a RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a
RuleGroup
, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.- ARN
- Description
- Id
- LockToken
- Name
RulePriority
- RulePriority
integer
RuleSummaries
- RuleSummaries
array
- items RuleSummary
RuleSummary
- RuleSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about a Rule, returned by operations like DescribeManagedRuleGroup. This provides information like the ID, that you can use to retrieve and manage a
RuleGroup
, and the ARN, that you provide to the RuleGroupReferenceStatement to use the rule group in a Rule.- Action RuleAction
- Name
Rules
- Rules
array
- items Rule
SampleWeight
- SampleWeight
integer
SampledHTTPRequest
- SampledHTTPRequest
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Represents a single sampled web request. The response from GetSampledRequests includes a
SampledHTTPRequests
complex type that appears asSampledRequests
in the response syntax.SampledHTTPRequests
contains an array ofSampledHTTPRequest
objects.- Action
- Request required
- ClientIP
- Country
- HTTPVersion
- Headers
- items HTTPHeader
- Method
- URI
- RuleNameWithinRuleGroup
- Timestamp
- Weight required
SampledHTTPRequests
- SampledHTTPRequests
array
- items SampledHTTPRequest
Scope
- Scope
string
(values: CLOUDFRONT, REGIONAL)
SearchString
- SearchString
string
SingleHeader
- SingleHeader
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
One of the headers in a web request, identified by name, for example,
User-Agent
orReferer
. This setting isn't case sensitive.This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
- Name required
SingleQueryArgument
- SingleQueryArgument
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
One query argument in a web request, identified by name, for example UserName or SalesRegion. The name can be up to 30 characters long and isn't case sensitive.
- Name required
Size
- Size
integer
SizeConstraintStatement
- SizeConstraintStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement that compares a number of bytes against the size of a request component, using a comparison operator, such as greater than (>) or less than (<). For example, you can use a size constraint statement to look for query strings that are longer than 100 bytes.
If you configure AWS WAF to inspect the request body, AWS WAF inspects only the first 8192 bytes (8 KB). If the request body for your web requests never exceeds 8192 bytes, you can create a size constraint condition and block requests that have a request body greater than 8192 bytes.
If you choose URI for the value of Part of the request to filter on, the slash (/) in the URI counts as one character. For example, the URI
/logo.jpg
is nine characters long.- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
SqliMatchStatement
- SqliMatchStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Attackers sometimes insert malicious SQL code into web requests in an effort to extract data from your database. To allow or block web requests that appear to contain malicious SQL code, create one or more SQL injection match conditions. An SQL injection match condition identifies the part of web requests, such as the URI or the query string, that you want AWS WAF to inspect. Later in the process, when you create a web ACL, you specify whether to allow or block requests that appear to contain malicious SQL code.
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
Statement
- Statement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The processing guidance for a Rule, used by AWS WAF to determine whether a web request matches the rule.
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- ByteMatchStatement
- GeoMatchStatement
- IPSetReferenceStatement
- ManagedRuleGroupStatement
- NotStatement
- OrStatement
- RateBasedStatement
- RegexPatternSetReferenceStatement
- RuleGroupReferenceStatement
- SizeConstraintStatement
- SqliMatchStatement
- XssMatchStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- ByteMatchStatement
- GeoMatchStatement
- IPSetReferenceStatement
- ManagedRuleGroupStatement
- NotStatement
- OrStatement
- RateBasedStatement
- RegexPatternSetReferenceStatement
- RuleGroupReferenceStatement
- SizeConstraintStatement
- SqliMatchStatement
- XssMatchStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- Statements required
- items Statement
- Statements required
- ByteMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- PositionalConstraint required
- SearchString required
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- GeoMatchStatement
- CountryCodes
- items CountryCode
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- CountryCodes
- IPSetReferenceStatement
- ARN required
- IPSetForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Position required
- ManagedRuleGroupStatement
- ExcludedRules
- items ExcludedRule
- Name required
- VendorName required
- ExcludedRules
- NotStatement
- Statement required
- AndStatement
- ByteMatchStatement
- GeoMatchStatement
- IPSetReferenceStatement
- ManagedRuleGroupStatement
- NotStatement
- OrStatement
- RateBasedStatement
- RegexPatternSetReferenceStatement
- RuleGroupReferenceStatement
- SizeConstraintStatement
- SqliMatchStatement
- XssMatchStatement
- Statement required
- OrStatement
- Statements required
- items Statement
- Statements required
- RateBasedStatement
- AggregateKeyType required
- ForwardedIPConfig
- FallbackBehavior required
- HeaderName required
- Limit required
- ScopeDownStatement
- AndStatement
- ByteMatchStatement
- GeoMatchStatement
- IPSetReferenceStatement
- ManagedRuleGroupStatement
- NotStatement
- OrStatement
- RateBasedStatement
- RegexPatternSetReferenceStatement
- RuleGroupReferenceStatement
- SizeConstraintStatement
- SqliMatchStatement
- XssMatchStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- SingleQueryArgument
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
- RegexPatternSetReferenceStatement
- ARN required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- RuleGroupReferenceStatement
- ARN required
- ExcludedRules
- items ExcludedRule
- SizeConstraintStatement
- ComparisonOperator required
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- Size required
- TextTransformations required
- items TextTransformation
- SqliMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- XssMatchStatement
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required
- AndStatement
Statements
- Statements
array
- items Statement
Tag
- Tag
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
- Key required
- Value required
TagInfoForResource
- TagInfoForResource
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The collection of tagging definitions for an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as "environment", and the tag value represents a specific value within that category, such as "test," "development," or "production". Or you might set the tag key to "customer" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
- ResourceARN
- TagList
- items Tag
TagKey
- TagKey
string
TagKeyList
- TagKeyList
array
- items TagKey
TagList
- TagList
array
- items Tag
TagResourceRequest
- TagResourceRequest
object
- ResourceARN required
- Tags required
- items Tag
TagResourceResponse
- TagResourceResponse
object
TagValue
- TagValue
string
TextTransformation
- TextTransformation
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Text transformations eliminate some of the unusual formatting that attackers use in web requests in an effort to bypass detection.
- Priority required
- Type required
TextTransformationPriority
- TextTransformationPriority
integer
TextTransformationType
- TextTransformationType
string
(values: NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE)
TextTransformations
- TextTransformations
array
- items TextTransformation
TimeWindow
- TimeWindow
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
In a GetSampledRequests request, the
StartTime
andEndTime
objects specify the time range for which you want AWS WAF to return a sample of web requests.You must specify the times in Coordinated Universal Time (UTC) format. UTC format includes the special designator,
Z
. For example,"2016-09-27T14:50Z"
. You can specify any time range in the previous three hours.In a GetSampledRequests response, the
StartTime
andEndTime
objects specify the time range for which AWS WAF actually returned a sample of web requests. AWS WAF gets the specified number of requests from among the first 5,000 requests that your AWS resource receives during the specified time period. If your resource receives more than 5,000 requests during that period, AWS WAF stops sampling after the 5,000th request. In that case,EndTime
is the time that AWS WAF received the 5,000th request.- EndTime required
- StartTime required
Timestamp
- Timestamp
string
URIString
- URIString
string
UntagResourceRequest
- UntagResourceRequest
object
- ResourceARN required
- TagKeys required
- items TagKey
UntagResourceResponse
- UntagResourceResponse
object
UpdateIPSetRequest
- UpdateIPSetRequest
object
- Addresses required
- items IPAddress
- Description
- Id required
- LockToken required
- Name required
- Scope required
- Addresses required
UpdateIPSetResponse
- UpdateIPSetResponse
object
- NextLockToken
UpdateRegexPatternSetRequest
- UpdateRegexPatternSetRequest
object
- Description
- Id required
- LockToken required
- Name required
- RegularExpressionList required
- items Regex
- Scope required
UpdateRegexPatternSetResponse
- UpdateRegexPatternSetResponse
object
- NextLockToken
UpdateRuleGroupRequest
- UpdateRuleGroupRequest
object
- Description
- Id required
- LockToken required
- Name required
- Rules
- items Rule
- Scope required
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
UpdateRuleGroupResponse
- UpdateRuleGroupResponse
object
- NextLockToken
UpdateWebACLRequest
- UpdateWebACLRequest
object
- DefaultAction required
- Allow
- Block
- Description
- Id required
- LockToken required
- Name required
- Rules
- items Rule
- Scope required
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
- DefaultAction required
UpdateWebACLResponse
- UpdateWebACLResponse
object
- NextLockToken
UriPath
- UriPath
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
The path component of the URI of a web request. This is the part of a web request that identifies a resource, for example,
/images/daily-ad.jpg
.This is used only to indicate the web request component for AWS WAF to inspect, in the FieldToMatch specification.
VendorName
- VendorName
string
VisibilityConfig
- VisibilityConfig
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
Defines and enables Amazon CloudWatch metrics and web request sample collection.
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
WAFAssociatedItemException
WAFDuplicateItemException
WAFInternalErrorException
WAFInvalidOperationException
WAFInvalidParameterException
WAFInvalidPermissionPolicyException
WAFInvalidResourceException
WAFLimitsExceededException
WAFNonexistentItemException
WAFOptimisticLockException
WAFServiceLinkedRoleErrorException
WAFSubscriptionNotFoundException
WAFTagOperationException
WAFTagOperationInternalErrorException
WAFUnavailableEntityException
WebACL
- WebACL
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.
- ARN required
- Capacity
- DefaultAction required
- Allow
- Block
- Description
- Id required
- ManagedByFirewallManager
- Name required
- PostProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- PreProcessFirewallManagerRuleGroups
- items FirewallManagerRuleGroup
- Rules
- items Rule
- VisibilityConfig required
- CloudWatchMetricsEnabled required
- MetricName required
- SampledRequestsEnabled required
WebACLSummaries
- WebACLSummaries
array
- items WebACLSummary
WebACLSummary
- WebACLSummary
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
High-level information about a WebACL, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a
WebACL
, and the ARN, that you provide to operations like AssociateWebACL.- ARN
- Description
- Id
- LockToken
- Name
XssMatchStatement
- XssMatchStatement
object
:This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.
A rule statement that defines a cross-site scripting (XSS) match search for AWS WAF to apply to web requests. XSS attacks are those where the attacker uses vulnerabilities in a benign website as a vehicle to inject malicious client-site scripts into other legitimate web browsers. The XSS match statement provides the location in requests that you want AWS WAF to search and text transformations to use on the search area before AWS WAF searches for character sequences that are likely to be malicious strings.
- FieldToMatch required
- AllQueryArguments
- Body
- Method
- QueryString
- SingleHeader
- Name required
- SingleQueryArgument
- Name required
- UriPath
- TextTransformations required
- items TextTransformation
- FieldToMatch required