All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.wafv2.AWSWAFV2Async Maven / Gradle / Ivy

/*
 * Copyright 2019-2024 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.services.wafv2.model.*;

/**
 * Interface for accessing WAFV2 asynchronously. Each asynchronous method will return a Java Future object representing
 * the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive notification when
 * an asynchronous operation completes.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.wafv2.AbstractAWSWAFV2Async} instead. *

*

* WAF *

* 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. *

    *
  • *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSWAFV2Async extends AWSWAFV2 { /** *

* 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. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for AssociateWebACL in the WAF Developer Guide. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param associateWebACLRequest * @return A Java Future containing the result of the AssociateWebACL operation returned by the service. * @sample AWSWAFV2Async.AssociateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future associateWebACLAsync(AssociateWebACLRequest associateWebACLRequest); /** *

* 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. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for AssociateWebACL in the WAF Developer Guide. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param associateWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the AssociateWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.AssociateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future associateWebACLAsync(AssociateWebACLRequest associateWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the CheckCapacity operation returned by the service. * @sample AWSWAFV2Async.CheckCapacity * @see AWS API * Documentation */ java.util.concurrent.Future checkCapacityAsync(CheckCapacityRequest checkCapacityRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CheckCapacity operation returned by the service. * @sample AWSWAFV2AsyncHandler.CheckCapacity * @see AWS API * Documentation */ java.util.concurrent.Future checkCapacityAsync(CheckCapacityRequest checkCapacityRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the CreateAPIKey operation returned by the service. * @sample AWSWAFV2Async.CreateAPIKey * @see AWS API * Documentation */ java.util.concurrent.Future createAPIKeyAsync(CreateAPIKeyRequest createAPIKeyRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateAPIKey operation returned by the service. * @sample AWSWAFV2AsyncHandler.CreateAPIKey * @see AWS API * Documentation */ java.util.concurrent.Future createAPIKeyAsync(CreateAPIKeyRequest createAPIKeyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the CreateIPSet operation returned by the service. * @sample AWSWAFV2Async.CreateIPSet * @see AWS API * Documentation */ java.util.concurrent.Future createIPSetAsync(CreateIPSetRequest createIPSetRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateIPSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.CreateIPSet * @see AWS API * Documentation */ java.util.concurrent.Future createIPSetAsync(CreateIPSetRequest createIPSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF * inspect a web request component for the specified patterns. *

* * @param createRegexPatternSetRequest * @return A Java Future containing the result of the CreateRegexPatternSet operation returned by the service. * @sample AWSWAFV2Async.CreateRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future createRegexPatternSetAsync(CreateRegexPatternSetRequest createRegexPatternSetRequest); /** *

* Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement, to have WAF * inspect a web request component for the specified patterns. *

* * @param createRegexPatternSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateRegexPatternSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.CreateRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future createRegexPatternSetAsync(CreateRegexPatternSetRequest createRegexPatternSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the CreateRuleGroup operation returned by the service. * @sample AWSWAFV2Async.CreateRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future createRuleGroupAsync(CreateRuleGroupRequest createRuleGroupRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateRuleGroup operation returned by the service. * @sample AWSWAFV2AsyncHandler.CreateRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future createRuleGroupAsync(CreateRuleGroupRequest createRuleGroupRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 a statement * that defines what to look for in web requests and an action that WAF applies to requests that match the * statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match * any of the rules. The rules in a web ACL can be a combination of the types Rule, 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 A Java Future containing the result of the CreateWebACL operation returned by the service. * @sample AWSWAFV2Async.CreateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future createWebACLAsync(CreateWebACLRequest createWebACLRequest); /** *

* 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 a statement * that defines what to look for in web requests and an action that WAF applies to requests that match the * statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match * any of the rules. The rules in a web ACL can be a combination of the types Rule, 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.CreateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future createWebACLAsync(CreateWebACLRequest createWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param deleteFirewallManagerRuleGroupsRequest * @return A Java Future containing the result of the DeleteFirewallManagerRuleGroups operation returned by the * service. * @sample AWSWAFV2Async.DeleteFirewallManagerRuleGroups * @see AWS API Documentation */ java.util.concurrent.Future deleteFirewallManagerRuleGroupsAsync( DeleteFirewallManagerRuleGroupsRequest deleteFirewallManagerRuleGroupsRequest); /** *

* 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. *

* * @param deleteFirewallManagerRuleGroupsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteFirewallManagerRuleGroups operation returned by the * service. * @sample AWSWAFV2AsyncHandler.DeleteFirewallManagerRuleGroups * @see AWS API Documentation */ java.util.concurrent.Future deleteFirewallManagerRuleGroupsAsync( DeleteFirewallManagerRuleGroupsRequest deleteFirewallManagerRuleGroupsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes the specified IPSet. *

* * @param deleteIPSetRequest * @return A Java Future containing the result of the DeleteIPSet operation returned by the service. * @sample AWSWAFV2Async.DeleteIPSet * @see AWS API * Documentation */ java.util.concurrent.Future deleteIPSetAsync(DeleteIPSetRequest deleteIPSetRequest); /** *

* Deletes the specified IPSet. *

* * @param deleteIPSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteIPSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeleteIPSet * @see AWS API * Documentation */ java.util.concurrent.Future deleteIPSetAsync(DeleteIPSetRequest deleteIPSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes the LoggingConfiguration from the specified web ACL. *

* * @param deleteLoggingConfigurationRequest * @return A Java Future containing the result of the DeleteLoggingConfiguration operation returned by the service. * @sample AWSWAFV2Async.DeleteLoggingConfiguration * @see AWS API Documentation */ java.util.concurrent.Future deleteLoggingConfigurationAsync( DeleteLoggingConfigurationRequest deleteLoggingConfigurationRequest); /** *

* Deletes the LoggingConfiguration from the specified web ACL. *

* * @param deleteLoggingConfigurationRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteLoggingConfiguration operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeleteLoggingConfiguration * @see AWS API Documentation */ java.util.concurrent.Future deleteLoggingConfigurationAsync( DeleteLoggingConfigurationRequest deleteLoggingConfigurationRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the DeletePermissionPolicy operation returned by the service. * @sample AWSWAFV2Async.DeletePermissionPolicy * @see AWS * API Documentation */ java.util.concurrent.Future deletePermissionPolicyAsync(DeletePermissionPolicyRequest deletePermissionPolicyRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeletePermissionPolicy operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeletePermissionPolicy * @see AWS * API Documentation */ java.util.concurrent.Future deletePermissionPolicyAsync(DeletePermissionPolicyRequest deletePermissionPolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes the specified RegexPatternSet. *

* * @param deleteRegexPatternSetRequest * @return A Java Future containing the result of the DeleteRegexPatternSet operation returned by the service. * @sample AWSWAFV2Async.DeleteRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future deleteRegexPatternSetAsync(DeleteRegexPatternSetRequest deleteRegexPatternSetRequest); /** *

* Deletes the specified RegexPatternSet. *

* * @param deleteRegexPatternSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteRegexPatternSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeleteRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future deleteRegexPatternSetAsync(DeleteRegexPatternSetRequest deleteRegexPatternSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Deletes the specified RuleGroup. *

* * @param deleteRuleGroupRequest * @return A Java Future containing the result of the DeleteRuleGroup operation returned by the service. * @sample AWSWAFV2Async.DeleteRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future deleteRuleGroupAsync(DeleteRuleGroupRequest deleteRuleGroupRequest); /** *

* Deletes the specified RuleGroup. *

* * @param deleteRuleGroupRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteRuleGroup operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeleteRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future deleteRuleGroupAsync(DeleteRuleGroupRequest deleteRuleGroupRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

      *
    • *
    *
  • *
*
* * @param deleteWebACLRequest * @return A Java Future containing the result of the DeleteWebACL operation returned by the service. * @sample AWSWAFV2Async.DeleteWebACL * @see AWS API * Documentation */ java.util.concurrent.Future deleteWebACLAsync(DeleteWebACLRequest deleteWebACLRequest); /** *

* 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. *

      *
    • *
    *
  • *
*
* * @param deleteWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.DeleteWebACL * @see AWS API * Documentation */ java.util.concurrent.Future deleteWebACLAsync(DeleteWebACLRequest deleteWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services * Marketplace managed rule groups. *

* * @param describeAllManagedProductsRequest * @return A Java Future containing the result of the DescribeAllManagedProducts operation returned by the service. * @sample AWSWAFV2Async.DescribeAllManagedProducts * @see AWS API Documentation */ java.util.concurrent.Future describeAllManagedProductsAsync( DescribeAllManagedProductsRequest describeAllManagedProductsRequest); /** *

* Provides high-level information for the Amazon Web Services Managed Rules rule groups and Amazon Web Services * Marketplace managed rule groups. *

* * @param describeAllManagedProductsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeAllManagedProducts operation returned by the service. * @sample AWSWAFV2AsyncHandler.DescribeAllManagedProducts * @see AWS API Documentation */ java.util.concurrent.Future describeAllManagedProductsAsync( DescribeAllManagedProductsRequest describeAllManagedProductsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

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

* * @param describeManagedProductsByVendorRequest * @return A Java Future containing the result of the DescribeManagedProductsByVendor operation returned by the * service. * @sample AWSWAFV2Async.DescribeManagedProductsByVendor * @see AWS API Documentation */ java.util.concurrent.Future describeManagedProductsByVendorAsync( DescribeManagedProductsByVendorRequest describeManagedProductsByVendorRequest); /** *

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

* * @param describeManagedProductsByVendorRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeManagedProductsByVendor operation returned by the * service. * @sample AWSWAFV2AsyncHandler.DescribeManagedProductsByVendor * @see AWS API Documentation */ java.util.concurrent.Future describeManagedProductsByVendorAsync( DescribeManagedProductsByVendorRequest describeManagedProductsByVendorRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

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

* * @param describeManagedRuleGroupRequest * @return A Java Future containing the result of the DescribeManagedRuleGroup operation returned by the service. * @sample AWSWAFV2Async.DescribeManagedRuleGroup * @see AWS * API Documentation */ java.util.concurrent.Future describeManagedRuleGroupAsync(DescribeManagedRuleGroupRequest describeManagedRuleGroupRequest); /** *

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

* * @param describeManagedRuleGroupRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeManagedRuleGroup operation returned by the service. * @sample AWSWAFV2AsyncHandler.DescribeManagedRuleGroup * @see AWS * API Documentation */ java.util.concurrent.Future describeManagedRuleGroupAsync(DescribeManagedRuleGroupRequest describeManagedRuleGroupRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for DisassociateWebACL in the WAF Developer Guide. *

* * @param disassociateWebACLRequest * @return A Java Future containing the result of the DisassociateWebACL operation returned by the service. * @sample AWSWAFV2Async.DisassociateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future disassociateWebACLAsync(DisassociateWebACLRequest disassociateWebACLRequest); /** *

* 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. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for DisassociateWebACL in the WAF Developer Guide. *

* * @param disassociateWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DisassociateWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.DisassociateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future disassociateWebACLAsync(DisassociateWebACLRequest disassociateWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the GenerateMobileSdkReleaseUrl operation returned by the service. * @sample AWSWAFV2Async.GenerateMobileSdkReleaseUrl * @see AWS API Documentation */ java.util.concurrent.Future generateMobileSdkReleaseUrlAsync( GenerateMobileSdkReleaseUrlRequest generateMobileSdkReleaseUrlRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GenerateMobileSdkReleaseUrl operation returned by the service. * @sample AWSWAFV2AsyncHandler.GenerateMobileSdkReleaseUrl * @see AWS API Documentation */ java.util.concurrent.Future generateMobileSdkReleaseUrlAsync( GenerateMobileSdkReleaseUrlRequest generateMobileSdkReleaseUrlRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the GetDecryptedAPIKey operation returned by the service. * @sample AWSWAFV2Async.GetDecryptedAPIKey * @see AWS API * Documentation */ java.util.concurrent.Future getDecryptedAPIKeyAsync(GetDecryptedAPIKeyRequest getDecryptedAPIKeyRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetDecryptedAPIKey operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetDecryptedAPIKey * @see AWS API * Documentation */ java.util.concurrent.Future getDecryptedAPIKeyAsync(GetDecryptedAPIKeyRequest getDecryptedAPIKeyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the specified IPSet. *

* * @param getIPSetRequest * @return A Java Future containing the result of the GetIPSet operation returned by the service. * @sample AWSWAFV2Async.GetIPSet * @see AWS API * Documentation */ java.util.concurrent.Future getIPSetAsync(GetIPSetRequest getIPSetRequest); /** *

* Retrieves the specified IPSet. *

* * @param getIPSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetIPSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetIPSet * @see AWS API * Documentation */ java.util.concurrent.Future getIPSetAsync(GetIPSetRequest getIPSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Returns the LoggingConfiguration for the specified web ACL. *

* * @param getLoggingConfigurationRequest * @return A Java Future containing the result of the GetLoggingConfiguration operation returned by the service. * @sample AWSWAFV2Async.GetLoggingConfiguration * @see AWS * API Documentation */ java.util.concurrent.Future getLoggingConfigurationAsync(GetLoggingConfigurationRequest getLoggingConfigurationRequest); /** *

* Returns the LoggingConfiguration for the specified web ACL. *

* * @param getLoggingConfigurationRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetLoggingConfiguration operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetLoggingConfiguration * @see AWS * API Documentation */ java.util.concurrent.Future getLoggingConfigurationAsync(GetLoggingConfigurationRequest getLoggingConfigurationRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param getManagedRuleSetRequest * @return A Java Future containing the result of the GetManagedRuleSet operation returned by the service. * @sample AWSWAFV2Async.GetManagedRuleSet * @see AWS API * Documentation */ java.util.concurrent.Future getManagedRuleSetAsync(GetManagedRuleSetRequest getManagedRuleSetRequest); /** *

* 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. *

*
* * @param getManagedRuleSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetManagedRuleSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetManagedRuleSet * @see AWS API * Documentation */ java.util.concurrent.Future getManagedRuleSetAsync(GetManagedRuleSetRequest getManagedRuleSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the GetMobileSdkRelease operation returned by the service. * @sample AWSWAFV2Async.GetMobileSdkRelease * @see AWS API * Documentation */ java.util.concurrent.Future getMobileSdkReleaseAsync(GetMobileSdkReleaseRequest getMobileSdkReleaseRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetMobileSdkRelease operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetMobileSdkRelease * @see AWS API * Documentation */ java.util.concurrent.Future getMobileSdkReleaseAsync(GetMobileSdkReleaseRequest getMobileSdkReleaseRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the GetPermissionPolicy operation returned by the service. * @sample AWSWAFV2Async.GetPermissionPolicy * @see AWS API * Documentation */ java.util.concurrent.Future getPermissionPolicyAsync(GetPermissionPolicyRequest getPermissionPolicyRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetPermissionPolicy operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetPermissionPolicy * @see AWS API * Documentation */ java.util.concurrent.Future getPermissionPolicyAsync(GetPermissionPolicyRequest getPermissionPolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the GetRateBasedStatementManagedKeys operation returned by the * service. * @sample AWSWAFV2Async.GetRateBasedStatementManagedKeys * @see AWS API Documentation */ java.util.concurrent.Future getRateBasedStatementManagedKeysAsync( GetRateBasedStatementManagedKeysRequest getRateBasedStatementManagedKeysRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetRateBasedStatementManagedKeys operation returned by the * service. * @sample AWSWAFV2AsyncHandler.GetRateBasedStatementManagedKeys * @see AWS API Documentation */ java.util.concurrent.Future getRateBasedStatementManagedKeysAsync( GetRateBasedStatementManagedKeysRequest getRateBasedStatementManagedKeysRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the specified RegexPatternSet. *

* * @param getRegexPatternSetRequest * @return A Java Future containing the result of the GetRegexPatternSet operation returned by the service. * @sample AWSWAFV2Async.GetRegexPatternSet * @see AWS API * Documentation */ java.util.concurrent.Future getRegexPatternSetAsync(GetRegexPatternSetRequest getRegexPatternSetRequest); /** *

* Retrieves the specified RegexPatternSet. *

* * @param getRegexPatternSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetRegexPatternSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetRegexPatternSet * @see AWS API * Documentation */ java.util.concurrent.Future getRegexPatternSetAsync(GetRegexPatternSetRequest getRegexPatternSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the specified RuleGroup. *

* * @param getRuleGroupRequest * @return A Java Future containing the result of the GetRuleGroup operation returned by the service. * @sample AWSWAFV2Async.GetRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future getRuleGroupAsync(GetRuleGroupRequest getRuleGroupRequest); /** *

* Retrieves the specified RuleGroup. *

* * @param getRuleGroupRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetRuleGroup operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future getRuleGroupAsync(GetRuleGroupRequest getRuleGroupRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

* * @param getSampledRequestsRequest * @return A Java Future containing the result of the GetSampledRequests operation returned by the service. * @sample AWSWAFV2Async.GetSampledRequests * @see AWS API * Documentation */ java.util.concurrent.Future getSampledRequestsAsync(GetSampledRequestsRequest getSampledRequestsRequest); /** *

* 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. *

* * @param getSampledRequestsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetSampledRequests operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetSampledRequests * @see AWS API * Documentation */ java.util.concurrent.Future getSampledRequestsAsync(GetSampledRequestsRequest getSampledRequestsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the specified WebACL. *

* * @param getWebACLRequest * @return A Java Future containing the result of the GetWebACL operation returned by the service. * @sample AWSWAFV2Async.GetWebACL * @see AWS API * Documentation */ java.util.concurrent.Future getWebACLAsync(GetWebACLRequest getWebACLRequest); /** *

* Retrieves the specified WebACL. *

* * @param getWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetWebACL * @see AWS API * Documentation */ java.util.concurrent.Future getWebACLAsync(GetWebACLRequest getWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves the WebACL for the specified resource. *

*

* This call uses GetWebACL, to verify that your account has permission to access the retrieved web * ACL. If you get an error that indicates that your account isn't authorized to perform * wafv2:GetWebACL on the resource, that error won't be included in your CloudTrail event history. *

*

* For Amazon CloudFront, don't use this call. Instead, call the CloudFront action * GetDistributionConfig. For information, see GetDistributionConfig in the Amazon CloudFront API Reference. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for GetWebACLForResource in the WAF Developer Guide. *

* * @param getWebACLForResourceRequest * @return A Java Future containing the result of the GetWebACLForResource operation returned by the service. * @sample AWSWAFV2Async.GetWebACLForResource * @see AWS API * Documentation */ java.util.concurrent.Future getWebACLForResourceAsync(GetWebACLForResourceRequest getWebACLForResourceRequest); /** *

* Retrieves the WebACL for the specified resource. *

*

* This call uses GetWebACL, to verify that your account has permission to access the retrieved web * ACL. If you get an error that indicates that your account isn't authorized to perform * wafv2:GetWebACL on the resource, that error won't be included in your CloudTrail event history. *

*

* For Amazon CloudFront, don't use this call. Instead, call the CloudFront action * GetDistributionConfig. For information, see GetDistributionConfig in the Amazon CloudFront API Reference. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for GetWebACLForResource in the WAF Developer Guide. *

* * @param getWebACLForResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the GetWebACLForResource operation returned by the service. * @sample AWSWAFV2AsyncHandler.GetWebACLForResource * @see AWS API * Documentation */ java.util.concurrent.Future getWebACLForResourceAsync(GetWebACLForResourceRequest getWebACLForResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the ListAPIKeys operation returned by the service. * @sample AWSWAFV2Async.ListAPIKeys * @see AWS API * Documentation */ java.util.concurrent.Future listAPIKeysAsync(ListAPIKeysRequest listAPIKeysRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListAPIKeys operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListAPIKeys * @see AWS API * Documentation */ java.util.concurrent.Future listAPIKeysAsync(ListAPIKeysRequest listAPIKeysRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Returns a list of the available versions for the specified managed rule group. *

* * @param listAvailableManagedRuleGroupVersionsRequest * @return A Java Future containing the result of the ListAvailableManagedRuleGroupVersions operation returned by * the service. * @sample AWSWAFV2Async.ListAvailableManagedRuleGroupVersions * @see AWS API Documentation */ java.util.concurrent.Future listAvailableManagedRuleGroupVersionsAsync( ListAvailableManagedRuleGroupVersionsRequest listAvailableManagedRuleGroupVersionsRequest); /** *

* Returns a list of the available versions for the specified managed rule group. *

* * @param listAvailableManagedRuleGroupVersionsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListAvailableManagedRuleGroupVersions operation returned by * the service. * @sample AWSWAFV2AsyncHandler.ListAvailableManagedRuleGroupVersions * @see AWS API Documentation */ java.util.concurrent.Future listAvailableManagedRuleGroupVersionsAsync( ListAvailableManagedRuleGroupVersionsRequest listAvailableManagedRuleGroupVersionsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the ListAvailableManagedRuleGroups operation returned by the * service. * @sample AWSWAFV2Async.ListAvailableManagedRuleGroups * @see AWS API Documentation */ java.util.concurrent.Future listAvailableManagedRuleGroupsAsync( ListAvailableManagedRuleGroupsRequest listAvailableManagedRuleGroupsRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListAvailableManagedRuleGroups operation returned by the * service. * @sample AWSWAFV2AsyncHandler.ListAvailableManagedRuleGroups * @see AWS API Documentation */ java.util.concurrent.Future listAvailableManagedRuleGroupsAsync( ListAvailableManagedRuleGroupsRequest listAvailableManagedRuleGroupsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of IPSetSummary objects for the IP sets that you manage. *

* * @param listIPSetsRequest * @return A Java Future containing the result of the ListIPSets operation returned by the service. * @sample AWSWAFV2Async.ListIPSets * @see AWS API * Documentation */ java.util.concurrent.Future listIPSetsAsync(ListIPSetsRequest listIPSetsRequest); /** *

* Retrieves an array of IPSetSummary objects for the IP sets that you manage. *

* * @param listIPSetsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListIPSets operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListIPSets * @see AWS API * Documentation */ java.util.concurrent.Future listIPSetsAsync(ListIPSetsRequest listIPSetsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of your LoggingConfiguration objects. *

* * @param listLoggingConfigurationsRequest * @return A Java Future containing the result of the ListLoggingConfigurations operation returned by the service. * @sample AWSWAFV2Async.ListLoggingConfigurations * @see AWS API Documentation */ java.util.concurrent.Future listLoggingConfigurationsAsync( ListLoggingConfigurationsRequest listLoggingConfigurationsRequest); /** *

* Retrieves an array of your LoggingConfiguration objects. *

* * @param listLoggingConfigurationsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListLoggingConfigurations operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListLoggingConfigurations * @see AWS API Documentation */ java.util.concurrent.Future listLoggingConfigurationsAsync( ListLoggingConfigurationsRequest listLoggingConfigurationsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param listManagedRuleSetsRequest * @return A Java Future containing the result of the ListManagedRuleSets operation returned by the service. * @sample AWSWAFV2Async.ListManagedRuleSets * @see AWS API * Documentation */ java.util.concurrent.Future listManagedRuleSetsAsync(ListManagedRuleSetsRequest listManagedRuleSetsRequest); /** *

* 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. *

*
* * @param listManagedRuleSetsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListManagedRuleSets operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListManagedRuleSets * @see AWS API * Documentation */ java.util.concurrent.Future listManagedRuleSetsAsync(ListManagedRuleSetsRequest listManagedRuleSetsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the ListMobileSdkReleases operation returned by the service. * @sample AWSWAFV2Async.ListMobileSdkReleases * @see AWS * API Documentation */ java.util.concurrent.Future listMobileSdkReleasesAsync(ListMobileSdkReleasesRequest listMobileSdkReleasesRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListMobileSdkReleases operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListMobileSdkReleases * @see AWS * API Documentation */ java.util.concurrent.Future listMobileSdkReleasesAsync(ListMobileSdkReleasesRequest listMobileSdkReleasesRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage. *

* * @param listRegexPatternSetsRequest * @return A Java Future containing the result of the ListRegexPatternSets operation returned by the service. * @sample AWSWAFV2Async.ListRegexPatternSets * @see AWS API * Documentation */ java.util.concurrent.Future listRegexPatternSetsAsync(ListRegexPatternSetsRequest listRegexPatternSetsRequest); /** *

* Retrieves an array of RegexPatternSetSummary objects for the regex pattern sets that you manage. *

* * @param listRegexPatternSetsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListRegexPatternSets operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListRegexPatternSets * @see AWS API * Documentation */ java.util.concurrent.Future listRegexPatternSetsAsync(ListRegexPatternSetsRequest listRegexPatternSetsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the * specified web ACL. *

*

* For Amazon CloudFront, don't use this call. Instead, use the CloudFront call * ListDistributionsByWebACLId. For information, see ListDistributionsByWebACLId in the Amazon CloudFront API Reference. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for ListResourcesForWebACL in the WAF Developer Guide. *

* * @param listResourcesForWebACLRequest * @return A Java Future containing the result of the ListResourcesForWebACL operation returned by the service. * @sample AWSWAFV2Async.ListResourcesForWebACL * @see AWS * API Documentation */ java.util.concurrent.Future listResourcesForWebACLAsync(ListResourcesForWebACLRequest listResourcesForWebACLRequest); /** *

* Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources that are associated with the * specified web ACL. *

*

* For Amazon CloudFront, don't use this call. Instead, use the CloudFront call * ListDistributionsByWebACLId. For information, see ListDistributionsByWebACLId in the Amazon CloudFront API Reference. *

*

* Required permissions for customer-managed IAM policies *

*

* This call requires permissions that are specific to the protected resource type. For details, see Permissions for ListResourcesForWebACL in the WAF Developer Guide. *

* * @param listResourcesForWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListResourcesForWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListResourcesForWebACL * @see AWS * API Documentation */ java.util.concurrent.Future listResourcesForWebACLAsync(ListResourcesForWebACLRequest listResourcesForWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of RuleGroupSummary objects for the rule groups that you manage. *

* * @param listRuleGroupsRequest * @return A Java Future containing the result of the ListRuleGroups operation returned by the service. * @sample AWSWAFV2Async.ListRuleGroups * @see AWS API * Documentation */ java.util.concurrent.Future listRuleGroupsAsync(ListRuleGroupsRequest listRuleGroupsRequest); /** *

* Retrieves an array of RuleGroupSummary objects for the rule groups that you manage. *

* * @param listRuleGroupsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListRuleGroups operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListRuleGroups * @see AWS API * Documentation */ java.util.concurrent.Future listRuleGroupsAsync(ListRuleGroupsRequest listRuleGroupsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AWSWAFV2Async.ListTagsForResource * @see AWS API * Documentation */ java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListTagsForResource * @see AWS API * Documentation */ java.util.concurrent.Future listTagsForResourceAsync(ListTagsForResourceRequest listTagsForResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* Retrieves an array of WebACLSummary objects for the web ACLs that you manage. *

* * @param listWebACLsRequest * @return A Java Future containing the result of the ListWebACLs operation returned by the service. * @sample AWSWAFV2Async.ListWebACLs * @see AWS API * Documentation */ java.util.concurrent.Future listWebACLsAsync(ListWebACLsRequest listWebACLsRequest); /** *

* Retrieves an array of WebACLSummary objects for the web ACLs that you manage. *

* * @param listWebACLsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListWebACLs operation returned by the service. * @sample AWSWAFV2AsyncHandler.ListWebACLs * @see AWS API * Documentation */ java.util.concurrent.Future listWebACLsAsync(ListWebACLsRequest listWebACLsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetLoggingConfiguration *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete logging configuration specification to this call *

    *
  6. *
*
*

* You can define one logging destination per web ACL. *

*
*

* You can access information about the traffic that WAF inspects using the following steps: *

*
    *
  1. *

    * Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage * Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. *

    *

    * The name that you give the destination must start with aws-waf-logs-. Depending on the type of * destination, you might need to configure additional settings or permissions. *

    *

    * For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the * WAF Developer Guide. *

    *
  2. *
  3. *

    * Associate your logging destination to your web ACL using a PutLoggingConfiguration request. *

    *
  4. *
*

* 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 A Java Future containing the result of the PutLoggingConfiguration operation returned by the service. * @sample AWSWAFV2Async.PutLoggingConfiguration * @see AWS * API Documentation */ java.util.concurrent.Future putLoggingConfigurationAsync(PutLoggingConfigurationRequest putLoggingConfigurationRequest); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetLoggingConfiguration *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete logging configuration specification to this call *

    *
  6. *
*
*

* You can define one logging destination per web ACL. *

*
*

* You can access information about the traffic that WAF inspects using the following steps: *

*
    *
  1. *

    * Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage * Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. *

    *

    * The name that you give the destination must start with aws-waf-logs-. Depending on the type of * destination, you might need to configure additional settings or permissions. *

    *

    * For configuration requirements and pricing information for each destination type, see Logging web ACL traffic in the * WAF Developer Guide. *

    *
  2. *
  3. *

    * Associate your logging destination to your web ACL using a PutLoggingConfiguration request. *

    *
  4. *
*

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutLoggingConfiguration operation returned by the service. * @sample AWSWAFV2AsyncHandler.PutLoggingConfiguration * @see AWS * API Documentation */ java.util.concurrent.Future putLoggingConfigurationAsync(PutLoggingConfigurationRequest putLoggingConfigurationRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the PutManagedRuleSetVersions operation returned by the service. * @sample AWSWAFV2Async.PutManagedRuleSetVersions * @see AWS API Documentation */ java.util.concurrent.Future putManagedRuleSetVersionsAsync( PutManagedRuleSetVersionsRequest putManagedRuleSetVersionsRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutManagedRuleSetVersions operation returned by the service. * @sample AWSWAFV2AsyncHandler.PutManagedRuleSetVersions * @see AWS API Documentation */ java.util.concurrent.Future putManagedRuleSetVersionsAsync( PutManagedRuleSetVersionsRequest putManagedRuleSetVersionsRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

    *
  • *
* * @param putPermissionPolicyRequest * @return A Java Future containing the result of the PutPermissionPolicy operation returned by the service. * @sample AWSWAFV2Async.PutPermissionPolicy * @see AWS API * Documentation */ java.util.concurrent.Future putPermissionPolicyAsync(PutPermissionPolicyRequest putPermissionPolicyRequest); /** *

* 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. *

    *
  • *
* * @param putPermissionPolicyRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the PutPermissionPolicy operation returned by the service. * @sample AWSWAFV2AsyncHandler.PutPermissionPolicy * @see AWS API * Documentation */ java.util.concurrent.Future putPermissionPolicyAsync(PutPermissionPolicyRequest putPermissionPolicyRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSWAFV2Async.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AWSWAFV2AsyncHandler.TagResource * @see AWS API * Documentation */ java.util.concurrent.Future tagResourceAsync(TagResourceRequest tagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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 A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSWAFV2Async.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest); /** *

* 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 * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AWSWAFV2AsyncHandler.UntagResource * @see AWS API * Documentation */ java.util.concurrent.Future untagResourceAsync(UntagResourceRequest untagResourceRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetIPSet *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete IP set specification to this call *

    *
  6. *
*
*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateIPSetRequest * @return A Java Future containing the result of the UpdateIPSet operation returned by the service. * @sample AWSWAFV2Async.UpdateIPSet * @see AWS API * Documentation */ java.util.concurrent.Future updateIPSetAsync(UpdateIPSetRequest updateIPSetRequest); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetIPSet *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete IP set specification to this call *

    *
  6. *
*
*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateIPSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateIPSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.UpdateIPSet * @see AWS API * Documentation */ java.util.concurrent.Future updateIPSetAsync(UpdateIPSetRequest updateIPSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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. *

*
* * @param updateManagedRuleSetVersionExpiryDateRequest * @return A Java Future containing the result of the UpdateManagedRuleSetVersionExpiryDate operation returned by * the service. * @sample AWSWAFV2Async.UpdateManagedRuleSetVersionExpiryDate * @see AWS API Documentation */ java.util.concurrent.Future updateManagedRuleSetVersionExpiryDateAsync( UpdateManagedRuleSetVersionExpiryDateRequest updateManagedRuleSetVersionExpiryDateRequest); /** *

* 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. *

*
* * @param updateManagedRuleSetVersionExpiryDateRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateManagedRuleSetVersionExpiryDate operation returned by * the service. * @sample AWSWAFV2AsyncHandler.UpdateManagedRuleSetVersionExpiryDate * @see AWS API Documentation */ java.util.concurrent.Future updateManagedRuleSetVersionExpiryDateAsync( UpdateManagedRuleSetVersionExpiryDateRequest updateManagedRuleSetVersionExpiryDateRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetRegexPatternSet *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete regex pattern set specification to this call *

    *
  6. *
*
*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateRegexPatternSetRequest * @return A Java Future containing the result of the UpdateRegexPatternSet operation returned by the service. * @sample AWSWAFV2Async.UpdateRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future updateRegexPatternSetAsync(UpdateRegexPatternSetRequest updateRegexPatternSetRequest); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetRegexPatternSet *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete regex pattern set specification to this call *

    *
  6. *
*
*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateRegexPatternSetRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateRegexPatternSet operation returned by the service. * @sample AWSWAFV2AsyncHandler.UpdateRegexPatternSet * @see AWS * API Documentation */ java.util.concurrent.Future updateRegexPatternSetAsync(UpdateRegexPatternSetRequest updateRegexPatternSetRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetRuleGroup *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete rule group specification to this call *

    *
  6. *
*
*

* 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. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateRuleGroupRequest * @return A Java Future containing the result of the UpdateRuleGroup operation returned by the service. * @sample AWSWAFV2Async.UpdateRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future updateRuleGroupAsync(UpdateRuleGroupRequest updateRuleGroupRequest); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetRuleGroup *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete rule group specification to this call *

    *
  6. *
*
*

* 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. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateRuleGroupRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateRuleGroup operation returned by the service. * @sample AWSWAFV2AsyncHandler.UpdateRuleGroup * @see AWS API * Documentation */ java.util.concurrent.Future updateRuleGroupAsync(UpdateRuleGroupRequest updateRuleGroupRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetWebACL *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete web ACL specification to this call *

    *
  6. *
*
*

* A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement * that defines what to look for in web requests and an action that WAF applies to requests that match the * statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match * any of the rules. The rules in a web ACL can be a combination of the types Rule, 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. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateWebACLRequest * @return A Java Future containing the result of the UpdateWebACL operation returned by the service. * @sample AWSWAFV2Async.UpdateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future updateWebACLAsync(UpdateWebACLRequest updateWebACLRequest); /** *

* 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: *

*
    *
  1. *

    * Retrieve it by calling GetWebACL *

    *
  2. *
  3. *

    * Update its settings as needed *

    *
  4. *
  5. *

    * Provide the complete web ACL specification to this call *

    *
  6. *
*
*

* A web ACL defines a collection of rules to use to inspect and control web requests. Each rule has a statement * that defines what to look for in web requests and an action that WAF applies to requests that match the * statement. In the web ACL, you assign a default action to take (allow, block) for any request that does not match * any of the rules. The rules in a web ACL can be a combination of the types Rule, 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. *

*

* Temporary inconsistencies during updates *

*

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

*

* The following are examples of the temporary inconsistencies that you might notice during change propagation: *

*
    *
  • *

    * After you create a web ACL, if you try to associate it with a resource, you might get an exception indicating * that the web ACL is unavailable. *

    *
  • *
  • *

    * After you add a rule group to a web ACL, the new rule group rules might be in effect in one area where the web * ACL is used and not in another. *

    *
  • *
  • *

    * After you change a rule action setting, you might see the old action in some places and the new action in others. *

    *
  • *
  • *

    * After you add an IP address to an IP set that is in use in a blocking rule, the new address might be blocked in * one area while still allowed in another. *

    *
  • *
* * @param updateWebACLRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateWebACL operation returned by the service. * @sample AWSWAFV2AsyncHandler.UpdateWebACL * @see AWS API * Documentation */ java.util.concurrent.Future updateWebACLAsync(UpdateWebACLRequest updateWebACLRequest, com.amazonaws.handlers.AsyncHandler asyncHandler); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy