%% WARNING: DO NOT EDIT, AUTO-GENERATED CODE! %% See https://github.com/aws-beam/aws-codegen for more details. %% @doc 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. %% %% This is the AWS WAF Classic API Reference for using AWS WAF %% Classic with Amazon CloudFront. The AWS WAF Classic actions and data types %% listed in the reference are available for protecting Amazon CloudFront %% distributions. You can use these actions and data types via the endpoint %% waf.amazonaws.com. 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. -module(aws_waf). -export([create_byte_match_set/2, create_byte_match_set/3, create_geo_match_set/2, create_geo_match_set/3, create_i_p_set/2, create_i_p_set/3, create_rate_based_rule/2, create_rate_based_rule/3, create_regex_match_set/2, create_regex_match_set/3, create_regex_pattern_set/2, create_regex_pattern_set/3, create_rule/2, create_rule/3, create_rule_group/2, create_rule_group/3, create_size_constraint_set/2, create_size_constraint_set/3, create_sql_injection_match_set/2, create_sql_injection_match_set/3, create_web_a_c_l/2, create_web_a_c_l/3, create_web_a_c_l_migration_stack/2, create_web_a_c_l_migration_stack/3, create_xss_match_set/2, create_xss_match_set/3, delete_byte_match_set/2, delete_byte_match_set/3, delete_geo_match_set/2, delete_geo_match_set/3, delete_i_p_set/2, delete_i_p_set/3, delete_logging_configuration/2, delete_logging_configuration/3, delete_permission_policy/2, delete_permission_policy/3, delete_rate_based_rule/2, delete_rate_based_rule/3, delete_regex_match_set/2, delete_regex_match_set/3, delete_regex_pattern_set/2, delete_regex_pattern_set/3, delete_rule/2, delete_rule/3, delete_rule_group/2, delete_rule_group/3, delete_size_constraint_set/2, delete_size_constraint_set/3, delete_sql_injection_match_set/2, delete_sql_injection_match_set/3, delete_web_a_c_l/2, delete_web_a_c_l/3, delete_xss_match_set/2, delete_xss_match_set/3, get_byte_match_set/2, get_byte_match_set/3, get_change_token/2, get_change_token/3, get_change_token_status/2, get_change_token_status/3, get_geo_match_set/2, get_geo_match_set/3, get_i_p_set/2, get_i_p_set/3, get_logging_configuration/2, get_logging_configuration/3, get_permission_policy/2, get_permission_policy/3, get_rate_based_rule/2, get_rate_based_rule/3, get_rate_based_rule_managed_keys/2, get_rate_based_rule_managed_keys/3, get_regex_match_set/2, get_regex_match_set/3, get_regex_pattern_set/2, get_regex_pattern_set/3, get_rule/2, get_rule/3, get_rule_group/2, get_rule_group/3, get_sampled_requests/2, get_sampled_requests/3, get_size_constraint_set/2, get_size_constraint_set/3, get_sql_injection_match_set/2, get_sql_injection_match_set/3, get_web_a_c_l/2, get_web_a_c_l/3, get_xss_match_set/2, get_xss_match_set/3, list_activated_rules_in_rule_group/2, list_activated_rules_in_rule_group/3, list_byte_match_sets/2, list_byte_match_sets/3, list_geo_match_sets/2, list_geo_match_sets/3, list_i_p_sets/2, list_i_p_sets/3, list_logging_configurations/2, list_logging_configurations/3, list_rate_based_rules/2, list_rate_based_rules/3, list_regex_match_sets/2, list_regex_match_sets/3, list_regex_pattern_sets/2, list_regex_pattern_sets/3, list_rule_groups/2, list_rule_groups/3, list_rules/2, list_rules/3, list_size_constraint_sets/2, list_size_constraint_sets/3, list_sql_injection_match_sets/2, list_sql_injection_match_sets/3, list_subscribed_rule_groups/2, list_subscribed_rule_groups/3, list_tags_for_resource/2, list_tags_for_resource/3, list_web_a_c_ls/2, list_web_a_c_ls/3, list_xss_match_sets/2, list_xss_match_sets/3, put_logging_configuration/2, put_logging_configuration/3, put_permission_policy/2, put_permission_policy/3, tag_resource/2, tag_resource/3, untag_resource/2, untag_resource/3, update_byte_match_set/2, update_byte_match_set/3, update_geo_match_set/2, update_geo_match_set/3, update_i_p_set/2, update_i_p_set/3, update_rate_based_rule/2, update_rate_based_rule/3, update_regex_match_set/2, update_regex_match_set/3, update_regex_pattern_set/2, update_regex_pattern_set/3, update_rule/2, update_rule/3, update_rule_group/2, update_rule_group/3, update_size_constraint_set/2, update_size_constraint_set/3, update_sql_injection_match_set/2, update_sql_injection_match_set/3, update_web_a_c_l/2, update_web_a_c_l/3, update_xss_match_set/2, update_xss_match_set/3]). -include_lib("hackney/include/hackney_lib.hrl"). %%==================================================================== %% API %%==================================================================== %% @doc 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. create_byte_match_set(Client, Input) when is_map(Client), is_map(Input) -> create_byte_match_set(Client, Input, []). create_byte_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateByteMatchSet">>, Input, Options). %% @doc 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. create_geo_match_set(Client, Input) when is_map(Client), is_map(Input) -> create_geo_match_set(Client, Input, []). create_geo_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateGeoMatchSet">>, Input, Options). %% @doc 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. 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. create_i_p_set(Client, Input) when is_map(Client), is_map(Input) -> create_i_p_set(Client, Input, []). create_i_p_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateIPSet">>, Input, Options). %% @doc 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: %% %% 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: %% %% 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. Submit an UpdateRateBasedRule request to specify %% the predicates that you want to include in the rule. %% %%
  6. 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. create_rate_based_rule(Client, Input) when is_map(Client), is_map(Input) -> create_rate_based_rule(Client, Input, []). create_rate_based_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRateBasedRule">>, Input, Options). %% @doc 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. create_regex_match_set(Client, Input) when is_map(Client), is_map(Input) -> create_regex_match_set(Client, Input, []). create_regex_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRegexMatchSet">>, Input, Options). %% @doc 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. create_regex_pattern_set(Client, Input) when is_map(Client), is_map(Input) -> create_regex_pattern_set(Client, Input, []). create_regex_pattern_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRegexPatternSet">>, Input, Options). %% @doc 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: %% %% 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. Submit an UpdateRule request to specify the %% predicates that you want to include in the Rule. %% %%
  6. 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. create_rule(Client, Input) when is_map(Client), is_map(Input) -> create_rule(Client, Input, []). create_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRule">>, Input, Options). %% @doc 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: %% %% For more information about how to use the AWS WAF API to allow %% or block HTTP requests, see the AWS WAF %% Developer Guide. create_rule_group(Client, Input) when is_map(Client), is_map(Input) -> create_rule_group(Client, Input, []). create_rule_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateRuleGroup">>, Input, Options). %% @doc 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. create_size_constraint_set(Client, Input) when is_map(Client), is_map(Input) -> create_size_constraint_set(Client, Input, []). create_size_constraint_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSizeConstraintSet">>, Input, Options). %% @doc 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. create_sql_injection_match_set(Client, Input) when is_map(Client), is_map(Input) -> create_sql_injection_match_set(Client, Input, []). create_sql_injection_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateSqlInjectionMatchSet">>, Input, Options). %% @doc 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. 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. create_web_a_c_l(Client, Input) when is_map(Client), is_map(Input) -> create_web_a_c_l(Client, Input, []). create_web_a_c_l(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateWebACL">>, Input, Options). %% @doc 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. create_web_a_c_l_migration_stack(Client, Input) when is_map(Client), is_map(Input) -> create_web_a_c_l_migration_stack(Client, Input, []). create_web_a_c_l_migration_stack(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateWebACLMigrationStack">>, Input, Options). %% @doc 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. create_xss_match_set(Client, Input) when is_map(Client), is_map(Input) -> create_xss_match_set(Client, Input, []). create_xss_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"CreateXssMatchSet">>, Input, Options). %% @doc 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. %% %%
delete_byte_match_set(Client, Input) when is_map(Client), is_map(Input) -> delete_byte_match_set(Client, Input, []). delete_byte_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteByteMatchSet">>, Input, Options). %% @doc 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. %% %%
delete_geo_match_set(Client, Input) when is_map(Client), is_map(Input) -> delete_geo_match_set(Client, Input, []). delete_geo_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteGeoMatchSet">>, Input, Options). %% @doc 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. %% %%
delete_i_p_set(Client, Input) when is_map(Client), is_map(Input) -> delete_i_p_set(Client, Input, []). delete_i_p_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteIPSet">>, Input, Options). %% @doc 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. delete_logging_configuration(Client, Input) when is_map(Client), is_map(Input) -> delete_logging_configuration(Client, Input, []). delete_logging_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteLoggingConfiguration">>, Input, Options). %% @doc 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. delete_permission_policy(Client, Input) when is_map(Client), is_map(Input) -> delete_permission_policy(Client, Input, []). delete_permission_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeletePermissionPolicy">>, Input, Options). %% @doc 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. %% %%
delete_rate_based_rule(Client, Input) when is_map(Client), is_map(Input) -> delete_rate_based_rule(Client, Input, []). delete_rate_based_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRateBasedRule">>, Input, Options). %% @doc 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. %% %%
delete_regex_match_set(Client, Input) when is_map(Client), is_map(Input) -> delete_regex_match_set(Client, Input, []). delete_regex_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRegexMatchSet">>, Input, Options). %% @doc 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. delete_regex_pattern_set(Client, Input) when is_map(Client), is_map(Input) -> delete_regex_pattern_set(Client, Input, []). delete_regex_pattern_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRegexPatternSet">>, Input, Options). %% @doc 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. %% %%
delete_rule(Client, Input) when is_map(Client), is_map(Input) -> delete_rule(Client, Input, []). delete_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRule">>, Input, Options). %% @doc 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. %% %%
delete_rule_group(Client, Input) when is_map(Client), is_map(Input) -> delete_rule_group(Client, Input, []). delete_rule_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteRuleGroup">>, Input, Options). %% @doc 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. %% %%
delete_size_constraint_set(Client, Input) when is_map(Client), is_map(Input) -> delete_size_constraint_set(Client, Input, []). delete_size_constraint_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSizeConstraintSet">>, Input, Options). %% @doc 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. %% %%
delete_sql_injection_match_set(Client, Input) when is_map(Client), is_map(Input) -> delete_sql_injection_match_set(Client, Input, []). delete_sql_injection_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteSqlInjectionMatchSet">>, Input, Options). %% @doc 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. %% %%
delete_web_a_c_l(Client, Input) when is_map(Client), is_map(Input) -> delete_web_a_c_l(Client, Input, []). delete_web_a_c_l(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteWebACL">>, Input, Options). %% @doc 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. %% %%
delete_xss_match_set(Client, Input) when is_map(Client), is_map(Input) -> delete_xss_match_set(Client, Input, []). delete_xss_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"DeleteXssMatchSet">>, Input, Options). %% @doc 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. get_byte_match_set(Client, Input) when is_map(Client), is_map(Input) -> get_byte_match_set(Client, Input, []). get_byte_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetByteMatchSet">>, Input, Options). %% @doc 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. get_change_token(Client, Input) when is_map(Client), is_map(Input) -> get_change_token(Client, Input, []). get_change_token(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetChangeToken">>, Input, Options). %% @doc 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: %% %% get_change_token_status(Client, Input) when is_map(Client), is_map(Input) -> get_change_token_status(Client, Input, []). get_change_token_status(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetChangeTokenStatus">>, Input, Options). %% @doc 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. get_geo_match_set(Client, Input) when is_map(Client), is_map(Input) -> get_geo_match_set(Client, Input, []). get_geo_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetGeoMatchSet">>, Input, Options). %% @doc 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. get_i_p_set(Client, Input) when is_map(Client), is_map(Input) -> get_i_p_set(Client, Input, []). get_i_p_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetIPSet">>, Input, Options). %% @doc 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. get_logging_configuration(Client, Input) when is_map(Client), is_map(Input) -> get_logging_configuration(Client, Input, []). get_logging_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetLoggingConfiguration">>, Input, Options). %% @doc 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. get_permission_policy(Client, Input) when is_map(Client), is_map(Input) -> get_permission_policy(Client, Input, []). get_permission_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetPermissionPolicy">>, Input, Options). %% @doc 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. get_rate_based_rule(Client, Input) when is_map(Client), is_map(Input) -> get_rate_based_rule(Client, Input, []). get_rate_based_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRateBasedRule">>, Input, Options). %% @doc 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. get_rate_based_rule_managed_keys(Client, Input) when is_map(Client), is_map(Input) -> get_rate_based_rule_managed_keys(Client, Input, []). get_rate_based_rule_managed_keys(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRateBasedRuleManagedKeys">>, Input, Options). %% @doc 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. get_regex_match_set(Client, Input) when is_map(Client), is_map(Input) -> get_regex_match_set(Client, Input, []). get_regex_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRegexMatchSet">>, Input, Options). %% @doc 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. get_regex_pattern_set(Client, Input) when is_map(Client), is_map(Input) -> get_regex_pattern_set(Client, Input, []). get_regex_pattern_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRegexPatternSet">>, Input, Options). %% @doc 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. get_rule(Client, Input) when is_map(Client), is_map(Input) -> get_rule(Client, Input, []). get_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRule">>, Input, Options). %% @doc 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. get_rule_group(Client, Input) when is_map(Client), is_map(Input) -> get_rule_group(Client, Input, []). get_rule_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetRuleGroup">>, Input, Options). %% @doc 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. get_sampled_requests(Client, Input) when is_map(Client), is_map(Input) -> get_sampled_requests(Client, Input, []). get_sampled_requests(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSampledRequests">>, Input, Options). %% @doc 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. get_size_constraint_set(Client, Input) when is_map(Client), is_map(Input) -> get_size_constraint_set(Client, Input, []). get_size_constraint_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSizeConstraintSet">>, Input, Options). %% @doc 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. get_sql_injection_match_set(Client, Input) when is_map(Client), is_map(Input) -> get_sql_injection_match_set(Client, Input, []). get_sql_injection_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetSqlInjectionMatchSet">>, Input, Options). %% @doc 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. get_web_a_c_l(Client, Input) when is_map(Client), is_map(Input) -> get_web_a_c_l(Client, Input, []). get_web_a_c_l(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetWebACL">>, Input, Options). %% @doc 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. get_xss_match_set(Client, Input) when is_map(Client), is_map(Input) -> get_xss_match_set(Client, Input, []). get_xss_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"GetXssMatchSet">>, Input, Options). %% @doc 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. list_activated_rules_in_rule_group(Client, Input) when is_map(Client), is_map(Input) -> list_activated_rules_in_rule_group(Client, Input, []). list_activated_rules_in_rule_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListActivatedRulesInRuleGroup">>, Input, Options). %% @doc 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. list_byte_match_sets(Client, Input) when is_map(Client), is_map(Input) -> list_byte_match_sets(Client, Input, []). list_byte_match_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListByteMatchSets">>, Input, Options). %% @doc 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. list_geo_match_sets(Client, Input) when is_map(Client), is_map(Input) -> list_geo_match_sets(Client, Input, []). list_geo_match_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListGeoMatchSets">>, Input, Options). %% @doc 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. list_i_p_sets(Client, Input) when is_map(Client), is_map(Input) -> list_i_p_sets(Client, Input, []). list_i_p_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListIPSets">>, Input, Options). %% @doc 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. list_logging_configurations(Client, Input) when is_map(Client), is_map(Input) -> list_logging_configurations(Client, Input, []). list_logging_configurations(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListLoggingConfigurations">>, Input, Options). %% @doc 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. list_rate_based_rules(Client, Input) when is_map(Client), is_map(Input) -> list_rate_based_rules(Client, Input, []). list_rate_based_rules(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListRateBasedRules">>, Input, Options). %% @doc 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. list_regex_match_sets(Client, Input) when is_map(Client), is_map(Input) -> list_regex_match_sets(Client, Input, []). list_regex_match_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListRegexMatchSets">>, Input, Options). %% @doc 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. list_regex_pattern_sets(Client, Input) when is_map(Client), is_map(Input) -> list_regex_pattern_sets(Client, Input, []). list_regex_pattern_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListRegexPatternSets">>, Input, Options). %% @doc 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. list_rule_groups(Client, Input) when is_map(Client), is_map(Input) -> list_rule_groups(Client, Input, []). list_rule_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListRuleGroups">>, Input, Options). %% @doc 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. list_rules(Client, Input) when is_map(Client), is_map(Input) -> list_rules(Client, Input, []). list_rules(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListRules">>, Input, Options). %% @doc 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. list_size_constraint_sets(Client, Input) when is_map(Client), is_map(Input) -> list_size_constraint_sets(Client, Input, []). list_size_constraint_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListSizeConstraintSets">>, Input, Options). %% @doc 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. list_sql_injection_match_sets(Client, Input) when is_map(Client), is_map(Input) -> list_sql_injection_match_sets(Client, Input, []). list_sql_injection_match_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListSqlInjectionMatchSets">>, Input, Options). %% @doc 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. list_subscribed_rule_groups(Client, Input) when is_map(Client), is_map(Input) -> list_subscribed_rule_groups(Client, Input, []). list_subscribed_rule_groups(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListSubscribedRuleGroups">>, Input, Options). %% @doc 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. list_tags_for_resource(Client, Input) when is_map(Client), is_map(Input) -> list_tags_for_resource(Client, Input, []). list_tags_for_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListTagsForResource">>, Input, Options). %% @doc 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. list_web_a_c_ls(Client, Input) when is_map(Client), is_map(Input) -> list_web_a_c_ls(Client, Input, []). list_web_a_c_ls(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListWebACLs">>, Input, Options). %% @doc 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. list_xss_match_sets(Client, Input) when is_map(Client), is_map(Input) -> list_xss_match_sets(Client, Input, []). list_xss_match_sets(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"ListXssMatchSets">>, Input, Options). %% @doc 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. 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. put_logging_configuration(Client, Input) when is_map(Client), is_map(Input) -> put_logging_configuration(Client, Input, []). put_logging_configuration(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PutLoggingConfiguration">>, Input, Options). %% @doc 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: %% %% For more information, see IAM %% Policies. %% %% An example of a valid policy parameter is shown in the Examples section %% below. put_permission_policy(Client, Input) when is_map(Client), is_map(Input) -> put_permission_policy(Client, Input, []). put_permission_policy(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"PutPermissionPolicy">>, Input, Options). %% @doc 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. tag_resource(Client, Input) when is_map(Client), is_map(Input) -> tag_resource(Client, Input, []). tag_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"TagResource">>, Input, Options). %% @doc 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. %% %%

untag_resource(Client, Input) when is_map(Client), is_map(Input) -> untag_resource(Client, Input, []). untag_resource(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UntagResource">>, Input, Options). %% @doc 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: %% %%

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. update_byte_match_set(Client, Input) when is_map(Client), is_map(Input) -> update_byte_match_set(Client, Input, []). update_byte_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateByteMatchSet">>, Input, Options). %% @doc 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: %% %% 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. update_geo_match_set(Client, Input) when is_map(Client), is_map(Input) -> update_geo_match_set(Client, Input, []). update_geo_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateGeoMatchSet">>, Input, Options). %% @doc 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: %% %% 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: %% %% 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. update_i_p_set(Client, Input) when is_map(Client), is_map(Input) -> update_i_p_set(Client, Input, []). update_i_p_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateIPSet">>, Input, Options). %% @doc 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: %% %% 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: %% %% 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. update_rate_based_rule(Client, Input) when is_map(Client), is_map(Input) -> update_rate_based_rule(Client, Input, []). update_rate_based_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateRateBasedRule">>, Input, Options). %% @doc 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: %% %% 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. update_regex_match_set(Client, Input) when is_map(Client), is_map(Input) -> update_regex_match_set(Client, Input, []). update_regex_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateRegexMatchSet">>, Input, Options). %% @doc 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: %% %% For example, you can create a RegexPatternString %% such as B[a@]dB[o0]t. AWS WAF will match this %% RegexPatternString to: %% %% 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. update_regex_pattern_set(Client, Input) when is_map(Client), is_map(Input) -> update_regex_pattern_set(Client, Input, []). update_regex_pattern_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateRegexPatternSet">>, Input, Options). %% @doc 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: %% %% 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. Submit an UpdateRule request to add predicates to %% the Rule. %% %%
  5. 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. update_rule(Client, Input) when is_map(Client), is_map(Input) -> update_rule(Client, Input, []). update_rule(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateRule">>, Input, Options). %% @doc 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. update_rule_group(Client, Input) when is_map(Client), is_map(Input) -> update_rule_group(Client, Input, []). update_rule_group(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateRuleGroup">>, Input, Options). %% @doc 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: %% %% 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. update_size_constraint_set(Client, Input) when is_map(Client), is_map(Input) -> update_size_constraint_set(Client, Input, []). update_size_constraint_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateSizeConstraintSet">>, Input, Options). %% @doc 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: %% %% 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. 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. update_sql_injection_match_set(Client, Input) when is_map(Client), is_map(Input) -> update_sql_injection_match_set(Client, Input, []). update_sql_injection_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateSqlInjectionMatchSet">>, Input, Options). %% @doc 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: %% %% 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. 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. update_web_a_c_l(Client, Input) when is_map(Client), is_map(Input) -> update_web_a_c_l(Client, Input, []). update_web_a_c_l(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateWebACL">>, Input, Options). %% @doc 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: %% %% 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. update_xss_match_set(Client, Input) when is_map(Client), is_map(Input) -> update_xss_match_set(Client, Input, []). update_xss_match_set(Client, Input, Options) when is_map(Client), is_map(Input), is_list(Options) -> request(Client, <<"UpdateXssMatchSet">>, Input, Options). %%==================================================================== %% Internal functions %%==================================================================== -spec request(aws_client:aws_client(), binary(), map(), list()) -> {ok, Result, {integer(), list(), hackney:client()}} | {error, Error, {integer(), list(), hackney:client()}} | {error, term()} when Result :: map() | undefined, Error :: {binary(), binary()}. request(Client, Action, Input, Options) -> Client1 = Client#{service => <<"waf">>}, Host = get_host(<<"waf">>, Client1), URL = get_url(Host, Client1), Headers = [ {<<"Host">>, Host}, {<<"Content-Type">>, <<"application/x-amz-json-1.1">>}, {<<"X-Amz-Target">>, << <<"AWSWAF_20150824.">>/binary, Action/binary>>} ], Payload = jsx:encode(Input), SignedHeaders = aws_request:sign_request(Client1, <<"POST">>, URL, Headers, Payload), Response = hackney:request(post, URL, SignedHeaders, Payload, Options), handle_response(Response). handle_response({ok, 200, ResponseHeaders, Client}) -> case hackney:body(Client) of {ok, <<>>} -> {ok, undefined, {200, ResponseHeaders, Client}}; {ok, Body} -> Result = jsx:decode(Body, [return_maps]), {ok, Result, {200, ResponseHeaders, Client}} end; handle_response({ok, StatusCode, ResponseHeaders, Client}) -> {ok, Body} = hackney:body(Client), Error = jsx:decode(Body, [return_maps]), Exception = maps:get(<<"__type">>, Error, undefined), Reason = maps:get(<<"message">>, Error, undefined), {error, {Exception, Reason}, {StatusCode, ResponseHeaders, Client}}; handle_response({error, Reason}) -> {error, Reason}. get_host(_EndpointPrefix, #{region := <<"local">>}) -> <<"localhost">>; get_host(EndpointPrefix, #{region := Region, endpoint := Endpoint}) -> aws_util:binary_join([EndpointPrefix, <<".">>, Region, <<".">>, Endpoint], <<"">>). get_url(Host, Client) -> Proto = maps:get(proto, Client), Port = maps:get(port, Client), aws_util:binary_join([Proto, <<"://">>, Host, <<":">>, Port, <<"/">>], <<"">>).