/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once /* Generic header includes */ #include #include #include #include #include #include #include #include #include /* End of generic header includes */ /* Service model headers required in WAFClient header */ #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 /* End of service model headers required in WAFClient header */ 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 WAF { using WAFClientConfiguration = Aws::Client::GenericClientConfiguration; using WAFEndpointProviderBase = Aws::WAF::Endpoint::WAFEndpointProviderBase; using WAFEndpointProvider = Aws::WAF::Endpoint::WAFEndpointProvider; namespace Model { /* Service model forward declarations required in WAFClient header */ 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 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 GetXssMatchSetRequest; class ListActivatedRulesInRuleGroupRequest; class ListByteMatchSetsRequest; class ListGeoMatchSetsRequest; class ListIPSetsRequest; class ListLoggingConfigurationsRequest; class ListRateBasedRulesRequest; class ListRegexMatchSetsRequest; class ListRegexPatternSetsRequest; 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; /* End of service model forward declarations required in WAFClient header */ /* Service model Outcome class definitions */ 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 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 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 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; /* End of service model Outcome class definitions */ /* Service model Outcome callable definitions */ 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 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 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 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; /* End of service model Outcome callable definitions */ } // namespace Model class WAFClient; /* Service model async handlers definitions */ 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&) > 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&) > 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&) > 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; /* End of service model async handlers definitions */ } // namespace WAF } // namespace Aws