%% 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:
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateByteMatchSet request.
%%
%% - Submit a
CreateByteMatchSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateByteMatchSet request.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateGeoMatchSet request.
%%
%% - Submit a
CreateGeoMatchSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateGeoMatchSet request.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateIPSet request.
%%
%% - Submit a
CreateIPSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateIPSet request.
%%
%% - 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:
%%
%% - An
IPSet that matches the IP address
%% 192.0.2.44/32
%%
%% - A
ByteMatchSet that matches BadBot in
%% the User-Agent header
%%
%%
Further, you specify a RateLimit of 1,000.
%%
%% You then add the RateBasedRule to a WebACL and
%% specify that you want to block requests that meet the conditions in the
%% rule. For a request to be blocked, it must come from the IP address
%% 192.0.2.44 and the User-Agent header in the request
%% must contain the value BadBot. Further, requests that match
%% these two conditions must be received at a rate of more than 1,000
%% requests every five minutes. If both conditions are met and the rate is
%% exceeded, AWS WAF blocks the requests. If the rate drops below 1,000 for a
%% five-minute period, AWS WAF no longer blocks the requests.
%%
%% As a second example, suppose you want to limit requests to a particular
%% page on your site. To do this, you could add the following to a
%% RateBasedRule:
%%
%% - A
ByteMatchSet with FieldToMatch of
%% URI
%%
%% - A
PositionalConstraint of STARTS_WITH
%%
%% - A
TargetString of login
%%
%%
Further, you specify a RateLimit of 1,000.
%%
%% By adding this RateBasedRule to a WebACL, you
%% could limit requests to your login page without affecting the rest of your
%% site.
%%
%% To create and configure a RateBasedRule, perform the
%% following steps:
%%
%% - Create and update the predicates that you want to include in the
%% rule. For more information, see CreateByteMatchSet,
%% CreateIPSet, and CreateSqlInjectionMatchSet.
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateRule request.
%%
%% - Submit a
CreateRateBasedRule request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRule request.
%%
%% - Submit an
UpdateRateBasedRule request to specify
%% the predicates that you want to include in the rule.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateRegexMatchSet request.
%%
%% - Submit a
CreateRegexMatchSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRegexMatchSet request.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateRegexPatternSet request.
%%
%% - Submit a
CreateRegexPatternSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRegexPatternSet request.
%%
%% - 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:
%%
%% - An
IPSet that matches the IP address
%% 192.0.2.44/32
%%
%% - A
ByteMatchSet that matches BadBot in
%% the User-Agent header
%%
%%
You then add the Rule to a WebACL
%% and specify that you want to blocks requests that satisfy the
%% Rule. For a request to be blocked, it must come from the IP
%% address 192.0.2.44 and the User-Agent header in the
%% request must contain the value BadBot.
%%
%% To create and configure a Rule, perform the following steps:
%%
%% - Create and update the predicates that you want to include in the
%%
Rule. For more information, see CreateByteMatchSet,
%% CreateIPSet, and CreateSqlInjectionMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateRule request.
%%
%% - Submit a
CreateRule request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRule request.
%%
%% - Submit an
UpdateRule request to specify the
%% predicates that you want to include in the Rule.
%%
%% - 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:
%%
%% - Three rule groups per account. You can request an increase to
%% this limit by contacting customer support.
%%
%%
- One rule group per web ACL.
%%
%%
- Ten rules per rule group.
%%
%%
For more information about how to use the AWS WAF API to allow
%% or block HTTP requests, see the AWS WAF
%% Developer Guide.
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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateSizeConstraintSet request.
%%
%% - Submit a
CreateSizeConstraintSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateSizeConstraintSet request.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateSqlInjectionMatchSet request.
%%
%% - Submit a
CreateSqlInjectionMatchSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateSqlInjectionMatchSet request.
%%
%% - 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:
%%
%% - 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.
%%
%% - Create and update the
Rules that you want to
%% include in the WebACL. For more information, see
%% CreateRule and UpdateRule.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateWebACL request.
%%
%% - Submit a
CreateWebACL request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateWebACL request.
%%
%% - 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:
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% CreateXssMatchSet request.
%%
%% - Submit a
CreateXssMatchSet request.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateXssMatchSet request.
%%
%% - 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:
%%
%% - Update the
ByteMatchSet to remove filters, if any.
%% For more information, see UpdateByteMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteByteMatchSet request.
%%
%% - 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:
%%
%% - Update the
GeoMatchSet to remove any countries. For
%% more information, see UpdateGeoMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteGeoMatchSet request.
%%
%% - 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:
%%
%% - Update the
IPSet to remove IP address ranges, if
%% any. For more information, see UpdateIPSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteIPSet request.
%%
%% - 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:
%%
%% - Update the
RateBasedRule to remove predicates, if
%% any. For more information, see UpdateRateBasedRule.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteRateBasedRule request.
%%
%% - 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:
%%
%% - Update the
RegexMatchSet to remove filters, if any.
%% For more information, see UpdateRegexMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteRegexMatchSet request.
%%
%% - 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:
%%
%% - Update the
Rule to remove predicates, if any. For
%% more information, see UpdateRule.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteRule request.
%%
%% - 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:
%%
%% - Update the
RuleGroup to remove rules, if any. For
%% more information, see UpdateRuleGroup.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteRuleGroup request.
%%
%% - 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:
%%
%% - Update the
SizeConstraintSet to remove filters, if
%% any. For more information, see UpdateSizeConstraintSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteSizeConstraintSet request.
%%
%% - 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:
%%
%% - Update the
SqlInjectionMatchSet to remove filters,
%% if any. For more information, see UpdateSqlInjectionMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteSqlInjectionMatchSet request.
%%
%% - 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:
%%
%% - Update the
WebACL to remove Rules, if
%% any. For more information, see UpdateWebACL.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteWebACL request.
%%
%% - 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:
%%
%% - Update the
XssMatchSet to remove filters, if any.
%% For more information, see UpdateXssMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of a
%% DeleteXssMatchSet request.
%%
%% - 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:
%%
%% -
PROVISIONED: You requested the change token by
%% calling GetChangeToken, but you haven't used it yet in a call
%% to create, update, or delete an AWS WAF object.
%%
%% -
PENDING: AWS WAF is propagating the create,
%% update, or delete request to all AWS WAF servers.
%%
%% -
INSYNC: Propagation is complete.
%%
%%
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:
%%
%% - 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.
%%
%% - 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:
%%
%% - You can attach only one policy with each
%%
PutPermissionPolicy request.
%%
%% - The policy must include an
Effect,
%% Action and Principal.
%%
%% -
Effect must specify Allow.
%%
%% - The
Action in the policy must be
%% waf:UpdateWebACL, waf-regional:UpdateWebACL,
%% waf:GetRuleGroup and waf-regional:GetRuleGroup .
%% Any extra or wildcard actions in the policy will be rejected.
%%
%% - The policy cannot include a
Resource parameter.
%%
%% - The ARN in the request must be a valid WAF RuleGroup ARN and
%% the RuleGroup must exist in the same region.
%%
%%
- The user making the request must be the owner of the RuleGroup.
%%
%%
- Your policy must be composed using IAM Policy version
%% 2012-10-17.
%%
%%
For more information, see IAM
%% Policies.
%%
%% An example of a valid policy parameter is shown in the Examples section
%% below.
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:
%%
%% - Whether to insert or delete the object from the array. If you
%% want to change a
ByteMatchSetUpdate object, you delete the
%% existing object and add a new one.
%%
%% - The part of a web request that you want AWS WAF to inspect,
%% such as a query string or the value of the
User-Agent header.
%%
%% - The bytes (typically a string that corresponds with ASCII
%% characters) that you want AWS WAF to look for. For more information,
%% including how you specify the values for the AWS WAF API and the AWS CLI
%% or SDKs, see
TargetString in the ByteMatchTuple data
%% type.
%%
%% - Where to look, such as at the beginning or the end of a query
%% string.
%%
%%
- Whether to perform any conversions on the request, such as
%% converting it to lowercase, before inspecting it for the specified string.
%%
%%
For example, you can add a ByteMatchSetUpdate
%% object that matches web requests in which User-Agent headers
%% contain the string BadBot. You can then configure AWS WAF to
%% block those requests.
%%
%% To create and configure a ByteMatchSet, perform the following
%% steps:
%%
%% - Create a
ByteMatchSet. For more information, see
%% CreateByteMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an
%% UpdateByteMatchSet request.
%%
%% - 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:
%%
%% - Whether to insert or delete the object from the array. If you
%% want to change an
GeoMatchConstraint object, you delete the
%% existing object and add a new one.
%%
%% - The
Type. The only valid value for
%% Type is Country.
%%
%% - The
Value, which is a two character code for the
%% country to add to the GeoMatchConstraint object. Valid codes
%% are listed in GeoMatchConstraint$Value.
%%
%%
To create and configure an GeoMatchSet, perform
%% the following steps:
%%
%% - Submit a CreateGeoMatchSet request.
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an
%% UpdateGeoMatchSet request.
%%
%% - 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:
%%
%% - Whether to insert or delete the object from the array. If you
%% want to change an
IPSetDescriptor object, you delete the
%% existing object and add a new one.
%%
%% - The IP address version,
IPv4 or IPv6.
%%
%% - The IP address in CIDR notation, for example,
%%
192.0.2.0/24 (for the range of IP addresses from
%% 192.0.2.0 to 192.0.2.255) or
%% 192.0.2.44/32 (for the individual IP address
%% 192.0.2.44).
%%
%%
AWS WAF supports IPv4 address ranges: /8 and any range between
%% /16 through /32. AWS WAF supports IPv6 address ranges: /24, /32, /48, /56,
%% /64, and /128. For more information about CIDR notation, see the Wikipedia
%% entry Classless
%% Inter-Domain Routing.
%%
%% IPv6 addresses can be represented using any of the following formats:
%%
%% - 1111:0000:0000:0000:0000:0000:0000:0111/128
%%
%%
- 1111:0:0:0:0:0:0:0111/128
%%
%%
- 1111::0111/128
%%
%%
- 1111::111/128
%%
%%
You use an IPSet to specify which web requests
%% you want to allow or block based on the IP addresses that the requests
%% originated from. For example, if you're receiving a lot of requests from
%% one or a small number of IP addresses and you want to block the requests,
%% you can create an IPSet that specifies those IP addresses,
%% and then configure AWS WAF to block the requests.
%%
%% To create and configure an IPSet, perform the following
%% steps:
%%
%% - Submit a CreateIPSet request.
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an UpdateIPSet
%% request.
%%
%% - 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:
%%
%% - An
IPSet that matches the IP address
%% 192.0.2.44/32
%%
%% - A
ByteMatchSet that matches BadBot in
%% the User-Agent header
%%
%%
Further, you specify a RateLimit of 1,000.
%%
%% You then add the RateBasedRule to a WebACL and
%% specify that you want to block requests that satisfy the rule. For a
%% request to be blocked, it must come from the IP address 192.0.2.44
%% and the User-Agent header in the request must contain
%% the value BadBot. Further, requests that match these two
%% conditions much be received at a rate of more than 1,000 every five
%% minutes. If the rate drops below this limit, AWS WAF no longer blocks the
%% requests.
%%
%% As a second example, suppose you want to limit requests to a particular
%% page on your site. To do this, you could add the following to a
%% RateBasedRule:
%%
%% - A
ByteMatchSet with FieldToMatch of
%% URI
%%
%% - A
PositionalConstraint of STARTS_WITH
%%
%% - A
TargetString of login
%%
%%
Further, you specify a RateLimit of 1,000.
%%
%% By adding this RateBasedRule to a WebACL, you
%% could limit requests to your login page without affecting the rest of your
%% site.
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:
%%
%% - Whether to insert or delete the object from the array. If you
%% want to change a
RegexMatchSetUpdate object, you delete the
%% existing object and add a new one.
%%
%% - The part of a web request that you want AWS WAF to
%% inspectupdate, such as a query string or the value of the
%%
User-Agent header.
%%
%% - The identifier of the pattern (a regular expression) that you
%% want AWS WAF to look for. For more information, see
%% RegexPatternSet.
%%
%%
- Whether to perform any conversions on the request, such as
%% converting it to lowercase, before inspecting it for the specified string.
%%
%%
For example, you can create a RegexPatternSet
%% that matches any requests with User-Agent headers that
%% contain the string B[a@]dB[o0]t. You can then configure AWS
%% WAF to reject those requests.
%%
%% To create and configure a RegexMatchSet, perform the
%% following steps:
%%
%% - Create a
RegexMatchSet. For more information, see
%% CreateRegexMatchSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an
%% UpdateRegexMatchSet request.
%%
%% - 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:
%%
%% - Whether to insert or delete the
RegexPatternString.
%%
%% - The regular expression pattern that you want to insert or
%% delete. For more information, see RegexPatternSet.
%%
%%
For example, you can create a RegexPatternString
%% such as B[a@]dB[o0]t. AWS WAF will match this
%% RegexPatternString to:
%%
%% - BadBot
%%
%%
- BadB0t
%%
%%
- B@dBot
%%
%%
- B@dB0t
%%
%%
To create and configure a RegexPatternSet,
%% perform the following steps:
%%
%% - Create a
RegexPatternSet. For more information, see
%% CreateRegexPatternSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an
%% UpdateRegexPatternSet request.
%%
%% - 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:
%%
%% - A
ByteMatchSet that matches the value
%% BadBot in the User-Agent header
%%
%% - An
IPSet that matches the IP address
%% 192.0.2.44
%%
%%
You then add the Rule to a WebACL
%% and specify that you want to block requests that satisfy the
%% Rule. For a request to be blocked, the
%% User-Agent header in the request must contain the value
%% BadBot and the request must originate from the IP
%% address 192.0.2.44.
%%
%% To create and configure a Rule, perform the following steps:
%%
%% - Create and update the predicates that you want to include in the
%%
Rule.
%%
%% - Create the
Rule. See CreateRule.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRule request.
%%
%% - Submit an
UpdateRule request to add predicates to
%% the Rule.
%%
%% - 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:
%%
%% - Create and update the
Rules that you want to
%% include in the RuleGroup. See CreateRule.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateRuleGroup request.
%%
%% - Submit an
UpdateRuleGroup request to add
%% Rules to the RuleGroup.
%%
%% - 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:
%%
%% - Whether to insert or delete the object from the array. If you
%% want to change a
SizeConstraintSetUpdate object, you delete
%% the existing object and add a new one.
%%
%% - The part of a web request that you want AWS WAF to evaluate,
%% such as the length of a query string or the length of the
%%
User-Agent header.
%%
%% - Whether to perform any transformations on the request, such as
%% converting it to lowercase, before checking its length. Note that
%% transformations of the request body are not supported because the AWS
%% resource forwards only the first
8192 bytes of your request
%% to AWS WAF.
%%
%% You can only specify a single type of TextTransformation.
%%
%% - A
ComparisonOperator used for evaluating the
%% selected part of the request against the specified Size, such
%% as equals, greater than, less than, and so on.
%%
%% - The length, in bytes, that you want AWS WAF to watch for in
%% selected part of the request. The length is computed after applying the
%% transformation.
%%
%%
For example, you can add a
%% SizeConstraintSetUpdate object that matches web requests in
%% which the length of the User-Agent header is greater than 100
%% bytes. You can then configure AWS WAF to block those requests.
%%
%% To create and configure a SizeConstraintSet, perform the
%% following steps:
%%
%% - Create a
SizeConstraintSet. For more information,
%% see CreateSizeConstraintSet.
%%
%% - Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an
%% UpdateSizeConstraintSet request.
%%
%% - 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:
%%
%% -
Action: Whether to insert the object into or delete
%% the object from the array. To change a
%% SqlInjectionMatchTuple, you delete the existing object and
%% add a new one.
%%
%% -
FieldToMatch: The part of web requests that you
%% want AWS WAF to inspect and, if you want AWS WAF to inspect a header or
%% custom query parameter, the name of the header or parameter.
%%
%% -
TextTransformation: Which text transformation, if
%% any, to perform on the web request before inspecting the request for
%% snippets of malicious SQL code.
%%
%% You can only specify a single type of TextTransformation.
%%
%%
You use SqlInjectionMatchSet objects to specify
%% which CloudFront requests that you want to allow, block, or count. For
%% example, if you're receiving requests that contain snippets of SQL code in
%% the query string and you want to block the requests, you can create a
%% SqlInjectionMatchSet with the applicable settings, and then
%% configure AWS WAF to block the requests.
%%
%% To create and configure a SqlInjectionMatchSet, perform the
%% following steps:
%%
%% - Submit a CreateSqlInjectionMatchSet request.
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an UpdateIPSet
%% request.
%%
%% - 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:
%%
%% - A default action for the
WebACL, either
%% ALLOW or BLOCK. AWS WAF performs the default
%% action if a request doesn't match the criteria in any of the
%% Rules in a WebACL.
%%
%% - The
Rules that you want to add or delete. If you
%% want to replace one Rule with another, you delete the
%% existing Rule and add the new one.
%%
%% - For each
Rule, whether you want AWS WAF to allow
%% requests, block requests, or count requests that match the conditions in
%% the Rule.
%%
%% - The order in which you want AWS WAF to evaluate the
%%
Rules in a WebACL. If you add more than one
%% Rule to a WebACL, AWS WAF evaluates each request
%% against the Rules in order based on the value of
%% Priority. (The Rule that has the lowest value
%% for Priority is evaluated first.) When a web request matches
%% all the predicates (such as ByteMatchSets and
%% IPSets) in a Rule, AWS WAF immediately takes the
%% corresponding action, allow or block, and doesn't evaluate the request
%% against the remaining Rules in the WebACL, if
%% any.
%%
%%
To create and configure a WebACL, perform the
%% following steps:
%%
%% - Create and update the predicates that you want to include in
%%
Rules. For more information, see CreateByteMatchSet,
%% UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
%% CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
%%
%% - Create and update the
Rules that you want to
%% include in the WebACL. For more information, see
%% CreateRule and UpdateRule.
%%
%% - Create a
WebACL. See CreateWebACL.
%%
%% - Use
GetChangeToken to get the change token that
%% you provide in the ChangeToken parameter of an
%% UpdateWebACL request.
%%
%% - 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:
%%
%% -
Action: Whether to insert the object into or delete
%% the object from the array. To change an XssMatchTuple, you
%% delete the existing object and add a new one.
%%
%% -
FieldToMatch: The part of web requests that you
%% want AWS WAF to inspect and, if you want AWS WAF to inspect a header or
%% custom query parameter, the name of the header or parameter.
%%
%% -
TextTransformation: Which text transformation, if
%% any, to perform on the web request before inspecting the request for
%% cross-site scripting attacks.
%%
%% You can only specify a single type of TextTransformation.
%%
%%
You use XssMatchSet objects to specify which
%% CloudFront requests that you want to allow, block, or count. For example,
%% if you're receiving requests that contain cross-site scripting attacks in
%% the request body and you want to block the requests, you can create an
%% XssMatchSet with the applicable settings, and then configure
%% AWS WAF to block the requests.
%%
%% To create and configure an XssMatchSet, perform the following
%% steps:
%%
%% - Submit a CreateXssMatchSet request.
%%
%%
- Use GetChangeToken to get the change token that you
%% provide in the
ChangeToken parameter of an UpdateIPSet
%% request.
%%
%% - 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, <<"/">>], <<"">>).