/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.wafv2; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.wafv2.model.*; /** * Interface for accessing WAFV2. *

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

*

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

* *

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

* */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSWAFV2 { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "wafv2"; /** *

* Associates a web ACL with a regional application resource, to protect the resource. A regional application can be * an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync GraphQL API, an Amazon Cognito * user pool, an App Runner service, or an Amazon Web Services Verified Access instance. *

*

* For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution configuration. To associate * a web ACL, in the CloudFront call UpdateDistribution, set the web ACL ID to the Amazon Resource Name * (ARN) of the web ACL. For information, see UpdateDistribution in the Amazon CloudFront Developer Guide. *

*

* When you make changes to web ACLs or web ACL components, like rules and rule groups, WAF propagates the changes * everywhere that the web ACL and its components are stored and used. Your changes are applied within seconds, but * there might be a brief period of inconsistency when the changes have arrived in some places and not in others. * So, for example, if you change a rule action setting, the action might be the old action in one area and the new * action in another area. Or if you add an IP address to an IP set used in a blocking rule, the new address might * briefly be blocked in one area while still allowed in another. This temporary inconsistency can occur when you * first associate a web ACL with an Amazon Web Services resource and when you change a web ACL that is already * associated with a resource. Generally, any inconsistencies of this type last only a few seconds. *

* * @param associateWebACLRequest * @return Result of the AssociateWebACL operation returned by the service. * @throws WAFInternalErrorException * Your request is valid, but WAF couldn’t perform the operation because of a system problem. Retry your * request. * @throws WAFInvalidParameterException * The operation failed because WAF didn't recognize a parameter in the request. For example:

*