

# AWS WAFV2
<a name="API_Operations_AWS_WAFV2"></a>

The following actions are supported by AWS WAFV2:
+  [AssociateWebACL](API_AssociateWebACL.md) 
+  [CheckCapacity](API_CheckCapacity.md) 
+  [CreateAPIKey](API_CreateAPIKey.md) 
+  [CreateIPSet](API_CreateIPSet.md) 
+  [CreateRegexPatternSet](API_CreateRegexPatternSet.md) 
+  [CreateRuleGroup](API_CreateRuleGroup.md) 
+  [CreateWebACL](API_CreateWebACL.md) 
+  [DeleteAPIKey](API_DeleteAPIKey.md) 
+  [DeleteFirewallManagerRuleGroups](API_DeleteFirewallManagerRuleGroups.md) 
+  [DeleteIPSet](API_DeleteIPSet.md) 
+  [DeleteLoggingConfiguration](API_DeleteLoggingConfiguration.md) 
+  [DeletePermissionPolicy](API_DeletePermissionPolicy.md) 
+  [DeleteRegexPatternSet](API_DeleteRegexPatternSet.md) 
+  [DeleteRuleGroup](API_DeleteRuleGroup.md) 
+  [DeleteWebACL](API_DeleteWebACL.md) 
+  [DescribeAllManagedProducts](API_DescribeAllManagedProducts.md) 
+  [DescribeManagedProductsByVendor](API_DescribeManagedProductsByVendor.md) 
+  [DescribeManagedRuleGroup](API_DescribeManagedRuleGroup.md) 
+  [DisassociateWebACL](API_DisassociateWebACL.md) 
+  [GenerateMobileSdkReleaseUrl](API_GenerateMobileSdkReleaseUrl.md) 
+  [GetDecryptedAPIKey](API_GetDecryptedAPIKey.md) 
+  [GetIPSet](API_GetIPSet.md) 
+  [GetLoggingConfiguration](API_GetLoggingConfiguration.md) 
+  [GetManagedRuleSet](API_GetManagedRuleSet.md) 
+  [GetMobileSdkRelease](API_GetMobileSdkRelease.md) 
+  [GetPermissionPolicy](API_GetPermissionPolicy.md) 
+  [GetRateBasedStatementManagedKeys](API_GetRateBasedStatementManagedKeys.md) 
+  [GetRegexPatternSet](API_GetRegexPatternSet.md) 
+  [GetRuleGroup](API_GetRuleGroup.md) 
+  [GetSampledRequests](API_GetSampledRequests.md) 
+  [GetTopPathStatisticsByTraffic](API_GetTopPathStatisticsByTraffic.md) 
+  [GetWebACL](API_GetWebACL.md) 
+  [GetWebACLForResource](API_GetWebACLForResource.md) 
+  [ListAPIKeys](API_ListAPIKeys.md) 
+  [ListAvailableManagedRuleGroups](API_ListAvailableManagedRuleGroups.md) 
+  [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md) 
+  [ListIPSets](API_ListIPSets.md) 
+  [ListLoggingConfigurations](API_ListLoggingConfigurations.md) 
+  [ListManagedRuleSets](API_ListManagedRuleSets.md) 
+  [ListMobileSdkReleases](API_ListMobileSdkReleases.md) 
+  [ListRegexPatternSets](API_ListRegexPatternSets.md) 
+  [ListResourcesForWebACL](API_ListResourcesForWebACL.md) 
+  [ListRuleGroups](API_ListRuleGroups.md) 
+  [ListTagsForResource](API_ListTagsForResource.md) 
+  [ListWebACLs](API_ListWebACLs.md) 
+  [PutLoggingConfiguration](API_PutLoggingConfiguration.md) 
+  [PutManagedRuleSetVersions](API_PutManagedRuleSetVersions.md) 
+  [PutPermissionPolicy](API_PutPermissionPolicy.md) 
+  [TagResource](API_TagResource.md) 
+  [UntagResource](API_UntagResource.md) 
+  [UpdateIPSet](API_UpdateIPSet.md) 
+  [UpdateManagedRuleSetVersionExpiryDate](API_UpdateManagedRuleSetVersionExpiryDate.md) 
+  [UpdateRegexPatternSet](API_UpdateRegexPatternSet.md) 
+  [UpdateRuleGroup](API_UpdateRuleGroup.md) 
+  [UpdateWebACL](API_UpdateWebACL.md) 

# AssociateWebACL
<a name="API_AssociateWebACL"></a>

Associates a web ACL with a resource, to protect the resource. 

Use this for all resource types except for Amazon CloudFront distributions. For Amazon CloudFront, call `UpdateDistribution` for the distribution and provide the Amazon Resource Name (ARN) of the web ACL in the web ACL ID. For information, see [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in the *Amazon CloudFront Developer Guide*. 

 **Required permissions for customer-managed IAM policies** 

This call requires permissions that are specific to the protected resource type. For details, see [Permissions for AssociateWebACL](https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-AssociateWebACL) in the * AWS WAF Developer Guide*. 

 **Temporary inconsistencies during updates** 

When you create or change a web ACL or other AWS WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes. 

The following are examples of the temporary inconsistencies that you might notice during change propagation: 
+ After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable. 
+ After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
+ After you change a rule action setting, you might see the old action in some places and the new action in others. 
+ After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

## Request Syntax
<a name="API_AssociateWebACL_RequestSyntax"></a>

```
{
   "ResourceArn": "string",
   "WebACLArn": "string"
}
```

## Request Parameters
<a name="API_AssociateWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_AssociateWebACL_RequestSyntax) **   <a name="WAF-AssociateWebACL-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource to associate with the web ACL.   
The ARN must be in one of the following formats:  
+ For an Application Load Balancer: `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id ` 
+ For an Amazon API Gateway REST API: `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name ` 
+ For an AWS AppSync GraphQL API: `arn:partition:appsync:region:account-id:apis/GraphQLApiId ` 
+ For an Amazon Cognito user pool: `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id ` 
+ For an AWS App Runner service: `arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id ` 
+ For an AWS Verified Access instance: `arn:partition:ec2:region:account-id:verified-access-instance/instance-id ` 
+ For an AWS Amplify application: `arn:partition:amplify:region:account-id:apps/app-id ` 
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [WebACLArn](#API_AssociateWebACL_RequestSyntax) **   <a name="WAF-AssociateWebACL-request-WebACLArn"></a>
The Amazon Resource Name (ARN) of the web ACL that you want to associate with the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Elements
<a name="API_AssociateWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_AssociateWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFFeatureNotIncludedInPricingPlanException **   
The operation failed because the specified AWS WAF feature isn't supported by the CloudFront pricing plan associated with the web ACL.    
 ** DisallowedFeatures **   
The names of the disallowed AWS WAF features.
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_AssociateWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/AssociateWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/AssociateWebACL) 

# CheckCapacity
<a name="API_CheckCapacity"></a>

Returns the web ACL capacity unit (WCU) requirements for a specified scope and set of rules. You can use this to check the capacity requirements for the rules you want to use in a [RuleGroup](API_RuleGroup.md) or [WebACL](API_WebACL.md). 

 AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. For more information, see [AWS WAF web ACL capacity units (WCU)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html) in the * AWS WAF Developer Guide*. 

## Request Syntax
<a name="API_CheckCapacity_RequestSyntax"></a>

```
{
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "CaptchaConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "ChallengeConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "Name": "string",
         "OverrideAction": { 
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "None": { 
            }
         },
         "Priority": number,
         "RuleLabels": [ 
            { 
               "Name": "string"
            }
         ],
         "Statement": { 
            "AndStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "AsnMatchStatement": { 
               "AsnList": [ number ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "ByteMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "PositionalConstraint": "string",
               "SearchString": blob,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "GeoMatchStatement": { 
               "CountryCodes": [ "string" ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "IPSetReferenceStatement": { 
               "ARN": "string",
               "IPSetForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string",
                  "Position": "string"
               }
            },
            "LabelMatchStatement": { 
               "Key": "string",
               "Scope": "string"
            },
            "ManagedRuleGroupStatement": { 
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "ManagedRuleGroupConfigs": [ 
                  { 
                     "AWSManagedRulesACFPRuleSet": { 
                        "CreationPath": "string",
                        "EnableRegexInPath": boolean,
                        "RegistrationPagePath": "string",
                        "RequestInspection": { 
                           "AddressFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "EmailField": { 
                              "Identifier": "string"
                           },
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "PhoneNumberFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesAntiDDoSRuleSet": { 
                        "ClientSideActionConfig": { 
                           "Challenge": { 
                              "ExemptUriRegularExpressions": [ 
                                 { 
                                    "RegexString": "string"
                                 }
                              ],
                              "Sensitivity": "string",
                              "UsageOfAction": "string"
                           }
                        },
                        "SensitivityToBlock": "string"
                     },
                     "AWSManagedRulesATPRuleSet": { 
                        "EnableRegexInPath": boolean,
                        "LoginPath": "string",
                        "RequestInspection": { 
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesBotControlRuleSet": { 
                        "EnableMachineLearning": boolean,
                        "InspectionLevel": "string"
                     },
                     "LoginPath": "string",
                     "PasswordField": { 
                        "Identifier": "string"
                     },
                     "PayloadType": "string",
                     "UsernameField": { 
                        "Identifier": "string"
                     }
                  }
               ],
               "Name": "string",
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ],
               "ScopeDownStatement": "Statement",
               "VendorName": "string",
               "Version": "string"
            },
            "NotStatement": { 
               "Statement": "Statement"
            },
            "OrStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "RateBasedStatement": { 
               "AggregateKeyType": "string",
               "CustomKeys": [ 
                  { 
                     "ASN": { 
                     },
                     "Cookie": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "ForwardedIP": { 
                     },
                     "Header": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "HTTPMethod": { 
                     },
                     "IP": { 
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "LabelNamespace": { 
                        "Namespace": "string"
                     },
                     "QueryArgument": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "QueryString": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "UriPath": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  }
               ],
               "EvaluationWindowSec": number,
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               },
               "Limit": number,
               "ScopeDownStatement": "Statement"
            },
            "RegexMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "RegexString": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RegexPatternSetReferenceStatement": { 
               "ARN": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RuleGroupReferenceStatement": { 
               "ARN": "string",
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ]
            },
            "SizeConstraintStatement": { 
               "ComparisonOperator": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "Size": number,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "SqliMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "SensitivityLevel": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "XssMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            }
         },
         "VisibilityConfig": { 
            "CloudWatchMetricsEnabled": boolean,
            "MetricName": "string",
            "SampledRequestsEnabled": boolean
         }
      }
   ],
   "Scope": "string"
}
```

## Request Parameters
<a name="API_CheckCapacity_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Rules](#API_CheckCapacity_RequestSyntax) **   <a name="WAF-CheckCapacity-request-Rules"></a>
An array of [Rule](API_Rule.md) that you're configuring to use in a rule group or web ACL.   
Type: Array of [Rule](API_Rule.md) objects  
Required: Yes

 ** [Scope](#API_CheckCapacity_RequestSyntax) **   <a name="WAF-CheckCapacity-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_CheckCapacity_ResponseSyntax"></a>

```
{
   "Capacity": number
}
```

## Response Elements
<a name="API_CheckCapacity_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Capacity](#API_CheckCapacity_ResponseSyntax) **   <a name="WAF-CheckCapacity-response-Capacity"></a>
The capacity required by the rules and scope.  
Type: Long  
Valid Range: Minimum value of 0.

## Errors
<a name="API_CheckCapacity_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFExpiredManagedRuleGroupVersionException **   
The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md).  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFSubscriptionNotFoundException **   
You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.   
HTTP Status Code: 400

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_CheckCapacity_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CheckCapacity) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CheckCapacity) 

# CreateAPIKey
<a name="API_CreateAPIKey"></a>

Creates an API key that contains a set of token domains.

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

You can use a single key for up to 5 domains. After you generate a key, you can copy it for use in your JavaScript integration. 

## Request Syntax
<a name="API_CreateAPIKey_RequestSyntax"></a>

```
{
   "Scope": "string",
   "TokenDomains": [ "string" ]
}
```

## Request Parameters
<a name="API_CreateAPIKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Scope](#API_CreateAPIKey_RequestSyntax) **   <a name="WAF-CreateAPIKey-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [TokenDomains](#API_CreateAPIKey_RequestSyntax) **   <a name="WAF-CreateAPIKey-request-TokenDomains"></a>
The client application domains that you want to use this API key for.   
Example JSON: `"TokenDomains": ["abc.com", "store.abc.com"]`   
Public suffixes aren't allowed. For example, you can't use `gov.au` or `co.uk` as token domains.  
Type: Array of strings  
Array Members: Minimum number of 1 item.  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `^[\w\.\-/]+$`   
Required: Yes

## Response Syntax
<a name="API_CreateAPIKey_ResponseSyntax"></a>

```
{
   "APIKey": "string"
}
```

## Response Elements
<a name="API_CreateAPIKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [APIKey](#API_CreateAPIKey_ResponseSyntax) **   <a name="WAF-CreateAPIKey-response-APIKey"></a>
The generated, encrypted API key. You can copy this for use in your JavaScript CAPTCHA integration.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `.*\S.*` 

## Errors
<a name="API_CreateAPIKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

## See Also
<a name="API_CreateAPIKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CreateAPIKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CreateAPIKey) 

# CreateIPSet
<a name="API_CreateIPSet"></a>

Creates an [IPSet](API_IPSet.md), which you use to identify web requests that originate from specific IP addresses or ranges of IP addresses. For example, if you're receiving a lot of requests from a ranges of IP addresses, you can configure AWS WAF to block them using an IPSet that lists those IP addresses. 

## Request Syntax
<a name="API_CreateIPSet_RequestSyntax"></a>

```
{
   "Addresses": [ "string" ],
   "Description": "string",
   "IPAddressVersion": "string",
   "Name": "string",
   "Scope": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateIPSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Addresses](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-Addresses"></a>
Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want AWS WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all IPv4 and IPv6 CIDR ranges except for `/0`.   
Example address strings:   
+ For requests that originated from the IP address 192.0.2.44, specify `192.0.2.44/32`.
+ For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify `192.0.2.0/24`.
+ For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify `1111:0000:0000:0000:0000:0000:0000:0111/128`.
+ For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify `1111:0000:0000:0000:0000:0000:0000:0000/64`.
For more information about CIDR notation, see the Wikipedia entry [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).  
Example JSON `Addresses` specifications:   
+ Empty array: `"Addresses": []` 
+ Array with one address: `"Addresses": ["192.0.2.44/32"]` 
+ Array with three addresses: `"Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]` 
+ INVALID specification: `"Addresses": [""]` INVALID 
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `.*\S.*`   
Required: Yes

 ** [Description](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-Description"></a>
A description of the IP set that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [IPAddressVersion](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-IPAddressVersion"></a>
The version of the IP addresses, either `IPV4` or `IPV6`.   
Type: String  
Valid Values: `IPV4 | IPV6`   
Required: Yes

 ** [Name](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-Name"></a>
The name of the IP set. You cannot change the name of an `IPSet` after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [Tags](#API_CreateIPSet_RequestSyntax) **   <a name="WAF-CreateIPSet-request-Tags"></a>
An array of key:value pairs to associate with the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item.  
Required: No

## Response Syntax
<a name="API_CreateIPSet_ResponseSyntax"></a>

```
{
   "Summary": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "LockToken": "string",
      "Name": "string"
   }
}
```

## Response Elements
<a name="API_CreateIPSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Summary](#API_CreateIPSet_ResponseSyntax) **   <a name="WAF-CreateIPSet-response-Summary"></a>
High-level information about an [IPSet](API_IPSet.md), 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](API_IPSetReferenceStatement.md) to use the address set in a [Rule](API_Rule.md).  
Type: [IPSetSummary](API_IPSetSummary.md) object

## Errors
<a name="API_CreateIPSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_CreateIPSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CreateIPSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CreateIPSet) 

# CreateRegexPatternSet
<a name="API_CreateRegexPatternSet"></a>

Creates a [RegexPatternSet](API_RegexPatternSet.md), which you reference in a [RegexPatternSetReferenceStatement](API_RegexPatternSetReferenceStatement.md), to have AWS WAF inspect a web request component for the specified patterns.

## Request Syntax
<a name="API_CreateRegexPatternSet_RequestSyntax"></a>

```
{
   "Description": "string",
   "Name": "string",
   "RegularExpressionList": [ 
      { 
         "RegexString": "string"
      }
   ],
   "Scope": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_CreateRegexPatternSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_CreateRegexPatternSet_RequestSyntax) **   <a name="WAF-CreateRegexPatternSet-request-Description"></a>
A description of the set that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Name](#API_CreateRegexPatternSet_RequestSyntax) **   <a name="WAF-CreateRegexPatternSet-request-Name"></a>
The name of the set. You cannot change the name after you create the set.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [RegularExpressionList](#API_CreateRegexPatternSet_RequestSyntax) **   <a name="WAF-CreateRegexPatternSet-request-RegularExpressionList"></a>
Array of regular expression strings.   
Type: Array of [Regex](API_Regex.md) objects  
Required: Yes

 ** [Scope](#API_CreateRegexPatternSet_RequestSyntax) **   <a name="WAF-CreateRegexPatternSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [Tags](#API_CreateRegexPatternSet_RequestSyntax) **   <a name="WAF-CreateRegexPatternSet-request-Tags"></a>
An array of key:value pairs to associate with the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item.  
Required: No

## Response Syntax
<a name="API_CreateRegexPatternSet_ResponseSyntax"></a>

```
{
   "Summary": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "LockToken": "string",
      "Name": "string"
   }
}
```

## Response Elements
<a name="API_CreateRegexPatternSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Summary](#API_CreateRegexPatternSet_ResponseSyntax) **   <a name="WAF-CreateRegexPatternSet-response-Summary"></a>
High-level information about a [RegexPatternSet](API_RegexPatternSet.md), 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](API_RegexPatternSetReferenceStatement.md) to use the pattern set in a [Rule](API_Rule.md).  
Type: [RegexPatternSetSummary](API_RegexPatternSetSummary.md) object

## Errors
<a name="API_CreateRegexPatternSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_CreateRegexPatternSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CreateRegexPatternSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CreateRegexPatternSet) 

# CreateRuleGroup
<a name="API_CreateRuleGroup"></a>

Creates a [RuleGroup](API_RuleGroup.md) per the specifications provided. 

 A rule group defines a collection of rules to inspect and control web requests that you can use in a [WebACL](API_WebACL.md). 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. 

## Request Syntax
<a name="API_CreateRuleGroup_RequestSyntax"></a>

```
{
   "Capacity": number,
   "CustomResponseBodies": { 
      "string" : { 
         "Content": "string",
         "ContentType": "string"
      }
   },
   "Description": "string",
   "Name": "string",
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "CaptchaConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "ChallengeConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "Name": "string",
         "OverrideAction": { 
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "None": { 
            }
         },
         "Priority": number,
         "RuleLabels": [ 
            { 
               "Name": "string"
            }
         ],
         "Statement": { 
            "AndStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "AsnMatchStatement": { 
               "AsnList": [ number ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "ByteMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "PositionalConstraint": "string",
               "SearchString": blob,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "GeoMatchStatement": { 
               "CountryCodes": [ "string" ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "IPSetReferenceStatement": { 
               "ARN": "string",
               "IPSetForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string",
                  "Position": "string"
               }
            },
            "LabelMatchStatement": { 
               "Key": "string",
               "Scope": "string"
            },
            "ManagedRuleGroupStatement": { 
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "ManagedRuleGroupConfigs": [ 
                  { 
                     "AWSManagedRulesACFPRuleSet": { 
                        "CreationPath": "string",
                        "EnableRegexInPath": boolean,
                        "RegistrationPagePath": "string",
                        "RequestInspection": { 
                           "AddressFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "EmailField": { 
                              "Identifier": "string"
                           },
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "PhoneNumberFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesAntiDDoSRuleSet": { 
                        "ClientSideActionConfig": { 
                           "Challenge": { 
                              "ExemptUriRegularExpressions": [ 
                                 { 
                                    "RegexString": "string"
                                 }
                              ],
                              "Sensitivity": "string",
                              "UsageOfAction": "string"
                           }
                        },
                        "SensitivityToBlock": "string"
                     },
                     "AWSManagedRulesATPRuleSet": { 
                        "EnableRegexInPath": boolean,
                        "LoginPath": "string",
                        "RequestInspection": { 
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesBotControlRuleSet": { 
                        "EnableMachineLearning": boolean,
                        "InspectionLevel": "string"
                     },
                     "LoginPath": "string",
                     "PasswordField": { 
                        "Identifier": "string"
                     },
                     "PayloadType": "string",
                     "UsernameField": { 
                        "Identifier": "string"
                     }
                  }
               ],
               "Name": "string",
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ],
               "ScopeDownStatement": "Statement",
               "VendorName": "string",
               "Version": "string"
            },
            "NotStatement": { 
               "Statement": "Statement"
            },
            "OrStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "RateBasedStatement": { 
               "AggregateKeyType": "string",
               "CustomKeys": [ 
                  { 
                     "ASN": { 
                     },
                     "Cookie": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "ForwardedIP": { 
                     },
                     "Header": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "HTTPMethod": { 
                     },
                     "IP": { 
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "LabelNamespace": { 
                        "Namespace": "string"
                     },
                     "QueryArgument": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "QueryString": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "UriPath": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  }
               ],
               "EvaluationWindowSec": number,
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               },
               "Limit": number,
               "ScopeDownStatement": "Statement"
            },
            "RegexMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "RegexString": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RegexPatternSetReferenceStatement": { 
               "ARN": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RuleGroupReferenceStatement": { 
               "ARN": "string",
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ]
            },
            "SizeConstraintStatement": { 
               "ComparisonOperator": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "Size": number,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "SqliMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "SensitivityLevel": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "XssMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            }
         },
         "VisibilityConfig": { 
            "CloudWatchMetricsEnabled": boolean,
            "MetricName": "string",
            "SampledRequestsEnabled": boolean
         }
      }
   ],
   "Scope": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "VisibilityConfig": { 
      "CloudWatchMetricsEnabled": boolean,
      "MetricName": "string",
      "SampledRequestsEnabled": boolean
   }
}
```

## Request Parameters
<a name="API_CreateRuleGroup_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Capacity](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Capacity"></a>
The web ACL capacity units (WCUs) required for this rule group.  
When you create your own rule group, you define this, and you cannot change it after creation. When you add or modify the rules in a rule group, AWS WAF enforces this limit. You can check the capacity for a set of rules using [CheckCapacity](API_CheckCapacity.md).  
 AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. For more information, see [AWS WAF web ACL capacity units (WCU)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html) in the * AWS WAF Developer Guide*.   
Type: Long  
Valid Range: Minimum value of 1.  
Required: Yes

 ** [CustomResponseBodies](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-CustomResponseBodies"></a>
A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.   
For information about customizing web requests and responses, see [Customizing web requests and responses in AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the * AWS WAF Developer Guide*.   
For information about the limits on count and size for custom request and response settings, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.   
Type: String to [CustomResponseBody](API_CustomResponseBody.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^[\w\-]+$`   
Required: No

 ** [Description](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Description"></a>
A description of the rule group that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Name](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Name"></a>
The name of the rule group. You cannot change the name of a rule group after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Rules](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Rules"></a>
The [Rule](API_Rule.md) statements used to identify the web requests that you want to manage. 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.   
Type: Array of [Rule](API_Rule.md) objects  
Required: No

 ** [Scope](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [Tags](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-Tags"></a>
An array of key:value pairs to associate with the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item.  
Required: No

 ** [VisibilityConfig](#API_CreateRuleGroup_RequestSyntax) **   <a name="WAF-CreateRuleGroup-request-VisibilityConfig"></a>
Defines and enables Amazon CloudWatch metrics and web request sample collection.   
Type: [VisibilityConfig](API_VisibilityConfig.md) object  
Required: Yes

## Response Syntax
<a name="API_CreateRuleGroup_ResponseSyntax"></a>

```
{
   "Summary": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "LockToken": "string",
      "Name": "string"
   }
}
```

## Response Elements
<a name="API_CreateRuleGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Summary](#API_CreateRuleGroup_ResponseSyntax) **   <a name="WAF-CreateRuleGroup-response-Summary"></a>
High-level information about a [RuleGroup](API_RuleGroup.md), 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](API_RuleGroupReferenceStatement.md) to use the rule group in a [Rule](API_Rule.md).  
Type: [RuleGroupSummary](API_RuleGroupSummary.md) object

## Errors
<a name="API_CreateRuleGroup_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFSubscriptionNotFoundException **   
You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_CreateRuleGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CreateRuleGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CreateRuleGroup) 

# CreateWebACL
<a name="API_CreateWebACL"></a>

Creates a [WebACL](API_WebACL.md) per the specifications provided.

 A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that AWS WAF applies to requests that match the statement. 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](API_Rule.md), [RuleGroup](API_RuleGroup.md), and managed rule group. You can associate a web ACL with one or more AWS resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Amplify application, and AWS Verified Access instance. 

## Request Syntax
<a name="API_CreateWebACL_RequestSyntax"></a>

```
{
   "ApplicationConfig": { 
      "Attributes": [ 
         { 
            "Name": "string",
            "Values": [ "string" ]
         }
      ]
   },
   "AssociationConfig": { 
      "RequestBody": { 
         "string" : { 
            "DefaultSizeInspectionLimit": "string"
         }
      }
   },
   "CaptchaConfig": { 
      "ImmunityTimeProperty": { 
         "ImmunityTime": number
      }
   },
   "ChallengeConfig": { 
      "ImmunityTimeProperty": { 
         "ImmunityTime": number
      }
   },
   "CustomResponseBodies": { 
      "string" : { 
         "Content": "string",
         "ContentType": "string"
      }
   },
   "DataProtectionConfig": { 
      "DataProtections": [ 
         { 
            "Action": "string",
            "ExcludeRateBasedDetails": boolean,
            "ExcludeRuleMatchDetails": boolean,
            "Field": { 
               "FieldKeys": [ "string" ],
               "FieldType": "string"
            }
         }
      ]
   },
   "DefaultAction": { 
      "Allow": { 
         "CustomRequestHandling": { 
            "InsertHeaders": [ 
               { 
                  "Name": "string",
                  "Value": "string"
               }
            ]
         }
      },
      "Block": { 
         "CustomResponse": { 
            "CustomResponseBodyKey": "string",
            "ResponseCode": number,
            "ResponseHeaders": [ 
               { 
                  "Name": "string",
                  "Value": "string"
               }
            ]
         }
      }
   },
   "Description": "string",
   "Name": "string",
   "OnSourceDDoSProtectionConfig": { 
      "ALBLowReputationMode": "string"
   },
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "CaptchaConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "ChallengeConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "Name": "string",
         "OverrideAction": { 
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "None": { 
            }
         },
         "Priority": number,
         "RuleLabels": [ 
            { 
               "Name": "string"
            }
         ],
         "Statement": { 
            "AndStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "AsnMatchStatement": { 
               "AsnList": [ number ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "ByteMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "PositionalConstraint": "string",
               "SearchString": blob,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "GeoMatchStatement": { 
               "CountryCodes": [ "string" ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "IPSetReferenceStatement": { 
               "ARN": "string",
               "IPSetForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string",
                  "Position": "string"
               }
            },
            "LabelMatchStatement": { 
               "Key": "string",
               "Scope": "string"
            },
            "ManagedRuleGroupStatement": { 
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "ManagedRuleGroupConfigs": [ 
                  { 
                     "AWSManagedRulesACFPRuleSet": { 
                        "CreationPath": "string",
                        "EnableRegexInPath": boolean,
                        "RegistrationPagePath": "string",
                        "RequestInspection": { 
                           "AddressFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "EmailField": { 
                              "Identifier": "string"
                           },
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "PhoneNumberFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesAntiDDoSRuleSet": { 
                        "ClientSideActionConfig": { 
                           "Challenge": { 
                              "ExemptUriRegularExpressions": [ 
                                 { 
                                    "RegexString": "string"
                                 }
                              ],
                              "Sensitivity": "string",
                              "UsageOfAction": "string"
                           }
                        },
                        "SensitivityToBlock": "string"
                     },
                     "AWSManagedRulesATPRuleSet": { 
                        "EnableRegexInPath": boolean,
                        "LoginPath": "string",
                        "RequestInspection": { 
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesBotControlRuleSet": { 
                        "EnableMachineLearning": boolean,
                        "InspectionLevel": "string"
                     },
                     "LoginPath": "string",
                     "PasswordField": { 
                        "Identifier": "string"
                     },
                     "PayloadType": "string",
                     "UsernameField": { 
                        "Identifier": "string"
                     }
                  }
               ],
               "Name": "string",
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ],
               "ScopeDownStatement": "Statement",
               "VendorName": "string",
               "Version": "string"
            },
            "NotStatement": { 
               "Statement": "Statement"
            },
            "OrStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "RateBasedStatement": { 
               "AggregateKeyType": "string",
               "CustomKeys": [ 
                  { 
                     "ASN": { 
                     },
                     "Cookie": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "ForwardedIP": { 
                     },
                     "Header": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "HTTPMethod": { 
                     },
                     "IP": { 
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "LabelNamespace": { 
                        "Namespace": "string"
                     },
                     "QueryArgument": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "QueryString": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "UriPath": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  }
               ],
               "EvaluationWindowSec": number,
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               },
               "Limit": number,
               "ScopeDownStatement": "Statement"
            },
            "RegexMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "RegexString": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RegexPatternSetReferenceStatement": { 
               "ARN": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RuleGroupReferenceStatement": { 
               "ARN": "string",
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ]
            },
            "SizeConstraintStatement": { 
               "ComparisonOperator": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "Size": number,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "SqliMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "SensitivityLevel": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "XssMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            }
         },
         "VisibilityConfig": { 
            "CloudWatchMetricsEnabled": boolean,
            "MetricName": "string",
            "SampledRequestsEnabled": boolean
         }
      }
   ],
   "Scope": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "TokenDomains": [ "string" ],
   "VisibilityConfig": { 
      "CloudWatchMetricsEnabled": boolean,
      "MetricName": "string",
      "SampledRequestsEnabled": boolean
   }
}
```

## Request Parameters
<a name="API_CreateWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ApplicationConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-ApplicationConfig"></a>
Configures the ability for the AWS WAF console to store and retrieve application attributes during the web ACL creation process. Application attributes help AWS WAF give recommendations for protection packs.  
Type: [ApplicationConfig](API_ApplicationConfig.md) object  
Required: No

 ** [AssociationConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-AssociationConfig"></a>
Specifies custom configurations for the associations between the web ACL and protected resources.   
Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).   
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see [AWS WAF Pricing](http://aws.amazon.com/waf/pricing/).
For Application Load Balancer and AWS AppSync, the limit is fixed at 8 KB (8,192 bytes).  
Type: [AssociationConfig](API_AssociationConfig.md) object  
Required: No

 ** [CaptchaConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-CaptchaConfig"></a>
Specifies how AWS WAF should handle `CAPTCHA` evaluations for rules that don't have their own `CaptchaConfig` settings. If you don't specify this, AWS WAF uses its default settings for `CaptchaConfig`.   
Type: [CaptchaConfig](API_CaptchaConfig.md) object  
Required: No

 ** [ChallengeConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-ChallengeConfig"></a>
Specifies how AWS WAF should handle challenge evaluations for rules that don't have their own `ChallengeConfig` settings. If you don't specify this, AWS WAF uses its default settings for `ChallengeConfig`.   
Type: [ChallengeConfig](API_ChallengeConfig.md) object  
Required: No

 ** [CustomResponseBodies](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-CustomResponseBodies"></a>
A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.   
For information about customizing web requests and responses, see [Customizing web requests and responses in AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the * AWS WAF Developer Guide*.   
For information about the limits on count and size for custom request and response settings, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.   
Type: String to [CustomResponseBody](API_CustomResponseBody.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^[\w\-]+$`   
Required: No

 ** [DataProtectionConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-DataProtectionConfig"></a>
Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option.   
The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.   
Type: [DataProtectionConfig](API_DataProtectionConfig.md) object  
Required: No

 ** [DefaultAction](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-DefaultAction"></a>
The action to perform if none of the `Rules` contained in the `WebACL` match.   
Type: [DefaultAction](API_DefaultAction.md) object  
Required: Yes

 ** [Description](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-Description"></a>
A description of the web ACL that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Name](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-Name"></a>
The name of the web ACL. You cannot change the name of a web ACL after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [OnSourceDDoSProtectionConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-OnSourceDDoSProtectionConfig"></a>
Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.  
Type: [OnSourceDDoSProtectionConfig](API_OnSourceDDoSProtectionConfig.md) object  
Required: No

 ** [Rules](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-Rules"></a>
The [Rule](API_Rule.md) statements used to identify the web requests that you want to manage. 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.   
Type: Array of [Rule](API_Rule.md) objects  
Required: No

 ** [Scope](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [Tags](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-Tags"></a>
An array of key:value pairs to associate with the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item.  
Required: No

 ** [TokenDomains](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-TokenDomains"></a>
Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.  
Example JSON: `"TokenDomains": { "mywebsite.com", "myotherwebsite.com" }`   
Public suffixes aren't allowed. For example, you can't use `gov.au` or `co.uk` as token domains.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `^[\w\.\-/]+$`   
Required: No

 ** [VisibilityConfig](#API_CreateWebACL_RequestSyntax) **   <a name="WAF-CreateWebACL-request-VisibilityConfig"></a>
Defines and enables Amazon CloudWatch metrics and web request sample collection.   
Type: [VisibilityConfig](API_VisibilityConfig.md) object  
Required: Yes

## Response Syntax
<a name="API_CreateWebACL_ResponseSyntax"></a>

```
{
   "Summary": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "LockToken": "string",
      "Name": "string"
   }
}
```

## Response Elements
<a name="API_CreateWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Summary](#API_CreateWebACL_ResponseSyntax) **   <a name="WAF-CreateWebACL-response-Summary"></a>
High-level information about a [WebACL](API_WebACL.md), 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](API_AssociateWebACL.md).  
Type: [WebACLSummary](API_WebACLSummary.md) object

## Errors
<a name="API_CreateWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFConfigurationWarningException **   
The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an `OversizeHandling` configuration or they must be preceded by a `SizeConstraintStatement` that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an `OversizeHandling` configuration.   
Provide the handling configuration and retry your operation.  
Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: `Tag` (key:`WAF:OversizeFieldsHandlingConstraintOptOut`, value:`true`).  
HTTP Status Code: 400

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFExpiredManagedRuleGroupVersionException **   
The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md).  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFSubscriptionNotFoundException **   
You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## Examples
<a name="API_CreateWebACL_Examples"></a>

### Create a web ACL
<a name="API_CreateWebACL_Example_1"></a>

The following example lists a web ACL JSON with multiple rules, including one that references a managed rule group. The managed rule group reference statement includes additional managed rule group configuration.

```
{
  "Name": "exampleWebACL",
  "Id": "77777777-8888-9999-0000-111111111111",
  "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/webacl/exampleWebACL/00000000-9999-8888-7777-666666666666",
  "DefaultAction": {
    "Allow": {}
  },
  "Description": "",
  "Rules": [
    {
      "Name": "exampleIPSetRule",
      "Priority": 0,
      "Statement": {
        "IPSetReferenceStatement": {
          "ARN": "arn:aws:wafv2:us-east-1:111111111111:regional/ipset/da/00000000-1111-2222-3333-444444444444"
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "exampleIPSetRule"
      }
    },
    {
      "Name": "exampleGeoMatchRule",
      "Priority": 1,
      "Statement": {
        "GeoMatchStatement": {
          "CountryCodes": [
            "AQ",
            "RE"
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "exampleGeoMatchRule"
      }
    },
    {
      "Name": "AWS-AWSManagedRulesATPRuleSet",
      "Priority": 2,
      "Statement": {
        "ManagedRuleGroupStatement": {
          "VendorName": "AWS",
          "Name": "AWSManagedRulesATPRuleSet",
          "ManagedRuleGroupConfigs": [
            {
              "LoginPath": "/web/login"
            },
            {
              "PayloadType": "JSON"
            },
            {
              "UsernameField": {
                "Identifier": "/form/username"
              }
            },
            {
              "PasswordField": {
                "Identifier": "/form/password"
              }
            }
          ]
        }
      },
      "OverrideAction": {
        "None": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "AWS-AWSManagedRulesATPRuleSet"
      }
    }
  ],
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "exampleWebACL"
  },
  "Capacity": 52,
  "ManagedByFirewallManager": false,
  "RetrofittedByFirewallManager": false,
  "LabelNamespace": "awswaf:111111111111:webacl:exampleWebACL:"
}
```

## See Also
<a name="API_CreateWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/CreateWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/CreateWebACL) 

# DeleteAPIKey
<a name="API_DeleteAPIKey"></a>

Deletes the specified API key. 

After you delete a key, it can take up to 24 hours for AWS WAF to disallow use of the key in all regions. 

## Request Syntax
<a name="API_DeleteAPIKey_RequestSyntax"></a>

```
{
   "APIKey": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DeleteAPIKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [APIKey](#API_DeleteAPIKey_RequestSyntax) **   <a name="WAF-DeleteAPIKey-request-APIKey"></a>
The encrypted API key that you want to delete.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [Scope](#API_DeleteAPIKey_RequestSyntax) **   <a name="WAF-DeleteAPIKey-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Elements
<a name="API_DeleteAPIKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteAPIKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_DeleteAPIKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteAPIKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteAPIKey) 

# DeleteFirewallManagerRuleGroups
<a name="API_DeleteFirewallManagerRuleGroups"></a>

Deletes all rule groups that are managed by AWS Firewall Manager from the specified [WebACL](API_WebACL.md). 

You can only use this if `ManagedByFirewallManager` and `RetrofittedByFirewallManager` are both false in the web ACL. 

## Request Syntax
<a name="API_DeleteFirewallManagerRuleGroups_RequestSyntax"></a>

```
{
   "WebACLArn": "string",
   "WebACLLockToken": "string"
}
```

## Request Parameters
<a name="API_DeleteFirewallManagerRuleGroups_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [WebACLArn](#API_DeleteFirewallManagerRuleGroups_RequestSyntax) **   <a name="WAF-DeleteFirewallManagerRuleGroups-request-WebACLArn"></a>
The Amazon Resource Name (ARN) of the web ACL.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [WebACLLockToken](#API_DeleteFirewallManagerRuleGroups_RequestSyntax) **   <a name="WAF-DeleteFirewallManagerRuleGroups-request-WebACLLockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

## Response Syntax
<a name="API_DeleteFirewallManagerRuleGroups_ResponseSyntax"></a>

```
{
   "NextWebACLLockToken": "string"
}
```

## Response Elements
<a name="API_DeleteFirewallManagerRuleGroups_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextWebACLLockToken](#API_DeleteFirewallManagerRuleGroups_ResponseSyntax) **   <a name="WAF-DeleteFirewallManagerRuleGroups-response-NextWebACLLockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_DeleteFirewallManagerRuleGroups_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_DeleteFirewallManagerRuleGroups_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteFirewallManagerRuleGroups) 

# DeleteIPSet
<a name="API_DeleteIPSet"></a>

Deletes the specified [IPSet](API_IPSet.md). 

## Request Syntax
<a name="API_DeleteIPSet_RequestSyntax"></a>

```
{
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DeleteIPSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_DeleteIPSet_RequestSyntax) **   <a name="WAF-DeleteIPSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_DeleteIPSet_RequestSyntax) **   <a name="WAF-DeleteIPSet-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_DeleteIPSet_RequestSyntax) **   <a name="WAF-DeleteIPSet-request-Name"></a>
The name of the IP set. You cannot change the name of an `IPSet` after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_DeleteIPSet_RequestSyntax) **   <a name="WAF-DeleteIPSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Elements
<a name="API_DeleteIPSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteIPSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFAssociatedItemException **   
 AWS WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.   
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteIPSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteIPSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteIPSet) 

# DeleteLoggingConfiguration
<a name="API_DeleteLoggingConfiguration"></a>

Deletes the [LoggingConfiguration](API_LoggingConfiguration.md) from the specified web ACL.

## Request Syntax
<a name="API_DeleteLoggingConfiguration_RequestSyntax"></a>

```
{
   "LogScope": "string",
   "LogType": "string",
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_DeleteLoggingConfiguration_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [LogScope](#API_DeleteLoggingConfiguration_RequestSyntax) **   <a name="WAF-DeleteLoggingConfiguration-request-LogScope"></a>
The owner of the logging configuration, which must be set to `CUSTOMER` for the configurations that you manage.   
The log scope `SECURITY_LAKE` indicates a configuration that is managed through Amazon Security Lake. You can use Security Lake to collect log and event data from various sources for normalization, analysis, and management. For information, see [Collecting data from AWS services](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) in the *Amazon Security Lake user guide*.   
The log scope `CLOUDWATCH_TELEMETRY_RULE_MANAGED` indicates a configuration that is managed through Amazon CloudWatch Logs for telemetry data collection and analysis. For information, see [What is Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) in the *Amazon CloudWatch Logs user guide*.   
Default: `CUSTOMER`   
Type: String  
Valid Values: `CUSTOMER | SECURITY_LAKE | CLOUDWATCH_TELEMETRY_RULE_MANAGED`   
Required: No

 ** [LogType](#API_DeleteLoggingConfiguration_RequestSyntax) **   <a name="WAF-DeleteLoggingConfiguration-request-LogType"></a>
Used to distinguish between various logging options. Currently, there is one option.  
Default: `WAF_LOGS`   
Type: String  
Valid Values: `WAF_LOGS`   
Required: No

 ** [ResourceArn](#API_DeleteLoggingConfiguration_RequestSyntax) **   <a name="WAF-DeleteLoggingConfiguration-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the web ACL from which you want to delete the [LoggingConfiguration](API_LoggingConfiguration.md).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Elements
<a name="API_DeleteLoggingConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteLoggingConfiguration_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_DeleteLoggingConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteLoggingConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteLoggingConfiguration) 

# DeletePermissionPolicy
<a name="API_DeletePermissionPolicy"></a>

Permanently deletes an IAM policy from the specified rule group.

You must be the owner of the rule group to perform this operation.

## Request Syntax
<a name="API_DeletePermissionPolicy_RequestSyntax"></a>

```
{
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_DeletePermissionPolicy_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_DeletePermissionPolicy_RequestSyntax) **   <a name="WAF-DeletePermissionPolicy-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the rule group from which you want to delete the policy.  
You must be the owner of the rule group to perform this operation.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Elements
<a name="API_DeletePermissionPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeletePermissionPolicy_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_DeletePermissionPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeletePermissionPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeletePermissionPolicy) 

# DeleteRegexPatternSet
<a name="API_DeleteRegexPatternSet"></a>

Deletes the specified [RegexPatternSet](API_RegexPatternSet.md).

## Request Syntax
<a name="API_DeleteRegexPatternSet_RequestSyntax"></a>

```
{
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DeleteRegexPatternSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_DeleteRegexPatternSet_RequestSyntax) **   <a name="WAF-DeleteRegexPatternSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_DeleteRegexPatternSet_RequestSyntax) **   <a name="WAF-DeleteRegexPatternSet-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_DeleteRegexPatternSet_RequestSyntax) **   <a name="WAF-DeleteRegexPatternSet-request-Name"></a>
The name of the set. You cannot change the name after you create the set.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_DeleteRegexPatternSet_RequestSyntax) **   <a name="WAF-DeleteRegexPatternSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Elements
<a name="API_DeleteRegexPatternSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteRegexPatternSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFAssociatedItemException **   
 AWS WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.   
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteRegexPatternSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteRegexPatternSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteRegexPatternSet) 

# DeleteRuleGroup
<a name="API_DeleteRuleGroup"></a>

Deletes the specified [RuleGroup](API_RuleGroup.md).

## Request Syntax
<a name="API_DeleteRuleGroup_RequestSyntax"></a>

```
{
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DeleteRuleGroup_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_DeleteRuleGroup_RequestSyntax) **   <a name="WAF-DeleteRuleGroup-request-Id"></a>
A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_DeleteRuleGroup_RequestSyntax) **   <a name="WAF-DeleteRuleGroup-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_DeleteRuleGroup_RequestSyntax) **   <a name="WAF-DeleteRuleGroup-request-Name"></a>
The name of the rule group. You cannot change the name of a rule group after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_DeleteRuleGroup_RequestSyntax) **   <a name="WAF-DeleteRuleGroup-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Elements
<a name="API_DeleteRuleGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteRuleGroup_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFAssociatedItemException **   
 AWS WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.   
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteRuleGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteRuleGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteRuleGroup) 

# DeleteWebACL
<a name="API_DeleteWebACL"></a>

Deletes the specified [WebACL](API_WebACL.md). 

You can only use this if `ManagedByFirewallManager` is false in the web ACL. 

**Note**  
Before deleting any web ACL, first disassociate it from all resources.  
To retrieve a list of the resources that are associated with a web ACL, use the following calls:  
For Amazon CloudFront distributions, use the CloudFront call `ListDistributionsByWebACLId`. For information, see [ListDistributionsByWebACLId](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html) in the *Amazon CloudFront API Reference*. 
For all other resources, call [ListResourcesForWebACL](API_ListResourcesForWebACL.md).
To disassociate a resource from a web ACL, use the following calls:  
For Amazon CloudFront distributions, provide an empty web ACL ID in the CloudFront call `UpdateDistribution`. For information, see [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in the *Amazon CloudFront API Reference*. 
For all other resources, call [DisassociateWebACL](API_DisassociateWebACL.md).

## Request Syntax
<a name="API_DeleteWebACL_RequestSyntax"></a>

```
{
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DeleteWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_DeleteWebACL_RequestSyntax) **   <a name="WAF-DeleteWebACL-request-Id"></a>
The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_DeleteWebACL_RequestSyntax) **   <a name="WAF-DeleteWebACL-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_DeleteWebACL_RequestSyntax) **   <a name="WAF-DeleteWebACL-request-Name"></a>
The name of the web ACL. You cannot change the name of a web ACL after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_DeleteWebACL_RequestSyntax) **   <a name="WAF-DeleteWebACL-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Elements
<a name="API_DeleteWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DeleteWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFAssociatedItemException **   
 AWS WAF couldn’t perform the operation because your resource is being used by another resource or it’s associated with another resource.   
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_DeleteWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DeleteWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DeleteWebACL) 

# DescribeAllManagedProducts
<a name="API_DescribeAllManagedProducts"></a>

Provides high-level information for the AWS Managed Rules rule groups and AWS Marketplace managed rule groups. 

## Request Syntax
<a name="API_DescribeAllManagedProducts_RequestSyntax"></a>

```
{
   "Scope": "string"
}
```

## Request Parameters
<a name="API_DescribeAllManagedProducts_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Scope](#API_DescribeAllManagedProducts_RequestSyntax) **   <a name="WAF-DescribeAllManagedProducts-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_DescribeAllManagedProducts_ResponseSyntax"></a>

```
{
   "ManagedProducts": [ 
      { 
         "IsAdvancedManagedRuleSet": boolean,
         "IsVersioningSupported": boolean,
         "ManagedRuleSetName": "string",
         "ProductDescription": "string",
         "ProductId": "string",
         "ProductLink": "string",
         "ProductTitle": "string",
         "SnsTopicArn": "string",
         "VendorName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_DescribeAllManagedProducts_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ManagedProducts](#API_DescribeAllManagedProducts_ResponseSyntax) **   <a name="WAF-DescribeAllManagedProducts-response-ManagedProducts"></a>
High-level information for the AWS Managed Rules rule groups and AWS Marketplace managed rule groups.   
Type: Array of [ManagedProductDescriptor](API_ManagedProductDescriptor.md) objects

## Errors
<a name="API_DescribeAllManagedProducts_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeAllManagedProducts_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DescribeAllManagedProducts) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DescribeAllManagedProducts) 

# DescribeManagedProductsByVendor
<a name="API_DescribeManagedProductsByVendor"></a>

Provides high-level information for the managed rule groups owned by a specific vendor. 

## Request Syntax
<a name="API_DescribeManagedProductsByVendor_RequestSyntax"></a>

```
{
   "Scope": "string",
   "VendorName": "string"
}
```

## Request Parameters
<a name="API_DescribeManagedProductsByVendor_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Scope](#API_DescribeManagedProductsByVendor_RequestSyntax) **   <a name="WAF-DescribeManagedProductsByVendor-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VendorName](#API_DescribeManagedProductsByVendor_RequestSyntax) **   <a name="WAF-DescribeManagedProductsByVendor-request-VendorName"></a>
The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_DescribeManagedProductsByVendor_ResponseSyntax"></a>

```
{
   "ManagedProducts": [ 
      { 
         "IsAdvancedManagedRuleSet": boolean,
         "IsVersioningSupported": boolean,
         "ManagedRuleSetName": "string",
         "ProductDescription": "string",
         "ProductId": "string",
         "ProductLink": "string",
         "ProductTitle": "string",
         "SnsTopicArn": "string",
         "VendorName": "string"
      }
   ]
}
```

## Response Elements
<a name="API_DescribeManagedProductsByVendor_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ManagedProducts](#API_DescribeManagedProductsByVendor_ResponseSyntax) **   <a name="WAF-DescribeManagedProductsByVendor-response-ManagedProducts"></a>
High-level information for the managed rule groups owned by the specified vendor.   
Type: Array of [ManagedProductDescriptor](API_ManagedProductDescriptor.md) objects

## Errors
<a name="API_DescribeManagedProductsByVendor_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_DescribeManagedProductsByVendor_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DescribeManagedProductsByVendor) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DescribeManagedProductsByVendor) 

# DescribeManagedRuleGroup
<a name="API_DescribeManagedRuleGroup"></a>

Provides high-level information for a managed rule group, including descriptions of the rules. 

## Request Syntax
<a name="API_DescribeManagedRuleGroup_RequestSyntax"></a>

```
{
   "Name": "string",
   "Scope": "string",
   "VendorName": "string",
   "VersionName": "string"
}
```

## Request Parameters
<a name="API_DescribeManagedRuleGroup_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Name](#API_DescribeManagedRuleGroup_RequestSyntax) **   <a name="WAF-DescribeManagedRuleGroup-request-Name"></a>
The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_DescribeManagedRuleGroup_RequestSyntax) **   <a name="WAF-DescribeManagedRuleGroup-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VendorName](#API_DescribeManagedRuleGroup_RequestSyntax) **   <a name="WAF-DescribeManagedRuleGroup-request-VendorName"></a>
The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `.*\S.*`   
Required: Yes

 ** [VersionName](#API_DescribeManagedRuleGroup_RequestSyntax) **   <a name="WAF-DescribeManagedRuleGroup-request-VersionName"></a>
The version of the rule group. You can only use a version that is not scheduled for expiration. If you don't provide this, AWS WAF uses the vendor's default version.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$`   
Required: No

## Response Syntax
<a name="API_DescribeManagedRuleGroup_ResponseSyntax"></a>

```
{
   "AvailableLabels": [ 
      { 
         "Name": "string"
      }
   ],
   "Capacity": number,
   "ConsumedLabels": [ 
      { 
         "Name": "string"
      }
   ],
   "LabelNamespace": "string",
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "Name": "string"
      }
   ],
   "SnsTopicArn": "string",
   "VersionName": "string"
}
```

## Response Elements
<a name="API_DescribeManagedRuleGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [AvailableLabels](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-AvailableLabels"></a>
The labels that one or more rules in this rule group add to matching web requests. These labels are defined in the `RuleLabels` for a [Rule](API_Rule.md).  
Type: Array of [LabelSummary](API_LabelSummary.md) objects

 ** [Capacity](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-Capacity"></a>
The web ACL capacity units (WCUs) required for this rule group.  
 AWS WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and web ACLs. AWS WAF calculates capacity differently for each rule type, to reflect the relative cost of each rule. Simple rules that cost little to run use fewer WCUs than more complex rules that use more processing power. Rule group capacity is fixed at creation, which helps users plan their web ACL WCU usage when they use a rule group. For more information, see [AWS WAF web ACL capacity units (WCU)](https://docs.aws.amazon.com/waf/latest/developerguide/aws-waf-capacity-units.html) in the * AWS WAF Developer Guide*.   
Type: Long  
Valid Range: Minimum value of 1.

 ** [ConsumedLabels](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-ConsumedLabels"></a>
The labels that one or more rules in this rule group match against in label match statements. These labels are defined in a `LabelMatchStatement` specification, in the [Statement](API_Statement.md) definition of a rule.   
Type: Array of [LabelSummary](API_LabelSummary.md) objects

 ** [LabelNamespace](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-LabelNamespace"></a>
The label namespace prefix for this rule group. All labels added by rules in this rule group have this prefix.   
+ The syntax for the label namespace prefix for a managed rule group is the following: 

   `awswaf:managed:<vendor>:<rule group name>`:
+ When a rule with a label matches a web request, AWS WAF adds the fully qualified label to the request. A fully qualified label is made up of the label namespace from the rule group or web ACL where the rule is defined and the label from the rule, separated by a colon: 

   `<label namespace>:<label from rule>` 
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Pattern: `^[0-9A-Za-z_\-:]+$` 

 ** [Rules](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-Rules"></a>
  
Type: Array of [RuleSummary](API_RuleSummary.md) objects

 ** [SnsTopicArn](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-SnsTopicArn"></a>
The Amazon resource name (ARN) of the Amazon Simple Notification Service SNS topic that's used to provide notification of changes to the managed rule group. You can subscribe to the SNS topic to receive notifications when the managed rule group is modified, such as for new versions and for version expiration. For more information, see the [Amazon Simple Notification Service Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/welcome.html).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*` 

 ** [VersionName](#API_DescribeManagedRuleGroup_ResponseSyntax) **   <a name="WAF-DescribeManagedRuleGroup-response-VersionName"></a>
The managed rule group's version.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$` 

## Errors
<a name="API_DescribeManagedRuleGroup_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFExpiredManagedRuleGroupVersionException **   
The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md).  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_DescribeManagedRuleGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DescribeManagedRuleGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DescribeManagedRuleGroup) 

# DisassociateWebACL
<a name="API_DisassociateWebACL"></a>

Disassociates the specified resource from its web ACL association, if it has one. 

Use this for all resource types except for Amazon CloudFront distributions. For Amazon CloudFront, call `UpdateDistribution` for the distribution and provide an empty web ACL ID. For information, see [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html) in the *Amazon CloudFront API Reference*. 

 **Required permissions for customer-managed IAM policies** 

This call requires permissions that are specific to the protected resource type. For details, see [Permissions for DisassociateWebACL](https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-DisassociateWebACL) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_DisassociateWebACL_RequestSyntax"></a>

```
{
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_DisassociateWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_DisassociateWebACL_RequestSyntax) **   <a name="WAF-DisassociateWebACL-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource to disassociate from the web ACL.   
The ARN must be in one of the following formats:  
+ For an Application Load Balancer: `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id ` 
+ For an Amazon API Gateway REST API: `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name ` 
+ For an AWS AppSync GraphQL API: `arn:partition:appsync:region:account-id:apis/GraphQLApiId ` 
+ For an Amazon Cognito user pool: `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id ` 
+ For an AWS App Runner service: `arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id ` 
+ For an AWS Verified Access instance: `arn:partition:ec2:region:account-id:verified-access-instance/instance-id ` 
+ For an AWS Amplify application: `arn:partition:amplify:region:account-id:apps/app-id ` 
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Elements
<a name="API_DisassociateWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_DisassociateWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_DisassociateWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/DisassociateWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/DisassociateWebACL) 

# GenerateMobileSdkReleaseUrl
<a name="API_GenerateMobileSdkReleaseUrl"></a>

Generates a presigned download URL for the specified release of the mobile SDK.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage AWS WAF tokens for use in HTTP(S) requests from a mobile device to AWS WAF. For more information, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_GenerateMobileSdkReleaseUrl_RequestSyntax"></a>

```
{
   "Platform": "string",
   "ReleaseVersion": "string"
}
```

## Request Parameters
<a name="API_GenerateMobileSdkReleaseUrl_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Platform](#API_GenerateMobileSdkReleaseUrl_RequestSyntax) **   <a name="WAF-GenerateMobileSdkReleaseUrl-request-Platform"></a>
The device platform.  
Type: String  
Valid Values: `IOS | ANDROID`   
Required: Yes

 ** [ReleaseVersion](#API_GenerateMobileSdkReleaseUrl_RequestSyntax) **   <a name="WAF-GenerateMobileSdkReleaseUrl-request-ReleaseVersion"></a>
The release version. For the latest available version, specify `LATEST`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$`   
Required: Yes

## Response Syntax
<a name="API_GenerateMobileSdkReleaseUrl_ResponseSyntax"></a>

```
{
   "Url": "string"
}
```

## Response Elements
<a name="API_GenerateMobileSdkReleaseUrl_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Url](#API_GenerateMobileSdkReleaseUrl_ResponseSyntax) **   <a name="WAF-GenerateMobileSdkReleaseUrl-response-Url"></a>
The presigned download URL for the specified SDK release.  
Type: String

## Errors
<a name="API_GenerateMobileSdkReleaseUrl_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GenerateMobileSdkReleaseUrl_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GenerateMobileSdkReleaseUrl) 

# GetDecryptedAPIKey
<a name="API_GetDecryptedAPIKey"></a>

Returns your API key in decrypted form. Use this to check the token domains that you have defined for the key. 

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_GetDecryptedAPIKey_RequestSyntax"></a>

```
{
   "APIKey": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetDecryptedAPIKey_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [APIKey](#API_GetDecryptedAPIKey_RequestSyntax) **   <a name="WAF-GetDecryptedAPIKey-request-APIKey"></a>
The encrypted API key.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [Scope](#API_GetDecryptedAPIKey_RequestSyntax) **   <a name="WAF-GetDecryptedAPIKey-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_GetDecryptedAPIKey_ResponseSyntax"></a>

```
{
   "CreationTimestamp": number,
   "TokenDomains": [ "string" ]
}
```

## Response Elements
<a name="API_GetDecryptedAPIKey_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [CreationTimestamp](#API_GetDecryptedAPIKey_ResponseSyntax) **   <a name="WAF-GetDecryptedAPIKey-response-CreationTimestamp"></a>
The date and time that the key was created.   
Type: Timestamp

 ** [TokenDomains](#API_GetDecryptedAPIKey_ResponseSyntax) **   <a name="WAF-GetDecryptedAPIKey-response-TokenDomains"></a>
The token domains that are defined in this API key.   
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `^[\w\.\-/]+$` 

## Errors
<a name="API_GetDecryptedAPIKey_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetDecryptedAPIKey_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetDecryptedAPIKey) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetDecryptedAPIKey) 

# GetIPSet
<a name="API_GetIPSet"></a>

Retrieves the specified [IPSet](API_IPSet.md).

## Request Syntax
<a name="API_GetIPSet_RequestSyntax"></a>

```
{
   "Id": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetIPSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_GetIPSet_RequestSyntax) **   <a name="WAF-GetIPSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_GetIPSet_RequestSyntax) **   <a name="WAF-GetIPSet-request-Name"></a>
The name of the IP set. You cannot change the name of an `IPSet` after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_GetIPSet_RequestSyntax) **   <a name="WAF-GetIPSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_GetIPSet_ResponseSyntax"></a>

```
{
   "IPSet": { 
      "Addresses": [ "string" ],
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "IPAddressVersion": "string",
      "Name": "string"
   },
   "LockToken": "string"
}
```

## Response Elements
<a name="API_GetIPSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [IPSet](#API_GetIPSet_ResponseSyntax) **   <a name="WAF-GetIPSet-response-IPSet"></a>
  
Type: [IPSet](API_IPSet.md) object

 ** [LockToken](#API_GetIPSet_ResponseSyntax) **   <a name="WAF-GetIPSet-response-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_GetIPSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetIPSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetIPSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetIPSet) 

# GetLoggingConfiguration
<a name="API_GetLoggingConfiguration"></a>

Returns the [LoggingConfiguration](API_LoggingConfiguration.md) for the specified web ACL.

## Request Syntax
<a name="API_GetLoggingConfiguration_RequestSyntax"></a>

```
{
   "LogScope": "string",
   "LogType": "string",
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_GetLoggingConfiguration_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [LogScope](#API_GetLoggingConfiguration_RequestSyntax) **   <a name="WAF-GetLoggingConfiguration-request-LogScope"></a>
The owner of the logging configuration, which must be set to `CUSTOMER` for the configurations that you manage.   
The log scope `SECURITY_LAKE` indicates a configuration that is managed through Amazon Security Lake. You can use Security Lake to collect log and event data from various sources for normalization, analysis, and management. For information, see [Collecting data from AWS services](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) in the *Amazon Security Lake user guide*.   
The log scope `CLOUDWATCH_TELEMETRY_RULE_MANAGED` indicates a configuration that is managed through Amazon CloudWatch Logs for telemetry data collection and analysis. For information, see [What is Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) in the *Amazon CloudWatch Logs user guide*.   
Default: `CUSTOMER`   
Type: String  
Valid Values: `CUSTOMER | SECURITY_LAKE | CLOUDWATCH_TELEMETRY_RULE_MANAGED`   
Required: No

 ** [LogType](#API_GetLoggingConfiguration_RequestSyntax) **   <a name="WAF-GetLoggingConfiguration-request-LogType"></a>
Used to distinguish between various logging options. Currently, there is one option.  
Default: `WAF_LOGS`   
Type: String  
Valid Values: `WAF_LOGS`   
Required: No

 ** [ResourceArn](#API_GetLoggingConfiguration_RequestSyntax) **   <a name="WAF-GetLoggingConfiguration-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the web ACL for which you want to get the [LoggingConfiguration](API_LoggingConfiguration.md).  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_GetLoggingConfiguration_ResponseSyntax"></a>

```
{
   "LoggingConfiguration": { 
      "LogDestinationConfigs": [ "string" ],
      "LoggingFilter": { 
         "DefaultBehavior": "string",
         "Filters": [ 
            { 
               "Behavior": "string",
               "Conditions": [ 
                  { 
                     "ActionCondition": { 
                        "Action": "string"
                     },
                     "LabelNameCondition": { 
                        "LabelName": "string"
                     }
                  }
               ],
               "Requirement": "string"
            }
         ]
      },
      "LogScope": "string",
      "LogType": "string",
      "ManagedByFirewallManager": boolean,
      "RedactedFields": [ 
         { 
            "AllQueryArguments": { 
            },
            "Body": { 
               "OversizeHandling": "string"
            },
            "Cookies": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedCookies": [ "string" ],
                  "IncludedCookies": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "HeaderOrder": { 
               "OversizeHandling": "string"
            },
            "Headers": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedHeaders": [ "string" ],
                  "IncludedHeaders": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "JA3Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JA4Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JsonBody": { 
               "InvalidFallbackBehavior": "string",
               "MatchPattern": { 
                  "All": { 
                  },
                  "IncludedPaths": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "Method": { 
            },
            "QueryString": { 
            },
            "SingleHeader": { 
               "Name": "string"
            },
            "SingleQueryArgument": { 
               "Name": "string"
            },
            "UriFragment": { 
               "FallbackBehavior": "string"
            },
            "UriPath": { 
            }
         }
      ],
      "ResourceArn": "string"
   }
}
```

## Response Elements
<a name="API_GetLoggingConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LoggingConfiguration](#API_GetLoggingConfiguration_ResponseSyntax) **   <a name="WAF-GetLoggingConfiguration-response-LoggingConfiguration"></a>
The [LoggingConfiguration](API_LoggingConfiguration.md) for the specified web ACL.  
Type: [LoggingConfiguration](API_LoggingConfiguration.md) object

## Errors
<a name="API_GetLoggingConfiguration_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetLoggingConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetLoggingConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetLoggingConfiguration) 

# GetManagedRuleSet
<a name="API_GetManagedRuleSet"></a>

Retrieves the specified managed rule set. 

**Note**  
This is intended for use only by vendors of managed rule sets. Vendors are AWS and AWS Marketplace sellers.   
Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`, `PutManagedRuleSetVersions`, and `UpdateManagedRuleSetVersionExpiryDate`.

## Request Syntax
<a name="API_GetManagedRuleSet_RequestSyntax"></a>

```
{
   "Id": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetManagedRuleSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_GetManagedRuleSet_RequestSyntax) **   <a name="WAF-GetManagedRuleSet-request-Id"></a>
A unique identifier for the managed rule set. The ID is returned in the responses to commands like `list`. You provide it to operations like `get` and `update`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_GetManagedRuleSet_RequestSyntax) **   <a name="WAF-GetManagedRuleSet-request-Name"></a>
The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.  
This name is assigned to the corresponding managed rule group, which your customers can access and use.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_GetManagedRuleSet_RequestSyntax) **   <a name="WAF-GetManagedRuleSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_GetManagedRuleSet_ResponseSyntax"></a>

```
{
   "LockToken": "string",
   "ManagedRuleSet": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "LabelNamespace": "string",
      "Name": "string",
      "PublishedVersions": { 
         "string" : { 
            "AssociatedRuleGroupArn": "string",
            "Capacity": number,
            "ExpiryTimestamp": number,
            "ForecastedLifetime": number,
            "LastUpdateTimestamp": number,
            "PublishTimestamp": number
         }
      },
      "RecommendedVersion": "string"
   }
}
```

## Response Elements
<a name="API_GetManagedRuleSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LockToken](#API_GetManagedRuleSet_ResponseSyntax) **   <a name="WAF-GetManagedRuleSet-response-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

 ** [ManagedRuleSet](#API_GetManagedRuleSet_ResponseSyntax) **   <a name="WAF-GetManagedRuleSet-response-ManagedRuleSet"></a>
The managed rule set that you requested.   
Type: [ManagedRuleSet](API_ManagedRuleSet.md) object

## Errors
<a name="API_GetManagedRuleSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetManagedRuleSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetManagedRuleSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetManagedRuleSet) 

# GetMobileSdkRelease
<a name="API_GetMobileSdkRelease"></a>

Retrieves information for the specified mobile SDK release, including release notes and tags.

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage AWS WAF tokens for use in HTTP(S) requests from a mobile device to AWS WAF. For more information, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_GetMobileSdkRelease_RequestSyntax"></a>

```
{
   "Platform": "string",
   "ReleaseVersion": "string"
}
```

## Request Parameters
<a name="API_GetMobileSdkRelease_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Platform](#API_GetMobileSdkRelease_RequestSyntax) **   <a name="WAF-GetMobileSdkRelease-request-Platform"></a>
The device platform.  
Type: String  
Valid Values: `IOS | ANDROID`   
Required: Yes

 ** [ReleaseVersion](#API_GetMobileSdkRelease_RequestSyntax) **   <a name="WAF-GetMobileSdkRelease-request-ReleaseVersion"></a>
The release version. For the latest available version, specify `LATEST`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$`   
Required: Yes

## Response Syntax
<a name="API_GetMobileSdkRelease_ResponseSyntax"></a>

```
{
   "MobileSdkRelease": { 
      "ReleaseNotes": "string",
      "ReleaseVersion": "string",
      "Tags": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ],
      "Timestamp": number
   }
}
```

## Response Elements
<a name="API_GetMobileSdkRelease_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [MobileSdkRelease](#API_GetMobileSdkRelease_ResponseSyntax) **   <a name="WAF-GetMobileSdkRelease-response-MobileSdkRelease"></a>
Information for a specified SDK release, including release notes and tags.  
Type: [MobileSdkRelease](API_MobileSdkRelease.md) object

## Errors
<a name="API_GetMobileSdkRelease_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetMobileSdkRelease_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetMobileSdkRelease) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetMobileSdkRelease) 

# GetPermissionPolicy
<a name="API_GetPermissionPolicy"></a>

Returns the IAM policy that is attached to the specified rule group.

You must be the owner of the rule group to perform this operation.

## Request Syntax
<a name="API_GetPermissionPolicy_RequestSyntax"></a>

```
{
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_GetPermissionPolicy_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_GetPermissionPolicy_RequestSyntax) **   <a name="WAF-GetPermissionPolicy-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the rule group for which you want to get the policy.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_GetPermissionPolicy_ResponseSyntax"></a>

```
{
   "Policy": "string"
}
```

## Response Elements
<a name="API_GetPermissionPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [Policy](#API_GetPermissionPolicy_ResponseSyntax) **   <a name="WAF-GetPermissionPolicy-response-Policy"></a>
The IAM policy that is attached to the specified rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 395000.  
Pattern: `.*\S.*` 

## Errors
<a name="API_GetPermissionPolicy_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetPermissionPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetPermissionPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetPermissionPolicy) 

# GetRateBasedStatementManagedKeys
<a name="API_GetRateBasedStatementManagedKeys"></a>

Retrieves the IP addresses that are currently blocked by a rate-based rule instance. This is only available for rate-based rules that aggregate solely on the IP address or on the forwarded IP address. 

The maximum number of addresses that can be blocked for a single rate-based rule instance is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest rates are blocked.

For a rate-based rule that you've defined inside a rule group, provide the name of the rule group reference statement in your request, in addition to the rate-based rule name and the web ACL name. 

 AWS WAF monitors web requests and manages keys independently for each unique combination of web ACL, optional rule group, and rate-based rule. For example, if you define a rate-based rule inside a rule group, and then use the rule group in a web ACL, AWS WAF monitors web requests and manages keys for that web ACL, rule group reference statement, and rate-based rule instance. If you use the same rule group in a second web ACL, AWS WAF monitors web requests and manages keys for this second usage completely independent of your first. 

## Request Syntax
<a name="API_GetRateBasedStatementManagedKeys_RequestSyntax"></a>

```
{
   "RuleGroupRuleName": "string",
   "RuleName": "string",
   "Scope": "string",
   "WebACLId": "string",
   "WebACLName": "string"
}
```

## Request Parameters
<a name="API_GetRateBasedStatementManagedKeys_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [RuleGroupRuleName](#API_GetRateBasedStatementManagedKeys_RequestSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-request-RuleGroupRuleName"></a>
The name of the rule group reference statement in your web ACL. This is required only when you have the rate-based rule nested inside a rule group.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: No

 ** [RuleName](#API_GetRateBasedStatementManagedKeys_RequestSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-request-RuleName"></a>
The name of the rate-based rule to get the keys for. If you have the rule defined inside a rule group that you're using in your web ACL, also provide the name of the rule group reference statement in the request parameter `RuleGroupRuleName`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_GetRateBasedStatementManagedKeys_RequestSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [WebACLId](#API_GetRateBasedStatementManagedKeys_RequestSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-request-WebACLId"></a>
The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [WebACLName](#API_GetRateBasedStatementManagedKeys_RequestSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-request-WebACLName"></a>
The name of the web ACL. You cannot change the name of a web ACL after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

## Response Syntax
<a name="API_GetRateBasedStatementManagedKeys_ResponseSyntax"></a>

```
{
   "ManagedKeysIPV4": { 
      "Addresses": [ "string" ],
      "IPAddressVersion": "string"
   },
   "ManagedKeysIPV6": { 
      "Addresses": [ "string" ],
      "IPAddressVersion": "string"
   }
}
```

## Response Elements
<a name="API_GetRateBasedStatementManagedKeys_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ManagedKeysIPV4](#API_GetRateBasedStatementManagedKeys_ResponseSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-response-ManagedKeysIPV4"></a>
The keys that are of Internet Protocol version 4 (IPv4).   
Type: [RateBasedStatementManagedKeysIPSet](API_RateBasedStatementManagedKeysIPSet.md) object

 ** [ManagedKeysIPV6](#API_GetRateBasedStatementManagedKeys_ResponseSyntax) **   <a name="WAF-GetRateBasedStatementManagedKeys-response-ManagedKeysIPV6"></a>
The keys that are of Internet Protocol version 6 (IPv6).   
Type: [RateBasedStatementManagedKeysIPSet](API_RateBasedStatementManagedKeysIPSet.md) object

## Errors
<a name="API_GetRateBasedStatementManagedKeys_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFUnsupportedAggregateKeyTypeException **   
The rule that you've named doesn't aggregate solely on the IP address or solely on the forwarded IP address. This call is only available for rate-based rules with an `AggregateKeyType` setting of `IP` or `FORWARDED_IP`.  
HTTP Status Code: 400

## See Also
<a name="API_GetRateBasedStatementManagedKeys_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetRateBasedStatementManagedKeys) 

# GetRegexPatternSet
<a name="API_GetRegexPatternSet"></a>

Retrieves the specified [RegexPatternSet](API_RegexPatternSet.md).

## Request Syntax
<a name="API_GetRegexPatternSet_RequestSyntax"></a>

```
{
   "Id": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetRegexPatternSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_GetRegexPatternSet_RequestSyntax) **   <a name="WAF-GetRegexPatternSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_GetRegexPatternSet_RequestSyntax) **   <a name="WAF-GetRegexPatternSet-request-Name"></a>
The name of the set. You cannot change the name after you create the set.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_GetRegexPatternSet_RequestSyntax) **   <a name="WAF-GetRegexPatternSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_GetRegexPatternSet_ResponseSyntax"></a>

```
{
   "LockToken": "string",
   "RegexPatternSet": { 
      "ARN": "string",
      "Description": "string",
      "Id": "string",
      "Name": "string",
      "RegularExpressionList": [ 
         { 
            "RegexString": "string"
         }
      ]
   }
}
```

## Response Elements
<a name="API_GetRegexPatternSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LockToken](#API_GetRegexPatternSet_ResponseSyntax) **   <a name="WAF-GetRegexPatternSet-response-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

 ** [RegexPatternSet](#API_GetRegexPatternSet_ResponseSyntax) **   <a name="WAF-GetRegexPatternSet-response-RegexPatternSet"></a>
  
Type: [RegexPatternSet](API_RegexPatternSet.md) object

## Errors
<a name="API_GetRegexPatternSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetRegexPatternSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetRegexPatternSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetRegexPatternSet) 

# GetRuleGroup
<a name="API_GetRuleGroup"></a>

Retrieves the specified [RuleGroup](API_RuleGroup.md).

## Request Syntax
<a name="API_GetRuleGroup_RequestSyntax"></a>

```
{
   "ARN": "string",
   "Id": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetRuleGroup_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ARN](#API_GetRuleGroup_RequestSyntax) **   <a name="WAF-GetRuleGroup-request-ARN"></a>
The Amazon Resource Name (ARN) of the entity.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: No

 ** [Id](#API_GetRuleGroup_RequestSyntax) **   <a name="WAF-GetRuleGroup-request-Id"></a>
A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: No

 ** [Name](#API_GetRuleGroup_RequestSyntax) **   <a name="WAF-GetRuleGroup-request-Name"></a>
The name of the rule group. You cannot change the name of a rule group after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: No

 ** [Scope](#API_GetRuleGroup_RequestSyntax) **   <a name="WAF-GetRuleGroup-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: No

## Response Syntax
<a name="API_GetRuleGroup_ResponseSyntax"></a>

```
{
   "LockToken": "string",
   "RuleGroup": { 
      "ARN": "string",
      "AvailableLabels": [ 
         { 
            "Name": "string"
         }
      ],
      "Capacity": number,
      "ConsumedLabels": [ 
         { 
            "Name": "string"
         }
      ],
      "CustomResponseBodies": { 
         "string" : { 
            "Content": "string",
            "ContentType": "string"
         }
      },
      "Description": "string",
      "Id": "string",
      "LabelNamespace": "string",
      "Name": "string",
      "Rules": [ 
         { 
            "Action": { 
               "Allow": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Block": { 
                  "CustomResponse": { 
                     "CustomResponseBodyKey": "string",
                     "ResponseCode": number,
                     "ResponseHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Captcha": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Challenge": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               }
            },
            "CaptchaConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "ChallengeConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "RuleLabels": [ 
               { 
                  "Name": "string"
               }
            ],
            "Statement": { 
               "AndStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "AsnMatchStatement": { 
                  "AsnList": [ number ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "ByteMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "PositionalConstraint": "string",
                  "SearchString": blob,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "GeoMatchStatement": { 
                  "CountryCodes": [ "string" ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "IPSetReferenceStatement": { 
                  "ARN": "string",
                  "IPSetForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string",
                     "Position": "string"
                  }
               },
               "LabelMatchStatement": { 
                  "Key": "string",
                  "Scope": "string"
               },
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": "Statement",
                  "VendorName": "string",
                  "Version": "string"
               },
               "NotStatement": { 
                  "Statement": "Statement"
               },
               "OrStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "RateBasedStatement": { 
                  "AggregateKeyType": "string",
                  "CustomKeys": [ 
                     { 
                        "ASN": { 
                        },
                        "Cookie": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "ForwardedIP": { 
                        },
                        "Header": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "HTTPMethod": { 
                        },
                        "IP": { 
                        },
                        "JA3Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "JA4Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "LabelNamespace": { 
                           "Namespace": "string"
                        },
                        "QueryArgument": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "QueryString": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "UriPath": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        }
                     }
                  ],
                  "EvaluationWindowSec": number,
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  },
                  "Limit": number,
                  "ScopeDownStatement": "Statement"
               },
               "RegexMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "RegexString": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RegexPatternSetReferenceStatement": { 
                  "ARN": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               },
               "SizeConstraintStatement": { 
                  "ComparisonOperator": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "Size": number,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "SqliMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "SensitivityLevel": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "XssMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               }
            },
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "VisibilityConfig": { 
         "CloudWatchMetricsEnabled": boolean,
         "MetricName": "string",
         "SampledRequestsEnabled": boolean
      }
   }
}
```

## Response Elements
<a name="API_GetRuleGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LockToken](#API_GetRuleGroup_ResponseSyntax) **   <a name="WAF-GetRuleGroup-response-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

 ** [RuleGroup](#API_GetRuleGroup_ResponseSyntax) **   <a name="WAF-GetRuleGroup-response-RuleGroup"></a>
  
Type: [RuleGroup](API_RuleGroup.md) object

## Errors
<a name="API_GetRuleGroup_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetRuleGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetRuleGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetRuleGroup) 

# GetSampledRequests
<a name="API_GetSampledRequests"></a>

Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.

 `GetSampledRequests` returns a time range, which is usually the time range that you specified. However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, `GetSampledRequests` returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.

## Request Syntax
<a name="API_GetSampledRequests_RequestSyntax"></a>

```
{
   "MaxItems": number,
   "RuleMetricName": "string",
   "Scope": "string",
   "TimeWindow": { 
      "EndTime": number,
      "StartTime": number
   },
   "WebAclArn": "string"
}
```

## Request Parameters
<a name="API_GetSampledRequests_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxItems](#API_GetSampledRequests_RequestSyntax) **   <a name="WAF-GetSampledRequests-request-MaxItems"></a>
The number of requests that you want AWS WAF to return from among the first 5,000 requests that your AWS resource received during the time range. If your resource received fewer requests than the value of `MaxItems`, `GetSampledRequests` returns information about all of them.   
Type: Long  
Valid Range: Minimum value of 1. Maximum value of 500.  
Required: Yes

 ** [RuleMetricName](#API_GetSampledRequests_RequestSyntax) **   <a name="WAF-GetSampledRequests-request-RuleMetricName"></a>
The metric name assigned to the `Rule` or `RuleGroup` dimension for which you want a sample of requests.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 255.  
Pattern: `^[\w#:\.\-/]+$`   
Required: Yes

 ** [Scope](#API_GetSampledRequests_RequestSyntax) **   <a name="WAF-GetSampledRequests-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [TimeWindow](#API_GetSampledRequests_RequestSyntax) **   <a name="WAF-GetSampledRequests-request-TimeWindow"></a>
The start date and time and the end date and time of the range for which you want `GetSampledRequests` to return a sample of 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. If you specify a start time that's earlier than three hours ago, AWS WAF sets it to three hours ago.  
Type: [TimeWindow](API_TimeWindow.md) object  
Required: Yes

 ** [WebAclArn](#API_GetSampledRequests_RequestSyntax) **   <a name="WAF-GetSampledRequests-request-WebAclArn"></a>
The Amazon resource name (ARN) of the `WebACL` for which you want a sample of requests.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_GetSampledRequests_ResponseSyntax"></a>

```
{
   "PopulationSize": number,
   "SampledRequests": [ 
      { 
         "Action": "string",
         "CaptchaResponse": { 
            "FailureReason": "string",
            "ResponseCode": number,
            "SolveTimestamp": number
         },
         "ChallengeResponse": { 
            "FailureReason": "string",
            "ResponseCode": number,
            "SolveTimestamp": number
         },
         "Labels": [ 
            { 
               "Name": "string"
            }
         ],
         "OverriddenAction": "string",
         "Request": { 
            "ClientIP": "string",
            "Country": "string",
            "Headers": [ 
               { 
                  "Name": "string",
                  "Value": "string"
               }
            ],
            "HTTPVersion": "string",
            "Method": "string",
            "URI": "string"
         },
         "RequestHeadersInserted": [ 
            { 
               "Name": "string",
               "Value": "string"
            }
         ],
         "ResponseCodeSent": number,
         "RuleNameWithinRuleGroup": "string",
         "Timestamp": number,
         "Weight": number
      }
   ],
   "TimeWindow": { 
      "EndTime": number,
      "StartTime": number
   }
}
```

## Response Elements
<a name="API_GetSampledRequests_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [PopulationSize](#API_GetSampledRequests_ResponseSyntax) **   <a name="WAF-GetSampledRequests-response-PopulationSize"></a>
The total number of requests from which `GetSampledRequests` got a sample of `MaxItems` requests. If `PopulationSize` is less than `MaxItems`, the sample includes every request that your AWS resource received during the specified time range.  
Type: Long

 ** [SampledRequests](#API_GetSampledRequests_ResponseSyntax) **   <a name="WAF-GetSampledRequests-response-SampledRequests"></a>
A complex type that contains detailed information about each of the requests in the sample.  
Type: Array of [SampledHTTPRequest](API_SampledHTTPRequest.md) objects

 ** [TimeWindow](#API_GetSampledRequests_ResponseSyntax) **   <a name="WAF-GetSampledRequests-response-TimeWindow"></a>
Usually, `TimeWindow` is the time range that you specified in the `GetSampledRequests` request. However, if your AWS resource received more than 5,000 requests during the time range that you specified in the request, `GetSampledRequests` returns the time range for the first 5,000 requests. Times are in Coordinated Universal Time (UTC) format.  
Type: [TimeWindow](API_TimeWindow.md) object

## Errors
<a name="API_GetSampledRequests_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetSampledRequests_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetSampledRequests) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetSampledRequests) 

# GetTopPathStatisticsByTraffic
<a name="API_GetTopPathStatisticsByTraffic"></a>

Retrieves aggregated statistics about the top URI paths accessed by bot traffic for a specified web ACL and time window. You can use this operation to analyze which paths on your web application receive the most bot traffic and identify the specific bots accessing those paths. The operation supports filtering by bot category, organization, or name, and allows you to drill down into specific path prefixes to view detailed URI-level statistics.

## Request Syntax
<a name="API_GetTopPathStatisticsByTraffic_RequestSyntax"></a>

```
{
   "BotCategory": "string",
   "BotName": "string",
   "BotOrganization": "string",
   "Limit": number,
   "NextMarker": "string",
   "NumberOfTopTrafficBotsPerPath": number,
   "Scope": "string",
   "TimeWindow": { 
      "EndTime": number,
      "StartTime": number
   },
   "UriPathPrefix": "string",
   "WebAclArn": "string"
}
```

## Request Parameters
<a name="API_GetTopPathStatisticsByTraffic_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BotCategory](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-BotCategory"></a>
Filters the results to include only traffic from bots in the specified category. For example, you can filter by `ai` to see only AI crawler traffic, or `search_engine` to see only search engine bot traffic. When you apply this filter, the `Source` field is populated in the response.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [BotName](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-BotName"></a>
Filters the results to include only traffic from the specified bot. For example, you can filter by `gptbot` or `googlebot`. When you apply this filter, the `Source` field is populated in the response.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [BotOrganization](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-BotOrganization"></a>
Filters the results to include only traffic from bots belonging to the specified organization. For example, you can filter by `openai` or `google`. When you apply this filter, the `Source` field is populated in the response.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Limit](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-Limit"></a>
The maximum number of path statistics to return. Valid values are 1 to 100.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: Yes

 ** [NextMarker](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [NumberOfTopTrafficBotsPerPath](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-NumberOfTopTrafficBotsPerPath"></a>
The maximum number of top bots to include in the statistics for each path. Valid values are 1 to 10.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 10.  
Required: Yes

 ** [Scope](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-Scope"></a>
Specifies whether the web ACL is for an AWS CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance.  
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [TimeWindow](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-TimeWindow"></a>
The time window for which you want to retrieve path statistics. The time window must be within the data retention period for your web ACL.  
Type: [TimeWindow](API_TimeWindow.md) object  
Required: Yes

 ** [UriPathPrefix](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-UriPathPrefix"></a>
A URI path prefix to filter the results. When you specify this parameter, the operation returns statistics for individual URIs within the specified path prefix. For example, if you specify `/api`, the response includes statistics for paths like `/api/v1/users` and `/api/v2/orders`. If you don't specify this parameter, the operation returns top-level path statistics.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 512.  
Pattern: `^\/[^ ]*$`   
Required: No

 ** [WebAclArn](#API_GetTopPathStatisticsByTraffic_RequestSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-request-WebAclArn"></a>
The Amazon Resource Name (ARN) of the web ACL for which you want to retrieve path statistics.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_GetTopPathStatisticsByTraffic_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "PathStatistics": [ 
      { 
         "Path": "string",
         "Percentage": number,
         "RequestCount": number,
         "Source": { 
            "BotCategory": "string",
            "BotName": "string",
            "BotOrganization": "string"
         },
         "TopBots": [ 
            { 
               "BotName": "string",
               "Percentage": number,
               "RequestCount": number
            }
         ]
      }
   ],
   "TopCategories": [ 
      { 
         "Path": "string",
         "Percentage": number,
         "RequestCount": number,
         "Source": { 
            "BotCategory": "string",
            "BotName": "string",
            "BotOrganization": "string"
         },
         "TopBots": [ 
            { 
               "BotName": "string",
               "Percentage": number,
               "RequestCount": number
            }
         ]
      }
   ],
   "TotalRequestCount": number
}
```

## Response Elements
<a name="API_GetTopPathStatisticsByTraffic_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_GetTopPathStatisticsByTraffic_ResponseSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [PathStatistics](#API_GetTopPathStatisticsByTraffic_ResponseSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-response-PathStatistics"></a>
The list of path statistics, ordered by request count. Each entry includes the path, request count, percentage of total traffic, and the top bots accessing that path.  
Type: Array of [PathStatistics](API_PathStatistics.md) objects

 ** [TopCategories](#API_GetTopPathStatisticsByTraffic_ResponseSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-response-TopCategories"></a>
Category-level aggregations for visualizing bot category to path relationships. This field is only populated when no bot filters are applied to the request. Each entry includes the bot category and the paths accessed by bots in that category.  
Type: Array of [PathStatistics](API_PathStatistics.md) objects

 ** [TotalRequestCount](#API_GetTopPathStatisticsByTraffic_ResponseSyntax) **   <a name="WAF-GetTopPathStatisticsByTraffic-response-TotalRequestCount"></a>
The total number of requests that match the query criteria within the specified time window.  
Type: Long  
Valid Range: Minimum value of 0.

## Errors
<a name="API_GetTopPathStatisticsByTraffic_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFFeatureNotIncludedInPricingPlanException **   
The operation failed because the specified AWS WAF feature isn't supported by the CloudFront pricing plan associated with the web ACL.    
 ** DisallowedFeatures **   
The names of the disallowed AWS WAF features.
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetTopPathStatisticsByTraffic_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetTopPathStatisticsByTraffic) 

# GetWebACL
<a name="API_GetWebACL"></a>

Retrieves the specified [WebACL](API_WebACL.md).

## Request Syntax
<a name="API_GetWebACL_RequestSyntax"></a>

```
{
   "ARN": "string",
   "Id": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_GetWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ARN](#API_GetWebACL_RequestSyntax) **   <a name="WAF-GetWebACL-request-ARN"></a>
The Amazon Resource Name (ARN) of the web ACL that you want to retrieve.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: No

 ** [Id](#API_GetWebACL_RequestSyntax) **   <a name="WAF-GetWebACL-request-Id"></a>
The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: No

 ** [Name](#API_GetWebACL_RequestSyntax) **   <a name="WAF-GetWebACL-request-Name"></a>
The name of the web ACL. You cannot change the name of a web ACL after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: No

 ** [Scope](#API_GetWebACL_RequestSyntax) **   <a name="WAF-GetWebACL-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: No

## Response Syntax
<a name="API_GetWebACL_ResponseSyntax"></a>

```
{
   "ApplicationIntegrationURL": "string",
   "LockToken": "string",
   "WebACL": { 
      "ApplicationConfig": { 
         "Attributes": [ 
            { 
               "Name": "string",
               "Values": [ "string" ]
            }
         ]
      },
      "ARN": "string",
      "AssociationConfig": { 
         "RequestBody": { 
            "string" : { 
               "DefaultSizeInspectionLimit": "string"
            }
         }
      },
      "Capacity": number,
      "CaptchaConfig": { 
         "ImmunityTimeProperty": { 
            "ImmunityTime": number
         }
      },
      "ChallengeConfig": { 
         "ImmunityTimeProperty": { 
            "ImmunityTime": number
         }
      },
      "CustomResponseBodies": { 
         "string" : { 
            "Content": "string",
            "ContentType": "string"
         }
      },
      "DataProtectionConfig": { 
         "DataProtections": [ 
            { 
               "Action": "string",
               "ExcludeRateBasedDetails": boolean,
               "ExcludeRuleMatchDetails": boolean,
               "Field": { 
                  "FieldKeys": [ "string" ],
                  "FieldType": "string"
               }
            }
         ]
      },
      "DefaultAction": { 
         "Allow": { 
            "CustomRequestHandling": { 
               "InsertHeaders": [ 
                  { 
                     "Name": "string",
                     "Value": "string"
                  }
               ]
            }
         },
         "Block": { 
            "CustomResponse": { 
               "CustomResponseBodyKey": "string",
               "ResponseCode": number,
               "ResponseHeaders": [ 
                  { 
                     "Name": "string",
                     "Value": "string"
                  }
               ]
            }
         }
      },
      "Description": "string",
      "Id": "string",
      "LabelNamespace": "string",
      "ManagedByFirewallManager": boolean,
      "Name": "string",
      "OnSourceDDoSProtectionConfig": { 
         "ALBLowReputationMode": "string"
      },
      "PostProcessFirewallManagerRuleGroups": [ 
         { 
            "FirewallManagerStatement": { 
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": { 
                     "AndStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "AsnMatchStatement": { 
                        "AsnList": [ number ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "ByteMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "PositionalConstraint": "string",
                        "SearchString": blob,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "GeoMatchStatement": { 
                        "CountryCodes": [ "string" ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "IPSetReferenceStatement": { 
                        "ARN": "string",
                        "IPSetForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string",
                           "Position": "string"
                        }
                     },
                     "LabelMatchStatement": { 
                        "Key": "string",
                        "Scope": "string"
                     },
                     "ManagedRuleGroupStatement": "ManagedRuleGroupStatement",
                     "NotStatement": { 
                        "Statement": "Statement"
                     },
                     "OrStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "RateBasedStatement": { 
                        "AggregateKeyType": "string",
                        "CustomKeys": [ 
                           { 
                              "ASN": { 
                              },
                              "Cookie": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "ForwardedIP": { 
                              },
                              "Header": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "HTTPMethod": { 
                              },
                              "IP": { 
                              },
                              "JA3Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "JA4Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "LabelNamespace": { 
                                 "Namespace": "string"
                              },
                              "QueryArgument": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "QueryString": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "UriPath": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              }
                           }
                        ],
                        "EvaluationWindowSec": number,
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        },
                        "Limit": number,
                        "ScopeDownStatement": "Statement"
                     },
                     "RegexMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "RegexString": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RegexPatternSetReferenceStatement": { 
                        "ARN": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RuleGroupReferenceStatement": { 
                        "ARN": "string",
                        "ExcludedRules": [ 
                           { 
                              "Name": "string"
                           }
                        ],
                        "RuleActionOverrides": [ 
                           { 
                              "ActionToUse": { 
                                 "Allow": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Block": { 
                                    "CustomResponse": { 
                                       "CustomResponseBodyKey": "string",
                                       "ResponseCode": number,
                                       "ResponseHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Captcha": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Challenge": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Count": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 }
                              },
                              "Name": "string"
                           }
                        ]
                     },
                     "SizeConstraintStatement": { 
                        "ComparisonOperator": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "Size": number,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "SqliMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "SensitivityLevel": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "XssMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  },
                  "VendorName": "string",
                  "Version": "string"
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "PreProcessFirewallManagerRuleGroups": [ 
         { 
            "FirewallManagerStatement": { 
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": { 
                     "AndStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "AsnMatchStatement": { 
                        "AsnList": [ number ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "ByteMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "PositionalConstraint": "string",
                        "SearchString": blob,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "GeoMatchStatement": { 
                        "CountryCodes": [ "string" ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "IPSetReferenceStatement": { 
                        "ARN": "string",
                        "IPSetForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string",
                           "Position": "string"
                        }
                     },
                     "LabelMatchStatement": { 
                        "Key": "string",
                        "Scope": "string"
                     },
                     "ManagedRuleGroupStatement": "ManagedRuleGroupStatement",
                     "NotStatement": { 
                        "Statement": "Statement"
                     },
                     "OrStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "RateBasedStatement": { 
                        "AggregateKeyType": "string",
                        "CustomKeys": [ 
                           { 
                              "ASN": { 
                              },
                              "Cookie": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "ForwardedIP": { 
                              },
                              "Header": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "HTTPMethod": { 
                              },
                              "IP": { 
                              },
                              "JA3Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "JA4Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "LabelNamespace": { 
                                 "Namespace": "string"
                              },
                              "QueryArgument": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "QueryString": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "UriPath": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              }
                           }
                        ],
                        "EvaluationWindowSec": number,
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        },
                        "Limit": number,
                        "ScopeDownStatement": "Statement"
                     },
                     "RegexMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "RegexString": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RegexPatternSetReferenceStatement": { 
                        "ARN": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RuleGroupReferenceStatement": { 
                        "ARN": "string",
                        "ExcludedRules": [ 
                           { 
                              "Name": "string"
                           }
                        ],
                        "RuleActionOverrides": [ 
                           { 
                              "ActionToUse": { 
                                 "Allow": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Block": { 
                                    "CustomResponse": { 
                                       "CustomResponseBodyKey": "string",
                                       "ResponseCode": number,
                                       "ResponseHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Captcha": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Challenge": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Count": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 }
                              },
                              "Name": "string"
                           }
                        ]
                     },
                     "SizeConstraintStatement": { 
                        "ComparisonOperator": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "Size": number,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "SqliMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "SensitivityLevel": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "XssMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  },
                  "VendorName": "string",
                  "Version": "string"
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "RetrofittedByFirewallManager": boolean,
      "Rules": [ 
         { 
            "Action": { 
               "Allow": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Block": { 
                  "CustomResponse": { 
                     "CustomResponseBodyKey": "string",
                     "ResponseCode": number,
                     "ResponseHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Captcha": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Challenge": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               }
            },
            "CaptchaConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "ChallengeConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "RuleLabels": [ 
               { 
                  "Name": "string"
               }
            ],
            "Statement": { 
               "AndStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "AsnMatchStatement": { 
                  "AsnList": [ number ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "ByteMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "PositionalConstraint": "string",
                  "SearchString": blob,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "GeoMatchStatement": { 
                  "CountryCodes": [ "string" ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "IPSetReferenceStatement": { 
                  "ARN": "string",
                  "IPSetForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string",
                     "Position": "string"
                  }
               },
               "LabelMatchStatement": { 
                  "Key": "string",
                  "Scope": "string"
               },
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": "Statement",
                  "VendorName": "string",
                  "Version": "string"
               },
               "NotStatement": { 
                  "Statement": "Statement"
               },
               "OrStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "RateBasedStatement": { 
                  "AggregateKeyType": "string",
                  "CustomKeys": [ 
                     { 
                        "ASN": { 
                        },
                        "Cookie": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "ForwardedIP": { 
                        },
                        "Header": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "HTTPMethod": { 
                        },
                        "IP": { 
                        },
                        "JA3Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "JA4Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "LabelNamespace": { 
                           "Namespace": "string"
                        },
                        "QueryArgument": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "QueryString": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "UriPath": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        }
                     }
                  ],
                  "EvaluationWindowSec": number,
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  },
                  "Limit": number,
                  "ScopeDownStatement": "Statement"
               },
               "RegexMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "RegexString": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RegexPatternSetReferenceStatement": { 
                  "ARN": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               },
               "SizeConstraintStatement": { 
                  "ComparisonOperator": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "Size": number,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "SqliMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "SensitivityLevel": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "XssMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               }
            },
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "TokenDomains": [ "string" ],
      "VisibilityConfig": { 
         "CloudWatchMetricsEnabled": boolean,
         "MetricName": "string",
         "SampledRequestsEnabled": boolean
      }
   }
}
```

## Response Elements
<a name="API_GetWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ApplicationIntegrationURL](#API_GetWebACL_ResponseSyntax) **   <a name="WAF-GetWebACL-response-ApplicationIntegrationURL"></a>
The URL to use in SDK integrations with AWS managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group `AWSManagedRulesATPRuleSet` and the account creation fraud prevention managed rule group `AWSManagedRulesACFPRuleSet`. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.  
Type: String

 ** [LockToken](#API_GetWebACL_ResponseSyntax) **   <a name="WAF-GetWebACL-response-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

 ** [WebACL](#API_GetWebACL_ResponseSyntax) **   <a name="WAF-GetWebACL-response-WebACL"></a>
The web ACL specification. You can modify the settings in this web ACL and use it to update this web ACL or create a new one.  
Type: [WebACL](API_WebACL.md) object

## Errors
<a name="API_GetWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_GetWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetWebACL) 

# GetWebACLForResource
<a name="API_GetWebACLForResource"></a>

Retrieves the [WebACL](API_WebACL.md) for the specified resource. 

This call uses `GetWebACL`, to verify that your account has permission to access the retrieved web ACL. If you get an error that indicates that your account isn't authorized to perform `wafv2:GetWebACL` on the resource, that error won't be included in your AWS CloudTrail event history. 

For Amazon CloudFront, don't use this call. Instead, call the CloudFront action `GetDistributionConfig`. For information, see [GetDistributionConfig](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) in the *Amazon CloudFront API Reference*. 

 **Required permissions for customer-managed IAM policies** 

This call requires permissions that are specific to the protected resource type. For details, see [Permissions for GetWebACLForResource](https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-GetWebACLForResource) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_GetWebACLForResource_RequestSyntax"></a>

```
{
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_GetWebACLForResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_GetWebACLForResource_RequestSyntax) **   <a name="WAF-GetWebACLForResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the resource whose web ACL you want to retrieve.   
The ARN must be in one of the following formats:  
+ For an Application Load Balancer: `arn:partition:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id ` 
+ For an Amazon API Gateway REST API: `arn:partition:apigateway:region::/restapis/api-id/stages/stage-name ` 
+ For an AWS AppSync GraphQL API: `arn:partition:appsync:region:account-id:apis/GraphQLApiId ` 
+ For an Amazon Cognito user pool: `arn:partition:cognito-idp:region:account-id:userpool/user-pool-id ` 
+ For an AWS App Runner service: `arn:partition:apprunner:region:account-id:service/apprunner-service-name/apprunner-service-id ` 
+ For an AWS Verified Access instance: `arn:partition:ec2:region:account-id:verified-access-instance/instance-id ` 
+ For an AWS Amplify application: `arn:partition:amplify:region:account-id:apps/app-id ` 
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_GetWebACLForResource_ResponseSyntax"></a>

```
{
   "WebACL": { 
      "ApplicationConfig": { 
         "Attributes": [ 
            { 
               "Name": "string",
               "Values": [ "string" ]
            }
         ]
      },
      "ARN": "string",
      "AssociationConfig": { 
         "RequestBody": { 
            "string" : { 
               "DefaultSizeInspectionLimit": "string"
            }
         }
      },
      "Capacity": number,
      "CaptchaConfig": { 
         "ImmunityTimeProperty": { 
            "ImmunityTime": number
         }
      },
      "ChallengeConfig": { 
         "ImmunityTimeProperty": { 
            "ImmunityTime": number
         }
      },
      "CustomResponseBodies": { 
         "string" : { 
            "Content": "string",
            "ContentType": "string"
         }
      },
      "DataProtectionConfig": { 
         "DataProtections": [ 
            { 
               "Action": "string",
               "ExcludeRateBasedDetails": boolean,
               "ExcludeRuleMatchDetails": boolean,
               "Field": { 
                  "FieldKeys": [ "string" ],
                  "FieldType": "string"
               }
            }
         ]
      },
      "DefaultAction": { 
         "Allow": { 
            "CustomRequestHandling": { 
               "InsertHeaders": [ 
                  { 
                     "Name": "string",
                     "Value": "string"
                  }
               ]
            }
         },
         "Block": { 
            "CustomResponse": { 
               "CustomResponseBodyKey": "string",
               "ResponseCode": number,
               "ResponseHeaders": [ 
                  { 
                     "Name": "string",
                     "Value": "string"
                  }
               ]
            }
         }
      },
      "Description": "string",
      "Id": "string",
      "LabelNamespace": "string",
      "ManagedByFirewallManager": boolean,
      "Name": "string",
      "OnSourceDDoSProtectionConfig": { 
         "ALBLowReputationMode": "string"
      },
      "PostProcessFirewallManagerRuleGroups": [ 
         { 
            "FirewallManagerStatement": { 
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": { 
                     "AndStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "AsnMatchStatement": { 
                        "AsnList": [ number ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "ByteMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "PositionalConstraint": "string",
                        "SearchString": blob,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "GeoMatchStatement": { 
                        "CountryCodes": [ "string" ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "IPSetReferenceStatement": { 
                        "ARN": "string",
                        "IPSetForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string",
                           "Position": "string"
                        }
                     },
                     "LabelMatchStatement": { 
                        "Key": "string",
                        "Scope": "string"
                     },
                     "ManagedRuleGroupStatement": "ManagedRuleGroupStatement",
                     "NotStatement": { 
                        "Statement": "Statement"
                     },
                     "OrStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "RateBasedStatement": { 
                        "AggregateKeyType": "string",
                        "CustomKeys": [ 
                           { 
                              "ASN": { 
                              },
                              "Cookie": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "ForwardedIP": { 
                              },
                              "Header": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "HTTPMethod": { 
                              },
                              "IP": { 
                              },
                              "JA3Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "JA4Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "LabelNamespace": { 
                                 "Namespace": "string"
                              },
                              "QueryArgument": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "QueryString": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "UriPath": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              }
                           }
                        ],
                        "EvaluationWindowSec": number,
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        },
                        "Limit": number,
                        "ScopeDownStatement": "Statement"
                     },
                     "RegexMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "RegexString": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RegexPatternSetReferenceStatement": { 
                        "ARN": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RuleGroupReferenceStatement": { 
                        "ARN": "string",
                        "ExcludedRules": [ 
                           { 
                              "Name": "string"
                           }
                        ],
                        "RuleActionOverrides": [ 
                           { 
                              "ActionToUse": { 
                                 "Allow": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Block": { 
                                    "CustomResponse": { 
                                       "CustomResponseBodyKey": "string",
                                       "ResponseCode": number,
                                       "ResponseHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Captcha": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Challenge": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Count": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 }
                              },
                              "Name": "string"
                           }
                        ]
                     },
                     "SizeConstraintStatement": { 
                        "ComparisonOperator": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "Size": number,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "SqliMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "SensitivityLevel": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "XssMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  },
                  "VendorName": "string",
                  "Version": "string"
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "PreProcessFirewallManagerRuleGroups": [ 
         { 
            "FirewallManagerStatement": { 
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": { 
                     "AndStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "AsnMatchStatement": { 
                        "AsnList": [ number ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "ByteMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "PositionalConstraint": "string",
                        "SearchString": blob,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "GeoMatchStatement": { 
                        "CountryCodes": [ "string" ],
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        }
                     },
                     "IPSetReferenceStatement": { 
                        "ARN": "string",
                        "IPSetForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string",
                           "Position": "string"
                        }
                     },
                     "LabelMatchStatement": { 
                        "Key": "string",
                        "Scope": "string"
                     },
                     "ManagedRuleGroupStatement": "ManagedRuleGroupStatement",
                     "NotStatement": { 
                        "Statement": "Statement"
                     },
                     "OrStatement": { 
                        "Statements": [ 
                           "Statement"
                        ]
                     },
                     "RateBasedStatement": { 
                        "AggregateKeyType": "string",
                        "CustomKeys": [ 
                           { 
                              "ASN": { 
                              },
                              "Cookie": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "ForwardedIP": { 
                              },
                              "Header": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "HTTPMethod": { 
                              },
                              "IP": { 
                              },
                              "JA3Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "JA4Fingerprint": { 
                                 "FallbackBehavior": "string"
                              },
                              "LabelNamespace": { 
                                 "Namespace": "string"
                              },
                              "QueryArgument": { 
                                 "Name": "string",
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "QueryString": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              },
                              "UriPath": { 
                                 "TextTransformations": [ 
                                    { 
                                       "Priority": number,
                                       "Type": "string"
                                    }
                                 ]
                              }
                           }
                        ],
                        "EvaluationWindowSec": number,
                        "ForwardedIPConfig": { 
                           "FallbackBehavior": "string",
                           "HeaderName": "string"
                        },
                        "Limit": number,
                        "ScopeDownStatement": "Statement"
                     },
                     "RegexMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "RegexString": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RegexPatternSetReferenceStatement": { 
                        "ARN": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "RuleGroupReferenceStatement": { 
                        "ARN": "string",
                        "ExcludedRules": [ 
                           { 
                              "Name": "string"
                           }
                        ],
                        "RuleActionOverrides": [ 
                           { 
                              "ActionToUse": { 
                                 "Allow": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Block": { 
                                    "CustomResponse": { 
                                       "CustomResponseBodyKey": "string",
                                       "ResponseCode": number,
                                       "ResponseHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Captcha": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Challenge": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 },
                                 "Count": { 
                                    "CustomRequestHandling": { 
                                       "InsertHeaders": [ 
                                          { 
                                             "Name": "string",
                                             "Value": "string"
                                          }
                                       ]
                                    }
                                 }
                              },
                              "Name": "string"
                           }
                        ]
                     },
                     "SizeConstraintStatement": { 
                        "ComparisonOperator": "string",
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "Size": number,
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "SqliMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "SensitivityLevel": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "XssMatchStatement": { 
                        "FieldToMatch": { 
                           "AllQueryArguments": { 
                           },
                           "Body": { 
                              "OversizeHandling": "string"
                           },
                           "Cookies": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedCookies": [ "string" ],
                                 "IncludedCookies": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "HeaderOrder": { 
                              "OversizeHandling": "string"
                           },
                           "Headers": { 
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "ExcludedHeaders": [ "string" ],
                                 "IncludedHeaders": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "JA3Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JA4Fingerprint": { 
                              "FallbackBehavior": "string"
                           },
                           "JsonBody": { 
                              "InvalidFallbackBehavior": "string",
                              "MatchPattern": { 
                                 "All": { 
                                 },
                                 "IncludedPaths": [ "string" ]
                              },
                              "MatchScope": "string",
                              "OversizeHandling": "string"
                           },
                           "Method": { 
                           },
                           "QueryString": { 
                           },
                           "SingleHeader": { 
                              "Name": "string"
                           },
                           "SingleQueryArgument": { 
                              "Name": "string"
                           },
                           "UriFragment": { 
                              "FallbackBehavior": "string"
                           },
                           "UriPath": { 
                           }
                        },
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  },
                  "VendorName": "string",
                  "Version": "string"
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "RetrofittedByFirewallManager": boolean,
      "Rules": [ 
         { 
            "Action": { 
               "Allow": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Block": { 
                  "CustomResponse": { 
                     "CustomResponseBodyKey": "string",
                     "ResponseCode": number,
                     "ResponseHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Captcha": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Challenge": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               }
            },
            "CaptchaConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "ChallengeConfig": { 
               "ImmunityTimeProperty": { 
                  "ImmunityTime": number
               }
            },
            "Name": "string",
            "OverrideAction": { 
               "Count": { 
                  "CustomRequestHandling": { 
                     "InsertHeaders": [ 
                        { 
                           "Name": "string",
                           "Value": "string"
                        }
                     ]
                  }
               },
               "None": { 
               }
            },
            "Priority": number,
            "RuleLabels": [ 
               { 
                  "Name": "string"
               }
            ],
            "Statement": { 
               "AndStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "AsnMatchStatement": { 
                  "AsnList": [ number ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "ByteMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "PositionalConstraint": "string",
                  "SearchString": blob,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "GeoMatchStatement": { 
                  "CountryCodes": [ "string" ],
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  }
               },
               "IPSetReferenceStatement": { 
                  "ARN": "string",
                  "IPSetForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string",
                     "Position": "string"
                  }
               },
               "LabelMatchStatement": { 
                  "Key": "string",
                  "Scope": "string"
               },
               "ManagedRuleGroupStatement": { 
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "ManagedRuleGroupConfigs": [ 
                     { 
                        "AWSManagedRulesACFPRuleSet": { 
                           "CreationPath": "string",
                           "EnableRegexInPath": boolean,
                           "RegistrationPagePath": "string",
                           "RequestInspection": { 
                              "AddressFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "EmailField": { 
                                 "Identifier": "string"
                              },
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "PhoneNumberFields": [ 
                                 { 
                                    "Identifier": "string"
                                 }
                              ],
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesAntiDDoSRuleSet": { 
                           "ClientSideActionConfig": { 
                              "Challenge": { 
                                 "ExemptUriRegularExpressions": [ 
                                    { 
                                       "RegexString": "string"
                                    }
                                 ],
                                 "Sensitivity": "string",
                                 "UsageOfAction": "string"
                              }
                           },
                           "SensitivityToBlock": "string"
                        },
                        "AWSManagedRulesATPRuleSet": { 
                           "EnableRegexInPath": boolean,
                           "LoginPath": "string",
                           "RequestInspection": { 
                              "PasswordField": { 
                                 "Identifier": "string"
                              },
                              "PayloadType": "string",
                              "UsernameField": { 
                                 "Identifier": "string"
                              }
                           },
                           "ResponseInspection": { 
                              "BodyContains": { 
                                 "FailureStrings": [ "string" ],
                                 "SuccessStrings": [ "string" ]
                              },
                              "Header": { 
                                 "FailureValues": [ "string" ],
                                 "Name": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "Json": { 
                                 "FailureValues": [ "string" ],
                                 "Identifier": "string",
                                 "SuccessValues": [ "string" ]
                              },
                              "StatusCode": { 
                                 "FailureCodes": [ number ],
                                 "SuccessCodes": [ number ]
                              }
                           }
                        },
                        "AWSManagedRulesBotControlRuleSet": { 
                           "EnableMachineLearning": boolean,
                           "InspectionLevel": "string"
                        },
                        "LoginPath": "string",
                        "PasswordField": { 
                           "Identifier": "string"
                        },
                        "PayloadType": "string",
                        "UsernameField": { 
                           "Identifier": "string"
                        }
                     }
                  ],
                  "Name": "string",
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ],
                  "ScopeDownStatement": "Statement",
                  "VendorName": "string",
                  "Version": "string"
               },
               "NotStatement": { 
                  "Statement": "Statement"
               },
               "OrStatement": { 
                  "Statements": [ 
                     "Statement"
                  ]
               },
               "RateBasedStatement": { 
                  "AggregateKeyType": "string",
                  "CustomKeys": [ 
                     { 
                        "ASN": { 
                        },
                        "Cookie": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "ForwardedIP": { 
                        },
                        "Header": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "HTTPMethod": { 
                        },
                        "IP": { 
                        },
                        "JA3Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "JA4Fingerprint": { 
                           "FallbackBehavior": "string"
                        },
                        "LabelNamespace": { 
                           "Namespace": "string"
                        },
                        "QueryArgument": { 
                           "Name": "string",
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "QueryString": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        },
                        "UriPath": { 
                           "TextTransformations": [ 
                              { 
                                 "Priority": number,
                                 "Type": "string"
                              }
                           ]
                        }
                     }
                  ],
                  "EvaluationWindowSec": number,
                  "ForwardedIPConfig": { 
                     "FallbackBehavior": "string",
                     "HeaderName": "string"
                  },
                  "Limit": number,
                  "ScopeDownStatement": "Statement"
               },
               "RegexMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "RegexString": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RegexPatternSetReferenceStatement": { 
                  "ARN": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "RuleGroupReferenceStatement": { 
                  "ARN": "string",
                  "ExcludedRules": [ 
                     { 
                        "Name": "string"
                     }
                  ],
                  "RuleActionOverrides": [ 
                     { 
                        "ActionToUse": { 
                           "Allow": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Block": { 
                              "CustomResponse": { 
                                 "CustomResponseBodyKey": "string",
                                 "ResponseCode": number,
                                 "ResponseHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Captcha": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Challenge": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           },
                           "Count": { 
                              "CustomRequestHandling": { 
                                 "InsertHeaders": [ 
                                    { 
                                       "Name": "string",
                                       "Value": "string"
                                    }
                                 ]
                              }
                           }
                        },
                        "Name": "string"
                     }
                  ]
               },
               "SizeConstraintStatement": { 
                  "ComparisonOperator": "string",
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "Size": number,
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "SqliMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "SensitivityLevel": "string",
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               },
               "XssMatchStatement": { 
                  "FieldToMatch": { 
                     "AllQueryArguments": { 
                     },
                     "Body": { 
                        "OversizeHandling": "string"
                     },
                     "Cookies": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedCookies": [ "string" ],
                           "IncludedCookies": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "HeaderOrder": { 
                        "OversizeHandling": "string"
                     },
                     "Headers": { 
                        "MatchPattern": { 
                           "All": { 
                           },
                           "ExcludedHeaders": [ "string" ],
                           "IncludedHeaders": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JsonBody": { 
                        "InvalidFallbackBehavior": "string",
                        "MatchPattern": { 
                           "All": { 
                           },
                           "IncludedPaths": [ "string" ]
                        },
                        "MatchScope": "string",
                        "OversizeHandling": "string"
                     },
                     "Method": { 
                     },
                     "QueryString": { 
                     },
                     "SingleHeader": { 
                        "Name": "string"
                     },
                     "SingleQueryArgument": { 
                        "Name": "string"
                     },
                     "UriFragment": { 
                        "FallbackBehavior": "string"
                     },
                     "UriPath": { 
                     }
                  },
                  "TextTransformations": [ 
                     { 
                        "Priority": number,
                        "Type": "string"
                     }
                  ]
               }
            },
            "VisibilityConfig": { 
               "CloudWatchMetricsEnabled": boolean,
               "MetricName": "string",
               "SampledRequestsEnabled": boolean
            }
         }
      ],
      "TokenDomains": [ "string" ],
      "VisibilityConfig": { 
         "CloudWatchMetricsEnabled": boolean,
         "MetricName": "string",
         "SampledRequestsEnabled": boolean
      }
   }
}
```

## Response Elements
<a name="API_GetWebACLForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [WebACL](#API_GetWebACLForResource_ResponseSyntax) **   <a name="WAF-GetWebACLForResource-response-WebACL"></a>
The web ACL that is associated with the resource. If there is no associated resource, AWS WAF returns a null web ACL.  
Type: [WebACL](API_WebACL.md) object

## Errors
<a name="API_GetWebACLForResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_GetWebACLForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/GetWebACLForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/GetWebACLForResource) 

# ListAPIKeys
<a name="API_ListAPIKeys"></a>

Retrieves a list of the API keys that you've defined for the specified scope. 

API keys are required for the integration of the CAPTCHA API in your JavaScript client applications. The API lets you customize the placement and characteristics of the CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript integration, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_ListAPIKeys_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListAPIKeys_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListAPIKeys_RequestSyntax) **   <a name="WAF-ListAPIKeys-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListAPIKeys_RequestSyntax) **   <a name="WAF-ListAPIKeys-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListAPIKeys_RequestSyntax) **   <a name="WAF-ListAPIKeys-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListAPIKeys_ResponseSyntax"></a>

```
{
   "APIKeySummaries": [ 
      { 
         "APIKey": "string",
         "CreationTimestamp": number,
         "TokenDomains": [ "string" ],
         "Version": number
      }
   ],
   "ApplicationIntegrationURL": "string",
   "NextMarker": "string"
}
```

## Response Elements
<a name="API_ListAPIKeys_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [APIKeySummaries](#API_ListAPIKeys_ResponseSyntax) **   <a name="WAF-ListAPIKeys-response-APIKeySummaries"></a>
The array of key summaries. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [APIKeySummary](API_APIKeySummary.md) objects

 ** [ApplicationIntegrationURL](#API_ListAPIKeys_ResponseSyntax) **   <a name="WAF-ListAPIKeys-response-ApplicationIntegrationURL"></a>
The CAPTCHA application integration URL, for use in your JavaScript implementation.   
Type: String

 ** [NextMarker](#API_ListAPIKeys_ResponseSyntax) **   <a name="WAF-ListAPIKeys-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListAPIKeys_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

## See Also
<a name="API_ListAPIKeys_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListAPIKeys) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListAPIKeys) 

# ListAvailableManagedRuleGroups
<a name="API_ListAvailableManagedRuleGroups"></a>

Retrieves an array of managed rule groups that are available for you to use. This list includes all AWS Managed Rules rule groups and all of the AWS Marketplace managed rule groups that you're subscribed to.

## Request Syntax
<a name="API_ListAvailableManagedRuleGroups_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListAvailableManagedRuleGroups_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListAvailableManagedRuleGroups_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroups-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListAvailableManagedRuleGroups_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroups-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListAvailableManagedRuleGroups_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroups-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListAvailableManagedRuleGroups_ResponseSyntax"></a>

```
{
   "ManagedRuleGroups": [ 
      { 
         "Description": "string",
         "Name": "string",
         "VendorName": "string",
         "VersioningSupported": boolean
      }
   ],
   "NextMarker": "string"
}
```

## Response Elements
<a name="API_ListAvailableManagedRuleGroups_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ManagedRuleGroups](#API_ListAvailableManagedRuleGroups_ResponseSyntax) **   <a name="WAF-ListAvailableManagedRuleGroups-response-ManagedRuleGroups"></a>
Array of managed rule groups that you can use. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [ManagedRuleGroupSummary](API_ManagedRuleGroupSummary.md) objects

 ** [NextMarker](#API_ListAvailableManagedRuleGroups_ResponseSyntax) **   <a name="WAF-ListAvailableManagedRuleGroups-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListAvailableManagedRuleGroups_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListAvailableManagedRuleGroups_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListAvailableManagedRuleGroups) 

# ListAvailableManagedRuleGroupVersions
<a name="API_ListAvailableManagedRuleGroupVersions"></a>

Returns a list of the available versions for the specified managed rule group. 

## Request Syntax
<a name="API_ListAvailableManagedRuleGroupVersions_RequestSyntax"></a>

```
{
   "Limit": number,
   "Name": "string",
   "NextMarker": "string",
   "Scope": "string",
   "VendorName": "string"
}
```

## Request Parameters
<a name="API_ListAvailableManagedRuleGroupVersions_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListAvailableManagedRuleGroupVersions_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [Name](#API_ListAvailableManagedRuleGroupVersions_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-request-Name"></a>
The name of the managed rule group. You use this, along with the vendor name, to identify the rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [NextMarker](#API_ListAvailableManagedRuleGroupVersions_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListAvailableManagedRuleGroupVersions_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VendorName](#API_ListAvailableManagedRuleGroupVersions_RequestSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-request-VendorName"></a>
The name of the managed rule group vendor. You use this, along with the rule group name, to identify a rule group.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_ListAvailableManagedRuleGroupVersions_ResponseSyntax"></a>

```
{
   "CurrentDefaultVersion": "string",
   "NextMarker": "string",
   "Versions": [ 
      { 
         "LastUpdateTimestamp": number,
         "Name": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListAvailableManagedRuleGroupVersions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [CurrentDefaultVersion](#API_ListAvailableManagedRuleGroupVersions_ResponseSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-response-CurrentDefaultVersion"></a>
The name of the version that's currently set as the default.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$` 

 ** [NextMarker](#API_ListAvailableManagedRuleGroupVersions_ResponseSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [Versions](#API_ListAvailableManagedRuleGroupVersions_ResponseSyntax) **   <a name="WAF-ListAvailableManagedRuleGroupVersions-response-Versions"></a>
The versions that are currently available for the specified managed rule group. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [ManagedRuleGroupVersion](API_ManagedRuleGroupVersion.md) objects

## Errors
<a name="API_ListAvailableManagedRuleGroupVersions_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_ListAvailableManagedRuleGroupVersions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListAvailableManagedRuleGroupVersions) 

# ListIPSets
<a name="API_ListIPSets"></a>

Retrieves an array of [IPSetSummary](API_IPSetSummary.md) objects for the IP sets that you manage.

## Request Syntax
<a name="API_ListIPSets_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListIPSets_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListIPSets_RequestSyntax) **   <a name="WAF-ListIPSets-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListIPSets_RequestSyntax) **   <a name="WAF-ListIPSets-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListIPSets_RequestSyntax) **   <a name="WAF-ListIPSets-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListIPSets_ResponseSyntax"></a>

```
{
   "IPSets": [ 
      { 
         "ARN": "string",
         "Description": "string",
         "Id": "string",
         "LockToken": "string",
         "Name": "string"
      }
   ],
   "NextMarker": "string"
}
```

## Response Elements
<a name="API_ListIPSets_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [IPSets](#API_ListIPSets_ResponseSyntax) **   <a name="WAF-ListIPSets-response-IPSets"></a>
Array of IPSets. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [IPSetSummary](API_IPSetSummary.md) objects

 ** [NextMarker](#API_ListIPSets_ResponseSyntax) **   <a name="WAF-ListIPSets-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListIPSets_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListIPSets_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListIPSets) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListIPSets) 

# ListLoggingConfigurations
<a name="API_ListLoggingConfigurations"></a>

Retrieves an array of your [LoggingConfiguration](API_LoggingConfiguration.md) objects.

## Request Syntax
<a name="API_ListLoggingConfigurations_RequestSyntax"></a>

```
{
   "Limit": number,
   "LogScope": "string",
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListLoggingConfigurations_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListLoggingConfigurations_RequestSyntax) **   <a name="WAF-ListLoggingConfigurations-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [LogScope](#API_ListLoggingConfigurations_RequestSyntax) **   <a name="WAF-ListLoggingConfigurations-request-LogScope"></a>
The owner of the logging configuration, which must be set to `CUSTOMER` for the configurations that you manage.   
The log scope `SECURITY_LAKE` indicates a configuration that is managed through Amazon Security Lake. You can use Security Lake to collect log and event data from various sources for normalization, analysis, and management. For information, see [Collecting data from AWS services](https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html) in the *Amazon Security Lake user guide*.   
The log scope `CLOUDWATCH_TELEMETRY_RULE_MANAGED` indicates a configuration that is managed through Amazon CloudWatch Logs for telemetry data collection and analysis. For information, see [What is Amazon CloudWatch Logs ?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) in the *Amazon CloudWatch Logs user guide*.   
Default: `CUSTOMER`   
Type: String  
Valid Values: `CUSTOMER | SECURITY_LAKE | CLOUDWATCH_TELEMETRY_RULE_MANAGED`   
Required: No

 ** [NextMarker](#API_ListLoggingConfigurations_RequestSyntax) **   <a name="WAF-ListLoggingConfigurations-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListLoggingConfigurations_RequestSyntax) **   <a name="WAF-ListLoggingConfigurations-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListLoggingConfigurations_ResponseSyntax"></a>

```
{
   "LoggingConfigurations": [ 
      { 
         "LogDestinationConfigs": [ "string" ],
         "LoggingFilter": { 
            "DefaultBehavior": "string",
            "Filters": [ 
               { 
                  "Behavior": "string",
                  "Conditions": [ 
                     { 
                        "ActionCondition": { 
                           "Action": "string"
                        },
                        "LabelNameCondition": { 
                           "LabelName": "string"
                        }
                     }
                  ],
                  "Requirement": "string"
               }
            ]
         },
         "LogScope": "string",
         "LogType": "string",
         "ManagedByFirewallManager": boolean,
         "RedactedFields": [ 
            { 
               "AllQueryArguments": { 
               },
               "Body": { 
                  "OversizeHandling": "string"
               },
               "Cookies": { 
                  "MatchPattern": { 
                     "All": { 
                     },
                     "ExcludedCookies": [ "string" ],
                     "IncludedCookies": [ "string" ]
                  },
                  "MatchScope": "string",
                  "OversizeHandling": "string"
               },
               "HeaderOrder": { 
                  "OversizeHandling": "string"
               },
               "Headers": { 
                  "MatchPattern": { 
                     "All": { 
                     },
                     "ExcludedHeaders": [ "string" ],
                     "IncludedHeaders": [ "string" ]
                  },
                  "MatchScope": "string",
                  "OversizeHandling": "string"
               },
               "JA3Fingerprint": { 
                  "FallbackBehavior": "string"
               },
               "JA4Fingerprint": { 
                  "FallbackBehavior": "string"
               },
               "JsonBody": { 
                  "InvalidFallbackBehavior": "string",
                  "MatchPattern": { 
                     "All": { 
                     },
                     "IncludedPaths": [ "string" ]
                  },
                  "MatchScope": "string",
                  "OversizeHandling": "string"
               },
               "Method": { 
               },
               "QueryString": { 
               },
               "SingleHeader": { 
                  "Name": "string"
               },
               "SingleQueryArgument": { 
                  "Name": "string"
               },
               "UriFragment": { 
                  "FallbackBehavior": "string"
               },
               "UriPath": { 
               }
            }
         ],
         "ResourceArn": "string"
      }
   ],
   "NextMarker": "string"
}
```

## Response Elements
<a name="API_ListLoggingConfigurations_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LoggingConfigurations](#API_ListLoggingConfigurations_ResponseSyntax) **   <a name="WAF-ListLoggingConfigurations-response-LoggingConfigurations"></a>
Array of logging configurations. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [LoggingConfiguration](API_LoggingConfiguration.md) objects

 ** [NextMarker](#API_ListLoggingConfigurations_ResponseSyntax) **   <a name="WAF-ListLoggingConfigurations-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListLoggingConfigurations_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListLoggingConfigurations_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListLoggingConfigurations) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListLoggingConfigurations) 

# ListManagedRuleSets
<a name="API_ListManagedRuleSets"></a>

Retrieves the managed rule sets that you own. 

**Note**  
This is intended for use only by vendors of managed rule sets. Vendors are AWS and AWS Marketplace sellers.   
Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`, `PutManagedRuleSetVersions`, and `UpdateManagedRuleSetVersionExpiryDate`.

## Request Syntax
<a name="API_ListManagedRuleSets_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListManagedRuleSets_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListManagedRuleSets_RequestSyntax) **   <a name="WAF-ListManagedRuleSets-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListManagedRuleSets_RequestSyntax) **   <a name="WAF-ListManagedRuleSets-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListManagedRuleSets_RequestSyntax) **   <a name="WAF-ListManagedRuleSets-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListManagedRuleSets_ResponseSyntax"></a>

```
{
   "ManagedRuleSets": [ 
      { 
         "ARN": "string",
         "Description": "string",
         "Id": "string",
         "LabelNamespace": "string",
         "LockToken": "string",
         "Name": "string"
      }
   ],
   "NextMarker": "string"
}
```

## Response Elements
<a name="API_ListManagedRuleSets_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ManagedRuleSets](#API_ListManagedRuleSets_ResponseSyntax) **   <a name="WAF-ListManagedRuleSets-response-ManagedRuleSets"></a>
Your managed rule sets. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [ManagedRuleSetSummary](API_ManagedRuleSetSummary.md) objects

 ** [NextMarker](#API_ListManagedRuleSets_ResponseSyntax) **   <a name="WAF-ListManagedRuleSets-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListManagedRuleSets_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListManagedRuleSets_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListManagedRuleSets) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListManagedRuleSets) 

# ListMobileSdkReleases
<a name="API_ListMobileSdkReleases"></a>

Retrieves a list of the available releases for the mobile SDK and the specified device platform. 

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage AWS WAF tokens for use in HTTP(S) requests from a mobile device to AWS WAF. For more information, see [AWS WAF client application integration](https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_ListMobileSdkReleases_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Platform": "string"
}
```

## Request Parameters
<a name="API_ListMobileSdkReleases_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListMobileSdkReleases_RequestSyntax) **   <a name="WAF-ListMobileSdkReleases-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListMobileSdkReleases_RequestSyntax) **   <a name="WAF-ListMobileSdkReleases-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Platform](#API_ListMobileSdkReleases_RequestSyntax) **   <a name="WAF-ListMobileSdkReleases-request-Platform"></a>
The device platform to retrieve the list for.  
Type: String  
Valid Values: `IOS | ANDROID`   
Required: Yes

## Response Syntax
<a name="API_ListMobileSdkReleases_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "ReleaseSummaries": [ 
      { 
         "ReleaseVersion": "string",
         "Timestamp": number
      }
   ]
}
```

## Response Elements
<a name="API_ListMobileSdkReleases_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_ListMobileSdkReleases_ResponseSyntax) **   <a name="WAF-ListMobileSdkReleases-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [ReleaseSummaries](#API_ListMobileSdkReleases_ResponseSyntax) **   <a name="WAF-ListMobileSdkReleases-response-ReleaseSummaries"></a>
The high level information for the available SDK releases. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [ReleaseSummary](API_ReleaseSummary.md) objects

## Errors
<a name="API_ListMobileSdkReleases_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListMobileSdkReleases_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListMobileSdkReleases) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListMobileSdkReleases) 

# ListRegexPatternSets
<a name="API_ListRegexPatternSets"></a>

Retrieves an array of [RegexPatternSetSummary](API_RegexPatternSetSummary.md) objects for the regex pattern sets that you manage.

## Request Syntax
<a name="API_ListRegexPatternSets_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListRegexPatternSets_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListRegexPatternSets_RequestSyntax) **   <a name="WAF-ListRegexPatternSets-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListRegexPatternSets_RequestSyntax) **   <a name="WAF-ListRegexPatternSets-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListRegexPatternSets_RequestSyntax) **   <a name="WAF-ListRegexPatternSets-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListRegexPatternSets_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "RegexPatternSets": [ 
      { 
         "ARN": "string",
         "Description": "string",
         "Id": "string",
         "LockToken": "string",
         "Name": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListRegexPatternSets_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_ListRegexPatternSets_ResponseSyntax) **   <a name="WAF-ListRegexPatternSets-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [RegexPatternSets](#API_ListRegexPatternSets_ResponseSyntax) **   <a name="WAF-ListRegexPatternSets-response-RegexPatternSets"></a>
Array of regex pattern sets. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [RegexPatternSetSummary](API_RegexPatternSetSummary.md) objects

## Errors
<a name="API_ListRegexPatternSets_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListRegexPatternSets_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListRegexPatternSets) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListRegexPatternSets) 

# ListResourcesForWebACL
<a name="API_ListResourcesForWebACL"></a>

Retrieves an array of the Amazon Resource Names (ARNs) for the resources that are associated with the specified web ACL. 

For Amazon CloudFront, don't use this call. Instead, use the CloudFront call `ListDistributionsByWebACLId`. For information, see [ListDistributionsByWebACLId](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html) in the *Amazon CloudFront API Reference*. 

 **Required permissions for customer-managed IAM policies** 

This call requires permissions that are specific to the protected resource type. For details, see [Permissions for ListResourcesForWebACL](https://docs.aws.amazon.com/waf/latest/developerguide/security_iam_service-with-iam.html#security_iam_action-ListResourcesForWebACL) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_ListResourcesForWebACL_RequestSyntax"></a>

```
{
   "ResourceType": "string",
   "WebACLArn": "string"
}
```

## Request Parameters
<a name="API_ListResourcesForWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceType](#API_ListResourcesForWebACL_RequestSyntax) **   <a name="WAF-ListResourcesForWebACL-request-ResourceType"></a>
Retrieves the web ACLs that are used by the specified resource type.   
For Amazon CloudFront, don't use this call. Instead, use the CloudFront call `ListDistributionsByWebACLId`. For information, see [ListDistributionsByWebACLId](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListDistributionsByWebACLId.html) in the *Amazon CloudFront API Reference*.   
If you don't provide a resource type, the call uses the resource type `APPLICATION_LOAD_BALANCER`. 
Default: `APPLICATION_LOAD_BALANCER`   
Type: String  
Valid Values: `APPLICATION_LOAD_BALANCER | API_GATEWAY | APPSYNC | COGNITO_USER_POOL | APP_RUNNER_SERVICE | VERIFIED_ACCESS_INSTANCE | AMPLIFY`   
Required: No

 ** [WebACLArn](#API_ListResourcesForWebACL_RequestSyntax) **   <a name="WAF-ListResourcesForWebACL-request-WebACLArn"></a>
The Amazon Resource Name (ARN) of the web ACL.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_ListResourcesForWebACL_ResponseSyntax"></a>

```
{
   "ResourceArns": [ "string" ]
}
```

## Response Elements
<a name="API_ListResourcesForWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ResourceArns](#API_ListResourcesForWebACL_ResponseSyntax) **   <a name="WAF-ListResourcesForWebACL-response-ResourceArns"></a>
The array of Amazon Resource Names (ARNs) of the associated resources.  
Type: Array of strings  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*` 

## Errors
<a name="API_ListResourcesForWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## See Also
<a name="API_ListResourcesForWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListResourcesForWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListResourcesForWebACL) 

# ListRuleGroups
<a name="API_ListRuleGroups"></a>

Retrieves an array of [RuleGroupSummary](API_RuleGroupSummary.md) objects for the rule groups that you manage. 

## Request Syntax
<a name="API_ListRuleGroups_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListRuleGroups_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListRuleGroups_RequestSyntax) **   <a name="WAF-ListRuleGroups-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListRuleGroups_RequestSyntax) **   <a name="WAF-ListRuleGroups-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListRuleGroups_RequestSyntax) **   <a name="WAF-ListRuleGroups-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListRuleGroups_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "RuleGroups": [ 
      { 
         "ARN": "string",
         "Description": "string",
         "Id": "string",
         "LockToken": "string",
         "Name": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListRuleGroups_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_ListRuleGroups_ResponseSyntax) **   <a name="WAF-ListRuleGroups-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [RuleGroups](#API_ListRuleGroups_ResponseSyntax) **   <a name="WAF-ListRuleGroups-response-RuleGroups"></a>
Array of rule groups. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [RuleGroupSummary](API_RuleGroupSummary.md) objects

## Errors
<a name="API_ListRuleGroups_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListRuleGroups_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListRuleGroups) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListRuleGroups) 

# ListTagsForResource
<a name="API_ListTagsForResource"></a>

Retrieves the [TagInfoForResource](API_TagInfoForResource.md) for the specified resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, 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. 

## Request Syntax
<a name="API_ListTagsForResource_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "ResourceARN": "string"
}
```

## Request Parameters
<a name="API_ListTagsForResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListTagsForResource_RequestSyntax) **   <a name="WAF-ListTagsForResource-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListTagsForResource_RequestSyntax) **   <a name="WAF-ListTagsForResource-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [ResourceARN](#API_ListTagsForResource_RequestSyntax) **   <a name="WAF-ListTagsForResource-request-ResourceARN"></a>
The Amazon Resource Name (ARN) of the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Syntax
<a name="API_ListTagsForResource_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "TagInfoForResource": { 
      "ResourceARN": "string",
      "TagList": [ 
         { 
            "Key": "string",
            "Value": "string"
         }
      ]
   }
}
```

## Response Elements
<a name="API_ListTagsForResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_ListTagsForResource_ResponseSyntax) **   <a name="WAF-ListTagsForResource-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [TagInfoForResource](#API_ListTagsForResource_ResponseSyntax) **   <a name="WAF-ListTagsForResource-response-TagInfoForResource"></a>
The collection of tagging definitions for the resource. If you specified a `Limit` in your request, this might not be the full list.   
Type: [TagInfoForResource](API_TagInfoForResource.md) object

## Errors
<a name="API_ListTagsForResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_ListTagsForResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListTagsForResource) 

# ListWebACLs
<a name="API_ListWebACLs"></a>

Retrieves an array of [WebACLSummary](API_WebACLSummary.md) objects for the web ACLs that you manage.

## Request Syntax
<a name="API_ListWebACLs_RequestSyntax"></a>

```
{
   "Limit": number,
   "NextMarker": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_ListWebACLs_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Limit](#API_ListWebACLs_RequestSyntax) **   <a name="WAF-ListWebACLs-request-Limit"></a>
The maximum number of objects that you want AWS WAF to return for this request. If more objects are available, in the response, AWS WAF provides a `NextMarker` value that you can use in a subsequent call to get the next batch of objects.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextMarker](#API_ListWebACLs_RequestSyntax) **   <a name="WAF-ListWebACLs-request-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*`   
Required: No

 ** [Scope](#API_ListWebACLs_RequestSyntax) **   <a name="WAF-ListWebACLs-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_ListWebACLs_ResponseSyntax"></a>

```
{
   "NextMarker": "string",
   "WebACLs": [ 
      { 
         "ARN": "string",
         "Description": "string",
         "Id": "string",
         "LockToken": "string",
         "Name": "string"
      }
   ]
}
```

## Response Elements
<a name="API_ListWebACLs_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextMarker](#API_ListWebACLs_ResponseSyntax) **   <a name="WAF-ListWebACLs-response-NextMarker"></a>
When you request a list of objects with a `Limit` setting, if the number of objects that are still available for retrieval exceeds the limit, AWS WAF returns a `NextMarker` value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `.*\S.*` 

 ** [WebACLs](#API_ListWebACLs_ResponseSyntax) **   <a name="WAF-ListWebACLs-response-WebACLs"></a>
Array of web ACLs. If you specified a `Limit` in your request, this might not be the full list.   
Type: Array of [WebACLSummary](API_WebACLSummary.md) objects

## Errors
<a name="API_ListWebACLs_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

## See Also
<a name="API_ListWebACLs_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/ListWebACLs) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/ListWebACLs) 

# PutLoggingConfiguration
<a name="API_PutLoggingConfiguration"></a>

Enables the specified [LoggingConfiguration](API_LoggingConfiguration.md), to start logging from a web ACL, according to the configuration provided. 

If you configure data protection for the web ACL, the protection applies to the data that AWS WAF sends to the logs. 

**Note**  
This operation completely replaces any mutable specifications that you already have for a logging configuration with the ones that you provide to this call.   
To modify an existing logging configuration, do the following:   
Retrieve it by calling [GetLoggingConfiguration](API_GetLoggingConfiguration.md) 
Update its settings as needed
Provide the complete logging configuration specification to this call

**Note**  
You can define one logging destination per web ACL.

You can access information about the traffic that AWS WAF inspects using the following steps:

1. Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. 

   The name that you give the destination must start with `aws-waf-logs-`. Depending on the type of destination, you might need to configure additional settings or permissions. 

   For configuration requirements and pricing information for each destination type, see [Logging web ACL traffic](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the * AWS WAF Developer Guide*.

1. Associate your logging destination to your web ACL using a `PutLoggingConfiguration` request.

When you successfully enable logging using a `PutLoggingConfiguration` request, AWS WAF creates an additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch Logs log group, AWS WAF creates a resource policy on the log group. For an Amazon S3 bucket, AWS WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, AWS WAF creates a service-linked role.

For additional information about web ACL logging, see [Logging web ACL traffic information](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the * AWS WAF Developer Guide*.

## Request Syntax
<a name="API_PutLoggingConfiguration_RequestSyntax"></a>

```
{
   "LoggingConfiguration": { 
      "LogDestinationConfigs": [ "string" ],
      "LoggingFilter": { 
         "DefaultBehavior": "string",
         "Filters": [ 
            { 
               "Behavior": "string",
               "Conditions": [ 
                  { 
                     "ActionCondition": { 
                        "Action": "string"
                     },
                     "LabelNameCondition": { 
                        "LabelName": "string"
                     }
                  }
               ],
               "Requirement": "string"
            }
         ]
      },
      "LogScope": "string",
      "LogType": "string",
      "ManagedByFirewallManager": boolean,
      "RedactedFields": [ 
         { 
            "AllQueryArguments": { 
            },
            "Body": { 
               "OversizeHandling": "string"
            },
            "Cookies": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedCookies": [ "string" ],
                  "IncludedCookies": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "HeaderOrder": { 
               "OversizeHandling": "string"
            },
            "Headers": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedHeaders": [ "string" ],
                  "IncludedHeaders": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "JA3Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JA4Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JsonBody": { 
               "InvalidFallbackBehavior": "string",
               "MatchPattern": { 
                  "All": { 
                  },
                  "IncludedPaths": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "Method": { 
            },
            "QueryString": { 
            },
            "SingleHeader": { 
               "Name": "string"
            },
            "SingleQueryArgument": { 
               "Name": "string"
            },
            "UriFragment": { 
               "FallbackBehavior": "string"
            },
            "UriPath": { 
            }
         }
      ],
      "ResourceArn": "string"
   }
}
```

## Request Parameters
<a name="API_PutLoggingConfiguration_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [LoggingConfiguration](#API_PutLoggingConfiguration_RequestSyntax) **   <a name="WAF-PutLoggingConfiguration-request-LoggingConfiguration"></a>
  
Type: [LoggingConfiguration](API_LoggingConfiguration.md) object  
Required: Yes

## Response Syntax
<a name="API_PutLoggingConfiguration_ResponseSyntax"></a>

```
{
   "LoggingConfiguration": { 
      "LogDestinationConfigs": [ "string" ],
      "LoggingFilter": { 
         "DefaultBehavior": "string",
         "Filters": [ 
            { 
               "Behavior": "string",
               "Conditions": [ 
                  { 
                     "ActionCondition": { 
                        "Action": "string"
                     },
                     "LabelNameCondition": { 
                        "LabelName": "string"
                     }
                  }
               ],
               "Requirement": "string"
            }
         ]
      },
      "LogScope": "string",
      "LogType": "string",
      "ManagedByFirewallManager": boolean,
      "RedactedFields": [ 
         { 
            "AllQueryArguments": { 
            },
            "Body": { 
               "OversizeHandling": "string"
            },
            "Cookies": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedCookies": [ "string" ],
                  "IncludedCookies": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "HeaderOrder": { 
               "OversizeHandling": "string"
            },
            "Headers": { 
               "MatchPattern": { 
                  "All": { 
                  },
                  "ExcludedHeaders": [ "string" ],
                  "IncludedHeaders": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "JA3Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JA4Fingerprint": { 
               "FallbackBehavior": "string"
            },
            "JsonBody": { 
               "InvalidFallbackBehavior": "string",
               "MatchPattern": { 
                  "All": { 
                  },
                  "IncludedPaths": [ "string" ]
               },
               "MatchScope": "string",
               "OversizeHandling": "string"
            },
            "Method": { 
            },
            "QueryString": { 
            },
            "SingleHeader": { 
               "Name": "string"
            },
            "SingleQueryArgument": { 
               "Name": "string"
            },
            "UriFragment": { 
               "FallbackBehavior": "string"
            },
            "UriPath": { 
            }
         }
      ],
      "ResourceArn": "string"
   }
}
```

## Response Elements
<a name="API_PutLoggingConfiguration_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [LoggingConfiguration](#API_PutLoggingConfiguration_ResponseSyntax) **   <a name="WAF-PutLoggingConfiguration-response-LoggingConfiguration"></a>
  
Type: [LoggingConfiguration](API_LoggingConfiguration.md) object

## Errors
<a name="API_PutLoggingConfiguration_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFFeatureNotIncludedInPricingPlanException **   
The operation failed because the specified AWS WAF feature isn't supported by the CloudFront pricing plan associated with the web ACL.    
 ** DisallowedFeatures **   
The names of the disallowed AWS WAF features.
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFLogDestinationPermissionIssueException **   
The operation failed because you don't have the permissions that your logging configuration requires. For information, see [Logging web ACL traffic information](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the * AWS WAF Developer Guide*.  
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFServiceLinkedRoleErrorException **   
 AWS WAF is not able to access the service linked role. This can be caused by a previous `PutLoggingConfiguration` request, which can lock the service linked role for about 20 seconds. Please try your request again. The service linked role can also be locked by a previous `DeleteServiceLinkedRole` request, which can lock the role for 15 minutes or more. If you recently made a call to `DeleteServiceLinkedRole`, wait at least 15 minutes and try the request again. If you receive this same exception again, you will have to wait additional time until the role is unlocked.  
HTTP Status Code: 400

## See Also
<a name="API_PutLoggingConfiguration_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/PutLoggingConfiguration) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/PutLoggingConfiguration) 

# PutManagedRuleSetVersions
<a name="API_PutManagedRuleSetVersions"></a>

Defines the versions of your managed rule set that you are offering to the customers. Customers see your offerings as managed rule groups with versioning.

**Note**  
This is intended for use only by vendors of managed rule sets. Vendors are AWS and AWS Marketplace sellers.   
Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`, `PutManagedRuleSetVersions`, and `UpdateManagedRuleSetVersionExpiryDate`.

Customers retrieve their managed rule group list by calling [ListAvailableManagedRuleGroups](API_ListAvailableManagedRuleGroups.md). The name that you provide here for your managed rule set is the name the customer sees for the corresponding managed rule group. Customers can retrieve the available versions for a managed rule group by calling [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md). You provide a rule group specification for each version. For each managed rule set, you must specify a version that you recommend using. 

To initiate the expiration of a managed rule group version, use [UpdateManagedRuleSetVersionExpiryDate](API_UpdateManagedRuleSetVersionExpiryDate.md).

## Request Syntax
<a name="API_PutManagedRuleSetVersions_RequestSyntax"></a>

```
{
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "RecommendedVersion": "string",
   "Scope": "string",
   "VersionsToPublish": { 
      "string" : { 
         "AssociatedRuleGroupArn": "string",
         "ForecastedLifetime": number
      }
   }
}
```

## Request Parameters
<a name="API_PutManagedRuleSetVersions_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Id](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-Id"></a>
A unique identifier for the managed rule set. The ID is returned in the responses to commands like `list`. You provide it to operations like `get` and `update`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-Name"></a>
The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.  
This name is assigned to the corresponding managed rule group, which your customers can access and use.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [RecommendedVersion](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-RecommendedVersion"></a>
The version of the named managed rule group that you'd like your customers to choose, from among your version offerings.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$`   
Required: No

 ** [Scope](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VersionsToPublish](#API_PutManagedRuleSetVersions_RequestSyntax) **   <a name="WAF-PutManagedRuleSetVersions-request-VersionsToPublish"></a>
The versions of the named managed rule group that you want to offer to your customers.   
Type: String to [VersionToPublish](API_VersionToPublish.md) object map  
Key Length Constraints: Minimum length of 1. Maximum length of 64.  
Key Pattern: `^[\w#:\.\-/]+$`   
Required: No

## Response Syntax
<a name="API_PutManagedRuleSetVersions_ResponseSyntax"></a>

```
{
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_PutManagedRuleSetVersions_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextLockToken](#API_PutManagedRuleSetVersions_ResponseSyntax) **   <a name="WAF-PutManagedRuleSetVersions-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_PutManagedRuleSetVersions_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_PutManagedRuleSetVersions_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/PutManagedRuleSetVersions) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/PutManagedRuleSetVersions) 

# PutPermissionPolicy
<a name="API_PutPermissionPolicy"></a>

Use this to share a rule group with other accounts.

This action attaches an IAM policy to the specified resource. You must be the owner of the rule group to perform this operation.

This action is subject to the following restrictions:
+ You can attach only one policy with each `PutPermissionPolicy` request.
+ The ARN in the request must be a valid AWS WAF [RuleGroup](API_RuleGroup.md) ARN and the rule group must exist in the same Region.
+ The user making the request must be the owner of the rule group.

If a rule group has been shared with your account, you can access it through the call `GetRuleGroup`, and you can reference it in `CreateWebACL` and `UpdateWebACL`. Rule groups that are shared with you don't appear in your AWS WAF console rule groups listing. 

## Request Syntax
<a name="API_PutPermissionPolicy_RequestSyntax"></a>

```
{
   "Policy": "string",
   "ResourceArn": "string"
}
```

## Request Parameters
<a name="API_PutPermissionPolicy_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Policy](#API_PutPermissionPolicy_RequestSyntax) **   <a name="WAF-PutPermissionPolicy-request-Policy"></a>
The policy to attach to the specified rule group.   
The policy specifications must conform to the following:  
+ The policy must be composed using IAM Policy version 2012-10-17.
+ The policy must include specifications for `Effect`, `Action`, and `Principal`.
+  `Effect` must specify `Allow`.
+  `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`, and `wafv2:PutFirewallManagerRuleGroups` and may optionally specify `wafv2:GetRuleGroup`. AWS WAF rejects any extra actions or wildcard actions in the policy.
+ The policy must not include a `Resource` parameter.
For more information, see [IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 395000.  
Pattern: `.*\S.*`   
Required: Yes

 ** [ResourceArn](#API_PutPermissionPolicy_RequestSyntax) **   <a name="WAF-PutPermissionPolicy-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the [RuleGroup](API_RuleGroup.md) to which you want to attach the policy.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

## Response Elements
<a name="API_PutPermissionPolicy_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_PutPermissionPolicy_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidPermissionPolicyException **   
The operation failed because the specified policy isn't in the proper format.   
The policy specifications must conform to the following:  
+ The policy must be composed using IAM Policy version 2012-10-17.
+ The policy must include specifications for `Effect`, `Action`, and `Principal`.
+  `Effect` must specify `Allow`.
+  `Action` must specify `wafv2:CreateWebACL`, `wafv2:UpdateWebACL`, and `wafv2:PutFirewallManagerRuleGroups` and may optionally specify `wafv2:GetRuleGroup`. AWS WAF rejects any extra actions or wildcard actions in the policy.
+ The policy must not include a `Resource` parameter.
For more information, see [IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).   
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

## Examples
<a name="API_PutPermissionPolicy_Examples"></a>

### Share a rule group with another account
<a name="API_PutPermissionPolicy_Example_1"></a>

This example illustrates one usage of PutPermissionPolicy.

```
{
   "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
              "AWS": "arn:aws:iam::111111111111:user/UserName"
          },
          "Action": [
               "wafv2:CreateWebACL", 
               "wafv2:UpdateWebACL",
               "wafv2:PutFirewallManagerRuleGroups",
               "wafv2:GetRuleGroup"

          ]
        }
    ]
}
```

### Example put permission policy call for the CLI:
<a name="API_PutPermissionPolicy_Example_2"></a>

This example illustrates one usage of PutPermissionPolicy.

```
aws wafv2 put-permission-policy --resource-arn arn:aws:wafv2:us-east-1:989717579876:regional/rulegroup/rule_group_with_rules/exampleRuleGroupArn --policy '{"Version":"2012-10-17",		 	 	 "Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::111111111111:user/ExampleUserName"},"Action":["wafv2:UpdateWebACL","wafv2:CreateWebACL","wafv2:PutFirewallManagerRuleGroups"]}]}'
```

## See Also
<a name="API_PutPermissionPolicy_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/PutPermissionPolicy) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/PutPermissionPolicy) 

# TagResource
<a name="API_TagResource"></a>

Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, 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. 

## Request Syntax
<a name="API_TagResource_RequestSyntax"></a>

```
{
   "ResourceARN": "string",
   "Tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters
<a name="API_TagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceARN](#API_TagResource_RequestSyntax) **   <a name="WAF-TagResource-request-ResourceARN"></a>
The Amazon Resource Name (ARN) of the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [Tags](#API_TagResource_RequestSyntax) **   <a name="WAF-TagResource-request-Tags"></a>
An array of key:value pairs to associate with the resource.  
Type: Array of [Tag](API_Tag.md) objects  
Array Members: Minimum number of 1 item.  
Required: Yes

## Response Elements
<a name="API_TagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_TagResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_TagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/TagResource) 

# UntagResource
<a name="API_UntagResource"></a>

Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be "customer" and the tag value might be "companyA." You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.

## Request Syntax
<a name="API_UntagResource_RequestSyntax"></a>

```
{
   "ResourceARN": "string",
   "TagKeys": [ "string" ]
}
```

## Request Parameters
<a name="API_UntagResource_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceARN](#API_UntagResource_RequestSyntax) **   <a name="WAF-UntagResource-request-ResourceARN"></a>
The Amazon Resource Name (ARN) of the resource.  
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `.*\S.*`   
Required: Yes

 ** [TagKeys](#API_UntagResource_RequestSyntax) **   <a name="WAF-UntagResource-request-TagKeys"></a>
An array of keys identifying the tags to disassociate from the resource.  
Type: Array of strings  
Array Members: Minimum number of 1 item.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$`   
Required: Yes

## Response Elements
<a name="API_UntagResource_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors
<a name="API_UntagResource_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFTagOperationException **   
An error occurred during the tagging operation. Retry your request.  
HTTP Status Code: 400

 ** WAFTagOperationInternalErrorException **   
 AWS WAF couldn’t perform your tagging operation because of an internal error. Retry your request.  
HTTP Status Code: 500

## See Also
<a name="API_UntagResource_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UntagResource) 

# UpdateIPSet
<a name="API_UpdateIPSet"></a>

Updates the specified [IPSet](API_IPSet.md). 

**Note**  
This operation completely replaces the mutable specifications that you already have for the IP set with the ones that you provide to this call.   
To modify an IP set, do the following:   
Retrieve it by calling [GetIPSet](API_GetIPSet.md) 
Update its settings as needed
Provide the complete IP set specification to this call

 **Temporary inconsistencies during updates** 

When you create or change a web ACL or other AWS WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes. 

The following are examples of the temporary inconsistencies that you might notice during change propagation: 
+ After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable. 
+ After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
+ After you change a rule action setting, you might see the old action in some places and the new action in others. 
+ After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

## Request Syntax
<a name="API_UpdateIPSet_RequestSyntax"></a>

```
{
   "Addresses": [ "string" ],
   "Description": "string",
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string"
}
```

## Request Parameters
<a name="API_UpdateIPSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Addresses](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-Addresses"></a>
Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses that you want AWS WAF to inspect for in incoming requests. All addresses must be specified using Classless Inter-Domain Routing (CIDR) notation. AWS WAF supports all IPv4 and IPv6 CIDR ranges except for `/0`.   
Example address strings:   
+ For requests that originated from the IP address 192.0.2.44, specify `192.0.2.44/32`.
+ For requests that originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify `192.0.2.0/24`.
+ For requests that originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify `1111:0000:0000:0000:0000:0000:0000:0111/128`.
+ For requests that originated from IP addresses 1111:0000:0000:0000:0000:0000:0000:0000 to 1111:0000:0000:0000:ffff:ffff:ffff:ffff, specify `1111:0000:0000:0000:0000:0000:0000:0000/64`.
For more information about CIDR notation, see the Wikipedia entry [Classless Inter-Domain Routing](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).  
Example JSON `Addresses` specifications:   
+ Empty array: `"Addresses": []` 
+ Array with one address: `"Addresses": ["192.0.2.44/32"]` 
+ Array with three addresses: `"Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"]` 
+ INVALID specification: `"Addresses": [""]` INVALID 
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `.*\S.*`   
Required: Yes

 ** [Description](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-Description"></a>
A description of the IP set that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Id](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-Name"></a>
The name of the IP set. You cannot change the name of an `IPSet` after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_UpdateIPSet_RequestSyntax) **   <a name="WAF-UpdateIPSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_UpdateIPSet_ResponseSyntax"></a>

```
{
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_UpdateIPSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextLockToken](#API_UpdateIPSet_ResponseSyntax) **   <a name="WAF-UpdateIPSet-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns this token to your `update` requests. You use `NextLockToken` in the same manner as you use `LockToken`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_UpdateIPSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_UpdateIPSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UpdateIPSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UpdateIPSet) 

# UpdateManagedRuleSetVersionExpiryDate
<a name="API_UpdateManagedRuleSetVersionExpiryDate"></a>

Updates the expiration information for your managed rule set. Use this to initiate the expiration of a managed rule group version. After you initiate expiration for a version, AWS WAF excludes it from the response to [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md) for the managed rule group. 

**Note**  
This is intended for use only by vendors of managed rule sets. Vendors are AWS and AWS Marketplace sellers.   
Vendors, you can use the managed rule set APIs to provide controlled rollout of your versioned managed rule group offerings for your customers. The APIs are `ListManagedRuleSets`, `GetManagedRuleSet`, `PutManagedRuleSetVersions`, and `UpdateManagedRuleSetVersionExpiryDate`.

## Request Syntax
<a name="API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax"></a>

```
{
   "ExpiryTimestamp": number,
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Scope": "string",
   "VersionToExpire": "string"
}
```

## Request Parameters
<a name="API_UpdateManagedRuleSetVersionExpiryDate_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ExpiryTimestamp](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-ExpiryTimestamp"></a>
The time that you want the version to expire.  
Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".   
Type: Timestamp  
Required: Yes

 ** [Id](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-Id"></a>
A unique identifier for the managed rule set. The ID is returned in the responses to commands like `list`. You provide it to operations like `get` and `update`.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-Name"></a>
The name of the managed rule set. You use this, along with the rule set ID, to identify the rule set.  
This name is assigned to the corresponding managed rule group, which your customers can access and use.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Scope](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VersionToExpire](#API_UpdateManagedRuleSetVersionExpiryDate_RequestSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-request-VersionToExpire"></a>
The version that you want to remove from your list of offerings for the named managed rule group.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$`   
Required: Yes

## Response Syntax
<a name="API_UpdateManagedRuleSetVersionExpiryDate_ResponseSyntax"></a>

```
{
   "ExpiringVersion": "string",
   "ExpiryTimestamp": number,
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_UpdateManagedRuleSetVersionExpiryDate_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ExpiringVersion](#API_UpdateManagedRuleSetVersionExpiryDate_ResponseSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-response-ExpiringVersion"></a>
The version that is set to expire.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `^[\w#:\.\-/]+$` 

 ** [ExpiryTimestamp](#API_UpdateManagedRuleSetVersionExpiryDate_ResponseSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-response-ExpiryTimestamp"></a>
The time that the version will expire.   
Times are in Coordinated Universal Time (UTC) format. UTC format includes the special designator, Z. For example, "2016-09-27T14:50Z".   
Type: Timestamp

 ** [NextLockToken](#API_UpdateManagedRuleSetVersionExpiryDate_ResponseSyntax) **   <a name="WAF-UpdateManagedRuleSetVersionExpiryDate-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_UpdateManagedRuleSetVersionExpiryDate_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_UpdateManagedRuleSetVersionExpiryDate_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UpdateManagedRuleSetVersionExpiryDate) 

# UpdateRegexPatternSet
<a name="API_UpdateRegexPatternSet"></a>

Updates the specified [RegexPatternSet](API_RegexPatternSet.md).

**Note**  
This operation completely replaces the mutable specifications that you already have for the regex pattern set with the ones that you provide to this call.   
To modify a regex pattern set, do the following:   
Retrieve it by calling [GetRegexPatternSet](API_GetRegexPatternSet.md) 
Update its settings as needed
Provide the complete regex pattern set specification to this call

 **Temporary inconsistencies during updates** 

When you create or change a web ACL or other AWS WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes. 

The following are examples of the temporary inconsistencies that you might notice during change propagation: 
+ After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable. 
+ After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
+ After you change a rule action setting, you might see the old action in some places and the new action in others. 
+ After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

## Request Syntax
<a name="API_UpdateRegexPatternSet_RequestSyntax"></a>

```
{
   "Description": "string",
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "RegularExpressionList": [ 
      { 
         "RegexString": "string"
      }
   ],
   "Scope": "string"
}
```

## Request Parameters
<a name="API_UpdateRegexPatternSet_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-Description"></a>
A description of the set that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Id](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-Id"></a>
A unique identifier for the set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-Name"></a>
The name of the set. You cannot change the name after you create the set.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [RegularExpressionList](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-RegularExpressionList"></a>
  
Type: Array of [Regex](API_Regex.md) objects  
Required: Yes

 ** [Scope](#API_UpdateRegexPatternSet_RequestSyntax) **   <a name="WAF-UpdateRegexPatternSet-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

## Response Syntax
<a name="API_UpdateRegexPatternSet_ResponseSyntax"></a>

```
{
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_UpdateRegexPatternSet_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextLockToken](#API_UpdateRegexPatternSet_ResponseSyntax) **   <a name="WAF-UpdateRegexPatternSet-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns this token to your `update` requests. You use `NextLockToken` in the same manner as you use `LockToken`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_UpdateRegexPatternSet_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

## See Also
<a name="API_UpdateRegexPatternSet_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UpdateRegexPatternSet) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UpdateRegexPatternSet) 

# UpdateRuleGroup
<a name="API_UpdateRuleGroup"></a>

Updates the specified [RuleGroup](API_RuleGroup.md).

**Note**  
This operation completely replaces the mutable specifications that you already have for the rule group with the ones that you provide to this call.   
To modify a rule group, do the following:   
Retrieve it by calling [GetRuleGroup](API_GetRuleGroup.md) 
Update its settings as needed
Provide the complete rule group specification to this call

 A rule group defines a collection of rules to inspect and control web requests that you can use in a [WebACL](API_WebACL.md). 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. 

 **Temporary inconsistencies during updates** 

When you create or change a web ACL or other AWS WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes. 

The following are examples of the temporary inconsistencies that you might notice during change propagation: 
+ After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable. 
+ After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
+ After you change a rule action setting, you might see the old action in some places and the new action in others. 
+ After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

## Request Syntax
<a name="API_UpdateRuleGroup_RequestSyntax"></a>

```
{
   "CustomResponseBodies": { 
      "string" : { 
         "Content": "string",
         "ContentType": "string"
      }
   },
   "Description": "string",
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "CaptchaConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "ChallengeConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "Name": "string",
         "OverrideAction": { 
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "None": { 
            }
         },
         "Priority": number,
         "RuleLabels": [ 
            { 
               "Name": "string"
            }
         ],
         "Statement": { 
            "AndStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "AsnMatchStatement": { 
               "AsnList": [ number ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "ByteMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "PositionalConstraint": "string",
               "SearchString": blob,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "GeoMatchStatement": { 
               "CountryCodes": [ "string" ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "IPSetReferenceStatement": { 
               "ARN": "string",
               "IPSetForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string",
                  "Position": "string"
               }
            },
            "LabelMatchStatement": { 
               "Key": "string",
               "Scope": "string"
            },
            "ManagedRuleGroupStatement": { 
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "ManagedRuleGroupConfigs": [ 
                  { 
                     "AWSManagedRulesACFPRuleSet": { 
                        "CreationPath": "string",
                        "EnableRegexInPath": boolean,
                        "RegistrationPagePath": "string",
                        "RequestInspection": { 
                           "AddressFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "EmailField": { 
                              "Identifier": "string"
                           },
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "PhoneNumberFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesAntiDDoSRuleSet": { 
                        "ClientSideActionConfig": { 
                           "Challenge": { 
                              "ExemptUriRegularExpressions": [ 
                                 { 
                                    "RegexString": "string"
                                 }
                              ],
                              "Sensitivity": "string",
                              "UsageOfAction": "string"
                           }
                        },
                        "SensitivityToBlock": "string"
                     },
                     "AWSManagedRulesATPRuleSet": { 
                        "EnableRegexInPath": boolean,
                        "LoginPath": "string",
                        "RequestInspection": { 
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesBotControlRuleSet": { 
                        "EnableMachineLearning": boolean,
                        "InspectionLevel": "string"
                     },
                     "LoginPath": "string",
                     "PasswordField": { 
                        "Identifier": "string"
                     },
                     "PayloadType": "string",
                     "UsernameField": { 
                        "Identifier": "string"
                     }
                  }
               ],
               "Name": "string",
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ],
               "ScopeDownStatement": "Statement",
               "VendorName": "string",
               "Version": "string"
            },
            "NotStatement": { 
               "Statement": "Statement"
            },
            "OrStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "RateBasedStatement": { 
               "AggregateKeyType": "string",
               "CustomKeys": [ 
                  { 
                     "ASN": { 
                     },
                     "Cookie": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "ForwardedIP": { 
                     },
                     "Header": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "HTTPMethod": { 
                     },
                     "IP": { 
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "LabelNamespace": { 
                        "Namespace": "string"
                     },
                     "QueryArgument": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "QueryString": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "UriPath": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  }
               ],
               "EvaluationWindowSec": number,
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               },
               "Limit": number,
               "ScopeDownStatement": "Statement"
            },
            "RegexMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "RegexString": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RegexPatternSetReferenceStatement": { 
               "ARN": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RuleGroupReferenceStatement": { 
               "ARN": "string",
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ]
            },
            "SizeConstraintStatement": { 
               "ComparisonOperator": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "Size": number,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "SqliMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "SensitivityLevel": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "XssMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            }
         },
         "VisibilityConfig": { 
            "CloudWatchMetricsEnabled": boolean,
            "MetricName": "string",
            "SampledRequestsEnabled": boolean
         }
      }
   ],
   "Scope": "string",
   "VisibilityConfig": { 
      "CloudWatchMetricsEnabled": boolean,
      "MetricName": "string",
      "SampledRequestsEnabled": boolean
   }
}
```

## Request Parameters
<a name="API_UpdateRuleGroup_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [CustomResponseBodies](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-CustomResponseBodies"></a>
A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.   
For information about customizing web requests and responses, see [Customizing web requests and responses in AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the * AWS WAF Developer Guide*.   
For information about the limits on count and size for custom request and response settings, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.   
Type: String to [CustomResponseBody](API_CustomResponseBody.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^[\w\-]+$`   
Required: No

 ** [Description](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-Description"></a>
A description of the rule group that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Id](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-Id"></a>
A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-Name"></a>
The name of the rule group. You cannot change the name of a rule group after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [Rules](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-Rules"></a>
The [Rule](API_Rule.md) statements used to identify the web requests that you want to manage. 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.   
Type: Array of [Rule](API_Rule.md) objects  
Required: No

 ** [Scope](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [VisibilityConfig](#API_UpdateRuleGroup_RequestSyntax) **   <a name="WAF-UpdateRuleGroup-request-VisibilityConfig"></a>
Defines and enables Amazon CloudWatch metrics and web request sample collection.   
Type: [VisibilityConfig](API_VisibilityConfig.md) object  
Required: Yes

## Response Syntax
<a name="API_UpdateRuleGroup_ResponseSyntax"></a>

```
{
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_UpdateRuleGroup_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextLockToken](#API_UpdateRuleGroup_ResponseSyntax) **   <a name="WAF-UpdateRuleGroup-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns this token to your `update` requests. You use `NextLockToken` in the same manner as you use `LockToken`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_UpdateRuleGroup_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFConfigurationWarningException **   
The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an `OversizeHandling` configuration or they must be preceded by a `SizeConstraintStatement` that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an `OversizeHandling` configuration.   
Provide the handling configuration and retry your operation.  
Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: `Tag` (key:`WAF:OversizeFieldsHandlingConstraintOptOut`, value:`true`).  
HTTP Status Code: 400

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFSubscriptionNotFoundException **   
You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.   
HTTP Status Code: 400

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateRuleGroup_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UpdateRuleGroup) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UpdateRuleGroup) 

# UpdateWebACL
<a name="API_UpdateWebACL"></a>

Updates the specified [WebACL](API_WebACL.md). While updating a web ACL, AWS WAF provides continuous coverage to the resources that you have associated with the web ACL. 

**Note**  
This operation completely replaces the mutable specifications that you already have for the web ACL with the ones that you provide to this call.   
To modify a web ACL, do the following:   
Retrieve it by calling [GetWebACL](API_GetWebACL.md) 
Update its settings as needed
Provide the complete web ACL specification to this call

 A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement that defines what to look for in web requests and an action that AWS WAF applies to requests that match the statement. 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](API_Rule.md), [RuleGroup](API_RuleGroup.md), and managed rule group. You can associate a web ACL with one or more AWS resources to protect. The resource types include Amazon CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AWS AppSync GraphQL API, Amazon Cognito user pool, AWS App Runner service, AWS Amplify application, and AWS Verified Access instance. 

 **Temporary inconsistencies during updates** 

When you create or change a web ACL or other AWS WAF resources, the changes take a small amount of time to propagate to all areas where the resources are stored. The propagation time can be from a few seconds to a number of minutes. 

The following are examples of the temporary inconsistencies that you might notice during change propagation: 
+ After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating that the web ACL is unavailable. 
+ After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web ACL is used and not in another.
+ After you change a rule action setting, you might see the old action in some places and the new action in others. 
+ After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in one area while still allowed in another.

## Request Syntax
<a name="API_UpdateWebACL_RequestSyntax"></a>

```
{
   "ApplicationConfig": { 
      "Attributes": [ 
         { 
            "Name": "string",
            "Values": [ "string" ]
         }
      ]
   },
   "AssociationConfig": { 
      "RequestBody": { 
         "string" : { 
            "DefaultSizeInspectionLimit": "string"
         }
      }
   },
   "CaptchaConfig": { 
      "ImmunityTimeProperty": { 
         "ImmunityTime": number
      }
   },
   "ChallengeConfig": { 
      "ImmunityTimeProperty": { 
         "ImmunityTime": number
      }
   },
   "CustomResponseBodies": { 
      "string" : { 
         "Content": "string",
         "ContentType": "string"
      }
   },
   "DataProtectionConfig": { 
      "DataProtections": [ 
         { 
            "Action": "string",
            "ExcludeRateBasedDetails": boolean,
            "ExcludeRuleMatchDetails": boolean,
            "Field": { 
               "FieldKeys": [ "string" ],
               "FieldType": "string"
            }
         }
      ]
   },
   "DefaultAction": { 
      "Allow": { 
         "CustomRequestHandling": { 
            "InsertHeaders": [ 
               { 
                  "Name": "string",
                  "Value": "string"
               }
            ]
         }
      },
      "Block": { 
         "CustomResponse": { 
            "CustomResponseBodyKey": "string",
            "ResponseCode": number,
            "ResponseHeaders": [ 
               { 
                  "Name": "string",
                  "Value": "string"
               }
            ]
         }
      }
   },
   "Description": "string",
   "Id": "string",
   "LockToken": "string",
   "Name": "string",
   "OnSourceDDoSProtectionConfig": { 
      "ALBLowReputationMode": "string"
   },
   "Rules": [ 
      { 
         "Action": { 
            "Allow": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Block": { 
               "CustomResponse": { 
                  "CustomResponseBodyKey": "string",
                  "ResponseCode": number,
                  "ResponseHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Captcha": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Challenge": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            }
         },
         "CaptchaConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "ChallengeConfig": { 
            "ImmunityTimeProperty": { 
               "ImmunityTime": number
            }
         },
         "Name": "string",
         "OverrideAction": { 
            "Count": { 
               "CustomRequestHandling": { 
                  "InsertHeaders": [ 
                     { 
                        "Name": "string",
                        "Value": "string"
                     }
                  ]
               }
            },
            "None": { 
            }
         },
         "Priority": number,
         "RuleLabels": [ 
            { 
               "Name": "string"
            }
         ],
         "Statement": { 
            "AndStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "AsnMatchStatement": { 
               "AsnList": [ number ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "ByteMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "PositionalConstraint": "string",
               "SearchString": blob,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "GeoMatchStatement": { 
               "CountryCodes": [ "string" ],
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               }
            },
            "IPSetReferenceStatement": { 
               "ARN": "string",
               "IPSetForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string",
                  "Position": "string"
               }
            },
            "LabelMatchStatement": { 
               "Key": "string",
               "Scope": "string"
            },
            "ManagedRuleGroupStatement": { 
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "ManagedRuleGroupConfigs": [ 
                  { 
                     "AWSManagedRulesACFPRuleSet": { 
                        "CreationPath": "string",
                        "EnableRegexInPath": boolean,
                        "RegistrationPagePath": "string",
                        "RequestInspection": { 
                           "AddressFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "EmailField": { 
                              "Identifier": "string"
                           },
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "PhoneNumberFields": [ 
                              { 
                                 "Identifier": "string"
                              }
                           ],
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesAntiDDoSRuleSet": { 
                        "ClientSideActionConfig": { 
                           "Challenge": { 
                              "ExemptUriRegularExpressions": [ 
                                 { 
                                    "RegexString": "string"
                                 }
                              ],
                              "Sensitivity": "string",
                              "UsageOfAction": "string"
                           }
                        },
                        "SensitivityToBlock": "string"
                     },
                     "AWSManagedRulesATPRuleSet": { 
                        "EnableRegexInPath": boolean,
                        "LoginPath": "string",
                        "RequestInspection": { 
                           "PasswordField": { 
                              "Identifier": "string"
                           },
                           "PayloadType": "string",
                           "UsernameField": { 
                              "Identifier": "string"
                           }
                        },
                        "ResponseInspection": { 
                           "BodyContains": { 
                              "FailureStrings": [ "string" ],
                              "SuccessStrings": [ "string" ]
                           },
                           "Header": { 
                              "FailureValues": [ "string" ],
                              "Name": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "Json": { 
                              "FailureValues": [ "string" ],
                              "Identifier": "string",
                              "SuccessValues": [ "string" ]
                           },
                           "StatusCode": { 
                              "FailureCodes": [ number ],
                              "SuccessCodes": [ number ]
                           }
                        }
                     },
                     "AWSManagedRulesBotControlRuleSet": { 
                        "EnableMachineLearning": boolean,
                        "InspectionLevel": "string"
                     },
                     "LoginPath": "string",
                     "PasswordField": { 
                        "Identifier": "string"
                     },
                     "PayloadType": "string",
                     "UsernameField": { 
                        "Identifier": "string"
                     }
                  }
               ],
               "Name": "string",
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ],
               "ScopeDownStatement": "Statement",
               "VendorName": "string",
               "Version": "string"
            },
            "NotStatement": { 
               "Statement": "Statement"
            },
            "OrStatement": { 
               "Statements": [ 
                  "Statement"
               ]
            },
            "RateBasedStatement": { 
               "AggregateKeyType": "string",
               "CustomKeys": [ 
                  { 
                     "ASN": { 
                     },
                     "Cookie": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "ForwardedIP": { 
                     },
                     "Header": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "HTTPMethod": { 
                     },
                     "IP": { 
                     },
                     "JA3Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "JA4Fingerprint": { 
                        "FallbackBehavior": "string"
                     },
                     "LabelNamespace": { 
                        "Namespace": "string"
                     },
                     "QueryArgument": { 
                        "Name": "string",
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "QueryString": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     },
                     "UriPath": { 
                        "TextTransformations": [ 
                           { 
                              "Priority": number,
                              "Type": "string"
                           }
                        ]
                     }
                  }
               ],
               "EvaluationWindowSec": number,
               "ForwardedIPConfig": { 
                  "FallbackBehavior": "string",
                  "HeaderName": "string"
               },
               "Limit": number,
               "ScopeDownStatement": "Statement"
            },
            "RegexMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "RegexString": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RegexPatternSetReferenceStatement": { 
               "ARN": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "RuleGroupReferenceStatement": { 
               "ARN": "string",
               "ExcludedRules": [ 
                  { 
                     "Name": "string"
                  }
               ],
               "RuleActionOverrides": [ 
                  { 
                     "ActionToUse": { 
                        "Allow": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Block": { 
                           "CustomResponse": { 
                              "CustomResponseBodyKey": "string",
                              "ResponseCode": number,
                              "ResponseHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Captcha": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Challenge": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        },
                        "Count": { 
                           "CustomRequestHandling": { 
                              "InsertHeaders": [ 
                                 { 
                                    "Name": "string",
                                    "Value": "string"
                                 }
                              ]
                           }
                        }
                     },
                     "Name": "string"
                  }
               ]
            },
            "SizeConstraintStatement": { 
               "ComparisonOperator": "string",
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "Size": number,
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "SqliMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "SensitivityLevel": "string",
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            },
            "XssMatchStatement": { 
               "FieldToMatch": { 
                  "AllQueryArguments": { 
                  },
                  "Body": { 
                     "OversizeHandling": "string"
                  },
                  "Cookies": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedCookies": [ "string" ],
                        "IncludedCookies": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "HeaderOrder": { 
                     "OversizeHandling": "string"
                  },
                  "Headers": { 
                     "MatchPattern": { 
                        "All": { 
                        },
                        "ExcludedHeaders": [ "string" ],
                        "IncludedHeaders": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "JA3Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JA4Fingerprint": { 
                     "FallbackBehavior": "string"
                  },
                  "JsonBody": { 
                     "InvalidFallbackBehavior": "string",
                     "MatchPattern": { 
                        "All": { 
                        },
                        "IncludedPaths": [ "string" ]
                     },
                     "MatchScope": "string",
                     "OversizeHandling": "string"
                  },
                  "Method": { 
                  },
                  "QueryString": { 
                  },
                  "SingleHeader": { 
                     "Name": "string"
                  },
                  "SingleQueryArgument": { 
                     "Name": "string"
                  },
                  "UriFragment": { 
                     "FallbackBehavior": "string"
                  },
                  "UriPath": { 
                  }
               },
               "TextTransformations": [ 
                  { 
                     "Priority": number,
                     "Type": "string"
                  }
               ]
            }
         },
         "VisibilityConfig": { 
            "CloudWatchMetricsEnabled": boolean,
            "MetricName": "string",
            "SampledRequestsEnabled": boolean
         }
      }
   ],
   "Scope": "string",
   "TokenDomains": [ "string" ],
   "VisibilityConfig": { 
      "CloudWatchMetricsEnabled": boolean,
      "MetricName": "string",
      "SampledRequestsEnabled": boolean
   }
}
```

## Request Parameters
<a name="API_UpdateWebACL_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ApplicationConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-ApplicationConfig"></a>
Configures the ability for the AWS WAF console to store and retrieve application attributes. Application attributes help AWS WAF give recommendations for protection packs.  
When using `UpdateWebACL`, `ApplicationConfig` follows these rules:  
+ If you omit `ApplicationConfig` from the request, all existing entries in the web ACL are retained.
+ If you include `ApplicationConfig`, entries must match the existing values exactly. Any attempt to modify existing entries will result in an error.
Type: [ApplicationConfig](API_ApplicationConfig.md) object  
Required: No

 ** [AssociationConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-AssociationConfig"></a>
Specifies custom configurations for the associations between the web ACL and protected resources.   
Use this to customize the maximum size of the request body that your protected resources forward to AWS WAF for inspection. You can customize this setting for CloudFront, API Gateway, Amazon Cognito, App Runner, or Verified Access resources. The default setting is 16 KB (16,384 bytes).   
You are charged additional fees when your protected resources forward body sizes that are larger than the default. For more information, see [AWS WAF Pricing](http://aws.amazon.com/waf/pricing/).
For Application Load Balancer and AWS AppSync, the limit is fixed at 8 KB (8,192 bytes).  
Type: [AssociationConfig](API_AssociationConfig.md) object  
Required: No

 ** [CaptchaConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-CaptchaConfig"></a>
Specifies how AWS WAF should handle `CAPTCHA` evaluations for rules that don't have their own `CaptchaConfig` settings. If you don't specify this, AWS WAF uses its default settings for `CaptchaConfig`.   
Type: [CaptchaConfig](API_CaptchaConfig.md) object  
Required: No

 ** [ChallengeConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-ChallengeConfig"></a>
Specifies how AWS WAF should handle challenge evaluations for rules that don't have their own `ChallengeConfig` settings. If you don't specify this, AWS WAF uses its default settings for `ChallengeConfig`.   
Type: [ChallengeConfig](API_ChallengeConfig.md) object  
Required: No

 ** [CustomResponseBodies](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-CustomResponseBodies"></a>
A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.   
For information about customizing web requests and responses, see [Customizing web requests and responses in AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) in the * AWS WAF Developer Guide*.   
For information about the limits on count and size for custom request and response settings, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.   
Type: String to [CustomResponseBody](API_CustomResponseBody.md) object map  
Map Entries: Maximum number of items.  
Key Length Constraints: Minimum length of 1. Maximum length of 128.  
Key Pattern: `^[\w\-]+$`   
Required: No

 ** [DataProtectionConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-DataProtectionConfig"></a>
Specifies data protection to apply to the web request data for the web ACL. This is a web ACL level data protection option.   
The data protection that you configure for the web ACL alters the data that's available for any other data collection activity, including your AWS WAF logging destinations, web ACL request sampling, and Amazon Security Lake data collection and management. Your other option for data protection is in the logging configuration, which only affects logging.   
Type: [DataProtectionConfig](API_DataProtectionConfig.md) object  
Required: No

 ** [DefaultAction](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-DefaultAction"></a>
The action to perform if none of the `Rules` contained in the `WebACL` match.   
Type: [DefaultAction](API_DefaultAction.md) object  
Required: Yes

 ** [Description](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-Description"></a>
A description of the web ACL that helps with identification.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `^[\w+=:#@/\-,\.][\w+=:#@/\-,\.\s]+[\w+=:#@/\-,\.]$`   
Required: No

 ** [Id](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-Id"></a>
The unique identifier for the web ACL. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [LockToken](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-LockToken"></a>
A token used for optimistic locking. AWS WAF returns a token to your `get` and `list` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like `update` and `delete`. AWS WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a `WAFOptimisticLockException`. If this happens, perform another `get`, and use the new token returned by that operation.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$`   
Required: Yes

 ** [Name](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-Name"></a>
The name of the web ACL. You cannot change the name of a web ACL after you create it.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `^[\w\-]+$`   
Required: Yes

 ** [OnSourceDDoSProtectionConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-OnSourceDDoSProtectionConfig"></a>
Specifies the type of DDoS protection to apply to web request data for a web ACL. For most scenarios, it is recommended to use the default protection level, `ACTIVE_UNDER_DDOS`. If a web ACL is associated with multiple Application Load Balancers, the changes you make to DDoS protection in that web ACL will apply to all associated Application Load Balancers.  
Type: [OnSourceDDoSProtectionConfig](API_OnSourceDDoSProtectionConfig.md) object  
Required: No

 ** [Rules](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-Rules"></a>
The [Rule](API_Rule.md) statements used to identify the web requests that you want to manage. 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.   
Type: Array of [Rule](API_Rule.md) objects  
Required: No

 ** [Scope](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-Scope"></a>
Specifies whether this is for a global resource type, such as a Amazon CloudFront distribution. For an AWS Amplify application, use `CLOUDFRONT`.  
To work with CloudFront, you must also specify the Region US East (N. Virginia) as follows:   
+ CLI - Specify the Region when you use the CloudFront scope: `--scope=CLOUDFRONT --region=us-east-1`. 
+ API and SDKs - For all calls, use the Region endpoint us-east-1. 
Type: String  
Valid Values: `CLOUDFRONT | REGIONAL`   
Required: Yes

 ** [TokenDomains](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-TokenDomains"></a>
Specifies the domains that AWS WAF should accept in a web request token. This enables the use of tokens across multiple protected websites. When AWS WAF provides a token, it uses the domain of the AWS resource that the web ACL is protecting. If you don't specify a list of token domains, AWS WAF accepts tokens only for the domain of the protected resource. With a token domain list, AWS WAF accepts the resource's host domain plus all domains in the token domain list, including their prefixed subdomains.  
Example JSON: `"TokenDomains": { "mywebsite.com", "myotherwebsite.com" }`   
Public suffixes aren't allowed. For example, you can't use `gov.au` or `co.uk` as token domains.  
Type: Array of strings  
Length Constraints: Minimum length of 1. Maximum length of 253.  
Pattern: `^[\w\.\-/]+$`   
Required: No

 ** [VisibilityConfig](#API_UpdateWebACL_RequestSyntax) **   <a name="WAF-UpdateWebACL-request-VisibilityConfig"></a>
Defines and enables Amazon CloudWatch metrics and web request sample collection.   
Type: [VisibilityConfig](API_VisibilityConfig.md) object  
Required: Yes

## Response Syntax
<a name="API_UpdateWebACL_ResponseSyntax"></a>

```
{
   "NextLockToken": "string"
}
```

## Response Elements
<a name="API_UpdateWebACL_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextLockToken](#API_UpdateWebACL_ResponseSyntax) **   <a name="WAF-UpdateWebACL-response-NextLockToken"></a>
A token used for optimistic locking. AWS WAF returns this token to your `update` requests. You use `NextLockToken` in the same manner as you use `LockToken`.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 36.  
Pattern: `^[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$` 

## Errors
<a name="API_UpdateWebACL_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** WAFConfigurationWarningException **   
The operation failed because you are inspecting the web request body, headers, or cookies without specifying how to handle oversize components. Rules that inspect the body must either provide an `OversizeHandling` configuration or they must be preceded by a `SizeConstraintStatement` that blocks the body content from being too large. Rules that inspect the headers or cookies must provide an `OversizeHandling` configuration.   
Provide the handling configuration and retry your operation.  
Alternately, you can suppress this warning by adding the following tag to the resource that you provide to this operation: `Tag` (key:`WAF:OversizeFieldsHandlingConstraintOptOut`, value:`true`).  
HTTP Status Code: 400

 ** WAFDuplicateItemException **   
 AWS WAF couldn’t perform the operation because the resource that you tried to save is a duplicate of an existing one.  
HTTP Status Code: 400

 ** WAFExpiredManagedRuleGroupVersionException **   
The operation failed because the specified version for the managed rule group has expired. You can retrieve the available versions for the managed rule group by calling [ListAvailableManagedRuleGroupVersions](API_ListAvailableManagedRuleGroupVersions.md).  
HTTP Status Code: 400

 ** WAFFeatureNotIncludedInPricingPlanException **   
The operation failed because the specified AWS WAF feature isn't supported by the CloudFront pricing plan associated with the web ACL.    
 ** DisallowedFeatures **   
The names of the disallowed AWS WAF features.
HTTP Status Code: 400

 ** WAFInternalErrorException **   
Your request is valid, but AWS WAF couldn’t perform the operation because of a system problem. Retry your request.   
HTTP Status Code: 500

 ** WAFInvalidOperationException **   
The operation isn't valid.   
HTTP Status Code: 400

 ** WAFInvalidParameterException **   
The operation failed because AWS WAF didn't recognize a parameter in the request. For example:   
+ You specified a parameter name or value that isn't valid.
+ Your nested statement isn't valid. You might have tried to nest a statement that can’t be nested. 
+ You tried to update a `WebACL` with a `DefaultAction` that isn't among the types available at [DefaultAction](API_DefaultAction.md).
+ Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't be associated.  
 ** Field **   
The settings where the invalid parameter was found.   
 ** Parameter **   
The invalid parameter that resulted in the exception.   
 ** Reason **   
Additional information about the exception.
HTTP Status Code: 400

 ** WAFInvalidResourceException **   
 AWS WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the resource, and try again.  
HTTP Status Code: 400

 ** WAFLimitsExceededException **   
 AWS WAF couldn’t perform the operation because you exceeded your resource limit. For example, the maximum number of `WebACL` objects that you can create for an AWS account. For more information, see [AWS WAF quotas](https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) in the * AWS WAF Developer Guide*.    
 ** SourceType **   
Source type for the exception. 
HTTP Status Code: 400

 ** WAFNonexistentItemException **   
 AWS WAF couldn’t perform the operation because your resource doesn't exist. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate.   
HTTP Status Code: 400

 ** WAFOptimisticLockException **   
 AWS WAF couldn’t save your changes because you tried to update or delete a resource that has changed since you last retrieved it. Get the resource again, make any changes you need to make to the new copy, and retry your operation.   
HTTP Status Code: 400

 ** WAFSubscriptionNotFoundException **   
You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it yet.   
HTTP Status Code: 400

 ** WAFUnavailableEntityException **   
 AWS WAF couldn’t retrieve a resource that you specified for this operation. If you've just created a resource that you're using in this operation, you might just need to wait a few minutes. It can take from a few seconds to a number of minutes for changes to propagate. Verify the resource specifications in your request parameters and then retry the operation.  
HTTP Status Code: 400

## See Also
<a name="API_UpdateWebACL_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/wafv2-2019-07-29/UpdateWebACL) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/wafv2-2019-07-29/UpdateWebACL) 