/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.wafv2; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.wafv2.model.*; /** * Interface for accessing WAFV2. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.wafv2.AbstractAWSWAFV2} instead. *
*
 *  
 * This is the latest version of the WAF API, released in November, 2019. The names of the entities that you use
 * to access this API, like endpoints and namespaces, all have the versioning information added, like "V2" or "v2", to
 * distinguish from the prior version. We recommend migrating your resources to this version, because it has a number of
 * significant improvements.
 *  
 * If you used WAF prior to this release, you can't use this WAFV2 API to access any WAF resources that you created
 * before. You can access your old rules, web ACLs, and other WAF resources only through the WAF Classic APIs. The WAF
 * Classic APIs have retained the prior names, endpoints, and namespaces.
 *  
 * For information, including how to migrate your WAF resources to this version, see the WAF Developer Guide.
 * 
* WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests that are forwarded to an Amazon * CloudFront distribution, Amazon API Gateway REST API, Application Load Balancer, AppSync GraphQL API, Amazon Cognito * user pool, App Runner service, or Amazon Web Services Verified Access instance. WAF also lets you control access to * your content, to protect the Amazon Web Services resource that WAF is monitoring. Based on conditions that you * specify, such as the IP addresses that requests originate from or the values of query strings, the protected resource * responds to requests with either the requested content, an HTTP 403 status code (Forbidden), or with a custom * response. *
** This API guide is for developers who need detailed information about WAF API actions, data types, and errors. For * detailed information about WAF features and guidance for configuring and using WAF, see the WAF Developer Guide. *
** You can make calls using the endpoints listed in WAF * endpoints and quotas. *
** For regional applications, you can use any of the endpoints in the list. A regional application can be an Application * Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App * Runner service, or an Amazon Web Services Verified Access instance. *
** For Amazon CloudFront applications, you must use the API endpoint listed for US East (N. Virginia): us-east-1. *
** Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's tailored to the programming * language or platform that you're using. For more information, see Amazon * Web Services SDKs. *
** We currently provide two versions of the WAF API: this API and the prior versions, the classic WAF APIs. This new API * provides the same functionality as the older versions, with the following major improvements: *
*
 * You use one API for both global and regional applications. Where you need to distinguish the scope, you specify a
 * Scope parameter and set it to CLOUDFRONT or REGIONAL.
 * 
* You can define a web ACL or rule group with a single call, and update it with a single call. You define all rule * specifications in JSON format, and pass them to your rule group or web ACL calls. *
** The limits WAF places on the use of rules more closely reflects the cost of running each type of rule. Rule groups * include capacity settings, so you know the maximum cost of a rule group when you use it. *
** Associates a web ACL with a regional application resource, to protect the resource. A regional application can be * an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito * user pool, an App Runner service, or an Amazon Web Services Verified Access instance. *
*
     * For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate
     * a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name
     * (ARN) of the web ACL. For information, see UpdateDistribution in the Amazon CloudFront Developer Guide.
     * 
* When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *
* * @param associateWebACLRequest * @return Result of the AssociateWebACL operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 or WebACL. *
** WAF uses WCUs to calculate and control the operating resources that are used to run your rules, rule groups, and * web ACLs. 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 WAF web ACL capacity * units (WCU) in the WAF Developer Guide. *
* * @param checkCapacityRequest * @return Result of the CheckCapacity operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFInvalidResourceException
     *         WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the
     *         resource, and try again.
     * @throws WAFUnavailableEntityException
     *         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 resources that you are specifying in
     *         your request parameters and then retry the operation.
     * @throws WAFSubscriptionNotFoundException
     *         You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it
     *         yet.
     * @throws 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.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.CheckCapacity
     * @see AWS API
     *      Documentation
     */
    CheckCapacityResult checkCapacity(CheckCapacityRequest checkCapacityRequest);
    /**
     * * 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 WAF client * application integration in the 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. *
* * @param createAPIKeyRequest * @return Result of the CreateAPIKey operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @sample AWSWAFV2.CreateAPIKey
     * @see AWS API
     *      Documentation
     */
    CreateAPIKeyResult createAPIKey(CreateAPIKeyRequest createAPIKeyRequest);
    /**
     * * Creates an IPSet, 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 WAF to block them using an IPSet that lists those IP addresses. *
* * @param createIPSetRequest * @return Result of the CreateIPSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFTagOperationException
     *         An error occurred during the tagging operation. Retry your request.
     * @throws WAFTagOperationInternalErrorException
     *         WAF couldn’t perform your tagging operation because of an internal error. Retry your request.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.CreateIPSet
     * @see AWS API
     *      Documentation
     */
    CreateIPSetResult createIPSet(CreateIPSetRequest createIPSetRequest);
    /**
     * * Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF * inspect a web request component for the specified patterns. *
* * @param createRegexPatternSetRequest * @return Result of the CreateRegexPatternSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFTagOperationException
     *         An error occurred during the tagging operation. Retry your request.
     * @throws WAFTagOperationInternalErrorException
     *         WAF couldn’t perform your tagging operation because of an internal error. Retry your request.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.CreateRegexPatternSet
     * @see AWS
     *      API Documentation
     */
    CreateRegexPatternSetResult createRegexPatternSet(CreateRegexPatternSetRequest createRegexPatternSetRequest);
    /**
     * * Creates a RuleGroup 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. 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. *
* * @param createRuleGroupRequest * @return Result of the CreateRuleGroup operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFUnavailableEntityException
     *         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 resources that you are specifying in
     *         your request parameters and then retry the operation.
     * @throws WAFTagOperationException
     *         An error occurred during the tagging operation. Retry your request.
     * @throws WAFTagOperationInternalErrorException
     *         WAF couldn’t perform your tagging operation because of an internal error. Retry your request.
     * @throws WAFSubscriptionNotFoundException
     *         You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it
     *         yet.
     * @throws WAFNonexistentItemException
     *         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.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.CreateRuleGroup
     * @see AWS API
     *      Documentation
     */
    CreateRuleGroupResult createRuleGroup(CreateRuleGroupRequest createRuleGroupRequest);
    /**
     * * Creates a WebACL per the specifications provided. *
** A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action * defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a * default action to take (allow, block) for any request that does not match any of the rules. The rules in a web * ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a * web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront * distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon * Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. *
* * @param createWebACLRequest * @return Result of the CreateWebACL operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFInvalidResourceException
     *         WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the
     *         resource, and try again.
     * @throws WAFUnavailableEntityException
     *         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 resources that you are specifying in
     *         your request parameters and then retry the operation.
     * @throws WAFNonexistentItemException
     *         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.
     * @throws WAFTagOperationException
     *         An error occurred during the tagging operation. Retry your request.
     * @throws WAFTagOperationInternalErrorException
     *         WAF couldn’t perform your tagging operation because of an internal error. Retry your request.
     * @throws WAFSubscriptionNotFoundException
     *         You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it
     *         yet.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @throws 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).
     * @throws 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.
     * @sample AWSWAFV2.CreateWebACL
     * @see AWS API
     *      Documentation
     */
    CreateWebACLResult createWebACL(CreateWebACLRequest createWebACLRequest);
    /**
     * 
* Deletes all rule groups that are managed by Firewall Manager for the specified web ACL. *
*
     * You can only use this if ManagedByFirewallManager is false in the specified WebACL.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Deletes the specified IPSet. *
* * @param deleteIPSetRequest * @return Result of the DeleteIPSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Deletes the LoggingConfiguration from the specified web ACL. *
* * @param deleteLoggingConfigurationRequest * @return Result of the DeleteLoggingConfiguration operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFOptimisticLockException * 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. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Permanently deletes an IAM policy from the specified rule group. *
** You must be the owner of the rule group to perform this operation. *
* * @param deletePermissionPolicyRequest * @return Result of the DeletePermissionPolicy operation returned by the service. * @throws WAFNonexistentItemException * 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. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Deletes the specified RegexPatternSet. *
* * @param deleteRegexPatternSetRequest * @return Result of the DeleteRegexPatternSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Deletes the specified RuleGroup. *
* * @param deleteRuleGroupRequest * @return Result of the DeleteRuleGroup operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Deletes the specified WebACL. *
*
     * You can only use this if ManagedByFirewallManager is false in the specified WebACL.
     * 
* 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 regional resources, call ListResourcesForWebACL. *
*
     * For Amazon CloudFront distributions, use the CloudFront call ListDistributionsByWebACLId. For
     * information, see ListDistributionsByWebACLId in the Amazon CloudFront API Reference.
     * 
* To disassociate a resource from a web ACL, use the following calls: *
** For regional resources, call DisassociateWebACL. *
*
     * For Amazon CloudFront distributions, provide an empty web ACL ID in the CloudFront call
     * UpdateDistribution. For information, see UpdateDistribution in the Amazon CloudFront API Reference.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services * Marketplace managed rule groups. *
* * @param describeAllManagedProductsRequest * @return Result of the DescribeAllManagedProducts operation returned by the service. * @throws WAFInvalidOperationException * The operation isn't valid. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @sample AWSWAFV2.DescribeAllManagedProducts * @see AWS API Documentation */ DescribeAllManagedProductsResult describeAllManagedProducts(DescribeAllManagedProductsRequest describeAllManagedProductsRequest); /** ** Provides high-level information for the managed rule groups owned by a specific vendor. *
* * @param describeManagedProductsByVendorRequest * @return Result of the DescribeManagedProductsByVendor operation returned by the service. * @throws WAFInvalidOperationException * The operation isn't valid. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Provides high-level information for a managed rule group, including descriptions of the rules. *
* * @param describeManagedRuleGroupRequest * @return Result of the DescribeManagedRuleGroup operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Disassociates the specified regional application resource from any existing web ACL association. A resource can * have at most one web ACL association. A regional application can be an Application Load Balancer (ALB), an Amazon * API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon * Web Services Verified Access instance. *
*
     * For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To
     * disassociate a web ACL, provide an empty web ACL ID in the CloudFront call UpdateDistribution. For
     * information, see 
     * UpdateDistribution in the Amazon CloudFront API Reference.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client * application integration in the WAF Developer Guide. *
* * @param generateMobileSdkReleaseUrlRequest * @return Result of the GenerateMobileSdkReleaseUrl operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 WAF client * application integration in the WAF Developer Guide. *
* * @param getDecryptedAPIKeyRequest * @return Result of the GetDecryptedAPIKey operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the specified IPSet. *
* * @param getIPSetRequest * @return Result of the GetIPSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Returns the LoggingConfiguration for the specified web ACL. *
* * @param getLoggingConfigurationRequest * @return Result of the GetLoggingConfiguration operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the specified managed rule set. *
** This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web * Services 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.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client * application integration in the WAF Developer Guide. *
* * @param getMobileSdkReleaseRequest * @return Result of the GetMobileSdkRelease operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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. *
* * @param getPermissionPolicyRequest * @return Result of the GetPermissionPolicy operation returned by the service. * @throws WAFNonexistentItemException * 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. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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. *
** 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, 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, WAF monitors web * requests and manages keys for this second usage completely independent of your first. *
* * @param getRateBasedStatementManagedKeysRequest * @return Result of the GetRateBasedStatementManagedKeys operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*AggregateKeyType setting
     *         of IP or FORWARDED_IP.
     * @sample AWSWAFV2.GetRateBasedStatementManagedKeys
     * @see AWS API Documentation
     */
    GetRateBasedStatementManagedKeysResult getRateBasedStatementManagedKeys(GetRateBasedStatementManagedKeysRequest getRateBasedStatementManagedKeysRequest);
    /**
     * * Retrieves the specified RegexPatternSet. *
* * @param getRegexPatternSetRequest * @return Result of the GetRegexPatternSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the specified RuleGroup. *
* * @param getRuleGroupRequest * @return Result of the GetRuleGroup operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Gets detailed information about a specified number of requests--a sample--that WAF randomly selects from among * the first 5,000 requests that your Amazon Web Services 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 WAF selected the requests in the sample.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the specified WebACL. *
* * @param getWebACLRequest * @return Result of the GetWebACL operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the WebACL for the specified resource. *
* * @param getWebACLForResourceRequest * @return Result of the GetWebACLForResource operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 WAF client * application integration in the WAF Developer Guide. *
* * @param listAPIKeysRequest * @return Result of the ListAPIKeys operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Returns a list of the available versions for the specified managed rule group. *
* * @param listAvailableManagedRuleGroupVersionsRequest * @return Result of the ListAvailableManagedRuleGroupVersions operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of managed rule groups that are available for you to use. This list includes all Amazon Web * Services Managed Rules rule groups and all of the Amazon Web Services Marketplace managed rule groups that you're * subscribed to. *
* * @param listAvailableManagedRuleGroupsRequest * @return Result of the ListAvailableManagedRuleGroups operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of IPSetSummary objects for the IP sets that you manage. *
* * @param listIPSetsRequest * @return Result of the ListIPSets operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of your LoggingConfiguration objects. *
* * @param listLoggingConfigurationsRequest * @return Result of the ListLoggingConfigurations operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the managed rule sets that you own. *
** This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web * Services 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.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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 WAF tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see WAF client * application integration in the WAF Developer Guide. *
* * @param listMobileSdkReleasesRequest * @return Result of the ListMobileSdkReleases operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage. *
* * @param listRegexPatternSetsRequest * @return Result of the ListRegexPatternSets operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*
     * Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the
     * specified web ACL. If you want the list of Amazon CloudFront resources, use the CloudFront call
     * ListDistributionsByWebACLId.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of RuleGroupSummary objects for the rule groups that you manage. *
* * @param listRuleGroupsRequest * @return Result of the ListRuleGroups operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves the TagInfoForResource 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 Amazon Web * Services resource, up to 50 tags for a resource. *
** You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and * regex pattern sets. You can't manage or view tags through the WAF console. *
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Retrieves an array of WebACLSummary objects for the web ACLs that you manage. *
* * @param listWebACLsRequest * @return Result of the ListWebACLs operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Enables the specified LoggingConfiguration, to start logging from a web ACL, according to the * configuration provided. *
** 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 *
** Update its settings as needed *
** Provide the complete logging configuration specification to this call *
** You can define one logging destination per web ACL. *
** You can access information about the traffic that WAF inspects using the following steps: *
** 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 in the * WAF Developer Guide. *
*
     * Associate your logging destination to your web ACL using a PutLoggingConfiguration request.
     * 
     * When you successfully enable logging using a PutLoggingConfiguration request, WAF creates an
     * additional role or policy that is required to write logs to the logging destination. For an Amazon CloudWatch
     * Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 bucket, WAF creates a bucket
     * policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.
     * 
* For additional information about web ACL logging, see Logging web ACL traffic information * in the WAF Developer Guide. *
* * @param putLoggingConfigurationRequest * @return Result of the PutLoggingConfiguration operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFNonexistentItemException * 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. * @throws WAFOptimisticLockException * 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. * @throws WAFServiceLinkedRoleErrorException * 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.
     * @throws WAFInvalidParameterException
     *         The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFLogDestinationPermissionIssueException
     *         The operation failed because you don't have the permissions that your logging configuration requires. For
     *         information, see Logging web
     *         ACL traffic information in the WAF Developer Guide.
     * @sample AWSWAFV2.PutLoggingConfiguration
     * @see AWS
     *      API Documentation
     */
    PutLoggingConfigurationResult putLoggingConfiguration(PutLoggingConfigurationRequest putLoggingConfigurationRequest);
    /**
     * * 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. *
** This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web * Services 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. 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. 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. *
* * @param putManagedRuleSetVersionsRequest * @return Result of the PutManagedRuleSetVersions operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts. *
** 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 WAF RuleGroup ARN and the rule group must exist in the same Region. *
** The user making the request must be the owner of the rule group. *
** 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** 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. 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. * @sample AWSWAFV2.PutPermissionPolicy * @see AWS API * Documentation */ PutPermissionPolicyResult putPermissionPolicy(PutPermissionPolicyRequest putPermissionPolicyRequest); /** *
* Associates tags with the specified Amazon Web Services 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 Amazon Web * Services resource, up to 50 tags for a resource. *
** You can tag the Amazon Web Services resources that you manage through WAF: web ACLs, rule groups, IP sets, and * regex pattern sets. You can't manage or view tags through the WAF console. *
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFNonexistentItemException
     *         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.
     * @throws WAFTagOperationException
     *         An error occurred during the tagging operation. Retry your request.
     * @throws WAFTagOperationInternalErrorException
     *         WAF couldn’t perform your tagging operation because of an internal error. Retry your request.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.TagResource
     * @see AWS API
     *      Documentation
     */
    TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
    /**
     * * Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs that you can associate with * Amazon Web Services 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 Amazon * Web Services resource. *
* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Updates the specified IPSet. *
** 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 *
** Update its settings as needed *
** Provide the complete IP set specification to this call *
** When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *
* * @param updateIPSetRequest * @return Result of the UpdateIPSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.UpdateIPSet
     * @see AWS API
     *      Documentation
     */
    UpdateIPSetResult updateIPSet(UpdateIPSetRequest updateIPSetRequest);
    /**
     * * 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, WAF excludes it from the response to * ListAvailableManagedRuleGroupVersions for the managed rule group. *
** This is intended for use only by vendors of managed rule sets. Vendors are Amazon Web Services and Amazon Web * Services 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.
     * 
* 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
** Updates the specified RegexPatternSet. *
** 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 *
** Update its settings as needed *
** Provide the complete regex pattern set specification to this call *
** When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *
* * @param updateRegexPatternSetRequest * @return Result of the UpdateRegexPatternSet operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @sample AWSWAFV2.UpdateRegexPatternSet
     * @see AWS
     *      API Documentation
     */
    UpdateRegexPatternSetResult updateRegexPatternSet(UpdateRegexPatternSetRequest updateRegexPatternSetRequest);
    /**
     * * Updates the specified RuleGroup. *
** 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 *
** Update its settings as needed *
** Provide the complete rule group specification to this call *
** When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *
** A rule group defines a collection of rules to inspect and control web requests that you can use in a * WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, * you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity * requirements. *
* * @param updateRuleGroupRequest * @return Result of the UpdateRuleGroup operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFUnavailableEntityException
     *         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 resources that you are specifying in
     *         your request parameters and then retry the operation.
     * @throws WAFSubscriptionNotFoundException
     *         You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it
     *         yet.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @throws 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).
     * @sample AWSWAFV2.UpdateRuleGroup
     * @see AWS API
     *      Documentation
     */
    UpdateRuleGroupResult updateRuleGroup(UpdateRuleGroupRequest updateRuleGroupRequest);
    /**
     * 
* Updates the specified WebACL. While updating a web ACL, WAF provides continuous coverage to the resources * that you have associated with the web ACL. *
** 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 *
** Update its settings as needed *
** Provide the complete web ACL specification to this call *
** When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *
** A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action * defined (allow, block, or count) for requests that match the statement of the rule. In the web ACL, you assign a * default action to take (allow, block) for any request that does not match any of the rules. The rules in a web * ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a * web ACL with one or more Amazon Web Services resources to protect. The resources can be an Amazon CloudFront * distribution, an Amazon API Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon * Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access instance. *
* * @param updateWebACLRequest * @return Result of the UpdateWebACL operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because 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.
     *         
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL can't * be associated. *
*WebACL objects that you can create for an Amazon Web Services account. For more
     *         information, see WAF
     *         quotas in the WAF Developer Guide.
     * @throws WAFInvalidResourceException
     *         WAF couldn’t perform the operation because the resource that you requested isn’t valid. Check the
     *         resource, and try again.
     * @throws WAFUnavailableEntityException
     *         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 resources that you are specifying in
     *         your request parameters and then retry the operation.
     * @throws WAFSubscriptionNotFoundException
     *         You tried to use a managed rule group that's available by subscription, but you aren't subscribed to it
     *         yet.
     * @throws WAFInvalidOperationException
     *         The operation isn't valid.
     * @throws 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.
     * @throws 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).
     * @sample AWSWAFV2.UpdateWebACL
     * @see AWS API
     *      Documentation
     */
    UpdateWebACLResult updateWebACL(UpdateWebACLRequest updateWebACLRequest);
    /**
     * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
     * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
     * has been shutdown, it should not be used to make any more requests.
     */
    void shutdown();
    /**
     * Returns additional metadata for a previously executed successful request, typically used for debugging issues
     * where a service isn't acting as expected. This data isn't considered part of the result data returned by an
     * operation, so it's available through this separate, diagnostic interface.
     * 
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }