Packages
erlcloud
3.7.2
3.8.3
3.8.2
3.8.1
3.7.6
3.7.4
3.7.3
3.7.2
3.7.1
3.7.0
3.6.8
3.6.7
3.6.5
3.6.4
3.6.3
3.6.2
3.6.1
3.6.0
3.5.16
3.5.15
3.5.14
3.5.13
3.5.12
3.5.11
3.5.10
3.5.9
3.5.8
3.5.7
3.5.6
3.5.5
3.5.4
3.5.3
3.5.2
3.5.1
3.5.0
3.4.5
3.4.3
3.4.1
3.4.0
3.3.9
3.3.8
3.3.7
3.3.6
3.3.5
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.18
3.2.17
3.2.16
3.2.15
3.2.14
3.2.13
3.2.12
3.2.11
3.2.10
3.2.7
3.2.6
3.2.5
3.2.4
3.2.3
3.2.2
3.2.1
3.2.0
3.1.17
3.1.16
3.1.14
3.1.13
3.1.12
3.1.11
3.1.9
3.1.8
3.1.7
3.1.6
3.1.5
3.1.4
3.1.3
3.1.2
3.1.1
3.1.0
3.0.5
3.0.4
3.0.3
3.0.2
3.0.1
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.2
2.2.1
2.2.0
2.1.0
2.0.5
2.0.4
2.0.3
2.0.0
0.13.10
0.13.9
0.13.8
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.0
0.12.0
0.11.0
0.9.2
0.9.2-rc.1
0.9.1
0.9.0
AWS APIs library for Erlang
Current section
Files
Jump to
Current section
Files
include/erlcloud_waf.hrl
-ifndef(erlcloud_waf_hrl).
-define(erlcloud_waf_hrl, 0).
-type waf_update_action() :: insert | delete.
-type waf_text_transformation() :: none | compress_white_space | html_entity_decode | lowercase | cmd_line | url_decode.
-type waf_positional_constraint() :: exactly | starts_with | ends_with | contains | contains_word.
-type waf_comparison_operator() :: eq | ne | le | lt | ge | gt.
-type waf_predicate_type() :: ip_match | byte_match | sql_injection_match | size_constraint.
-type waf_acl_action_type() :: block | allow | count.
-record(waf_field_to_match, {
type :: uri | 'query_string' | header | method | body,
data :: string()|undefined
}).
-type(waf_field_to_match() :: #waf_field_to_match{}).
%%%------------------------------------------------------------------------------
%%
%% byte_match_set data types
%%
%%%------------------------------------------------------------------------------
-record(waf_byte_match_tuple, {
field_to_match :: waf_field_to_match(),
positional_constraint :: waf_positional_constraint(),
target_string :: binary(), % must be base64 encoded
text_transformation :: waf_text_transformation()
}).
-type(waf_byte_match_tuple() :: #waf_byte_match_tuple{}).
-record(waf_byte_match_set_update, {
action :: waf_update_action(),
byte_match_tuple :: waf_byte_match_tuple()
}).
-type(waf_byte_match_set_update() :: #waf_byte_match_set_update{}).
%%%------------------------------------------------------------------------------
%%
%% ip_set data types
%%
%%%------------------------------------------------------------------------------
-type waf_ip_address_type() :: ip_v4.
-record(waf_ip_set_descriptor, {
type :: waf_ip_address_type(),
value :: string() | binary()
}).
-type(waf_ip_set_descriptor() :: #waf_ip_set_descriptor{}).
-record(waf_ip_set_update, {
action :: waf_update_action(),
ip_set_descriptor :: waf_ip_set_descriptor()
}).
-type(waf_ip_set_update() :: #waf_ip_set_update{}).
%%%------------------------------------------------------------------------------
%%
%% rule data types
%%
%%%------------------------------------------------------------------------------
-record(waf_rule_predicate, {
data_id :: string() | binary(),
negated :: boolean(),
type :: waf_predicate_type()
}).
-type(waf_rule_predicate() :: #waf_rule_predicate{}).
-record(waf_rule_update, {
action :: waf_update_action(),
predicate :: waf_rule_predicate()
}).
-type(waf_rule_update() :: #waf_rule_update{}).
%%%------------------------------------------------------------------------------
%%
%% size_constraint_set data types
%%
%%%------------------------------------------------------------------------------
-record(waf_size_constraint, {
comparison_operator :: waf_comparison_operator(),
field_to_match :: waf_field_to_match(),
size :: pos_integer(),
text_transformation :: waf_text_transformation()
}).
-type(waf_size_constraint() :: #waf_size_constraint{}).
-record(waf_size_constraint_update, {
action :: waf_update_action(),
size_constraint :: waf_size_constraint()
}).
-type(waf_size_constraint_update() :: #waf_size_constraint_update{}).
%%%------------------------------------------------------------------------------
%%
%% sql_injection_match_set data types
%%
%%%------------------------------------------------------------------------------
-record(waf_sql_injection_match_tuple, {
field_to_match :: waf_field_to_match(),
text_transformation :: waf_text_transformation()
}).
-type(waf_sql_injection_match_tuple() :: #waf_sql_injection_match_tuple{}).
-record(waf_sql_injection_match_set_update, {
action :: waf_update_action(),
sql_injection_match_tuple :: waf_sql_injection_match_tuple()
}).
-type(waf_sql_injection_match_set_update() :: #waf_sql_injection_match_set_update{}).
%%%------------------------------------------------------------------------------
%%
%% update_web_acl data types
%%
%%%------------------------------------------------------------------------------
-record(waf_activated_rule, {
action :: waf_acl_action_type(),
priority :: pos_integer(),
rule_id :: string() | binary()
}).
-type(waf_activated_rule() :: #waf_activated_rule{}).
-record(waf_web_acl_update, {
action :: waf_update_action(),
activated_rule :: waf_activated_rule()
}).
-type(waf_web_acl_update() :: #waf_web_acl_update{}).
%%%------------------------------------------------------------------------------
%%
%% update_xss_match_set data types
%%
%%%------------------------------------------------------------------------------
-record(waf_xss_match_tuple, {
field_to_match :: waf_field_to_match(),
text_transformation :: waf_text_transformation()
}).
-type(waf_xss_match_tuple() :: #waf_xss_match_tuple{}).
-record(waf_xss_match_set_update, {
action :: waf_update_action(),
xss_match_tuple :: waf_xss_match_tuple()
}).
-type(waf_xss_match_set_update() :: #waf_xss_match_set_update{}).
-endif.