/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace WAFRegional { namespace Model { class AssociateWebACLRequest; class CreateByteMatchSetRequest; class CreateGeoMatchSetRequest; class CreateIPSetRequest; class CreateRateBasedRuleRequest; class CreateRegexMatchSetRequest; class CreateRegexPatternSetRequest; class CreateRuleRequest; class CreateRuleGroupRequest; class CreateSizeConstraintSetRequest; class CreateSqlInjectionMatchSetRequest; class CreateWebACLRequest; class CreateWebACLMigrationStackRequest; class CreateXssMatchSetRequest; class DeleteByteMatchSetRequest; class DeleteGeoMatchSetRequest; class DeleteIPSetRequest; class DeleteLoggingConfigurationRequest; class DeletePermissionPolicyRequest; class DeleteRateBasedRuleRequest; class DeleteRegexMatchSetRequest; class DeleteRegexPatternSetRequest; class DeleteRuleRequest; class DeleteRuleGroupRequest; class DeleteSizeConstraintSetRequest; class DeleteSqlInjectionMatchSetRequest; class DeleteWebACLRequest; class DeleteXssMatchSetRequest; class DisassociateWebACLRequest; class GetByteMatchSetRequest; class GetChangeTokenRequest; class GetChangeTokenStatusRequest; class GetGeoMatchSetRequest; class GetIPSetRequest; class GetLoggingConfigurationRequest; class GetPermissionPolicyRequest; class GetRateBasedRuleRequest; class GetRateBasedRuleManagedKeysRequest; class GetRegexMatchSetRequest; class GetRegexPatternSetRequest; class GetRuleRequest; class GetRuleGroupRequest; class GetSampledRequestsRequest; class GetSizeConstraintSetRequest; class GetSqlInjectionMatchSetRequest; class GetWebACLRequest; class GetWebACLForResourceRequest; class GetXssMatchSetRequest; class ListActivatedRulesInRuleGroupRequest; class ListByteMatchSetsRequest; class ListGeoMatchSetsRequest; class ListIPSetsRequest; class ListLoggingConfigurationsRequest; class ListRateBasedRulesRequest; class ListRegexMatchSetsRequest; class ListRegexPatternSetsRequest; class ListResourcesForWebACLRequest; class ListRuleGroupsRequest; class ListRulesRequest; class ListSizeConstraintSetsRequest; class ListSqlInjectionMatchSetsRequest; class ListSubscribedRuleGroupsRequest; class ListTagsForResourceRequest; class ListWebACLsRequest; class ListXssMatchSetsRequest; class PutLoggingConfigurationRequest; class PutPermissionPolicyRequest; class TagResourceRequest; class UntagResourceRequest; class UpdateByteMatchSetRequest; class UpdateGeoMatchSetRequest; class UpdateIPSetRequest; class UpdateRateBasedRuleRequest; class UpdateRegexMatchSetRequest; class UpdateRegexPatternSetRequest; class UpdateRuleRequest; class UpdateRuleGroupRequest; class UpdateSizeConstraintSetRequest; class UpdateSqlInjectionMatchSetRequest; class UpdateWebACLRequest; class UpdateXssMatchSetRequest; typedef Aws::Utils::Outcome AssociateWebACLOutcome; typedef Aws::Utils::Outcome CreateByteMatchSetOutcome; typedef Aws::Utils::Outcome CreateGeoMatchSetOutcome; typedef Aws::Utils::Outcome CreateIPSetOutcome; typedef Aws::Utils::Outcome CreateRateBasedRuleOutcome; typedef Aws::Utils::Outcome CreateRegexMatchSetOutcome; typedef Aws::Utils::Outcome CreateRegexPatternSetOutcome; typedef Aws::Utils::Outcome CreateRuleOutcome; typedef Aws::Utils::Outcome CreateRuleGroupOutcome; typedef Aws::Utils::Outcome CreateSizeConstraintSetOutcome; typedef Aws::Utils::Outcome CreateSqlInjectionMatchSetOutcome; typedef Aws::Utils::Outcome CreateWebACLOutcome; typedef Aws::Utils::Outcome CreateWebACLMigrationStackOutcome; typedef Aws::Utils::Outcome CreateXssMatchSetOutcome; typedef Aws::Utils::Outcome DeleteByteMatchSetOutcome; typedef Aws::Utils::Outcome DeleteGeoMatchSetOutcome; typedef Aws::Utils::Outcome DeleteIPSetOutcome; typedef Aws::Utils::Outcome DeleteLoggingConfigurationOutcome; typedef Aws::Utils::Outcome DeletePermissionPolicyOutcome; typedef Aws::Utils::Outcome DeleteRateBasedRuleOutcome; typedef Aws::Utils::Outcome DeleteRegexMatchSetOutcome; typedef Aws::Utils::Outcome DeleteRegexPatternSetOutcome; typedef Aws::Utils::Outcome DeleteRuleOutcome; typedef Aws::Utils::Outcome DeleteRuleGroupOutcome; typedef Aws::Utils::Outcome DeleteSizeConstraintSetOutcome; typedef Aws::Utils::Outcome DeleteSqlInjectionMatchSetOutcome; typedef Aws::Utils::Outcome DeleteWebACLOutcome; typedef Aws::Utils::Outcome DeleteXssMatchSetOutcome; typedef Aws::Utils::Outcome DisassociateWebACLOutcome; typedef Aws::Utils::Outcome GetByteMatchSetOutcome; typedef Aws::Utils::Outcome GetChangeTokenOutcome; typedef Aws::Utils::Outcome GetChangeTokenStatusOutcome; typedef Aws::Utils::Outcome GetGeoMatchSetOutcome; typedef Aws::Utils::Outcome GetIPSetOutcome; typedef Aws::Utils::Outcome GetLoggingConfigurationOutcome; typedef Aws::Utils::Outcome GetPermissionPolicyOutcome; typedef Aws::Utils::Outcome GetRateBasedRuleOutcome; typedef Aws::Utils::Outcome GetRateBasedRuleManagedKeysOutcome; typedef Aws::Utils::Outcome GetRegexMatchSetOutcome; typedef Aws::Utils::Outcome GetRegexPatternSetOutcome; typedef Aws::Utils::Outcome GetRuleOutcome; typedef Aws::Utils::Outcome GetRuleGroupOutcome; typedef Aws::Utils::Outcome GetSampledRequestsOutcome; typedef Aws::Utils::Outcome GetSizeConstraintSetOutcome; typedef Aws::Utils::Outcome GetSqlInjectionMatchSetOutcome; typedef Aws::Utils::Outcome GetWebACLOutcome; typedef Aws::Utils::Outcome GetWebACLForResourceOutcome; typedef Aws::Utils::Outcome GetXssMatchSetOutcome; typedef Aws::Utils::Outcome ListActivatedRulesInRuleGroupOutcome; typedef Aws::Utils::Outcome ListByteMatchSetsOutcome; typedef Aws::Utils::Outcome ListGeoMatchSetsOutcome; typedef Aws::Utils::Outcome ListIPSetsOutcome; typedef Aws::Utils::Outcome ListLoggingConfigurationsOutcome; typedef Aws::Utils::Outcome ListRateBasedRulesOutcome; typedef Aws::Utils::Outcome ListRegexMatchSetsOutcome; typedef Aws::Utils::Outcome ListRegexPatternSetsOutcome; typedef Aws::Utils::Outcome ListResourcesForWebACLOutcome; typedef Aws::Utils::Outcome ListRuleGroupsOutcome; typedef Aws::Utils::Outcome ListRulesOutcome; typedef Aws::Utils::Outcome ListSizeConstraintSetsOutcome; typedef Aws::Utils::Outcome ListSqlInjectionMatchSetsOutcome; typedef Aws::Utils::Outcome ListSubscribedRuleGroupsOutcome; typedef Aws::Utils::Outcome ListTagsForResourceOutcome; typedef Aws::Utils::Outcome ListWebACLsOutcome; typedef Aws::Utils::Outcome ListXssMatchSetsOutcome; typedef Aws::Utils::Outcome PutLoggingConfigurationOutcome; typedef Aws::Utils::Outcome PutPermissionPolicyOutcome; typedef Aws::Utils::Outcome TagResourceOutcome; typedef Aws::Utils::Outcome UntagResourceOutcome; typedef Aws::Utils::Outcome UpdateByteMatchSetOutcome; typedef Aws::Utils::Outcome UpdateGeoMatchSetOutcome; typedef Aws::Utils::Outcome UpdateIPSetOutcome; typedef Aws::Utils::Outcome UpdateRateBasedRuleOutcome; typedef Aws::Utils::Outcome UpdateRegexMatchSetOutcome; typedef Aws::Utils::Outcome UpdateRegexPatternSetOutcome; typedef Aws::Utils::Outcome UpdateRuleOutcome; typedef Aws::Utils::Outcome UpdateRuleGroupOutcome; typedef Aws::Utils::Outcome UpdateSizeConstraintSetOutcome; typedef Aws::Utils::Outcome UpdateSqlInjectionMatchSetOutcome; typedef Aws::Utils::Outcome UpdateWebACLOutcome; typedef Aws::Utils::Outcome UpdateXssMatchSetOutcome; typedef std::future AssociateWebACLOutcomeCallable; typedef std::future CreateByteMatchSetOutcomeCallable; typedef std::future CreateGeoMatchSetOutcomeCallable; typedef std::future CreateIPSetOutcomeCallable; typedef std::future CreateRateBasedRuleOutcomeCallable; typedef std::future CreateRegexMatchSetOutcomeCallable; typedef std::future CreateRegexPatternSetOutcomeCallable; typedef std::future CreateRuleOutcomeCallable; typedef std::future CreateRuleGroupOutcomeCallable; typedef std::future CreateSizeConstraintSetOutcomeCallable; typedef std::future CreateSqlInjectionMatchSetOutcomeCallable; typedef std::future CreateWebACLOutcomeCallable; typedef std::future CreateWebACLMigrationStackOutcomeCallable; typedef std::future CreateXssMatchSetOutcomeCallable; typedef std::future DeleteByteMatchSetOutcomeCallable; typedef std::future DeleteGeoMatchSetOutcomeCallable; typedef std::future DeleteIPSetOutcomeCallable; typedef std::future DeleteLoggingConfigurationOutcomeCallable; typedef std::future DeletePermissionPolicyOutcomeCallable; typedef std::future DeleteRateBasedRuleOutcomeCallable; typedef std::future DeleteRegexMatchSetOutcomeCallable; typedef std::future DeleteRegexPatternSetOutcomeCallable; typedef std::future DeleteRuleOutcomeCallable; typedef std::future DeleteRuleGroupOutcomeCallable; typedef std::future DeleteSizeConstraintSetOutcomeCallable; typedef std::future DeleteSqlInjectionMatchSetOutcomeCallable; typedef std::future DeleteWebACLOutcomeCallable; typedef std::future DeleteXssMatchSetOutcomeCallable; typedef std::future DisassociateWebACLOutcomeCallable; typedef std::future GetByteMatchSetOutcomeCallable; typedef std::future GetChangeTokenOutcomeCallable; typedef std::future GetChangeTokenStatusOutcomeCallable; typedef std::future GetGeoMatchSetOutcomeCallable; typedef std::future GetIPSetOutcomeCallable; typedef std::future GetLoggingConfigurationOutcomeCallable; typedef std::future GetPermissionPolicyOutcomeCallable; typedef std::future GetRateBasedRuleOutcomeCallable; typedef std::future GetRateBasedRuleManagedKeysOutcomeCallable; typedef std::future GetRegexMatchSetOutcomeCallable; typedef std::future GetRegexPatternSetOutcomeCallable; typedef std::future GetRuleOutcomeCallable; typedef std::future GetRuleGroupOutcomeCallable; typedef std::future GetSampledRequestsOutcomeCallable; typedef std::future GetSizeConstraintSetOutcomeCallable; typedef std::future GetSqlInjectionMatchSetOutcomeCallable; typedef std::future GetWebACLOutcomeCallable; typedef std::future GetWebACLForResourceOutcomeCallable; typedef std::future GetXssMatchSetOutcomeCallable; typedef std::future ListActivatedRulesInRuleGroupOutcomeCallable; typedef std::future ListByteMatchSetsOutcomeCallable; typedef std::future ListGeoMatchSetsOutcomeCallable; typedef std::future ListIPSetsOutcomeCallable; typedef std::future ListLoggingConfigurationsOutcomeCallable; typedef std::future ListRateBasedRulesOutcomeCallable; typedef std::future ListRegexMatchSetsOutcomeCallable; typedef std::future ListRegexPatternSetsOutcomeCallable; typedef std::future ListResourcesForWebACLOutcomeCallable; typedef std::future ListRuleGroupsOutcomeCallable; typedef std::future ListRulesOutcomeCallable; typedef std::future ListSizeConstraintSetsOutcomeCallable; typedef std::future ListSqlInjectionMatchSetsOutcomeCallable; typedef std::future ListSubscribedRuleGroupsOutcomeCallable; typedef std::future ListTagsForResourceOutcomeCallable; typedef std::future ListWebACLsOutcomeCallable; typedef std::future ListXssMatchSetsOutcomeCallable; typedef std::future PutLoggingConfigurationOutcomeCallable; typedef std::future PutPermissionPolicyOutcomeCallable; typedef std::future TagResourceOutcomeCallable; typedef std::future UntagResourceOutcomeCallable; typedef std::future UpdateByteMatchSetOutcomeCallable; typedef std::future UpdateGeoMatchSetOutcomeCallable; typedef std::future UpdateIPSetOutcomeCallable; typedef std::future UpdateRateBasedRuleOutcomeCallable; typedef std::future UpdateRegexMatchSetOutcomeCallable; typedef std::future UpdateRegexPatternSetOutcomeCallable; typedef std::future UpdateRuleOutcomeCallable; typedef std::future UpdateRuleGroupOutcomeCallable; typedef std::future UpdateSizeConstraintSetOutcomeCallable; typedef std::future UpdateSqlInjectionMatchSetOutcomeCallable; typedef std::future UpdateWebACLOutcomeCallable; typedef std::future UpdateXssMatchSetOutcomeCallable; } // namespace Model class WAFRegionalClient; typedef std::function&) > AssociateWebACLResponseReceivedHandler; typedef std::function&) > CreateByteMatchSetResponseReceivedHandler; typedef std::function&) > CreateGeoMatchSetResponseReceivedHandler; typedef std::function&) > CreateIPSetResponseReceivedHandler; typedef std::function&) > CreateRateBasedRuleResponseReceivedHandler; typedef std::function&) > CreateRegexMatchSetResponseReceivedHandler; typedef std::function&) > CreateRegexPatternSetResponseReceivedHandler; typedef std::function&) > CreateRuleResponseReceivedHandler; typedef std::function&) > CreateRuleGroupResponseReceivedHandler; typedef std::function&) > CreateSizeConstraintSetResponseReceivedHandler; typedef std::function&) > CreateSqlInjectionMatchSetResponseReceivedHandler; typedef std::function&) > CreateWebACLResponseReceivedHandler; typedef std::function&) > CreateWebACLMigrationStackResponseReceivedHandler; typedef std::function&) > CreateXssMatchSetResponseReceivedHandler; typedef std::function&) > DeleteByteMatchSetResponseReceivedHandler; typedef std::function&) > DeleteGeoMatchSetResponseReceivedHandler; typedef std::function&) > DeleteIPSetResponseReceivedHandler; typedef std::function&) > DeleteLoggingConfigurationResponseReceivedHandler; typedef std::function&) > DeletePermissionPolicyResponseReceivedHandler; typedef std::function&) > DeleteRateBasedRuleResponseReceivedHandler; typedef std::function&) > DeleteRegexMatchSetResponseReceivedHandler; typedef std::function&) > DeleteRegexPatternSetResponseReceivedHandler; typedef std::function&) > DeleteRuleResponseReceivedHandler; typedef std::function&) > DeleteRuleGroupResponseReceivedHandler; typedef std::function&) > DeleteSizeConstraintSetResponseReceivedHandler; typedef std::function&) > DeleteSqlInjectionMatchSetResponseReceivedHandler; typedef std::function&) > DeleteWebACLResponseReceivedHandler; typedef std::function&) > DeleteXssMatchSetResponseReceivedHandler; typedef std::function&) > DisassociateWebACLResponseReceivedHandler; typedef std::function&) > GetByteMatchSetResponseReceivedHandler; typedef std::function&) > GetChangeTokenResponseReceivedHandler; typedef std::function&) > GetChangeTokenStatusResponseReceivedHandler; typedef std::function&) > GetGeoMatchSetResponseReceivedHandler; typedef std::function&) > GetIPSetResponseReceivedHandler; typedef std::function&) > GetLoggingConfigurationResponseReceivedHandler; typedef std::function&) > GetPermissionPolicyResponseReceivedHandler; typedef std::function&) > GetRateBasedRuleResponseReceivedHandler; typedef std::function&) > GetRateBasedRuleManagedKeysResponseReceivedHandler; typedef std::function&) > GetRegexMatchSetResponseReceivedHandler; typedef std::function&) > GetRegexPatternSetResponseReceivedHandler; typedef std::function&) > GetRuleResponseReceivedHandler; typedef std::function&) > GetRuleGroupResponseReceivedHandler; typedef std::function&) > GetSampledRequestsResponseReceivedHandler; typedef std::function&) > GetSizeConstraintSetResponseReceivedHandler; typedef std::function&) > GetSqlInjectionMatchSetResponseReceivedHandler; typedef std::function&) > GetWebACLResponseReceivedHandler; typedef std::function&) > GetWebACLForResourceResponseReceivedHandler; typedef std::function&) > GetXssMatchSetResponseReceivedHandler; typedef std::function&) > ListActivatedRulesInRuleGroupResponseReceivedHandler; typedef std::function&) > ListByteMatchSetsResponseReceivedHandler; typedef std::function&) > ListGeoMatchSetsResponseReceivedHandler; typedef std::function&) > ListIPSetsResponseReceivedHandler; typedef std::function&) > ListLoggingConfigurationsResponseReceivedHandler; typedef std::function&) > ListRateBasedRulesResponseReceivedHandler; typedef std::function&) > ListRegexMatchSetsResponseReceivedHandler; typedef std::function&) > ListRegexPatternSetsResponseReceivedHandler; typedef std::function&) > ListResourcesForWebACLResponseReceivedHandler; typedef std::function&) > ListRuleGroupsResponseReceivedHandler; typedef std::function&) > ListRulesResponseReceivedHandler; typedef std::function&) > ListSizeConstraintSetsResponseReceivedHandler; typedef std::function&) > ListSqlInjectionMatchSetsResponseReceivedHandler; typedef std::function&) > ListSubscribedRuleGroupsResponseReceivedHandler; typedef std::function&) > ListTagsForResourceResponseReceivedHandler; typedef std::function&) > ListWebACLsResponseReceivedHandler; typedef std::function&) > ListXssMatchSetsResponseReceivedHandler; typedef std::function&) > PutLoggingConfigurationResponseReceivedHandler; typedef std::function&) > PutPermissionPolicyResponseReceivedHandler; typedef std::function&) > TagResourceResponseReceivedHandler; typedef std::function&) > UntagResourceResponseReceivedHandler; typedef std::function&) > UpdateByteMatchSetResponseReceivedHandler; typedef std::function&) > UpdateGeoMatchSetResponseReceivedHandler; typedef std::function&) > UpdateIPSetResponseReceivedHandler; typedef std::function&) > UpdateRateBasedRuleResponseReceivedHandler; typedef std::function&) > UpdateRegexMatchSetResponseReceivedHandler; typedef std::function&) > UpdateRegexPatternSetResponseReceivedHandler; typedef std::function&) > UpdateRuleResponseReceivedHandler; typedef std::function&) > UpdateRuleGroupResponseReceivedHandler; typedef std::function&) > UpdateSizeConstraintSetResponseReceivedHandler; typedef std::function&) > UpdateSqlInjectionMatchSetResponseReceivedHandler; typedef std::function&) > UpdateWebACLResponseReceivedHandler; typedef std::function&) > UpdateXssMatchSetResponseReceivedHandler; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

This is the AWS WAF * Regional Classic API Reference for using AWS WAF Classic with the AWS * resources, Elastic Load Balancing (ELB) Application Load Balancers and API * Gateway APIs. The AWS WAF Classic actions and data types listed in the reference * are available for protecting Elastic Load Balancing (ELB) Application Load * Balancers and API Gateway APIs. You can use these actions and data types by * means of the endpoints listed in AWS * Regions and Endpoints. This guide is for developers who need detailed * information about the AWS WAF Classic API actions, data types, and errors. For * detailed information about AWS WAF Classic features and an overview of how to * use the AWS WAF Classic API, see the AWS * WAF Classic in the developer guide.

*/ class AWS_WAFREGIONAL_API WAFRegionalClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WAFRegionalClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ WAFRegionalClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ WAFRegionalClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~WAFRegionalClient(); /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a web ACL with * a resource, either an application load balancer or Amazon API Gateway * stage.

See Also:

AWS * API Reference

*/ virtual Model::AssociateWebACLOutcome AssociateWebACL(const Model::AssociateWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a web ACL with * a resource, either an application load balancer or Amazon API Gateway * stage.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateWebACLOutcomeCallable AssociateWebACLCallable(const Model::AssociateWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a web ACL with * a resource, either an application load balancer or Amazon API Gateway * stage.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateWebACLAsync(const Model::AssociateWebACLRequest& request, const AssociateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * ByteMatchSet. You then use UpdateByteMatchSet to identify * the part of a web request that you want AWS WAF to inspect, such as the values * of the User-Agent header or the query string. For example, you can * create a ByteMatchSet that matches any requests with * User-Agent headers that contain the string BadBot. You * can then configure AWS WAF to reject those requests.

To create and * configure a ByteMatchSet, perform the following steps:

    *
  1. Use GetChangeToken to get the change token that you provide in * the ChangeToken parameter of a CreateByteMatchSet * request.

  2. Submit a CreateByteMatchSet request.

    *
  3. Use GetChangeToken to get the change token that you * provide in the ChangeToken parameter of an * UpdateByteMatchSet request.

  4. Submit an * UpdateByteMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value that * you want AWS WAF to watch for.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateByteMatchSetOutcome CreateByteMatchSet(const Model::CreateByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * ByteMatchSet. You then use UpdateByteMatchSet to identify * the part of a web request that you want AWS WAF to inspect, such as the values * of the User-Agent header or the query string. For example, you can * create a ByteMatchSet that matches any requests with * User-Agent headers that contain the string BadBot. You * can then configure AWS WAF to reject those requests.

To create and * configure a ByteMatchSet, perform the following steps:

    *
  1. Use GetChangeToken to get the change token that you provide in * the ChangeToken parameter of a CreateByteMatchSet * request.

  2. Submit a CreateByteMatchSet request.

    *
  3. Use GetChangeToken to get the change token that you * provide in the ChangeToken parameter of an * UpdateByteMatchSet request.

  4. Submit an * UpdateByteMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value that * you want AWS WAF to watch for.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateByteMatchSetOutcomeCallable CreateByteMatchSetCallable(const Model::CreateByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * ByteMatchSet. You then use UpdateByteMatchSet to identify * the part of a web request that you want AWS WAF to inspect, such as the values * of the User-Agent header or the query string. For example, you can * create a ByteMatchSet that matches any requests with * User-Agent headers that contain the string BadBot. You * can then configure AWS WAF to reject those requests.

To create and * configure a ByteMatchSet, perform the following steps:

    *
  1. Use GetChangeToken to get the change token that you provide in * the ChangeToken parameter of a CreateByteMatchSet * request.

  2. Submit a CreateByteMatchSet request.

    *
  3. Use GetChangeToken to get the change token that you * provide in the ChangeToken parameter of an * UpdateByteMatchSet request.

  4. Submit an * UpdateByteMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value that * you want AWS WAF to watch for.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateByteMatchSetAsync(const Model::CreateByteMatchSetRequest& request, const CreateByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * GeoMatchSet, which you use to specify which web requests you want to * allow or block based on the country that the requests originate from. For * example, if you're receiving a lot of requests from one or more countries and * you want to block the requests, you can create an GeoMatchSet that * contains those countries and then configure AWS WAF to block the requests.

*

To create and configure a GeoMatchSet, perform the following * steps:

  1. Use GetChangeToken to get the change token that * you provide in the ChangeToken parameter of a * CreateGeoMatchSet request.

  2. Submit a * CreateGeoMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateGeoMatchSet request.

    *
  4. Submit an UpdateGeoMatchSetSet request to specify the * countries that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateGeoMatchSetOutcome CreateGeoMatchSet(const Model::CreateGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * GeoMatchSet, which you use to specify which web requests you want to * allow or block based on the country that the requests originate from. For * example, if you're receiving a lot of requests from one or more countries and * you want to block the requests, you can create an GeoMatchSet that * contains those countries and then configure AWS WAF to block the requests.

*

To create and configure a GeoMatchSet, perform the following * steps:

  1. Use GetChangeToken to get the change token that * you provide in the ChangeToken parameter of a * CreateGeoMatchSet request.

  2. Submit a * CreateGeoMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateGeoMatchSet request.

    *
  4. Submit an UpdateGeoMatchSetSet request to specify the * countries that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateGeoMatchSetOutcomeCallable CreateGeoMatchSetCallable(const Model::CreateGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * GeoMatchSet, which you use to specify which web requests you want to * allow or block based on the country that the requests originate from. For * example, if you're receiving a lot of requests from one or more countries and * you want to block the requests, you can create an GeoMatchSet that * contains those countries and then configure AWS WAF to block the requests.

*

To create and configure a GeoMatchSet, perform the following * steps:

  1. Use GetChangeToken to get the change token that * you provide in the ChangeToken parameter of a * CreateGeoMatchSet request.

  2. Submit a * CreateGeoMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateGeoMatchSet request.

    *
  4. Submit an UpdateGeoMatchSetSet request to specify the * countries that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateGeoMatchSetAsync(const Model::CreateGeoMatchSetRequest& request, const CreateGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an IPSet, * which you use to specify which web requests that you want to allow or block * based on the IP addresses that the requests originate from. For example, if * you're receiving a lot of requests from one or more individual IP addresses or * one or more ranges of IP addresses and you want to block the requests, you can * create an IPSet that contains those IP addresses and then configure * AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateIPSet request.

    *
  2. Submit a CreateIPSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  4. *
  5. Submit an UpdateIPSet request to specify the IP addresses * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateIPSetOutcome CreateIPSet(const Model::CreateIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an IPSet, * which you use to specify which web requests that you want to allow or block * based on the IP addresses that the requests originate from. For example, if * you're receiving a lot of requests from one or more individual IP addresses or * one or more ranges of IP addresses and you want to block the requests, you can * create an IPSet that contains those IP addresses and then configure * AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateIPSet request.

    *
  2. Submit a CreateIPSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  4. *
  5. Submit an UpdateIPSet request to specify the IP addresses * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateIPSetOutcomeCallable CreateIPSetCallable(const Model::CreateIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an IPSet, * which you use to specify which web requests that you want to allow or block * based on the IP addresses that the requests originate from. For example, if * you're receiving a lot of requests from one or more individual IP addresses or * one or more ranges of IP addresses and you want to block the requests, you can * create an IPSet that contains those IP addresses and then configure * AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateIPSet request.

    *
  2. Submit a CreateIPSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  4. *
  5. Submit an UpdateIPSet request to specify the IP addresses * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateIPSetAsync(const Model::CreateIPSetRequest& request, const CreateIPSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RateBasedRule. The RateBasedRule contains a * RateLimit, which specifies the maximum number of requests that AWS * WAF allows from a specified IP address in a five-minute period. The * RateBasedRule also contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to count or block if these requests exceed the * RateLimit.

If you add more than one predicate to a * RateBasedRule, a request not only must exceed the * RateLimit, but it also must match all the conditions to be counted * or blocked. For example, suppose you add the following to a * RateBasedRule:

  • An IPSet that matches * the IP address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

Further, you specify a * RateLimit of 1,000.

You then add the * RateBasedRule to a WebACL and specify that you want to * block requests that meet the conditions in the rule. For a request to be * blocked, it must come from the IP address 192.0.2.44 and the * User-Agent header in the request must contain the value * BadBot. Further, requests that match these two conditions must be * received at a rate of more than 1,000 requests every five minutes. If both * conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the * rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the * requests.

As a second example, suppose you want to limit requests to a * particular page on your site. To do this, you could add the following to a * RateBasedRule:

  • A ByteMatchSet with * FieldToMatch of URI

  • A * PositionalConstraint of STARTS_WITH

  • *

    A TargetString of login

*

Further, you specify a RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

To create and * configure a RateBasedRule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the rule. * For more information, see CreateByteMatchSet, CreateIPSet, and * CreateSqlInjectionMatchSet.

  2. Use GetChangeToken * to get the change token that you provide in the ChangeToken * parameter of a CreateRule request.

  3. Submit a * CreateRateBasedRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRateBasedRule request to specify the * predicates that you want to include in the rule.

  7. Create and * update a WebACL that contains the RateBasedRule. For * more information, see CreateWebACL.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateRateBasedRuleOutcome CreateRateBasedRule(const Model::CreateRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RateBasedRule. The RateBasedRule contains a * RateLimit, which specifies the maximum number of requests that AWS * WAF allows from a specified IP address in a five-minute period. The * RateBasedRule also contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to count or block if these requests exceed the * RateLimit.

If you add more than one predicate to a * RateBasedRule, a request not only must exceed the * RateLimit, but it also must match all the conditions to be counted * or blocked. For example, suppose you add the following to a * RateBasedRule:

  • An IPSet that matches * the IP address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

Further, you specify a * RateLimit of 1,000.

You then add the * RateBasedRule to a WebACL and specify that you want to * block requests that meet the conditions in the rule. For a request to be * blocked, it must come from the IP address 192.0.2.44 and the * User-Agent header in the request must contain the value * BadBot. Further, requests that match these two conditions must be * received at a rate of more than 1,000 requests every five minutes. If both * conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the * rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the * requests.

As a second example, suppose you want to limit requests to a * particular page on your site. To do this, you could add the following to a * RateBasedRule:

  • A ByteMatchSet with * FieldToMatch of URI

  • A * PositionalConstraint of STARTS_WITH

  • *

    A TargetString of login

*

Further, you specify a RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

To create and * configure a RateBasedRule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the rule. * For more information, see CreateByteMatchSet, CreateIPSet, and * CreateSqlInjectionMatchSet.

  2. Use GetChangeToken * to get the change token that you provide in the ChangeToken * parameter of a CreateRule request.

  3. Submit a * CreateRateBasedRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRateBasedRule request to specify the * predicates that you want to include in the rule.

  7. Create and * update a WebACL that contains the RateBasedRule. For * more information, see CreateWebACL.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRateBasedRuleOutcomeCallable CreateRateBasedRuleCallable(const Model::CreateRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RateBasedRule. The RateBasedRule contains a * RateLimit, which specifies the maximum number of requests that AWS * WAF allows from a specified IP address in a five-minute period. The * RateBasedRule also contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to count or block if these requests exceed the * RateLimit.

If you add more than one predicate to a * RateBasedRule, a request not only must exceed the * RateLimit, but it also must match all the conditions to be counted * or blocked. For example, suppose you add the following to a * RateBasedRule:

  • An IPSet that matches * the IP address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

Further, you specify a * RateLimit of 1,000.

You then add the * RateBasedRule to a WebACL and specify that you want to * block requests that meet the conditions in the rule. For a request to be * blocked, it must come from the IP address 192.0.2.44 and the * User-Agent header in the request must contain the value * BadBot. Further, requests that match these two conditions must be * received at a rate of more than 1,000 requests every five minutes. If both * conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the * rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the * requests.

As a second example, suppose you want to limit requests to a * particular page on your site. To do this, you could add the following to a * RateBasedRule:

  • A ByteMatchSet with * FieldToMatch of URI

  • A * PositionalConstraint of STARTS_WITH

  • *

    A TargetString of login

*

Further, you specify a RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

To create and * configure a RateBasedRule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the rule. * For more information, see CreateByteMatchSet, CreateIPSet, and * CreateSqlInjectionMatchSet.

  2. Use GetChangeToken * to get the change token that you provide in the ChangeToken * parameter of a CreateRule request.

  3. Submit a * CreateRateBasedRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRateBasedRule request to specify the * predicates that you want to include in the rule.

  7. Create and * update a WebACL that contains the RateBasedRule. For * more information, see CreateWebACL.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRateBasedRuleAsync(const Model::CreateRateBasedRuleRequest& request, const CreateRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexMatchSet. You then use UpdateRegexMatchSet to identify the * part of a web request that you want AWS WAF to inspect, such as the values of * the User-Agent header or the query string. For example, you can * create a RegexMatchSet that contains a RegexMatchTuple * that looks for any requests with User-Agent headers that match a * RegexPatternSet with pattern B[a@]dB[o0]t. You can * then configure AWS WAF to reject those requests.

To create and configure * a RegexMatchSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRegexMatchSet * request.

  2. Submit a CreateRegexMatchSet * request.

  3. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of an * UpdateRegexMatchSet request.

  4. Submit an * UpdateRegexMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value, * using a RegexPatternSet, that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateRegexMatchSetOutcome CreateRegexMatchSet(const Model::CreateRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexMatchSet. You then use UpdateRegexMatchSet to identify the * part of a web request that you want AWS WAF to inspect, such as the values of * the User-Agent header or the query string. For example, you can * create a RegexMatchSet that contains a RegexMatchTuple * that looks for any requests with User-Agent headers that match a * RegexPatternSet with pattern B[a@]dB[o0]t. You can * then configure AWS WAF to reject those requests.

To create and configure * a RegexMatchSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRegexMatchSet * request.

  2. Submit a CreateRegexMatchSet * request.

  3. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of an * UpdateRegexMatchSet request.

  4. Submit an * UpdateRegexMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value, * using a RegexPatternSet, that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRegexMatchSetOutcomeCallable CreateRegexMatchSetCallable(const Model::CreateRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexMatchSet. You then use UpdateRegexMatchSet to identify the * part of a web request that you want AWS WAF to inspect, such as the values of * the User-Agent header or the query string. For example, you can * create a RegexMatchSet that contains a RegexMatchTuple * that looks for any requests with User-Agent headers that match a * RegexPatternSet with pattern B[a@]dB[o0]t. You can * then configure AWS WAF to reject those requests.

To create and configure * a RegexMatchSet, perform the following steps:

  1. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRegexMatchSet * request.

  2. Submit a CreateRegexMatchSet * request.

  3. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of an * UpdateRegexMatchSet request.

  4. Submit an * UpdateRegexMatchSet request to specify the part of the request that you * want AWS WAF to inspect (for example, the header or the URI) and the value, * using a RegexPatternSet, that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRegexMatchSetAsync(const Model::CreateRegexMatchSetRequest& request, const CreateRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexPatternSet. You then use UpdateRegexPatternSet to * specify the regular expression (regex) pattern that you want AWS WAF to search * for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject * those requests.

To create and configure a RegexPatternSet, * perform the following steps:

  1. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * CreateRegexPatternSet request.

  2. Submit a * CreateRegexPatternSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  4. Submit an UpdateRegexPatternSet request to * specify the string that you want AWS WAF to watch for.

For * more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateRegexPatternSetOutcome CreateRegexPatternSet(const Model::CreateRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexPatternSet. You then use UpdateRegexPatternSet to * specify the regular expression (regex) pattern that you want AWS WAF to search * for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject * those requests.

To create and configure a RegexPatternSet, * perform the following steps:

  1. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * CreateRegexPatternSet request.

  2. Submit a * CreateRegexPatternSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  4. Submit an UpdateRegexPatternSet request to * specify the string that you want AWS WAF to watch for.

For * more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRegexPatternSetOutcomeCallable CreateRegexPatternSetCallable(const Model::CreateRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RegexPatternSet. You then use UpdateRegexPatternSet to * specify the regular expression (regex) pattern that you want AWS WAF to search * for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject * those requests.

To create and configure a RegexPatternSet, * perform the following steps:

  1. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * CreateRegexPatternSet request.

  2. Submit a * CreateRegexPatternSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  4. Submit an UpdateRegexPatternSet request to * specify the string that you want AWS WAF to watch for.

For * more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRegexPatternSetAsync(const Model::CreateRegexPatternSetRequest& request, const CreateRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * Rule, which contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to block. If you add more than one predicate to a * Rule, a request must match all of the specifications to be allowed * or blocked. For example, suppose that you add the following to a * Rule:

  • An IPSet that matches the IP * address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

You then add the * Rule to a WebACL and specify that you want to blocks * requests that satisfy the Rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot.

To * create and configure a Rule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the * Rule. For more information, see CreateByteMatchSet, * CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRule request.

    *
  3. Submit a CreateRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRule request to specify the predicates that * you want to include in the Rule.

  7. Create and * update a WebACL that contains the Rule. For more * information, see CreateWebACL.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateRuleOutcome CreateRule(const Model::CreateRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * Rule, which contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to block. If you add more than one predicate to a * Rule, a request must match all of the specifications to be allowed * or blocked. For example, suppose that you add the following to a * Rule:

  • An IPSet that matches the IP * address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

You then add the * Rule to a WebACL and specify that you want to blocks * requests that satisfy the Rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot.

To * create and configure a Rule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the * Rule. For more information, see CreateByteMatchSet, * CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRule request.

    *
  3. Submit a CreateRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRule request to specify the predicates that * you want to include in the Rule.

  7. Create and * update a WebACL that contains the Rule. For more * information, see CreateWebACL.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRuleOutcomeCallable CreateRuleCallable(const Model::CreateRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * Rule, which contains the IPSet objects, * ByteMatchSet objects, and other predicates that identify the * requests that you want to block. If you add more than one predicate to a * Rule, a request must match all of the specifications to be allowed * or blocked. For example, suppose that you add the following to a * Rule:

  • An IPSet that matches the IP * address 192.0.2.44/32

  • A * ByteMatchSet that matches BadBot in the * User-Agent header

You then add the * Rule to a WebACL and specify that you want to blocks * requests that satisfy the Rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot.

To * create and configure a Rule, perform the following steps:

    *
  1. Create and update the predicates that you want to include in the * Rule. For more information, see CreateByteMatchSet, * CreateIPSet, and CreateSqlInjectionMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateRule request.

    *
  3. Submit a CreateRule request.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  5. *
  6. Submit an UpdateRule request to specify the predicates that * you want to include in the Rule.

  7. Create and * update a WebACL that contains the Rule. For more * information, see CreateWebACL.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRuleAsync(const Model::CreateRuleRequest& request, const CreateRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RuleGroup. A rule group is a collection of predefined rules that * you add to a web ACL. You use UpdateRuleGroup to add rules to the rule * group.

Rule groups are subject to the following limits:

  • *

    Three rule groups per account. You can request an increase to this limit by * contacting customer support.

  • One rule group per web ACL.

    *
  • Ten rules per rule group.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateRuleGroupOutcome CreateRuleGroup(const Model::CreateRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RuleGroup. A rule group is a collection of predefined rules that * you add to a web ACL. You use UpdateRuleGroup to add rules to the rule * group.

Rule groups are subject to the following limits:

  • *

    Three rule groups per account. You can request an increase to this limit by * contacting customer support.

  • One rule group per web ACL.

    *
  • Ten rules per rule group.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateRuleGroupOutcomeCallable CreateRuleGroupCallable(const Model::CreateRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * RuleGroup. A rule group is a collection of predefined rules that * you add to a web ACL. You use UpdateRuleGroup to add rules to the rule * group.

Rule groups are subject to the following limits:

  • *

    Three rule groups per account. You can request an increase to this limit by * contacting customer support.

  • One rule group per web ACL.

    *
  • Ten rules per rule group.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateRuleGroupAsync(const Model::CreateRuleGroupRequest& request, const CreateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SizeConstraintSet. You then use UpdateSizeConstraintSet to * identify the part of a web request that you want AWS WAF to check for length, * such as the length of the User-Agent header or the length of the * query string. For example, you can create a SizeConstraintSet that * matches any requests that have a query string that is longer than 100 bytes. You * can then configure AWS WAF to reject those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a * CreateSizeConstraintSet request.

  2. Submit a * CreateSizeConstraintSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSizeConstraintSet * request.

  4. Submit an UpdateSizeConstraintSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the value that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateSizeConstraintSetOutcome CreateSizeConstraintSet(const Model::CreateSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SizeConstraintSet. You then use UpdateSizeConstraintSet to * identify the part of a web request that you want AWS WAF to check for length, * such as the length of the User-Agent header or the length of the * query string. For example, you can create a SizeConstraintSet that * matches any requests that have a query string that is longer than 100 bytes. You * can then configure AWS WAF to reject those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a * CreateSizeConstraintSet request.

  2. Submit a * CreateSizeConstraintSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSizeConstraintSet * request.

  4. Submit an UpdateSizeConstraintSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the value that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSizeConstraintSetOutcomeCallable CreateSizeConstraintSetCallable(const Model::CreateSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SizeConstraintSet. You then use UpdateSizeConstraintSet to * identify the part of a web request that you want AWS WAF to check for length, * such as the length of the User-Agent header or the length of the * query string. For example, you can create a SizeConstraintSet that * matches any requests that have a query string that is longer than 100 bytes. You * can then configure AWS WAF to reject those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a * CreateSizeConstraintSet request.

  2. Submit a * CreateSizeConstraintSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSizeConstraintSet * request.

  4. Submit an UpdateSizeConstraintSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the value that you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSizeConstraintSetAsync(const Model::CreateSizeConstraintSetRequest& request, const CreateSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SqlInjectionMatchSet, which you use to allow, block, or count requests * that contain snippets of SQL code in a specified part of web requests. AWS WAF * searches for character sequences that are likely to be malicious strings.

*

To create and configure a SqlInjectionMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateSqlInjectionMatchSet request.

  2. Submit a * CreateSqlInjectionMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSqlInjectionMatchSet * request.

  4. Submit an UpdateSqlInjectionMatchSet request * to specify the parts of web requests in which you want to allow, block, or count * malicious SQL code.

For more information about how to use the * AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateSqlInjectionMatchSetOutcome CreateSqlInjectionMatchSet(const Model::CreateSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SqlInjectionMatchSet, which you use to allow, block, or count requests * that contain snippets of SQL code in a specified part of web requests. AWS WAF * searches for character sequences that are likely to be malicious strings.

*

To create and configure a SqlInjectionMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateSqlInjectionMatchSet request.

  2. Submit a * CreateSqlInjectionMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSqlInjectionMatchSet * request.

  4. Submit an UpdateSqlInjectionMatchSet request * to specify the parts of web requests in which you want to allow, block, or count * malicious SQL code.

For more information about how to use the * AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateSqlInjectionMatchSetOutcomeCallable CreateSqlInjectionMatchSetCallable(const Model::CreateSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * SqlInjectionMatchSet, which you use to allow, block, or count requests * that contain snippets of SQL code in a specified part of web requests. AWS WAF * searches for character sequences that are likely to be malicious strings.

*

To create and configure a SqlInjectionMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateSqlInjectionMatchSet request.

  2. Submit a * CreateSqlInjectionMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateSqlInjectionMatchSet * request.

  4. Submit an UpdateSqlInjectionMatchSet request * to specify the parts of web requests in which you want to allow, block, or count * malicious SQL code.

For more information about how to use the * AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateSqlInjectionMatchSetAsync(const Model::CreateSqlInjectionMatchSetRequest& request, const CreateSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * WebACL, which contains the Rules that identify the * CloudFront web requests that you want to allow, block, or count. AWS WAF * evaluates Rules in order based on the value of * Priority for each Rule.

You also specify a * default action, either ALLOW or BLOCK. If a web * request doesn't match any of the Rules in a WebACL, * AWS WAF responds to the request with the default action.

To create and * configure a WebACL, perform the following steps:

  1. *

    Create and update the ByteMatchSet objects and other predicates * that you want to include in Rules. For more information, see * CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, * UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateWebACL request.

    *
  4. Submit a CreateWebACL request.

  5. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  6. *
  7. Submit an UpdateWebACL request to specify the Rules * that you want to include in the WebACL, to specify the default * action, and to associate the WebACL with a CloudFront * distribution.

For more information about how to use the AWS * WAF API, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateWebACLOutcome CreateWebACL(const Model::CreateWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * WebACL, which contains the Rules that identify the * CloudFront web requests that you want to allow, block, or count. AWS WAF * evaluates Rules in order based on the value of * Priority for each Rule.

You also specify a * default action, either ALLOW or BLOCK. If a web * request doesn't match any of the Rules in a WebACL, * AWS WAF responds to the request with the default action.

To create and * configure a WebACL, perform the following steps:

  1. *

    Create and update the ByteMatchSet objects and other predicates * that you want to include in Rules. For more information, see * CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, * UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateWebACL request.

    *
  4. Submit a CreateWebACL request.

  5. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  6. *
  7. Submit an UpdateWebACL request to specify the Rules * that you want to include in the WebACL, to specify the default * action, and to associate the WebACL with a CloudFront * distribution.

For more information about how to use the AWS * WAF API, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateWebACLOutcomeCallable CreateWebACLCallable(const Model::CreateWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates a * WebACL, which contains the Rules that identify the * CloudFront web requests that you want to allow, block, or count. AWS WAF * evaluates Rules in order based on the value of * Priority for each Rule.

You also specify a * default action, either ALLOW or BLOCK. If a web * request doesn't match any of the Rules in a WebACL, * AWS WAF responds to the request with the default action.

To create and * configure a WebACL, perform the following steps:

  1. *

    Create and update the ByteMatchSet objects and other predicates * that you want to include in Rules. For more information, see * CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, * UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a CreateWebACL request.

    *
  4. Submit a CreateWebACL request.

  5. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  6. *
  7. Submit an UpdateWebACL request to specify the Rules * that you want to include in the WebACL, to specify the default * action, and to associate the WebACL with a CloudFront * distribution.

For more information about how to use the AWS * WAF API, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateWebACLAsync(const Model::CreateWebACLRequest& request, const CreateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the * specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the * template, to create the web ACL and its resources in AWS WAFV2. Use this to * migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.

*

This is part of a larger migration procedure for web ACLs from AWS WAF * Classic to the latest version of AWS WAF. For the full procedure, including * caveats and manual steps to complete the migration and switch over to the new * web ACL, see Migrating * your AWS WAF Classic resources to AWS WAF in the AWS * WAF Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateWebACLMigrationStackOutcome CreateWebACLMigrationStack(const Model::CreateWebACLMigrationStackRequest& request) const; /** *

Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the * specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the * template, to create the web ACL and its resources in AWS WAFV2. Use this to * migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.

*

This is part of a larger migration procedure for web ACLs from AWS WAF * Classic to the latest version of AWS WAF. For the full procedure, including * caveats and manual steps to complete the migration and switch over to the new * web ACL, see Migrating * your AWS WAF Classic resources to AWS WAF in the AWS * WAF Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateWebACLMigrationStackOutcomeCallable CreateWebACLMigrationStackCallable(const Model::CreateWebACLMigrationStackRequest& request) const; /** *

Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the * specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the * template, to create the web ACL and its resources in AWS WAFV2. Use this to * migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.

*

This is part of a larger migration procedure for web ACLs from AWS WAF * Classic to the latest version of AWS WAF. For the full procedure, including * caveats and manual steps to complete the migration and switch over to the new * web ACL, see Migrating * your AWS WAF Classic resources to AWS WAF in the AWS * WAF Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateWebACLMigrationStackAsync(const Model::CreateWebACLMigrationStackRequest& request, const CreateWebACLMigrationStackResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * XssMatchSet, which you use to allow, block, or count requests that * contain cross-site scripting attacks in the specified part of web requests. AWS * WAF searches for character sequences that are likely to be malicious * strings.

To create and configure an XssMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateXssMatchSet request.

  2. Submit a * CreateXssMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateXssMatchSet request.

    *
  4. Submit an UpdateXssMatchSet request to specify the parts of * web requests in which you want to allow, block, or count cross-site scripting * attacks.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::CreateXssMatchSetOutcome CreateXssMatchSet(const Model::CreateXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * XssMatchSet, which you use to allow, block, or count requests that * contain cross-site scripting attacks in the specified part of web requests. AWS * WAF searches for character sequences that are likely to be malicious * strings.

To create and configure an XssMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateXssMatchSet request.

  2. Submit a * CreateXssMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateXssMatchSet request.

    *
  4. Submit an UpdateXssMatchSet request to specify the parts of * web requests in which you want to allow, block, or count cross-site scripting * attacks.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateXssMatchSetOutcomeCallable CreateXssMatchSetCallable(const Model::CreateXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Creates an * XssMatchSet, which you use to allow, block, or count requests that * contain cross-site scripting attacks in the specified part of web requests. AWS * WAF searches for character sequences that are likely to be malicious * strings.

To create and configure an XssMatchSet, perform the * following steps:

  1. Use GetChangeToken to get the change * token that you provide in the ChangeToken parameter of a * CreateXssMatchSet request.

  2. Submit a * CreateXssMatchSet request.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateXssMatchSet request.

    *
  4. Submit an UpdateXssMatchSet request to specify the parts of * web requests in which you want to allow, block, or count cross-site scripting * attacks.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateXssMatchSetAsync(const Model::CreateXssMatchSetRequest& request, const CreateXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * ByteMatchSet. You can't delete a ByteMatchSet if it's still * used in any Rules or if it still includes any ByteMatchTuple * objects (any filters).

If you just want to remove a * ByteMatchSet from a Rule, use UpdateRule.

*

To permanently delete a ByteMatchSet, perform the following * steps:

  1. Update the ByteMatchSet to remove filters, * if any. For more information, see UpdateByteMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteByteMatchSet * request.

  3. Submit a DeleteByteMatchSet request.

    *

See Also:

AWS * API Reference

*/ virtual Model::DeleteByteMatchSetOutcome DeleteByteMatchSet(const Model::DeleteByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * ByteMatchSet. You can't delete a ByteMatchSet if it's still * used in any Rules or if it still includes any ByteMatchTuple * objects (any filters).

If you just want to remove a * ByteMatchSet from a Rule, use UpdateRule.

*

To permanently delete a ByteMatchSet, perform the following * steps:

  1. Update the ByteMatchSet to remove filters, * if any. For more information, see UpdateByteMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteByteMatchSet * request.

  3. Submit a DeleteByteMatchSet request.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteByteMatchSetOutcomeCallable DeleteByteMatchSetCallable(const Model::DeleteByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * ByteMatchSet. You can't delete a ByteMatchSet if it's still * used in any Rules or if it still includes any ByteMatchTuple * objects (any filters).

If you just want to remove a * ByteMatchSet from a Rule, use UpdateRule.

*

To permanently delete a ByteMatchSet, perform the following * steps:

  1. Update the ByteMatchSet to remove filters, * if any. For more information, see UpdateByteMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteByteMatchSet * request.

  3. Submit a DeleteByteMatchSet request.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteByteMatchSetAsync(const Model::DeleteByteMatchSetRequest& request, const DeleteByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * GeoMatchSet. You can't delete a GeoMatchSet if it's still * used in any Rules or if it still includes any countries.

If * you just want to remove a GeoMatchSet from a Rule, use * UpdateRule.

To permanently delete a GeoMatchSet from * AWS WAF, perform the following steps:

  1. Update the * GeoMatchSet to remove any countries. For more information, see * UpdateGeoMatchSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteGeoMatchSet request.

  3. Submit a * DeleteGeoMatchSet request.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteGeoMatchSetOutcome DeleteGeoMatchSet(const Model::DeleteGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * GeoMatchSet. You can't delete a GeoMatchSet if it's still * used in any Rules or if it still includes any countries.

If * you just want to remove a GeoMatchSet from a Rule, use * UpdateRule.

To permanently delete a GeoMatchSet from * AWS WAF, perform the following steps:

  1. Update the * GeoMatchSet to remove any countries. For more information, see * UpdateGeoMatchSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteGeoMatchSet request.

  3. Submit a * DeleteGeoMatchSet request.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteGeoMatchSetOutcomeCallable DeleteGeoMatchSetCallable(const Model::DeleteGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * GeoMatchSet. You can't delete a GeoMatchSet if it's still * used in any Rules or if it still includes any countries.

If * you just want to remove a GeoMatchSet from a Rule, use * UpdateRule.

To permanently delete a GeoMatchSet from * AWS WAF, perform the following steps:

  1. Update the * GeoMatchSet to remove any countries. For more information, see * UpdateGeoMatchSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteGeoMatchSet request.

  3. Submit a * DeleteGeoMatchSet request.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteGeoMatchSetAsync(const Model::DeleteGeoMatchSetRequest& request, const DeleteGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IPSet. You can't delete an IPSet if it's still used in any * Rules or if it still includes any IP addresses.

If you just * want to remove an IPSet from a Rule, use * UpdateRule.

To permanently delete an IPSet from AWS * WAF, perform the following steps:

  1. Update the IPSet * to remove IP address ranges, if any. For more information, see * UpdateIPSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteIPSet request.

  3. Submit a * DeleteIPSet request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteIPSetOutcome DeleteIPSet(const Model::DeleteIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IPSet. You can't delete an IPSet if it's still used in any * Rules or if it still includes any IP addresses.

If you just * want to remove an IPSet from a Rule, use * UpdateRule.

To permanently delete an IPSet from AWS * WAF, perform the following steps:

  1. Update the IPSet * to remove IP address ranges, if any. For more information, see * UpdateIPSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteIPSet request.

  3. Submit a * DeleteIPSet request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteIPSetOutcomeCallable DeleteIPSetCallable(const Model::DeleteIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IPSet. You can't delete an IPSet if it's still used in any * Rules or if it still includes any IP addresses.

If you just * want to remove an IPSet from a Rule, use * UpdateRule.

To permanently delete an IPSet from AWS * WAF, perform the following steps:

  1. Update the IPSet * to remove IP address ranges, if any. For more information, see * UpdateIPSet.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteIPSet request.

  3. Submit a * DeleteIPSet request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteIPSetAsync(const Model::DeleteIPSetRequest& request, const DeleteIPSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes the * LoggingConfiguration from the specified web ACL.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteLoggingConfigurationOutcome DeleteLoggingConfiguration(const Model::DeleteLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes the * LoggingConfiguration from the specified web ACL.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteLoggingConfigurationOutcomeCallable DeleteLoggingConfigurationCallable(const Model::DeleteLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes the * LoggingConfiguration from the specified web ACL.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteLoggingConfigurationAsync(const Model::DeleteLoggingConfigurationRequest& request, const DeleteLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IAM policy from the specified RuleGroup.

The user making the request must * be the owner of the RuleGroup.

See Also:

AWS * API Reference

*/ virtual Model::DeletePermissionPolicyOutcome DeletePermissionPolicy(const Model::DeletePermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IAM policy from the specified RuleGroup.

The user making the request must * be the owner of the RuleGroup.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeletePermissionPolicyOutcomeCallable DeletePermissionPolicyCallable(const Model::DeletePermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * IAM policy from the specified RuleGroup.

The user making the request must * be the owner of the RuleGroup.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeletePermissionPolicyAsync(const Model::DeletePermissionPolicyRequest& request, const DeletePermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RateBasedRule. You can't delete a rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a rule from * a WebACL, use UpdateWebACL.

To permanently delete a * RateBasedRule from AWS WAF, perform the following steps:

    *
  1. Update the RateBasedRule to remove predicates, if any. For * more information, see UpdateRateBasedRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRateBasedRule * request.

  3. Submit a DeleteRateBasedRule * request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRateBasedRuleOutcome DeleteRateBasedRule(const Model::DeleteRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RateBasedRule. You can't delete a rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a rule from * a WebACL, use UpdateWebACL.

To permanently delete a * RateBasedRule from AWS WAF, perform the following steps:

    *
  1. Update the RateBasedRule to remove predicates, if any. For * more information, see UpdateRateBasedRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRateBasedRule * request.

  3. Submit a DeleteRateBasedRule * request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRateBasedRuleOutcomeCallable DeleteRateBasedRuleCallable(const Model::DeleteRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RateBasedRule. You can't delete a rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a rule from * a WebACL, use UpdateWebACL.

To permanently delete a * RateBasedRule from AWS WAF, perform the following steps:

    *
  1. Update the RateBasedRule to remove predicates, if any. For * more information, see UpdateRateBasedRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRateBasedRule * request.

  3. Submit a DeleteRateBasedRule * request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRateBasedRuleAsync(const Model::DeleteRateBasedRuleRequest& request, const DeleteRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexMatchSet. You can't delete a RegexMatchSet if it's * still used in any Rules or if it still includes any * RegexMatchTuples objects (any filters).

If you just want to * remove a RegexMatchSet from a Rule, use * UpdateRule.

To permanently delete a RegexMatchSet, * perform the following steps:

  1. Update the * RegexMatchSet to remove filters, if any. For more information, see * UpdateRegexMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * DeleteRegexMatchSet request.

  3. Submit a * DeleteRegexMatchSet request.

See Also:

* AWS * API Reference

*/ virtual Model::DeleteRegexMatchSetOutcome DeleteRegexMatchSet(const Model::DeleteRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexMatchSet. You can't delete a RegexMatchSet if it's * still used in any Rules or if it still includes any * RegexMatchTuples objects (any filters).

If you just want to * remove a RegexMatchSet from a Rule, use * UpdateRule.

To permanently delete a RegexMatchSet, * perform the following steps:

  1. Update the * RegexMatchSet to remove filters, if any. For more information, see * UpdateRegexMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * DeleteRegexMatchSet request.

  3. Submit a * DeleteRegexMatchSet request.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRegexMatchSetOutcomeCallable DeleteRegexMatchSetCallable(const Model::DeleteRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexMatchSet. You can't delete a RegexMatchSet if it's * still used in any Rules or if it still includes any * RegexMatchTuples objects (any filters).

If you just want to * remove a RegexMatchSet from a Rule, use * UpdateRule.

To permanently delete a RegexMatchSet, * perform the following steps:

  1. Update the * RegexMatchSet to remove filters, if any. For more information, see * UpdateRegexMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of a * DeleteRegexMatchSet request.

  3. Submit a * DeleteRegexMatchSet request.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRegexMatchSetAsync(const Model::DeleteRegexMatchSetRequest& request, const DeleteRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexPatternSet. You can't delete a RegexPatternSet if it's * still used in any RegexMatchSet or if the * RegexPatternSet is not empty.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRegexPatternSetOutcome DeleteRegexPatternSet(const Model::DeleteRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexPatternSet. You can't delete a RegexPatternSet if it's * still used in any RegexMatchSet or if the * RegexPatternSet is not empty.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRegexPatternSetOutcomeCallable DeleteRegexPatternSetCallable(const Model::DeleteRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RegexPatternSet. You can't delete a RegexPatternSet if it's * still used in any RegexMatchSet or if the * RegexPatternSet is not empty.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRegexPatternSetAsync(const Model::DeleteRegexPatternSetRequest& request, const DeleteRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * Rule. You can't delete a Rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a * Rule from a WebACL, use UpdateWebACL.

To * permanently delete a Rule from AWS WAF, perform the following * steps:

  1. Update the Rule to remove predicates, if * any. For more information, see UpdateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRule request.

    *
  3. Submit a DeleteRule request.

  4. *

See Also:

AWS * API Reference

*/ virtual Model::DeleteRuleOutcome DeleteRule(const Model::DeleteRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * Rule. You can't delete a Rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a * Rule from a WebACL, use UpdateWebACL.

To * permanently delete a Rule from AWS WAF, perform the following * steps:

  1. Update the Rule to remove predicates, if * any. For more information, see UpdateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRule request.

    *
  3. Submit a DeleteRule request.

  4. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRuleOutcomeCallable DeleteRuleCallable(const Model::DeleteRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * Rule. You can't delete a Rule if it's still used in any * WebACL objects or if it still includes any predicates, such as * ByteMatchSet objects.

If you just want to remove a * Rule from a WebACL, use UpdateWebACL.

To * permanently delete a Rule from AWS WAF, perform the following * steps:

  1. Update the Rule to remove predicates, if * any. For more information, see UpdateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteRule request.

    *
  3. Submit a DeleteRule request.

  4. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRuleAsync(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RuleGroup. You can't delete a RuleGroup if it's still used * in any WebACL objects or if it still includes any rules.

If * you just want to remove a RuleGroup from a WebACL, use * UpdateWebACL.

To permanently delete a RuleGroup from * AWS WAF, perform the following steps:

  1. Update the * RuleGroup to remove rules, if any. For more information, see * UpdateRuleGroup.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteRuleGroup request.

  3. Submit a * DeleteRuleGroup request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteRuleGroupOutcome DeleteRuleGroup(const Model::DeleteRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RuleGroup. You can't delete a RuleGroup if it's still used * in any WebACL objects or if it still includes any rules.

If * you just want to remove a RuleGroup from a WebACL, use * UpdateWebACL.

To permanently delete a RuleGroup from * AWS WAF, perform the following steps:

  1. Update the * RuleGroup to remove rules, if any. For more information, see * UpdateRuleGroup.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteRuleGroup request.

  3. Submit a * DeleteRuleGroup request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteRuleGroupOutcomeCallable DeleteRuleGroupCallable(const Model::DeleteRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * RuleGroup. You can't delete a RuleGroup if it's still used * in any WebACL objects or if it still includes any rules.

If * you just want to remove a RuleGroup from a WebACL, use * UpdateWebACL.

To permanently delete a RuleGroup from * AWS WAF, perform the following steps:

  1. Update the * RuleGroup to remove rules, if any. For more information, see * UpdateRuleGroup.

  2. Use GetChangeToken to get the * change token that you provide in the ChangeToken parameter of a * DeleteRuleGroup request.

  3. Submit a * DeleteRuleGroup request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteRuleGroupAsync(const Model::DeleteRuleGroupRequest& request, const DeleteRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SizeConstraintSet. You can't delete a SizeConstraintSet if * it's still used in any Rules or if it still includes any * SizeConstraint objects (any filters).

If you just want to remove a * SizeConstraintSet from a Rule, use * UpdateRule.

To permanently delete a * SizeConstraintSet, perform the following steps:

  1. *

    Update the SizeConstraintSet to remove filters, if any. For more * information, see UpdateSizeConstraintSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSizeConstraintSet * request.

  3. Submit a DeleteSizeConstraintSet * request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSizeConstraintSetOutcome DeleteSizeConstraintSet(const Model::DeleteSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SizeConstraintSet. You can't delete a SizeConstraintSet if * it's still used in any Rules or if it still includes any * SizeConstraint objects (any filters).

If you just want to remove a * SizeConstraintSet from a Rule, use * UpdateRule.

To permanently delete a * SizeConstraintSet, perform the following steps:

  1. *

    Update the SizeConstraintSet to remove filters, if any. For more * information, see UpdateSizeConstraintSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSizeConstraintSet * request.

  3. Submit a DeleteSizeConstraintSet * request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSizeConstraintSetOutcomeCallable DeleteSizeConstraintSetCallable(const Model::DeleteSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SizeConstraintSet. You can't delete a SizeConstraintSet if * it's still used in any Rules or if it still includes any * SizeConstraint objects (any filters).

If you just want to remove a * SizeConstraintSet from a Rule, use * UpdateRule.

To permanently delete a * SizeConstraintSet, perform the following steps:

  1. *

    Update the SizeConstraintSet to remove filters, if any. For more * information, see UpdateSizeConstraintSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSizeConstraintSet * request.

  3. Submit a DeleteSizeConstraintSet * request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSizeConstraintSetAsync(const Model::DeleteSizeConstraintSetRequest& request, const DeleteSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SqlInjectionMatchSet. You can't delete a * SqlInjectionMatchSet if it's still used in any Rules * or if it still contains any SqlInjectionMatchTuple objects.

If you * just want to remove a SqlInjectionMatchSet from a * Rule, use UpdateRule.

To permanently delete a * SqlInjectionMatchSet from AWS WAF, perform the following steps:

*
  1. Update the SqlInjectionMatchSet to remove filters, if * any. For more information, see UpdateSqlInjectionMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSqlInjectionMatchSet * request.

  3. Submit a DeleteSqlInjectionMatchSet * request.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSqlInjectionMatchSetOutcome DeleteSqlInjectionMatchSet(const Model::DeleteSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SqlInjectionMatchSet. You can't delete a * SqlInjectionMatchSet if it's still used in any Rules * or if it still contains any SqlInjectionMatchTuple objects.

If you * just want to remove a SqlInjectionMatchSet from a * Rule, use UpdateRule.

To permanently delete a * SqlInjectionMatchSet from AWS WAF, perform the following steps:

*
  1. Update the SqlInjectionMatchSet to remove filters, if * any. For more information, see UpdateSqlInjectionMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSqlInjectionMatchSet * request.

  3. Submit a DeleteSqlInjectionMatchSet * request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteSqlInjectionMatchSetOutcomeCallable DeleteSqlInjectionMatchSetCallable(const Model::DeleteSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * SqlInjectionMatchSet. You can't delete a * SqlInjectionMatchSet if it's still used in any Rules * or if it still contains any SqlInjectionMatchTuple objects.

If you * just want to remove a SqlInjectionMatchSet from a * Rule, use UpdateRule.

To permanently delete a * SqlInjectionMatchSet from AWS WAF, perform the following steps:

*
  1. Update the SqlInjectionMatchSet to remove filters, if * any. For more information, see UpdateSqlInjectionMatchSet.

  2. *

    Use GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteSqlInjectionMatchSet * request.

  3. Submit a DeleteSqlInjectionMatchSet * request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteSqlInjectionMatchSetAsync(const Model::DeleteSqlInjectionMatchSetRequest& request, const DeleteSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * WebACL. You can't delete a WebACL if it still contains any * Rules.

To delete a WebACL, perform the * following steps:

  1. Update the WebACL to remove * Rules, if any. For more information, see UpdateWebACL.

    *
  2. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a DeleteWebACL * request.

  3. Submit a DeleteWebACL request.

  4. *

See Also:

AWS * API Reference

*/ virtual Model::DeleteWebACLOutcome DeleteWebACL(const Model::DeleteWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * WebACL. You can't delete a WebACL if it still contains any * Rules.

To delete a WebACL, perform the * following steps:

  1. Update the WebACL to remove * Rules, if any. For more information, see UpdateWebACL.

    *
  2. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a DeleteWebACL * request.

  3. Submit a DeleteWebACL request.

  4. *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteWebACLOutcomeCallable DeleteWebACLCallable(const Model::DeleteWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes a * WebACL. You can't delete a WebACL if it still contains any * Rules.

To delete a WebACL, perform the * following steps:

  1. Update the WebACL to remove * Rules, if any. For more information, see UpdateWebACL.

    *
  2. Use GetChangeToken to get the change token that you provide * in the ChangeToken parameter of a DeleteWebACL * request.

  3. Submit a DeleteWebACL request.

  4. *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteWebACLAsync(const Model::DeleteWebACLRequest& request, const DeleteWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * XssMatchSet. You can't delete an XssMatchSet if it's still * used in any Rules or if it still contains any XssMatchTuple * objects.

If you just want to remove an XssMatchSet from a * Rule, use UpdateRule.

To permanently delete an * XssMatchSet from AWS WAF, perform the following steps:

    *
  1. Update the XssMatchSet to remove filters, if any. For more * information, see UpdateXssMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteXssMatchSet * request.

  3. Submit a DeleteXssMatchSet request.

    *

See Also:

AWS * API Reference

*/ virtual Model::DeleteXssMatchSetOutcome DeleteXssMatchSet(const Model::DeleteXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * XssMatchSet. You can't delete an XssMatchSet if it's still * used in any Rules or if it still contains any XssMatchTuple * objects.

If you just want to remove an XssMatchSet from a * Rule, use UpdateRule.

To permanently delete an * XssMatchSet from AWS WAF, perform the following steps:

    *
  1. Update the XssMatchSet to remove filters, if any. For more * information, see UpdateXssMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteXssMatchSet * request.

  3. Submit a DeleteXssMatchSet request.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteXssMatchSetOutcomeCallable DeleteXssMatchSetCallable(const Model::DeleteXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Permanently deletes an * XssMatchSet. You can't delete an XssMatchSet if it's still * used in any Rules or if it still contains any XssMatchTuple * objects.

If you just want to remove an XssMatchSet from a * Rule, use UpdateRule.

To permanently delete an * XssMatchSet from AWS WAF, perform the following steps:

    *
  1. Update the XssMatchSet to remove filters, if any. For more * information, see UpdateXssMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of a DeleteXssMatchSet * request.

  3. Submit a DeleteXssMatchSet request.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteXssMatchSetAsync(const Model::DeleteXssMatchSetRequest& request, const DeleteXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Removes a web ACL from * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateWebACLOutcome DisassociateWebACL(const Model::DisassociateWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Removes a web ACL from * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateWebACLOutcomeCallable DisassociateWebACLCallable(const Model::DisassociateWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Removes a web ACL from * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateWebACLAsync(const Model::DisassociateWebACLRequest& request, const DisassociateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * ByteMatchSet specified by ByteMatchSetId.

See * Also:

AWS * API Reference

*/ virtual Model::GetByteMatchSetOutcome GetByteMatchSet(const Model::GetByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * ByteMatchSet specified by ByteMatchSetId.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetByteMatchSetOutcomeCallable GetByteMatchSetCallable(const Model::GetByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * ByteMatchSet specified by ByteMatchSetId.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetByteMatchSetAsync(const Model::GetByteMatchSetRequest& request, const GetByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

When you want to create, * update, or delete AWS WAF objects, get a change token and include the change * token in the create, update, or delete request. Change tokens ensure that your * application doesn't submit conflicting requests to AWS WAF.

Each create, * update, or delete request must use a unique change token. If your application * submits a GetChangeToken request and then submits a second * GetChangeToken request before submitting a create, update, or * delete request, the second GetChangeToken request returns the same * value as the first GetChangeToken request.

When you use a * change token in a create, update, or delete request, the status of the change * token changes to PENDING, which indicates that AWS WAF is * propagating the change to all AWS WAF servers. Use * GetChangeTokenStatus to determine the status of your change * token.

See Also:

AWS * API Reference

*/ virtual Model::GetChangeTokenOutcome GetChangeToken(const Model::GetChangeTokenRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

When you want to create, * update, or delete AWS WAF objects, get a change token and include the change * token in the create, update, or delete request. Change tokens ensure that your * application doesn't submit conflicting requests to AWS WAF.

Each create, * update, or delete request must use a unique change token. If your application * submits a GetChangeToken request and then submits a second * GetChangeToken request before submitting a create, update, or * delete request, the second GetChangeToken request returns the same * value as the first GetChangeToken request.

When you use a * change token in a create, update, or delete request, the status of the change * token changes to PENDING, which indicates that AWS WAF is * propagating the change to all AWS WAF servers. Use * GetChangeTokenStatus to determine the status of your change * token.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetChangeTokenOutcomeCallable GetChangeTokenCallable(const Model::GetChangeTokenRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

When you want to create, * update, or delete AWS WAF objects, get a change token and include the change * token in the create, update, or delete request. Change tokens ensure that your * application doesn't submit conflicting requests to AWS WAF.

Each create, * update, or delete request must use a unique change token. If your application * submits a GetChangeToken request and then submits a second * GetChangeToken request before submitting a create, update, or * delete request, the second GetChangeToken request returns the same * value as the first GetChangeToken request.

When you use a * change token in a create, update, or delete request, the status of the change * token changes to PENDING, which indicates that AWS WAF is * propagating the change to all AWS WAF servers. Use * GetChangeTokenStatus to determine the status of your change * token.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetChangeTokenAsync(const Model::GetChangeTokenRequest& request, const GetChangeTokenResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the status of a * ChangeToken that you got by calling GetChangeToken. * ChangeTokenStatus is one of the following values:

  • * PROVISIONED: You requested the change token by calling * GetChangeToken, but you haven't used it yet in a call to create, * update, or delete an AWS WAF object.

  • PENDING: * AWS WAF is propagating the create, update, or delete request to all AWS WAF * servers.

  • INSYNC: Propagation is complete.

    *

See Also:

AWS * API Reference

*/ virtual Model::GetChangeTokenStatusOutcome GetChangeTokenStatus(const Model::GetChangeTokenStatusRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the status of a * ChangeToken that you got by calling GetChangeToken. * ChangeTokenStatus is one of the following values:

  • * PROVISIONED: You requested the change token by calling * GetChangeToken, but you haven't used it yet in a call to create, * update, or delete an AWS WAF object.

  • PENDING: * AWS WAF is propagating the create, update, or delete request to all AWS WAF * servers.

  • INSYNC: Propagation is complete.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetChangeTokenStatusOutcomeCallable GetChangeTokenStatusCallable(const Model::GetChangeTokenStatusRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the status of a * ChangeToken that you got by calling GetChangeToken. * ChangeTokenStatus is one of the following values:

  • * PROVISIONED: You requested the change token by calling * GetChangeToken, but you haven't used it yet in a call to create, * update, or delete an AWS WAF object.

  • PENDING: * AWS WAF is propagating the create, update, or delete request to all AWS WAF * servers.

  • INSYNC: Propagation is complete.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetChangeTokenStatusAsync(const Model::GetChangeTokenStatusRequest& request, const GetChangeTokenStatusResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * GeoMatchSet that is specified by * GeoMatchSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetGeoMatchSetOutcome GetGeoMatchSet(const Model::GetGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * GeoMatchSet that is specified by * GeoMatchSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetGeoMatchSetOutcomeCallable GetGeoMatchSetCallable(const Model::GetGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * GeoMatchSet that is specified by * GeoMatchSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetGeoMatchSetAsync(const Model::GetGeoMatchSetRequest& request, const GetGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IPSet * that is specified by IPSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetIPSetOutcome GetIPSet(const Model::GetIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IPSet * that is specified by IPSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetIPSetOutcomeCallable GetIPSetCallable(const Model::GetIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IPSet * that is specified by IPSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetIPSetAsync(const Model::GetIPSetRequest& request, const GetIPSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * LoggingConfiguration for the specified web ACL.

See Also:

* AWS * API Reference

*/ virtual Model::GetLoggingConfigurationOutcome GetLoggingConfiguration(const Model::GetLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * LoggingConfiguration for the specified web ACL.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetLoggingConfigurationOutcomeCallable GetLoggingConfigurationCallable(const Model::GetLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * LoggingConfiguration for the specified web ACL.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetLoggingConfigurationAsync(const Model::GetLoggingConfigurationRequest& request, const GetLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IAM policy * attached to the RuleGroup.

See Also:

AWS * API Reference

*/ virtual Model::GetPermissionPolicyOutcome GetPermissionPolicy(const Model::GetPermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IAM policy * attached to the RuleGroup.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetPermissionPolicyOutcomeCallable GetPermissionPolicyCallable(const Model::GetPermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the IAM policy * attached to the RuleGroup.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetPermissionPolicyAsync(const Model::GetPermissionPolicyRequest& request, const GetPermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RateBasedRule that is specified by the RuleId that you * included in the GetRateBasedRule request.

See Also:

* AWS * API Reference

*/ virtual Model::GetRateBasedRuleOutcome GetRateBasedRule(const Model::GetRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RateBasedRule that is specified by the RuleId that you * included in the GetRateBasedRule request.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRateBasedRuleOutcomeCallable GetRateBasedRuleCallable(const Model::GetRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RateBasedRule that is specified by the RuleId that you * included in the GetRateBasedRule request.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRateBasedRuleAsync(const Model::GetRateBasedRuleRequest& request, const GetRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of IP * addresses currently being blocked by the RateBasedRule that is specified * by the RuleId. The maximum number of managed keys that will be * blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the * 10,000 addresses with the highest rates will be blocked.

See * Also:

AWS * API Reference

*/ virtual Model::GetRateBasedRuleManagedKeysOutcome GetRateBasedRuleManagedKeys(const Model::GetRateBasedRuleManagedKeysRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of IP * addresses currently being blocked by the RateBasedRule that is specified * by the RuleId. The maximum number of managed keys that will be * blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the * 10,000 addresses with the highest rates will be blocked.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRateBasedRuleManagedKeysOutcomeCallable GetRateBasedRuleManagedKeysCallable(const Model::GetRateBasedRuleManagedKeysRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of IP * addresses currently being blocked by the RateBasedRule that is specified * by the RuleId. The maximum number of managed keys that will be * blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the * 10,000 addresses with the highest rates will be blocked.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRateBasedRuleManagedKeysAsync(const Model::GetRateBasedRuleManagedKeysRequest& request, const GetRateBasedRuleManagedKeysResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexMatchSet specified by RegexMatchSetId.

See * Also:

AWS * API Reference

*/ virtual Model::GetRegexMatchSetOutcome GetRegexMatchSet(const Model::GetRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexMatchSet specified by RegexMatchSetId.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRegexMatchSetOutcomeCallable GetRegexMatchSetCallable(const Model::GetRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexMatchSet specified by RegexMatchSetId.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRegexMatchSetAsync(const Model::GetRegexMatchSetRequest& request, const GetRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexPatternSet specified by * RegexPatternSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetRegexPatternSetOutcome GetRegexPatternSet(const Model::GetRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexPatternSet specified by * RegexPatternSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRegexPatternSetOutcomeCallable GetRegexPatternSetCallable(const Model::GetRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RegexPatternSet specified by * RegexPatternSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRegexPatternSetAsync(const Model::GetRegexPatternSetRequest& request, const GetRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the Rule * that is specified by the RuleId that you included in the * GetRule request.

See Also:

AWS * API Reference

*/ virtual Model::GetRuleOutcome GetRule(const Model::GetRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the Rule * that is specified by the RuleId that you included in the * GetRule request.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRuleOutcomeCallable GetRuleCallable(const Model::GetRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the Rule * that is specified by the RuleId that you included in the * GetRule request.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRuleAsync(const Model::GetRuleRequest& request, const GetRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RuleGroup that is specified by the RuleGroupId that you * included in the GetRuleGroup request.

To view the rules in a * rule group, use ListActivatedRulesInRuleGroup.

See Also:

* AWS * API Reference

*/ virtual Model::GetRuleGroupOutcome GetRuleGroup(const Model::GetRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RuleGroup that is specified by the RuleGroupId that you * included in the GetRuleGroup request.

To view the rules in a * rule group, use ListActivatedRulesInRuleGroup.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetRuleGroupOutcomeCallable GetRuleGroupCallable(const Model::GetRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * RuleGroup that is specified by the RuleGroupId that you * included in the GetRuleGroup request.

To view the rules in a * rule group, use ListActivatedRulesInRuleGroup.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetRuleGroupAsync(const Model::GetRuleGroupRequest& request, const GetRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

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

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

See Also:

AWS * API Reference

*/ virtual Model::GetSampledRequestsOutcome GetSampledRequests(const Model::GetSampledRequestsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

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

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

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSampledRequestsOutcomeCallable GetSampledRequestsCallable(const Model::GetSampledRequestsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

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

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

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSampledRequestsAsync(const Model::GetSampledRequestsRequest& request, const GetSampledRequestsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SizeConstraintSet specified by * SizeConstraintSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetSizeConstraintSetOutcome GetSizeConstraintSet(const Model::GetSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SizeConstraintSet specified by * SizeConstraintSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSizeConstraintSetOutcomeCallable GetSizeConstraintSetCallable(const Model::GetSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SizeConstraintSet specified by * SizeConstraintSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSizeConstraintSetAsync(const Model::GetSizeConstraintSetRequest& request, const GetSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SqlInjectionMatchSet that is specified by * SqlInjectionMatchSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetSqlInjectionMatchSetOutcome GetSqlInjectionMatchSet(const Model::GetSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SqlInjectionMatchSet that is specified by * SqlInjectionMatchSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetSqlInjectionMatchSetOutcomeCallable GetSqlInjectionMatchSetCallable(const Model::GetSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * SqlInjectionMatchSet that is specified by * SqlInjectionMatchSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetSqlInjectionMatchSetAsync(const Model::GetSqlInjectionMatchSetRequest& request, const GetSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the WebACL * that is specified by WebACLId.

See Also:

AWS * API Reference

*/ virtual Model::GetWebACLOutcome GetWebACL(const Model::GetWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the WebACL * that is specified by WebACLId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetWebACLOutcomeCallable GetWebACLCallable(const Model::GetWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the WebACL * that is specified by WebACLId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetWebACLAsync(const Model::GetWebACLRequest& request, const GetWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the web ACL for * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

*/ virtual Model::GetWebACLForResourceOutcome GetWebACLForResource(const Model::GetWebACLForResourceRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the web ACL for * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetWebACLForResourceOutcomeCallable GetWebACLForResourceCallable(const Model::GetWebACLForResourceRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the web ACL for * the specified resource, either an application load balancer or Amazon API * Gateway stage.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetWebACLForResourceAsync(const Model::GetWebACLForResourceRequest& request, const GetWebACLForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * XssMatchSet that is specified by * XssMatchSetId.

See Also:

AWS * API Reference

*/ virtual Model::GetXssMatchSetOutcome GetXssMatchSet(const Model::GetXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * XssMatchSet that is specified by * XssMatchSetId.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::GetXssMatchSetOutcomeCallable GetXssMatchSetCallable(const Model::GetXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns the * XssMatchSet that is specified by * XssMatchSetId.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void GetXssMatchSetAsync(const Model::GetXssMatchSetRequest& request, const GetXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ActivatedRule objects.

See Also:

AWS * API Reference

*/ virtual Model::ListActivatedRulesInRuleGroupOutcome ListActivatedRulesInRuleGroup(const Model::ListActivatedRulesInRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ActivatedRule objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListActivatedRulesInRuleGroupOutcomeCallable ListActivatedRulesInRuleGroupCallable(const Model::ListActivatedRulesInRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ActivatedRule objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListActivatedRulesInRuleGroupAsync(const Model::ListActivatedRulesInRuleGroupRequest& request, const ListActivatedRulesInRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ByteMatchSetSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListByteMatchSetsOutcome ListByteMatchSets(const Model::ListByteMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ByteMatchSetSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListByteMatchSetsOutcomeCallable ListByteMatchSetsCallable(const Model::ListByteMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * ByteMatchSetSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListByteMatchSetsAsync(const Model::ListByteMatchSetsRequest& request, const ListByteMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * GeoMatchSetSummary objects in the response.

See Also:

AWS * API Reference

*/ virtual Model::ListGeoMatchSetsOutcome ListGeoMatchSets(const Model::ListGeoMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * GeoMatchSetSummary objects in the response.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListGeoMatchSetsOutcomeCallable ListGeoMatchSetsCallable(const Model::ListGeoMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * GeoMatchSetSummary objects in the response.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListGeoMatchSetsAsync(const Model::ListGeoMatchSetsRequest& request, const ListGeoMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * IPSetSummary objects in the response.

See Also:

AWS * API Reference

*/ virtual Model::ListIPSetsOutcome ListIPSets(const Model::ListIPSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * IPSetSummary objects in the response.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListIPSetsOutcomeCallable ListIPSetsCallable(const Model::ListIPSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * IPSetSummary objects in the response.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListIPSetsAsync(const Model::ListIPSetsRequest& request, const ListIPSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * LoggingConfiguration objects.

See Also:

AWS * API Reference

*/ virtual Model::ListLoggingConfigurationsOutcome ListLoggingConfigurations(const Model::ListLoggingConfigurationsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * LoggingConfiguration objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListLoggingConfigurationsOutcomeCallable ListLoggingConfigurationsCallable(const Model::ListLoggingConfigurationsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * LoggingConfiguration objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListLoggingConfigurationsAsync(const Model::ListLoggingConfigurationsRequest& request, const ListLoggingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListRateBasedRulesOutcome ListRateBasedRules(const Model::ListRateBasedRulesRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRateBasedRulesOutcomeCallable ListRateBasedRulesCallable(const Model::ListRateBasedRulesRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRateBasedRulesAsync(const Model::ListRateBasedRulesRequest& request, const ListRateBasedRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexMatchSetSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListRegexMatchSetsOutcome ListRegexMatchSets(const Model::ListRegexMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexMatchSetSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRegexMatchSetsOutcomeCallable ListRegexMatchSetsCallable(const Model::ListRegexMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexMatchSetSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRegexMatchSetsAsync(const Model::ListRegexMatchSetsRequest& request, const ListRegexMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexPatternSetSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListRegexPatternSetsOutcome ListRegexPatternSets(const Model::ListRegexPatternSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexPatternSetSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRegexPatternSetsOutcomeCallable ListRegexPatternSetsCallable(const Model::ListRegexPatternSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RegexPatternSetSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRegexPatternSetsAsync(const Model::ListRegexPatternSetsRequest& request, const ListRegexPatternSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * resources associated with the specified web ACL.

See Also:

AWS * API Reference

*/ virtual Model::ListResourcesForWebACLOutcome ListResourcesForWebACL(const Model::ListResourcesForWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * resources associated with the specified web ACL.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListResourcesForWebACLOutcomeCallable ListResourcesForWebACLCallable(const Model::ListResourcesForWebACLRequest& request) const; /** *

This is AWS WAF Classic Regional documentation. For more * information, see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * resources associated with the specified web ACL.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListResourcesForWebACLAsync(const Model::ListResourcesForWebACLRequest& request, const ListResourcesForWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects.

See Also:

AWS * API Reference

*/ virtual Model::ListRuleGroupsOutcome ListRuleGroups(const Model::ListRuleGroupsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRuleGroupsOutcomeCallable ListRuleGroupsCallable(const Model::ListRuleGroupsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRuleGroupsAsync(const Model::ListRuleGroupsRequest& request, const ListRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListRulesOutcome ListRules(const Model::ListRulesRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListRulesOutcomeCallable ListRulesCallable(const Model::ListRulesRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListRulesAsync(const Model::ListRulesRequest& request, const ListRulesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SizeConstraintSetSummary objects.

See Also:

AWS * API Reference

*/ virtual Model::ListSizeConstraintSetsOutcome ListSizeConstraintSets(const Model::ListSizeConstraintSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SizeConstraintSetSummary objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSizeConstraintSetsOutcomeCallable ListSizeConstraintSetsCallable(const Model::ListSizeConstraintSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SizeConstraintSetSummary objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSizeConstraintSetsAsync(const Model::ListSizeConstraintSetsRequest& request, const ListSizeConstraintSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SqlInjectionMatchSet objects.

See Also:

AWS * API Reference

*/ virtual Model::ListSqlInjectionMatchSetsOutcome ListSqlInjectionMatchSets(const Model::ListSqlInjectionMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SqlInjectionMatchSet objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSqlInjectionMatchSetsOutcomeCallable ListSqlInjectionMatchSetsCallable(const Model::ListSqlInjectionMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * SqlInjectionMatchSet objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSqlInjectionMatchSetsAsync(const Model::ListSqlInjectionMatchSetsRequest& request, const ListSqlInjectionMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects that you are subscribed to.

See Also:

* AWS * API Reference

*/ virtual Model::ListSubscribedRuleGroupsOutcome ListSubscribedRuleGroups(const Model::ListSubscribedRuleGroupsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects that you are subscribed to.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListSubscribedRuleGroupsOutcomeCallable ListSubscribedRuleGroupsCallable(const Model::ListSubscribedRuleGroupsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * RuleGroup objects that you are subscribed to.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListSubscribedRuleGroupsAsync(const Model::ListSubscribedRuleGroupsRequest& request, const ListSubscribedRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Retrieves the tags * associated with the specified AWS resource. Tags are key:value pairs that you * can use to categorize and manage your resources, for purposes like billing. For * example, you might set the tag key to "customer" and the value to the customer * name or ID. You can specify one or more tags to add to each AWS resource, up to * 50 tags for a resource.

Tagging is only available through the API, SDKs, * and CLI. You can't manage or view tags through the AWS WAF Classic console. You * can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, * rule groups, and rules.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Retrieves the tags * associated with the specified AWS resource. Tags are key:value pairs that you * can use to categorize and manage your resources, for purposes like billing. For * example, you might set the tag key to "customer" and the value to the customer * name or ID. You can specify one or more tags to add to each AWS resource, up to * 50 tags for a resource.

Tagging is only available through the API, SDKs, * and CLI. You can't manage or view tags through the AWS WAF Classic console. You * can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, * rule groups, and rules.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Retrieves the tags * associated with the specified AWS resource. Tags are key:value pairs that you * can use to categorize and manage your resources, for purposes like billing. For * example, you might set the tag key to "customer" and the value to the customer * name or ID. You can specify one or more tags to add to each AWS resource, up to * 50 tags for a resource.

Tagging is only available through the API, SDKs, * and CLI. You can't manage or view tags through the AWS WAF Classic console. You * can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, * rule groups, and rules.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * WebACLSummary objects in the response.

See Also:

AWS * API Reference

*/ virtual Model::ListWebACLsOutcome ListWebACLs(const Model::ListWebACLsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * WebACLSummary objects in the response.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListWebACLsOutcomeCallable ListWebACLsCallable(const Model::ListWebACLsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * WebACLSummary objects in the response.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListWebACLsAsync(const Model::ListWebACLsRequest& request, const ListWebACLsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * XssMatchSet objects.

See Also:

AWS * API Reference

*/ virtual Model::ListXssMatchSetsOutcome ListXssMatchSets(const Model::ListXssMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * XssMatchSet objects.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListXssMatchSetsOutcomeCallable ListXssMatchSetsCallable(const Model::ListXssMatchSetsRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Returns an array of * XssMatchSet objects.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListXssMatchSetsAsync(const Model::ListXssMatchSetsRequest& request, const ListXssMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a * LoggingConfiguration with a specified web ACL.

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

  1. Create an Amazon Kinesis Data Firehose.

    Create * the data firehose with a PUT source and in the region that you are operating. * However, if you are capturing logs for Amazon CloudFront, always create the * firehose in US East (N. Virginia).

    Do not create the data * firehose using a Kinesis stream as your source.

  2. *
  3. Associate that firehose to your web ACL using a * PutLoggingConfiguration request.

When you * successfully enable logging using a PutLoggingConfiguration * request, AWS WAF will create a service linked role with the necessary * permissions to write logs to the Amazon Kinesis Data Firehose. For more * information, see Logging * Web ACL Traffic Information in the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::PutLoggingConfigurationOutcome PutLoggingConfiguration(const Model::PutLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a * LoggingConfiguration with a specified web ACL.

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

  1. Create an Amazon Kinesis Data Firehose.

    Create * the data firehose with a PUT source and in the region that you are operating. * However, if you are capturing logs for Amazon CloudFront, always create the * firehose in US East (N. Virginia).

    Do not create the data * firehose using a Kinesis stream as your source.

  2. *
  3. Associate that firehose to your web ACL using a * PutLoggingConfiguration request.

When you * successfully enable logging using a PutLoggingConfiguration * request, AWS WAF will create a service linked role with the necessary * permissions to write logs to the Amazon Kinesis Data Firehose. For more * information, see Logging * Web ACL Traffic Information in the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutLoggingConfigurationOutcomeCallable PutLoggingConfigurationCallable(const Model::PutLoggingConfigurationRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates a * LoggingConfiguration with a specified web ACL.

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

  1. Create an Amazon Kinesis Data Firehose.

    Create * the data firehose with a PUT source and in the region that you are operating. * However, if you are capturing logs for Amazon CloudFront, always create the * firehose in US East (N. Virginia).

    Do not create the data * firehose using a Kinesis stream as your source.

  2. *
  3. Associate that firehose to your web ACL using a * PutLoggingConfiguration request.

When you * successfully enable logging using a PutLoggingConfiguration * request, AWS WAF will create a service linked role with the necessary * permissions to write logs to the Amazon Kinesis Data Firehose. For more * information, see Logging * Web ACL Traffic Information in the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutLoggingConfigurationAsync(const Model::PutLoggingConfigurationRequest& request, const PutLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Attaches an IAM policy to * the specified resource. The only supported use for this action is to share a * RuleGroup across accounts.

The PutPermissionPolicy is * subject to the following restrictions:

  • You can attach only one * policy with each PutPermissionPolicy request.

  • The * policy must include an Effect, Action and * Principal.

  • Effect must specify * Allow.

  • The Action in the policy must * be waf:UpdateWebACL, waf-regional:UpdateWebACL, * waf:GetRuleGroup and waf-regional:GetRuleGroup . Any * extra or wildcard actions in the policy will be rejected.

  • The * policy cannot include a Resource parameter.

  • The * ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must * exist in the same region.

  • The user making the request must be * the owner of the RuleGroup.

  • Your policy must be composed using * IAM Policy version 2012-10-17.

For more information, see IAM * Policies.

An example of a valid policy parameter is shown in the * Examples section below.

See Also:

AWS * API Reference

*/ virtual Model::PutPermissionPolicyOutcome PutPermissionPolicy(const Model::PutPermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Attaches an IAM policy to * the specified resource. The only supported use for this action is to share a * RuleGroup across accounts.

The PutPermissionPolicy is * subject to the following restrictions:

  • You can attach only one * policy with each PutPermissionPolicy request.

  • The * policy must include an Effect, Action and * Principal.

  • Effect must specify * Allow.

  • The Action in the policy must * be waf:UpdateWebACL, waf-regional:UpdateWebACL, * waf:GetRuleGroup and waf-regional:GetRuleGroup . Any * extra or wildcard actions in the policy will be rejected.

  • The * policy cannot include a Resource parameter.

  • The * ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must * exist in the same region.

  • The user making the request must be * the owner of the RuleGroup.

  • Your policy must be composed using * IAM Policy version 2012-10-17.

For more information, see IAM * Policies.

An example of a valid policy parameter is shown in the * Examples section below.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutPermissionPolicyOutcomeCallable PutPermissionPolicyCallable(const Model::PutPermissionPolicyRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Attaches an IAM policy to * the specified resource. The only supported use for this action is to share a * RuleGroup across accounts.

The PutPermissionPolicy is * subject to the following restrictions:

  • You can attach only one * policy with each PutPermissionPolicy request.

  • The * policy must include an Effect, Action and * Principal.

  • Effect must specify * Allow.

  • The Action in the policy must * be waf:UpdateWebACL, waf-regional:UpdateWebACL, * waf:GetRuleGroup and waf-regional:GetRuleGroup . Any * extra or wildcard actions in the policy will be rejected.

  • The * policy cannot include a Resource parameter.

  • The * ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must * exist in the same region.

  • The user making the request must be * the owner of the RuleGroup.

  • Your policy must be composed using * IAM Policy version 2012-10-17.

For more information, see IAM * Policies.

An example of a valid policy parameter is shown in the * Examples section below.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutPermissionPolicyAsync(const Model::PutPermissionPolicyRequest& request, const PutPermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates tags with the * specified AWS resource. Tags are key:value pairs that you can use to categorize * and manage your resources, for purposes like billing. For example, you might set * the tag key to "customer" and the value to the customer name or ID. You can * specify one or more tags to add to each AWS resource, up to 50 tags for a * resource.

Tagging is only available through the API, SDKs, and CLI. You * can't manage or view tags through the AWS WAF Classic console. You can use this * action to tag the AWS resources that you manage through AWS WAF Classic: web * ACLs, rule groups, and rules.

See Also:

AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates tags with the * specified AWS resource. Tags are key:value pairs that you can use to categorize * and manage your resources, for purposes like billing. For example, you might set * the tag key to "customer" and the value to the customer name or ID. You can * specify one or more tags to add to each AWS resource, up to 50 tags for a * resource.

Tagging is only available through the API, SDKs, and CLI. You * can't manage or view tags through the AWS WAF Classic console. You can use this * action to tag the AWS resources that you manage through AWS WAF Classic: web * ACLs, rule groups, and rules.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Associates tags with the * specified AWS resource. Tags are key:value pairs that you can use to categorize * and manage your resources, for purposes like billing. For example, you might set * the tag key to "customer" and the value to the customer name or ID. You can * specify one or more tags to add to each AWS resource, up to 50 tags for a * resource.

Tagging is only available through the API, SDKs, and CLI. You * can't manage or view tags through the AWS WAF Classic console. You can use this * action to tag the AWS resources that you manage through AWS WAF Classic: web * ACLs, rule groups, and rules.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

See Also:

* AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ByteMatchTuple objects (filters) in a ByteMatchSet. For each * ByteMatchTuple object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a ByteMatchSetUpdate object, you delete the existing object * and add a new one.

  • The part of a web request that you want AWS * WAF to inspect, such as a query string or the value of the * User-Agent header.

  • The bytes (typically a string * that corresponds with ASCII characters) that you want AWS WAF to look for. For * more information, including how you specify the values for the AWS WAF API and * the AWS CLI or SDKs, see TargetString in the ByteMatchTuple * data type.

  • Where to look, such as at the beginning or the end * of a query string.

  • Whether to perform any conversions on the * request, such as converting it to lowercase, before inspecting it for the * specified string.

For example, you can add a * ByteMatchSetUpdate object that matches web requests in which * User-Agent headers contain the string BadBot. You can * then configure AWS WAF to block those requests.

To create and configure a * ByteMatchSet, perform the following steps:

  1. Create * a ByteMatchSet. For more information, see * CreateByteMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateByteMatchSet request.

  3. Submit an * UpdateByteMatchSet request to specify the part of the request that * you want AWS WAF to inspect (for example, the header or the URI) and the value * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateByteMatchSetOutcome UpdateByteMatchSet(const Model::UpdateByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ByteMatchTuple objects (filters) in a ByteMatchSet. For each * ByteMatchTuple object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a ByteMatchSetUpdate object, you delete the existing object * and add a new one.

  • The part of a web request that you want AWS * WAF to inspect, such as a query string or the value of the * User-Agent header.

  • The bytes (typically a string * that corresponds with ASCII characters) that you want AWS WAF to look for. For * more information, including how you specify the values for the AWS WAF API and * the AWS CLI or SDKs, see TargetString in the ByteMatchTuple * data type.

  • Where to look, such as at the beginning or the end * of a query string.

  • Whether to perform any conversions on the * request, such as converting it to lowercase, before inspecting it for the * specified string.

For example, you can add a * ByteMatchSetUpdate object that matches web requests in which * User-Agent headers contain the string BadBot. You can * then configure AWS WAF to block those requests.

To create and configure a * ByteMatchSet, perform the following steps:

  1. Create * a ByteMatchSet. For more information, see * CreateByteMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateByteMatchSet request.

  3. Submit an * UpdateByteMatchSet request to specify the part of the request that * you want AWS WAF to inspect (for example, the header or the URI) and the value * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateByteMatchSetOutcomeCallable UpdateByteMatchSetCallable(const Model::UpdateByteMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ByteMatchTuple objects (filters) in a ByteMatchSet. For each * ByteMatchTuple object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a ByteMatchSetUpdate object, you delete the existing object * and add a new one.

  • The part of a web request that you want AWS * WAF to inspect, such as a query string or the value of the * User-Agent header.

  • The bytes (typically a string * that corresponds with ASCII characters) that you want AWS WAF to look for. For * more information, including how you specify the values for the AWS WAF API and * the AWS CLI or SDKs, see TargetString in the ByteMatchTuple * data type.

  • Where to look, such as at the beginning or the end * of a query string.

  • Whether to perform any conversions on the * request, such as converting it to lowercase, before inspecting it for the * specified string.

For example, you can add a * ByteMatchSetUpdate object that matches web requests in which * User-Agent headers contain the string BadBot. You can * then configure AWS WAF to block those requests.

To create and configure a * ByteMatchSet, perform the following steps:

  1. Create * a ByteMatchSet. For more information, see * CreateByteMatchSet.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateByteMatchSet request.

  3. Submit an * UpdateByteMatchSet request to specify the part of the request that * you want AWS WAF to inspect (for example, the header or the URI) and the value * that you want AWS WAF to watch for.

For more information * about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateByteMatchSetAsync(const Model::UpdateByteMatchSetRequest& request, const UpdateByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * GeoMatchConstraint objects in an GeoMatchSet. For each * GeoMatchConstraint object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change an GeoMatchConstraint object, you delete the existing * object and add a new one.

  • The Type. The only * valid value for Type is Country.

  • The * Value, which is a two character code for the country to add to the * GeoMatchConstraint object. Valid codes are listed in * GeoMatchConstraint$Value.

To create and configure an * GeoMatchSet, perform the following steps:

  1. Submit a * CreateGeoMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateGeoMatchSet request.

  3. Submit an * UpdateGeoMatchSet request to specify the country that you want AWS * WAF to watch for.

When you update an * GeoMatchSet, you specify the country that you want to add and/or * the country that you want to delete. If you want to change a country, you delete * the existing country and add the new one.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateGeoMatchSetOutcome UpdateGeoMatchSet(const Model::UpdateGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * GeoMatchConstraint objects in an GeoMatchSet. For each * GeoMatchConstraint object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change an GeoMatchConstraint object, you delete the existing * object and add a new one.

  • The Type. The only * valid value for Type is Country.

  • The * Value, which is a two character code for the country to add to the * GeoMatchConstraint object. Valid codes are listed in * GeoMatchConstraint$Value.

To create and configure an * GeoMatchSet, perform the following steps:

  1. Submit a * CreateGeoMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateGeoMatchSet request.

  3. Submit an * UpdateGeoMatchSet request to specify the country that you want AWS * WAF to watch for.

When you update an * GeoMatchSet, you specify the country that you want to add and/or * the country that you want to delete. If you want to change a country, you delete * the existing country and add the new one.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateGeoMatchSetOutcomeCallable UpdateGeoMatchSetCallable(const Model::UpdateGeoMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * GeoMatchConstraint objects in an GeoMatchSet. For each * GeoMatchConstraint object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change an GeoMatchConstraint object, you delete the existing * object and add a new one.

  • The Type. The only * valid value for Type is Country.

  • The * Value, which is a two character code for the country to add to the * GeoMatchConstraint object. Valid codes are listed in * GeoMatchConstraint$Value.

To create and configure an * GeoMatchSet, perform the following steps:

  1. Submit a * CreateGeoMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateGeoMatchSet request.

  3. Submit an * UpdateGeoMatchSet request to specify the country that you want AWS * WAF to watch for.

When you update an * GeoMatchSet, you specify the country that you want to add and/or * the country that you want to delete. If you want to change a country, you delete * the existing country and add the new one.

For more information about how * to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateGeoMatchSetAsync(const Model::UpdateGeoMatchSetRequest& request, const UpdateGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * IPSetDescriptor objects in an IPSet. For each * IPSetDescriptor object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change an IPSetDescriptor object, you delete the existing object * and add a new one.

  • The IP address version, IPv4 * or IPv6.

  • The IP address in CIDR notation, for * example, 192.0.2.0/24 (for the range of IP addresses from * 192.0.2.0 to 192.0.2.255) or * 192.0.2.44/32 (for the individual IP address * 192.0.2.44).

AWS WAF supports IPv4 address * ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address * ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR * notation, see the Wikipedia entry Classless * Inter-Domain Routing.

IPv6 addresses can be represented using any of * the following formats:

  • *

    1111:0000:0000:0000:0000:0000:0000:0111/128

  • *

    1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • *

    1111::111/128

You use an IPSet to specify * which web requests you want to allow or block based on the IP addresses that the * requests originated from. For example, if you're receiving a lot of requests * from one or a small number of IP addresses and you want to block the requests, * you can create an IPSet that specifies those IP addresses, and then * configure AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Submit a * CreateIPSet request.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateIPSet request.

  3. Submit an * UpdateIPSet request to specify the IP addresses that you want AWS * WAF to watch for.

When you update an IPSet, you * specify the IP addresses that you want to add and/or the IP addresses that you * want to delete. If you want to change an IP address, you delete the existing IP * address and add the new one.

You can insert a maximum of 1000 addresses * in a single request.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateIPSetOutcome UpdateIPSet(const Model::UpdateIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * IPSetDescriptor objects in an IPSet. For each * IPSetDescriptor object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change an IPSetDescriptor object, you delete the existing object * and add a new one.

  • The IP address version, IPv4 * or IPv6.

  • The IP address in CIDR notation, for * example, 192.0.2.0/24 (for the range of IP addresses from * 192.0.2.0 to 192.0.2.255) or * 192.0.2.44/32 (for the individual IP address * 192.0.2.44).

AWS WAF supports IPv4 address * ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address * ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR * notation, see the Wikipedia entry Classless * Inter-Domain Routing.

IPv6 addresses can be represented using any of * the following formats:

  • *

    1111:0000:0000:0000:0000:0000:0000:0111/128

  • *

    1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • *

    1111::111/128

You use an IPSet to specify * which web requests you want to allow or block based on the IP addresses that the * requests originated from. For example, if you're receiving a lot of requests * from one or a small number of IP addresses and you want to block the requests, * you can create an IPSet that specifies those IP addresses, and then * configure AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Submit a * CreateIPSet request.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateIPSet request.

  3. Submit an * UpdateIPSet request to specify the IP addresses that you want AWS * WAF to watch for.

When you update an IPSet, you * specify the IP addresses that you want to add and/or the IP addresses that you * want to delete. If you want to change an IP address, you delete the existing IP * address and add the new one.

You can insert a maximum of 1000 addresses * in a single request.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateIPSetOutcomeCallable UpdateIPSetCallable(const Model::UpdateIPSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * IPSetDescriptor objects in an IPSet. For each * IPSetDescriptor object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change an IPSetDescriptor object, you delete the existing object * and add a new one.

  • The IP address version, IPv4 * or IPv6.

  • The IP address in CIDR notation, for * example, 192.0.2.0/24 (for the range of IP addresses from * 192.0.2.0 to 192.0.2.255) or * 192.0.2.44/32 (for the individual IP address * 192.0.2.44).

AWS WAF supports IPv4 address * ranges: /8 and any range between /16 through /32. AWS WAF supports IPv6 address * ranges: /24, /32, /48, /56, /64, and /128. For more information about CIDR * notation, see the Wikipedia entry Classless * Inter-Domain Routing.

IPv6 addresses can be represented using any of * the following formats:

  • *

    1111:0000:0000:0000:0000:0000:0000:0111/128

  • *

    1111:0:0:0:0:0:0:0111/128

  • 1111::0111/128

  • *

    1111::111/128

You use an IPSet to specify * which web requests you want to allow or block based on the IP addresses that the * requests originated from. For example, if you're receiving a lot of requests * from one or a small number of IP addresses and you want to block the requests, * you can create an IPSet that specifies those IP addresses, and then * configure AWS WAF to block the requests.

To create and configure an * IPSet, perform the following steps:

  1. Submit a * CreateIPSet request.

  2. Use GetChangeToken to get * the change token that you provide in the ChangeToken parameter of * an UpdateIPSet request.

  3. Submit an * UpdateIPSet request to specify the IP addresses that you want AWS * WAF to watch for.

When you update an IPSet, you * specify the IP addresses that you want to add and/or the IP addresses that you * want to delete. If you want to change an IP address, you delete the existing IP * address and add the new one.

You can insert a maximum of 1000 addresses * in a single request.

For more information about how to use the AWS WAF * API to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateIPSetAsync(const Model::UpdateIPSetRequest& request, const UpdateIPSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a rule and updates the RateLimit in the * rule.

Each Predicate object identifies a predicate, such as * a ByteMatchSet or an IPSet, that specifies the web requests that * you want to block or count. The RateLimit specifies the number of * requests every five minutes that triggers the rule.

If you add more than * one predicate to a RateBasedRule, a request must match all the * predicates and exceed the RateLimit to be counted or blocked. For * example, suppose you add the following to a RateBasedRule:

    *
  • An IPSet that matches the IP address * 192.0.2.44/32

  • A ByteMatchSet that * matches BadBot in the User-Agent header

  • *

Further, you specify a RateLimit of 1,000.

You then * add the RateBasedRule to a WebACL and specify that you * want to block requests that satisfy the rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot. Further, * requests that match these two conditions much be received at a rate of more than * 1,000 every five minutes. If the rate drops below this limit, AWS WAF no longer * blocks the requests.

As a second example, suppose you want to limit * requests to a particular page on your site. To do this, you could add the * following to a RateBasedRule:

  • A * ByteMatchSet with FieldToMatch of URI *

  • A PositionalConstraint of * STARTS_WITH

  • A TargetString of * login

Further, you specify a * RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateRateBasedRuleOutcome UpdateRateBasedRule(const Model::UpdateRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a rule and updates the RateLimit in the * rule.

Each Predicate object identifies a predicate, such as * a ByteMatchSet or an IPSet, that specifies the web requests that * you want to block or count. The RateLimit specifies the number of * requests every five minutes that triggers the rule.

If you add more than * one predicate to a RateBasedRule, a request must match all the * predicates and exceed the RateLimit to be counted or blocked. For * example, suppose you add the following to a RateBasedRule:

    *
  • An IPSet that matches the IP address * 192.0.2.44/32

  • A ByteMatchSet that * matches BadBot in the User-Agent header

  • *

Further, you specify a RateLimit of 1,000.

You then * add the RateBasedRule to a WebACL and specify that you * want to block requests that satisfy the rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot. Further, * requests that match these two conditions much be received at a rate of more than * 1,000 every five minutes. If the rate drops below this limit, AWS WAF no longer * blocks the requests.

As a second example, suppose you want to limit * requests to a particular page on your site. To do this, you could add the * following to a RateBasedRule:

  • A * ByteMatchSet with FieldToMatch of URI *

  • A PositionalConstraint of * STARTS_WITH

  • A TargetString of * login

Further, you specify a * RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRateBasedRuleOutcomeCallable UpdateRateBasedRuleCallable(const Model::UpdateRateBasedRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a rule and updates the RateLimit in the * rule.

Each Predicate object identifies a predicate, such as * a ByteMatchSet or an IPSet, that specifies the web requests that * you want to block or count. The RateLimit specifies the number of * requests every five minutes that triggers the rule.

If you add more than * one predicate to a RateBasedRule, a request must match all the * predicates and exceed the RateLimit to be counted or blocked. For * example, suppose you add the following to a RateBasedRule:

    *
  • An IPSet that matches the IP address * 192.0.2.44/32

  • A ByteMatchSet that * matches BadBot in the User-Agent header

  • *

Further, you specify a RateLimit of 1,000.

You then * add the RateBasedRule to a WebACL and specify that you * want to block requests that satisfy the rule. For a request to be blocked, it * must come from the IP address 192.0.2.44 and the User-Agent * header in the request must contain the value BadBot. Further, * requests that match these two conditions much be received at a rate of more than * 1,000 every five minutes. If the rate drops below this limit, AWS WAF no longer * blocks the requests.

As a second example, suppose you want to limit * requests to a particular page on your site. To do this, you could add the * following to a RateBasedRule:

  • A * ByteMatchSet with FieldToMatch of URI *

  • A PositionalConstraint of * STARTS_WITH

  • A TargetString of * login

Further, you specify a * RateLimit of 1,000.

By adding this * RateBasedRule to a WebACL, you could limit requests to * your login page without affecting the rest of your site.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRateBasedRuleAsync(const Model::UpdateRateBasedRuleRequest& request, const UpdateRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexMatchTuple objects (filters) in a RegexMatchSet. For each * RegexMatchSetUpdate object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change a RegexMatchSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to inspectupdate, such as a query string or the value of the * User-Agent header.

  • The identifier of the pattern * (a regular expression) that you want AWS WAF to look for. For more information, * see RegexPatternSet.

  • Whether to perform any * conversions on the request, such as converting it to lowercase, before * inspecting it for the specified string.

For example, you can * create a RegexPatternSet that matches any requests with * User-Agent headers that contain the string * B[a@]dB[o0]t. You can then configure AWS WAF to reject those * requests.

To create and configure a RegexMatchSet, perform * the following steps:

  1. Create a RegexMatchSet. For * more information, see CreateRegexMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexMatchSet * request.

  3. Submit an UpdateRegexMatchSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the identifier of the RegexPatternSet * that contain the regular expression patters you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateRegexMatchSetOutcome UpdateRegexMatchSet(const Model::UpdateRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexMatchTuple objects (filters) in a RegexMatchSet. For each * RegexMatchSetUpdate object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change a RegexMatchSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to inspectupdate, such as a query string or the value of the * User-Agent header.

  • The identifier of the pattern * (a regular expression) that you want AWS WAF to look for. For more information, * see RegexPatternSet.

  • Whether to perform any * conversions on the request, such as converting it to lowercase, before * inspecting it for the specified string.

For example, you can * create a RegexPatternSet that matches any requests with * User-Agent headers that contain the string * B[a@]dB[o0]t. You can then configure AWS WAF to reject those * requests.

To create and configure a RegexMatchSet, perform * the following steps:

  1. Create a RegexMatchSet. For * more information, see CreateRegexMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexMatchSet * request.

  3. Submit an UpdateRegexMatchSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the identifier of the RegexPatternSet * that contain the regular expression patters you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRegexMatchSetOutcomeCallable UpdateRegexMatchSetCallable(const Model::UpdateRegexMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexMatchTuple objects (filters) in a RegexMatchSet. For each * RegexMatchSetUpdate object, you specify the following values:

*
  • Whether to insert or delete the object from the array. If you want * to change a RegexMatchSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to inspectupdate, such as a query string or the value of the * User-Agent header.

  • The identifier of the pattern * (a regular expression) that you want AWS WAF to look for. For more information, * see RegexPatternSet.

  • Whether to perform any * conversions on the request, such as converting it to lowercase, before * inspecting it for the specified string.

For example, you can * create a RegexPatternSet that matches any requests with * User-Agent headers that contain the string * B[a@]dB[o0]t. You can then configure AWS WAF to reject those * requests.

To create and configure a RegexMatchSet, perform * the following steps:

  1. Create a RegexMatchSet. For * more information, see CreateRegexMatchSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexMatchSet * request.

  3. Submit an UpdateRegexMatchSet request to * specify the part of the request that you want AWS WAF to inspect (for example, * the header or the URI) and the identifier of the RegexPatternSet * that contain the regular expression patters you want AWS WAF to watch for.

    *

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRegexMatchSetAsync(const Model::UpdateRegexMatchSetRequest& request, const UpdateRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexPatternString objects in a RegexPatternSet. For each * RegexPatternString object, you specify the following values:

*
  • Whether to insert or delete the * RegexPatternString.

  • The regular expression * pattern that you want to insert or delete. For more information, see * RegexPatternSet.

For example, you can create a * RegexPatternString such as B[a@]dB[o0]t. AWS WAF will * match this RegexPatternString to:

  • BadBot

  • *
  • BadB0t

  • B@dBot

  • B@dB0t

*

To create and configure a RegexPatternSet, perform the following * steps:

  1. Create a RegexPatternSet. For more * information, see CreateRegexPatternSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  3. Submit an UpdateRegexPatternSet request * to specify the regular expression pattern that you want AWS WAF to watch * for.

For more information about how to use the AWS WAF API to * allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateRegexPatternSetOutcome UpdateRegexPatternSet(const Model::UpdateRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexPatternString objects in a RegexPatternSet. For each * RegexPatternString object, you specify the following values:

*
  • Whether to insert or delete the * RegexPatternString.

  • The regular expression * pattern that you want to insert or delete. For more information, see * RegexPatternSet.

For example, you can create a * RegexPatternString such as B[a@]dB[o0]t. AWS WAF will * match this RegexPatternString to:

  • BadBot

  • *
  • BadB0t

  • B@dBot

  • B@dB0t

*

To create and configure a RegexPatternSet, perform the following * steps:

  1. Create a RegexPatternSet. For more * information, see CreateRegexPatternSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  3. Submit an UpdateRegexPatternSet request * to specify the regular expression pattern that you want AWS WAF to watch * for.

For more information about how to use the AWS WAF API to * allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRegexPatternSetOutcomeCallable UpdateRegexPatternSetCallable(const Model::UpdateRegexPatternSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * RegexPatternString objects in a RegexPatternSet. For each * RegexPatternString object, you specify the following values:

*
  • Whether to insert or delete the * RegexPatternString.

  • The regular expression * pattern that you want to insert or delete. For more information, see * RegexPatternSet.

For example, you can create a * RegexPatternString such as B[a@]dB[o0]t. AWS WAF will * match this RegexPatternString to:

  • BadBot

  • *
  • BadB0t

  • B@dBot

  • B@dB0t

*

To create and configure a RegexPatternSet, perform the following * steps:

  1. Create a RegexPatternSet. For more * information, see CreateRegexPatternSet.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRegexPatternSet * request.

  3. Submit an UpdateRegexPatternSet request * to specify the regular expression pattern that you want AWS WAF to watch * for.

For more information about how to use the AWS WAF API to * allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRegexPatternSetAsync(const Model::UpdateRegexPatternSetRequest& request, const UpdateRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a Rule. Each Predicate * object identifies a predicate, such as a ByteMatchSet or an IPSet, * that specifies the web requests that you want to allow, block, or count. If you * add more than one predicate to a Rule, a request must match all of * the specifications to be allowed, blocked, or counted. For example, suppose that * you add the following to a Rule:

  • A * ByteMatchSet that matches the value BadBot in the * User-Agent header

  • An IPSet that * matches the IP address 192.0.2.44

You then add * the Rule to a WebACL and specify that you want to * block requests that satisfy the Rule. For a request to be blocked, * the User-Agent header in the request must contain the value * BadBot and the request must originate from the IP address * 192.0.2.44.

To create and configure a Rule, perform the * following steps:

  1. Create and update the predicates that you want * to include in the Rule.

  2. Create the * Rule. See CreateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  4. *
  5. Submit an UpdateRule request to add predicates to the * Rule.

  6. Create and update a WebACL * that contains the Rule. See CreateWebACL.

*

If you want to replace one ByteMatchSet or IPSet * with another, you delete the existing one and add the new one.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateRuleOutcome UpdateRule(const Model::UpdateRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a Rule. Each Predicate * object identifies a predicate, such as a ByteMatchSet or an IPSet, * that specifies the web requests that you want to allow, block, or count. If you * add more than one predicate to a Rule, a request must match all of * the specifications to be allowed, blocked, or counted. For example, suppose that * you add the following to a Rule:

  • A * ByteMatchSet that matches the value BadBot in the * User-Agent header

  • An IPSet that * matches the IP address 192.0.2.44

You then add * the Rule to a WebACL and specify that you want to * block requests that satisfy the Rule. For a request to be blocked, * the User-Agent header in the request must contain the value * BadBot and the request must originate from the IP address * 192.0.2.44.

To create and configure a Rule, perform the * following steps:

  1. Create and update the predicates that you want * to include in the Rule.

  2. Create the * Rule. See CreateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  4. *
  5. Submit an UpdateRule request to add predicates to the * Rule.

  6. Create and update a WebACL * that contains the Rule. See CreateWebACL.

*

If you want to replace one ByteMatchSet or IPSet * with another, you delete the existing one and add the new one.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRuleOutcomeCallable UpdateRuleCallable(const Model::UpdateRuleRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * Predicate objects in a Rule. Each Predicate * object identifies a predicate, such as a ByteMatchSet or an IPSet, * that specifies the web requests that you want to allow, block, or count. If you * add more than one predicate to a Rule, a request must match all of * the specifications to be allowed, blocked, or counted. For example, suppose that * you add the following to a Rule:

  • A * ByteMatchSet that matches the value BadBot in the * User-Agent header

  • An IPSet that * matches the IP address 192.0.2.44

You then add * the Rule to a WebACL and specify that you want to * block requests that satisfy the Rule. For a request to be blocked, * the User-Agent header in the request must contain the value * BadBot and the request must originate from the IP address * 192.0.2.44.

To create and configure a Rule, perform the * following steps:

  1. Create and update the predicates that you want * to include in the Rule.

  2. Create the * Rule. See CreateRule.

  3. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRule request.

  4. *
  5. Submit an UpdateRule request to add predicates to the * Rule.

  6. Create and update a WebACL * that contains the Rule. See CreateWebACL.

*

If you want to replace one ByteMatchSet or IPSet * with another, you delete the existing one and add the new one.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRuleAsync(const Model::UpdateRuleRequest& request, const UpdateRuleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a RuleGroup.

You can only * insert REGULAR rules into a rule group.

You can have a * maximum of ten rules per rule group.

To create and configure a * RuleGroup, perform the following steps:

  1. Create and * update the Rules that you want to include in the * RuleGroup. See CreateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRuleGroup request.

    *
  3. Submit an UpdateRuleGroup request to add * Rules to the RuleGroup.

  4. Create and * update a WebACL that contains the RuleGroup. See * CreateWebACL.

If you want to replace one * Rule with another, you delete the existing one and add the new * one.

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateRuleGroupOutcome UpdateRuleGroup(const Model::UpdateRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a RuleGroup.

You can only * insert REGULAR rules into a rule group.

You can have a * maximum of ten rules per rule group.

To create and configure a * RuleGroup, perform the following steps:

  1. Create and * update the Rules that you want to include in the * RuleGroup. See CreateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRuleGroup request.

    *
  3. Submit an UpdateRuleGroup request to add * Rules to the RuleGroup.

  4. Create and * update a WebACL that contains the RuleGroup. See * CreateWebACL.

If you want to replace one * Rule with another, you delete the existing one and add the new * one.

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateRuleGroupOutcomeCallable UpdateRuleGroupCallable(const Model::UpdateRuleGroupRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a RuleGroup.

You can only * insert REGULAR rules into a rule group.

You can have a * maximum of ten rules per rule group.

To create and configure a * RuleGroup, perform the following steps:

  1. Create and * update the Rules that you want to include in the * RuleGroup. See CreateRule.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateRuleGroup request.

    *
  3. Submit an UpdateRuleGroup request to add * Rules to the RuleGroup.

  4. Create and * update a WebACL that contains the RuleGroup. See * CreateWebACL.

If you want to replace one * Rule with another, you delete the existing one and add the new * one.

For more information about how to use the AWS WAF API to allow or * block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateRuleGroupAsync(const Model::UpdateRuleGroupRequest& request, const UpdateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SizeConstraint objects (filters) in a SizeConstraintSet. For each * SizeConstraint object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a SizeConstraintSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to evaluate, such as the length of a query string or the length of * the User-Agent header.

  • Whether to perform any * transformations on the request, such as converting it to lowercase, before * checking its length. Note that transformations of the request body are not * supported because the AWS resource forwards only the first 8192 * bytes of your request to AWS WAF.

    You can only specify a single type of * TextTransformation.

  • A ComparisonOperator used for * evaluating the selected part of the request against the specified * Size, such as equals, greater than, less than, and so on.

  • *
  • The length, in bytes, that you want AWS WAF to watch for in selected * part of the request. The length is computed after applying the * transformation.

For example, you can add a * SizeConstraintSetUpdate object that matches web requests in which * the length of the User-Agent header is greater than 100 bytes. You * can then configure AWS WAF to block those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Create a SizeConstraintSet. For more information, see * CreateSizeConstraintSet.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateSizeConstraintSet request.

  3. Submit an * UpdateSizeConstraintSet request to specify the part of the request * that you want AWS WAF to inspect (for example, the header or the URI) and the * value that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSizeConstraintSetOutcome UpdateSizeConstraintSet(const Model::UpdateSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SizeConstraint objects (filters) in a SizeConstraintSet. For each * SizeConstraint object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a SizeConstraintSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to evaluate, such as the length of a query string or the length of * the User-Agent header.

  • Whether to perform any * transformations on the request, such as converting it to lowercase, before * checking its length. Note that transformations of the request body are not * supported because the AWS resource forwards only the first 8192 * bytes of your request to AWS WAF.

    You can only specify a single type of * TextTransformation.

  • A ComparisonOperator used for * evaluating the selected part of the request against the specified * Size, such as equals, greater than, less than, and so on.

  • *
  • The length, in bytes, that you want AWS WAF to watch for in selected * part of the request. The length is computed after applying the * transformation.

For example, you can add a * SizeConstraintSetUpdate object that matches web requests in which * the length of the User-Agent header is greater than 100 bytes. You * can then configure AWS WAF to block those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Create a SizeConstraintSet. For more information, see * CreateSizeConstraintSet.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateSizeConstraintSet request.

  3. Submit an * UpdateSizeConstraintSet request to specify the part of the request * that you want AWS WAF to inspect (for example, the header or the URI) and the * value that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSizeConstraintSetOutcomeCallable UpdateSizeConstraintSetCallable(const Model::UpdateSizeConstraintSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SizeConstraint objects (filters) in a SizeConstraintSet. For each * SizeConstraint object, you specify the following values:

    *
  • Whether to insert or delete the object from the array. If you want to * change a SizeConstraintSetUpdate object, you delete the existing * object and add a new one.

  • The part of a web request that you * want AWS WAF to evaluate, such as the length of a query string or the length of * the User-Agent header.

  • Whether to perform any * transformations on the request, such as converting it to lowercase, before * checking its length. Note that transformations of the request body are not * supported because the AWS resource forwards only the first 8192 * bytes of your request to AWS WAF.

    You can only specify a single type of * TextTransformation.

  • A ComparisonOperator used for * evaluating the selected part of the request against the specified * Size, such as equals, greater than, less than, and so on.

  • *
  • The length, in bytes, that you want AWS WAF to watch for in selected * part of the request. The length is computed after applying the * transformation.

For example, you can add a * SizeConstraintSetUpdate object that matches web requests in which * the length of the User-Agent header is greater than 100 bytes. You * can then configure AWS WAF to block those requests.

To create and * configure a SizeConstraintSet, perform the following steps:

*
  1. Create a SizeConstraintSet. For more information, see * CreateSizeConstraintSet.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateSizeConstraintSet request.

  3. Submit an * UpdateSizeConstraintSet request to specify the part of the request * that you want AWS WAF to inspect (for example, the header or the URI) and the * value that you want AWS WAF to watch for.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSizeConstraintSetAsync(const Model::UpdateSizeConstraintSetRequest& request, const UpdateSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SqlInjectionMatchTuple objects (filters) in a * SqlInjectionMatchSet. For each SqlInjectionMatchTuple * object, you specify the following values:

  • Action: * Whether to insert the object into or delete the object from the array. To change * a SqlInjectionMatchTuple, you delete the existing object and add a * new one.

  • FieldToMatch: The part of web requests * that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or * custom query parameter, the name of the header or parameter.

  • * TextTransformation: Which text transformation, if any, to perform * on the web request before inspecting the request for snippets of malicious SQL * code.

    You can only specify a single type of TextTransformation.

  • *

You use SqlInjectionMatchSet objects to specify which * CloudFront requests that you want to allow, block, or count. For example, if * you're receiving requests that contain snippets of SQL code in the query string * and you want to block the requests, you can create a * SqlInjectionMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure a * SqlInjectionMatchSet, perform the following steps:

  1. *

    Submit a CreateSqlInjectionMatchSet request.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  3. *
  4. Submit an UpdateSqlInjectionMatchSet request to specify the * parts of web requests that you want AWS WAF to inspect for snippets of SQL * code.

For more information about how to use the AWS WAF API * to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSqlInjectionMatchSetOutcome UpdateSqlInjectionMatchSet(const Model::UpdateSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SqlInjectionMatchTuple objects (filters) in a * SqlInjectionMatchSet. For each SqlInjectionMatchTuple * object, you specify the following values:

  • Action: * Whether to insert the object into or delete the object from the array. To change * a SqlInjectionMatchTuple, you delete the existing object and add a * new one.

  • FieldToMatch: The part of web requests * that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or * custom query parameter, the name of the header or parameter.

  • * TextTransformation: Which text transformation, if any, to perform * on the web request before inspecting the request for snippets of malicious SQL * code.

    You can only specify a single type of TextTransformation.

  • *

You use SqlInjectionMatchSet objects to specify which * CloudFront requests that you want to allow, block, or count. For example, if * you're receiving requests that contain snippets of SQL code in the query string * and you want to block the requests, you can create a * SqlInjectionMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure a * SqlInjectionMatchSet, perform the following steps:

  1. *

    Submit a CreateSqlInjectionMatchSet request.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  3. *
  4. Submit an UpdateSqlInjectionMatchSet request to specify the * parts of web requests that you want AWS WAF to inspect for snippets of SQL * code.

For more information about how to use the AWS WAF API * to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateSqlInjectionMatchSetOutcomeCallable UpdateSqlInjectionMatchSetCallable(const Model::UpdateSqlInjectionMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * SqlInjectionMatchTuple objects (filters) in a * SqlInjectionMatchSet. For each SqlInjectionMatchTuple * object, you specify the following values:

  • Action: * Whether to insert the object into or delete the object from the array. To change * a SqlInjectionMatchTuple, you delete the existing object and add a * new one.

  • FieldToMatch: The part of web requests * that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or * custom query parameter, the name of the header or parameter.

  • * TextTransformation: Which text transformation, if any, to perform * on the web request before inspecting the request for snippets of malicious SQL * code.

    You can only specify a single type of TextTransformation.

  • *

You use SqlInjectionMatchSet objects to specify which * CloudFront requests that you want to allow, block, or count. For example, if * you're receiving requests that contain snippets of SQL code in the query string * and you want to block the requests, you can create a * SqlInjectionMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure a * SqlInjectionMatchSet, perform the following steps:

  1. *

    Submit a CreateSqlInjectionMatchSet request.

  2. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateIPSet request.

  3. *
  4. Submit an UpdateSqlInjectionMatchSet request to specify the * parts of web requests that you want AWS WAF to inspect for snippets of SQL * code.

For more information about how to use the AWS WAF API * to allow or block HTTP requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateSqlInjectionMatchSetAsync(const Model::UpdateSqlInjectionMatchSetRequest& request, const UpdateSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a WebACL. Each Rule * identifies web requests that you want to allow, block, or count. When you update * a WebACL, you specify the following values:

  • A * default action for the WebACL, either ALLOW or * BLOCK. AWS WAF performs the default action if a request doesn't * match the criteria in any of the Rules in a * WebACL.

  • The Rules that you want to * add or delete. If you want to replace one Rule with another, you * delete the existing Rule and add the new one.

  • For * each Rule, whether you want AWS WAF to allow requests, block * requests, or count requests that match the conditions in the * Rule.

  • The order in which you want AWS WAF to * evaluate the Rules in a WebACL. If you add more than * one Rule to a WebACL, AWS WAF evaluates each request * against the Rules in order based on the value of * Priority. (The Rule that has the lowest value for * Priority is evaluated first.) When a web request matches all the * predicates (such as ByteMatchSets and IPSets) in a * Rule, AWS WAF immediately takes the corresponding action, allow or * block, and doesn't evaluate the request against the remaining Rules * in the WebACL, if any.

To create and configure * a WebACL, perform the following steps:

  1. Create and * update the predicates that you want to include in Rules. For more * information, see CreateByteMatchSet, UpdateByteMatchSet, * CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. *

    Create a WebACL. See CreateWebACL.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  5. *
  6. Submit an UpdateWebACL request to specify the * Rules that you want to include in the WebACL, to * specify the default action, and to associate the WebACL with a * CloudFront distribution.

    The ActivatedRule can be a rule * group. If you specify a rule group as your ActivatedRule , you can * exclude specific rules from that rule group.

    If you already have a rule * group associated with a web ACL and want to submit an UpdateWebACL * request to exclude certain rules from that rule group, you must first remove the * rule group from the web ACL, the re-insert it again, specifying the excluded * rules. For details, see ActivatedRule$ExcludedRules .

*

Be aware that if you try to add a RATE_BASED rule to a web ACL without * setting the rule type when first creating the rule, the UpdateWebACL * request will fail because the request tries to add a REGULAR rule (the default * rule type) with the specified ID, which does not exist.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateWebACLOutcome UpdateWebACL(const Model::UpdateWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a WebACL. Each Rule * identifies web requests that you want to allow, block, or count. When you update * a WebACL, you specify the following values:

  • A * default action for the WebACL, either ALLOW or * BLOCK. AWS WAF performs the default action if a request doesn't * match the criteria in any of the Rules in a * WebACL.

  • The Rules that you want to * add or delete. If you want to replace one Rule with another, you * delete the existing Rule and add the new one.

  • For * each Rule, whether you want AWS WAF to allow requests, block * requests, or count requests that match the conditions in the * Rule.

  • The order in which you want AWS WAF to * evaluate the Rules in a WebACL. If you add more than * one Rule to a WebACL, AWS WAF evaluates each request * against the Rules in order based on the value of * Priority. (The Rule that has the lowest value for * Priority is evaluated first.) When a web request matches all the * predicates (such as ByteMatchSets and IPSets) in a * Rule, AWS WAF immediately takes the corresponding action, allow or * block, and doesn't evaluate the request against the remaining Rules * in the WebACL, if any.

To create and configure * a WebACL, perform the following steps:

  1. Create and * update the predicates that you want to include in Rules. For more * information, see CreateByteMatchSet, UpdateByteMatchSet, * CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. *

    Create a WebACL. See CreateWebACL.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  5. *
  6. Submit an UpdateWebACL request to specify the * Rules that you want to include in the WebACL, to * specify the default action, and to associate the WebACL with a * CloudFront distribution.

    The ActivatedRule can be a rule * group. If you specify a rule group as your ActivatedRule , you can * exclude specific rules from that rule group.

    If you already have a rule * group associated with a web ACL and want to submit an UpdateWebACL * request to exclude certain rules from that rule group, you must first remove the * rule group from the web ACL, the re-insert it again, specifying the excluded * rules. For details, see ActivatedRule$ExcludedRules .

*

Be aware that if you try to add a RATE_BASED rule to a web ACL without * setting the rule type when first creating the rule, the UpdateWebACL * request will fail because the request tries to add a REGULAR rule (the default * rule type) with the specified ID, which does not exist.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateWebACLOutcomeCallable UpdateWebACLCallable(const Model::UpdateWebACLRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * ActivatedRule objects in a WebACL. Each Rule * identifies web requests that you want to allow, block, or count. When you update * a WebACL, you specify the following values:

  • A * default action for the WebACL, either ALLOW or * BLOCK. AWS WAF performs the default action if a request doesn't * match the criteria in any of the Rules in a * WebACL.

  • The Rules that you want to * add or delete. If you want to replace one Rule with another, you * delete the existing Rule and add the new one.

  • For * each Rule, whether you want AWS WAF to allow requests, block * requests, or count requests that match the conditions in the * Rule.

  • The order in which you want AWS WAF to * evaluate the Rules in a WebACL. If you add more than * one Rule to a WebACL, AWS WAF evaluates each request * against the Rules in order based on the value of * Priority. (The Rule that has the lowest value for * Priority is evaluated first.) When a web request matches all the * predicates (such as ByteMatchSets and IPSets) in a * Rule, AWS WAF immediately takes the corresponding action, allow or * block, and doesn't evaluate the request against the remaining Rules * in the WebACL, if any.

To create and configure * a WebACL, perform the following steps:

  1. Create and * update the predicates that you want to include in Rules. For more * information, see CreateByteMatchSet, UpdateByteMatchSet, * CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and * UpdateSqlInjectionMatchSet.

  2. Create and update the * Rules that you want to include in the WebACL. For more * information, see CreateRule and UpdateRule.

  3. *

    Create a WebACL. See CreateWebACL.

  4. Use * GetChangeToken to get the change token that you provide in the * ChangeToken parameter of an UpdateWebACL request.

  5. *
  6. Submit an UpdateWebACL request to specify the * Rules that you want to include in the WebACL, to * specify the default action, and to associate the WebACL with a * CloudFront distribution.

    The ActivatedRule can be a rule * group. If you specify a rule group as your ActivatedRule , you can * exclude specific rules from that rule group.

    If you already have a rule * group associated with a web ACL and want to submit an UpdateWebACL * request to exclude certain rules from that rule group, you must first remove the * rule group from the web ACL, the re-insert it again, specifying the excluded * rules. For details, see ActivatedRule$ExcludedRules .

*

Be aware that if you try to add a RATE_BASED rule to a web ACL without * setting the rule type when first creating the rule, the UpdateWebACL * request will fail because the request tries to add a REGULAR rule (the default * rule type) with the specified ID, which does not exist.

For more * information about how to use the AWS WAF API to allow or block HTTP requests, * see the AWS WAF * Developer Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateWebACLAsync(const Model::UpdateWebACLRequest& request, const UpdateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * XssMatchTuple objects (filters) in an XssMatchSet. For each * XssMatchTuple object, you specify the following values:

    *
  • Action: Whether to insert the object into or delete the * object from the array. To change an XssMatchTuple, you delete the * existing object and add a new one.

  • FieldToMatch: * The part of web requests that you want AWS WAF to inspect and, if you want AWS * WAF to inspect a header or custom query parameter, the name of the header or * parameter.

  • TextTransformation: Which text * transformation, if any, to perform on the web request before inspecting the * request for cross-site scripting attacks.

    You can only specify a single * type of TextTransformation.

You use XssMatchSet * objects to specify which CloudFront requests that you want to allow, block, or * count. For example, if you're receiving requests that contain cross-site * scripting attacks in the request body and you want to block the requests, you * can create an XssMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure an * XssMatchSet, perform the following steps:

  1. Submit a * CreateXssMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateIPSet request.

  3. Submit an * UpdateXssMatchSet request to specify the parts of web requests that * you want AWS WAF to inspect for cross-site scripting attacks.

*

For more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

*/ virtual Model::UpdateXssMatchSetOutcome UpdateXssMatchSet(const Model::UpdateXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * XssMatchTuple objects (filters) in an XssMatchSet. For each * XssMatchTuple object, you specify the following values:

    *
  • Action: Whether to insert the object into or delete the * object from the array. To change an XssMatchTuple, you delete the * existing object and add a new one.

  • FieldToMatch: * The part of web requests that you want AWS WAF to inspect and, if you want AWS * WAF to inspect a header or custom query parameter, the name of the header or * parameter.

  • TextTransformation: Which text * transformation, if any, to perform on the web request before inspecting the * request for cross-site scripting attacks.

    You can only specify a single * type of TextTransformation.

You use XssMatchSet * objects to specify which CloudFront requests that you want to allow, block, or * count. For example, if you're receiving requests that contain cross-site * scripting attacks in the request body and you want to block the requests, you * can create an XssMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure an * XssMatchSet, perform the following steps:

  1. Submit a * CreateXssMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateIPSet request.

  3. Submit an * UpdateXssMatchSet request to specify the parts of web requests that * you want AWS WAF to inspect for cross-site scripting attacks.

*

For more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::UpdateXssMatchSetOutcomeCallable UpdateXssMatchSetCallable(const Model::UpdateXssMatchSetRequest& request) const; /** *

This is AWS WAF Classic documentation. For more information, * see AWS * WAF Classic in the developer guide.

For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS * WAF Developer Guide. With the latest version, AWS WAF has a single set of * endpoints for regional and global use.

Inserts or deletes * XssMatchTuple objects (filters) in an XssMatchSet. For each * XssMatchTuple object, you specify the following values:

    *
  • Action: Whether to insert the object into or delete the * object from the array. To change an XssMatchTuple, you delete the * existing object and add a new one.

  • FieldToMatch: * The part of web requests that you want AWS WAF to inspect and, if you want AWS * WAF to inspect a header or custom query parameter, the name of the header or * parameter.

  • TextTransformation: Which text * transformation, if any, to perform on the web request before inspecting the * request for cross-site scripting attacks.

    You can only specify a single * type of TextTransformation.

You use XssMatchSet * objects to specify which CloudFront requests that you want to allow, block, or * count. For example, if you're receiving requests that contain cross-site * scripting attacks in the request body and you want to block the requests, you * can create an XssMatchSet with the applicable settings, and then * configure AWS WAF to block the requests.

To create and configure an * XssMatchSet, perform the following steps:

  1. Submit a * CreateXssMatchSet request.

  2. Use GetChangeToken to * get the change token that you provide in the ChangeToken parameter * of an UpdateIPSet request.

  3. Submit an * UpdateXssMatchSet request to specify the parts of web requests that * you want AWS WAF to inspect for cross-site scripting attacks.

*

For more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF Developer * Guide.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void UpdateXssMatchSetAsync(const Model::UpdateXssMatchSetRequest& request, const UpdateXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateWebACLAsyncHelper(const Model::AssociateWebACLRequest& request, const AssociateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateByteMatchSetAsyncHelper(const Model::CreateByteMatchSetRequest& request, const CreateByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateGeoMatchSetAsyncHelper(const Model::CreateGeoMatchSetRequest& request, const CreateGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateIPSetAsyncHelper(const Model::CreateIPSetRequest& request, const CreateIPSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRateBasedRuleAsyncHelper(const Model::CreateRateBasedRuleRequest& request, const CreateRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRegexMatchSetAsyncHelper(const Model::CreateRegexMatchSetRequest& request, const CreateRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRegexPatternSetAsyncHelper(const Model::CreateRegexPatternSetRequest& request, const CreateRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRuleAsyncHelper(const Model::CreateRuleRequest& request, const CreateRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateRuleGroupAsyncHelper(const Model::CreateRuleGroupRequest& request, const CreateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSizeConstraintSetAsyncHelper(const Model::CreateSizeConstraintSetRequest& request, const CreateSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateSqlInjectionMatchSetAsyncHelper(const Model::CreateSqlInjectionMatchSetRequest& request, const CreateSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateWebACLAsyncHelper(const Model::CreateWebACLRequest& request, const CreateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateWebACLMigrationStackAsyncHelper(const Model::CreateWebACLMigrationStackRequest& request, const CreateWebACLMigrationStackResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateXssMatchSetAsyncHelper(const Model::CreateXssMatchSetRequest& request, const CreateXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteByteMatchSetAsyncHelper(const Model::DeleteByteMatchSetRequest& request, const DeleteByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteGeoMatchSetAsyncHelper(const Model::DeleteGeoMatchSetRequest& request, const DeleteGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteIPSetAsyncHelper(const Model::DeleteIPSetRequest& request, const DeleteIPSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteLoggingConfigurationAsyncHelper(const Model::DeleteLoggingConfigurationRequest& request, const DeleteLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeletePermissionPolicyAsyncHelper(const Model::DeletePermissionPolicyRequest& request, const DeletePermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRateBasedRuleAsyncHelper(const Model::DeleteRateBasedRuleRequest& request, const DeleteRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRegexMatchSetAsyncHelper(const Model::DeleteRegexMatchSetRequest& request, const DeleteRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRegexPatternSetAsyncHelper(const Model::DeleteRegexPatternSetRequest& request, const DeleteRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRuleAsyncHelper(const Model::DeleteRuleRequest& request, const DeleteRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteRuleGroupAsyncHelper(const Model::DeleteRuleGroupRequest& request, const DeleteRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSizeConstraintSetAsyncHelper(const Model::DeleteSizeConstraintSetRequest& request, const DeleteSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteSqlInjectionMatchSetAsyncHelper(const Model::DeleteSqlInjectionMatchSetRequest& request, const DeleteSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteWebACLAsyncHelper(const Model::DeleteWebACLRequest& request, const DeleteWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteXssMatchSetAsyncHelper(const Model::DeleteXssMatchSetRequest& request, const DeleteXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateWebACLAsyncHelper(const Model::DisassociateWebACLRequest& request, const DisassociateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetByteMatchSetAsyncHelper(const Model::GetByteMatchSetRequest& request, const GetByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetChangeTokenAsyncHelper(const Model::GetChangeTokenRequest& request, const GetChangeTokenResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetChangeTokenStatusAsyncHelper(const Model::GetChangeTokenStatusRequest& request, const GetChangeTokenStatusResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetGeoMatchSetAsyncHelper(const Model::GetGeoMatchSetRequest& request, const GetGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetIPSetAsyncHelper(const Model::GetIPSetRequest& request, const GetIPSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetLoggingConfigurationAsyncHelper(const Model::GetLoggingConfigurationRequest& request, const GetLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetPermissionPolicyAsyncHelper(const Model::GetPermissionPolicyRequest& request, const GetPermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRateBasedRuleAsyncHelper(const Model::GetRateBasedRuleRequest& request, const GetRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRateBasedRuleManagedKeysAsyncHelper(const Model::GetRateBasedRuleManagedKeysRequest& request, const GetRateBasedRuleManagedKeysResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRegexMatchSetAsyncHelper(const Model::GetRegexMatchSetRequest& request, const GetRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRegexPatternSetAsyncHelper(const Model::GetRegexPatternSetRequest& request, const GetRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRuleAsyncHelper(const Model::GetRuleRequest& request, const GetRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetRuleGroupAsyncHelper(const Model::GetRuleGroupRequest& request, const GetRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSampledRequestsAsyncHelper(const Model::GetSampledRequestsRequest& request, const GetSampledRequestsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSizeConstraintSetAsyncHelper(const Model::GetSizeConstraintSetRequest& request, const GetSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetSqlInjectionMatchSetAsyncHelper(const Model::GetSqlInjectionMatchSetRequest& request, const GetSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetWebACLAsyncHelper(const Model::GetWebACLRequest& request, const GetWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetWebACLForResourceAsyncHelper(const Model::GetWebACLForResourceRequest& request, const GetWebACLForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void GetXssMatchSetAsyncHelper(const Model::GetXssMatchSetRequest& request, const GetXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListActivatedRulesInRuleGroupAsyncHelper(const Model::ListActivatedRulesInRuleGroupRequest& request, const ListActivatedRulesInRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListByteMatchSetsAsyncHelper(const Model::ListByteMatchSetsRequest& request, const ListByteMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListGeoMatchSetsAsyncHelper(const Model::ListGeoMatchSetsRequest& request, const ListGeoMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListIPSetsAsyncHelper(const Model::ListIPSetsRequest& request, const ListIPSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListLoggingConfigurationsAsyncHelper(const Model::ListLoggingConfigurationsRequest& request, const ListLoggingConfigurationsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRateBasedRulesAsyncHelper(const Model::ListRateBasedRulesRequest& request, const ListRateBasedRulesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRegexMatchSetsAsyncHelper(const Model::ListRegexMatchSetsRequest& request, const ListRegexMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRegexPatternSetsAsyncHelper(const Model::ListRegexPatternSetsRequest& request, const ListRegexPatternSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListResourcesForWebACLAsyncHelper(const Model::ListResourcesForWebACLRequest& request, const ListResourcesForWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRuleGroupsAsyncHelper(const Model::ListRuleGroupsRequest& request, const ListRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListRulesAsyncHelper(const Model::ListRulesRequest& request, const ListRulesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSizeConstraintSetsAsyncHelper(const Model::ListSizeConstraintSetsRequest& request, const ListSizeConstraintSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSqlInjectionMatchSetsAsyncHelper(const Model::ListSqlInjectionMatchSetsRequest& request, const ListSqlInjectionMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListSubscribedRuleGroupsAsyncHelper(const Model::ListSubscribedRuleGroupsRequest& request, const ListSubscribedRuleGroupsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListWebACLsAsyncHelper(const Model::ListWebACLsRequest& request, const ListWebACLsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListXssMatchSetsAsyncHelper(const Model::ListXssMatchSetsRequest& request, const ListXssMatchSetsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutLoggingConfigurationAsyncHelper(const Model::PutLoggingConfigurationRequest& request, const PutLoggingConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutPermissionPolicyAsyncHelper(const Model::PutPermissionPolicyRequest& request, const PutPermissionPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const; void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateByteMatchSetAsyncHelper(const Model::UpdateByteMatchSetRequest& request, const UpdateByteMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateGeoMatchSetAsyncHelper(const Model::UpdateGeoMatchSetRequest& request, const UpdateGeoMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateIPSetAsyncHelper(const Model::UpdateIPSetRequest& request, const UpdateIPSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRateBasedRuleAsyncHelper(const Model::UpdateRateBasedRuleRequest& request, const UpdateRateBasedRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRegexMatchSetAsyncHelper(const Model::UpdateRegexMatchSetRequest& request, const UpdateRegexMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRegexPatternSetAsyncHelper(const Model::UpdateRegexPatternSetRequest& request, const UpdateRegexPatternSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRuleAsyncHelper(const Model::UpdateRuleRequest& request, const UpdateRuleResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateRuleGroupAsyncHelper(const Model::UpdateRuleGroupRequest& request, const UpdateRuleGroupResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSizeConstraintSetAsyncHelper(const Model::UpdateSizeConstraintSetRequest& request, const UpdateSizeConstraintSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateSqlInjectionMatchSetAsyncHelper(const Model::UpdateSqlInjectionMatchSetRequest& request, const UpdateSqlInjectionMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateWebACLAsyncHelper(const Model::UpdateWebACLRequest& request, const UpdateWebACLResponseReceivedHandler& handler, const std::shared_ptr& context) const; void UpdateXssMatchSetAsyncHelper(const Model::UpdateXssMatchSetRequest& request, const UpdateXssMatchSetResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace WAFRegional } // namespace Aws