Module WAFv2.WebACL

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html

type response_inspection_header = {
  1. success_values : string list;
  2. failure_values : string list;
  3. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionheader.html

and json_match_pattern = {
  1. all : Yojson.Safe.t option;
  2. included_paths : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-jsonmatchpattern.html

and tag = {
  1. value : string;
  2. key : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

and immunity_time_property = {
  1. immunity_time : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-immunitytimeproperty.html

and response_inspection_body_contains = {
  1. success_strings : string list;
  2. failure_strings : string list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionbodycontains.html

and label_match_statement = {
  1. scope : string;
  2. key : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-labelmatchstatement.html

and forwarded_ip_configuration = {
  1. fallback_behavior : string;
  2. header_name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-forwardedipconfiguration.html

and single_header = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singleheader.html

and override_action = {
  1. count : Yojson.Safe.t option;
  2. none : Yojson.Safe.t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-overrideaction.html

and visibility_config = {
  1. metric_name : string;
  2. sampled_requests_enabled : bool;
  3. cloud_watch_metrics_enabled : bool;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-visibilityconfig.html

and ip_set_forwarded_ip_configuration = {
  1. fallback_behavior : string;
  2. header_name : string;
  3. position : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetforwardedipconfiguration.html

and response_inspection_status_code = {
  1. success_codes : int list;
  2. failure_codes : int list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionstatuscode.html

and request_body_associated_resource_type_config = {
  1. default_size_inspection_limit : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestbodyassociatedresourcetypeconfig.html

and single_query_argument = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-singlequeryargument.html

and text_transformation = {
  1. type_ : string;
  2. priority : int;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-texttransformation.html

and field_identifier = {
  1. identifier : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldidentifier.html

and excluded_rule = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-excludedrule.html

and custom_http_header = {
  1. value : string;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-customhttpheader.html

and rate_limit_label_namespace = {
  1. namespace : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitlabelnamespace.html

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-cookiematchpattern.html

and header_match_pattern = {
  1. all : Yojson.Safe.t option;
  2. included_headers : string list option;
  3. excluded_headers : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-headermatchpattern.html

and body = {
  1. oversize_handling : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-body.html

and aws_managed_rules_bot_control_rule_set = {
  1. inspection_level : string;
  2. enable_machine_learning : bool option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesbotcontrolruleset.html

and custom_response_body = {
  1. content_type : string;
  2. content : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-customresponsebody.html

and label = {
  1. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-label.html

and response_inspection_json = {
  1. identifier : string;
  2. success_values : string list;
  3. failure_values : string list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspectionjson.html

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitcookie.html

and cookies = {
  1. match_scope : string;
  2. match_pattern : cookie_match_pattern;
  3. oversize_handling : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-cookies.html

and headers = {
  1. match_scope : string;
  2. match_pattern : header_match_pattern;
  3. oversize_handling : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-headers.html

and request_inspection = {
  1. username_field : field_identifier;
  2. password_field : field_identifier;
  3. payload_type : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html

and rate_limit_uri_path = {
  1. text_transformations : text_transformation list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimituripath.html

and captcha_config = {
  1. immunity_time_property : immunity_time_property option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-captchaconfig.html

and rate_limit_query_string = {
  1. text_transformations : text_transformation list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitquerystring.html

and rate_limit_query_argument = {
  1. text_transformations : text_transformation list;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitqueryargument.html

and response_inspection = {
  1. header : response_inspection_header option;
  2. body_contains : response_inspection_body_contains option;
  3. json : response_inspection_json option;
  4. status_code : response_inspection_status_code option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-responseinspection.html

and custom_request_handling = {
  1. insert_headers : custom_http_header list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-customrequesthandling.html

and ip_set_reference_statement = {
  1. ip_set_forwarded_ip_config : ip_set_forwarded_ip_configuration option;
  2. arn : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ipsetreferencestatement.html

and custom_response = {
  1. response_code : int;
  2. custom_response_body_key : string option;
  3. response_headers : custom_http_header list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-customresponse.html

and challenge_config = {
  1. immunity_time_property : immunity_time_property option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-challengeconfig.html

and geo_match_statement = {
  1. forwarded_ip_config : forwarded_ip_configuration option;
  2. country_codes : string list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-geomatchstatement.html

and association_config = {
  1. request_body : request_body_associated_resource_type_config Stdlib__Map.Make(Stdlib.String).t option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-associationconfig.html

and request_inspection_acfp = {
  1. username_field : field_identifier option;
  2. email_field : field_identifier option;
  3. password_field : field_identifier option;
  4. address_fields : field_identifier list option;
  5. payload_type : string;
  6. phone_number_fields : field_identifier list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspectionacfp.html

and json_body = {
  1. match_scope : string;
  2. match_pattern : json_match_pattern;
  3. invalid_fallback_behavior : string option;
  4. oversize_handling : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-jsonbody.html

and rate_limit_header = {
  1. text_transformations : text_transformation list;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratelimitheader.html

and allow_action = {
  1. custom_request_handling : custom_request_handling option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-allowaction.html

and captcha_action = {
  1. custom_request_handling : custom_request_handling option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-captchaaction.html

and aws_managed_rules_atp_rule_set = {
  1. response_inspection : response_inspection option;
  2. enable_regex_in_path : bool option;
  3. login_path : string;
  4. request_inspection : request_inspection option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesatpruleset.html

and rate_based_statement_custom_key = {
  1. cookie : rate_limit_cookie option;
  2. forwarded_ip : Yojson.Safe.t option;
  3. query_argument : rate_limit_query_argument option;
  4. header : rate_limit_header option;
  5. http_method : Yojson.Safe.t option;
  6. query_string : rate_limit_query_string option;
  7. uri_path : rate_limit_uri_path option;
  8. ip : Yojson.Safe.t option;
  9. label_namespace : rate_limit_label_namespace option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementcustomkey.html

and aws_managed_rules_acfp_rule_set = {
  1. registration_page_path : string;
  2. response_inspection : response_inspection option;
  3. creation_path : string;
  4. enable_regex_in_path : bool option;
  5. request_inspection : request_inspection_acfp;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-awsmanagedrulesacfpruleset.html

and count_action = {
  1. custom_request_handling : custom_request_handling option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-countaction.html

and challenge_action = {
  1. custom_request_handling : custom_request_handling option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-challengeaction.html

and block_action = {
  1. custom_response : custom_response option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-blockaction.html

and field_to_match = {
  1. json_body : json_body option;
  2. all_query_arguments : Yojson.Safe.t option;
  3. single_query_argument : single_query_argument option;
  4. uri_path : Yojson.Safe.t option;
  5. query_string : Yojson.Safe.t option;
  6. headers : headers option;
  7. cookies : cookies option;
  8. method_ : Yojson.Safe.t option;
  9. body : body option;
  10. single_header : single_header option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-fieldtomatch.html

and size_constraint_statement = {
  1. comparison_operator : string;
  2. text_transformations : text_transformation list;
  3. size : float;
  4. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sizeconstraintstatement.html

and byte_match_statement = {
  1. search_string_base64 : string option;
  2. text_transformations : text_transformation list;
  3. positional_constraint : string;
  4. search_string : string option;
  5. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-bytematchstatement.html

and xss_match_statement = {
  1. text_transformations : text_transformation list;
  2. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-xssmatchstatement.html

and regex_pattern_set_reference_statement = {
  1. text_transformations : text_transformation list;
  2. arn : string;
  3. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexpatternsetreferencestatement.html

and rule_action = {
  1. captcha : captcha_action option;
  2. block : block_action option;
  3. count : count_action option;
  4. allow : allow_action option;
  5. challenge : challenge_action option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleaction.html

and managed_rule_group_config = {
  1. username_field : field_identifier option;
  2. login_path : string option;
  3. aws_managed_rules_atp_rule_set : aws_managed_rules_atp_rule_set option;
  4. aws_managed_rules_bot_control_rule_set : aws_managed_rules_bot_control_rule_set option;
  5. password_field : field_identifier option;
  6. aws_managed_rules_acfp_rule_set : aws_managed_rules_acfp_rule_set option;
  7. payload_type : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupconfig.html

and sqli_match_statement = {
  1. sensitivity_level : string option;
  2. text_transformations : text_transformation list;
  3. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-sqlimatchstatement.html

and default_action = {
  1. block : block_action option;
  2. allow : allow_action option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-defaultaction.html

and regex_match_statement = {
  1. text_transformations : text_transformation list;
  2. regex_string : string;
  3. field_to_match : field_to_match;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-regexmatchstatement.html

and rule_action_override = {
  1. action_to_use : rule_action;
  2. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ruleactionoverride.html

and rule_group_reference_statement = {
  1. rule_action_overrides : rule_action_override list option;
  2. arn : string;
  3. excluded_rules : excluded_rule list option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rulegroupreferencestatement.html

and rule = {
  1. action : rule_action option;
  2. priority : int;
  3. statement : statement;
  4. challenge_config : challenge_config option;
  5. override_action : override_action option;
  6. rule_labels : label list option;
  7. visibility_config : visibility_config;
  8. captcha_config : captcha_config option;
  9. name : string;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-rule.html

and statement = {
  1. size_constraint_statement : size_constraint_statement option;
  2. and_statement : and_statement option;
  3. xss_match_statement : xss_match_statement option;
  4. not_statement : not_statement option;
  5. byte_match_statement : byte_match_statement option;
  6. rate_based_statement : rate_based_statement option;
  7. geo_match_statement : geo_match_statement option;
  8. rule_group_reference_statement : rule_group_reference_statement option;
  9. label_match_statement : label_match_statement option;
  10. regex_match_statement : regex_match_statement option;
  11. sqli_match_statement : sqli_match_statement option;
  12. regex_pattern_set_reference_statement : regex_pattern_set_reference_statement option;
  13. or_statement : or_statement option;
  14. managed_rule_group_statement : managed_rule_group_statement option;
  15. ip_set_reference_statement : ip_set_reference_statement option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-statement.html

and managed_rule_group_statement = {
  1. vendor_name : string;
  2. version : string option;
  3. rule_action_overrides : rule_action_override list option;
  4. managed_rule_group_configs : managed_rule_group_config list option;
  5. excluded_rules : excluded_rule list option;
  6. name : string;
  7. scope_down_statement : statement option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-managedrulegroupstatement.html

and or_statement = {
  1. statements : statement list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-orstatement.html

and rate_based_statement = {
  1. aggregate_key_type : string;
  2. custom_keys : rate_based_statement_custom_key list option;
  3. forwarded_ip_config : forwarded_ip_configuration option;
  4. limit : int;
  5. scope_down_statement : statement option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatement.html

and not_statement = {
  1. statement : statement;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-notstatement.html

and and_statement = {
  1. statements : statement list;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-andstatement.html

type properties = {
  1. token_domains : string list option;
  2. description : string option;
  3. association_config : association_config option;
  4. default_action : default_action;
  5. scope : string;
  6. custom_response_bodies : custom_response_body Stdlib__Map.Make(Stdlib.String).t option;
  7. challenge_config : challenge_config option;
  8. rules : rule list option;
  9. visibility_config : visibility_config;
  10. captcha_config : captcha_config option;
  11. tags : tag list option;
  12. name : string option;
}

see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webacl.html;

val make_properties : ?token_domains:string list -> ?description:string -> ?association_config:association_config -> default_action:default_action -> scope:string -> ?custom_response_bodies: custom_response_body Stdlib__Map.Make(Stdlib.String).t -> ?challenge_config:challenge_config -> ?rules:rule list -> visibility_config:visibility_config -> ?captcha_config:captcha_config -> ?tags:tag list -> ?name:string -> unit -> properties
val make_response_inspection_header : success_values:string list -> failure_values:string list -> name:string -> unit -> response_inspection_header
val make_json_match_pattern : ?all:Yojson.Safe.t -> ?included_paths:string list -> unit -> json_match_pattern
val make_tag : value:string -> key:string -> unit -> tag
val make_immunity_time_property : immunity_time:int -> unit -> immunity_time_property
val make_response_inspection_body_contains : success_strings:string list -> failure_strings:string list -> unit -> response_inspection_body_contains
val make_label_match_statement : scope:string -> key:string -> unit -> label_match_statement
val make_forwarded_ip_configuration : fallback_behavior:string -> header_name:string -> unit -> forwarded_ip_configuration
val make_single_header : name:string -> unit -> single_header
val make_override_action : ?count:Yojson.Safe.t -> ?none:Yojson.Safe.t -> unit -> override_action
val make_visibility_config : metric_name:string -> sampled_requests_enabled:bool -> cloud_watch_metrics_enabled:bool -> unit -> visibility_config
val make_ip_set_forwarded_ip_configuration : fallback_behavior:string -> header_name:string -> position:string -> unit -> ip_set_forwarded_ip_configuration
val make_response_inspection_status_code : success_codes:int list -> failure_codes:int list -> unit -> response_inspection_status_code
val make_request_body_associated_resource_type_config : default_size_inspection_limit:string -> unit -> request_body_associated_resource_type_config
val make_single_query_argument : name:string -> unit -> single_query_argument
val make_text_transformation : type_:string -> priority:int -> unit -> text_transformation
val make_field_identifier : identifier:string -> unit -> field_identifier
val make_excluded_rule : name:string -> unit -> excluded_rule
val make_custom_http_header : value:string -> name:string -> unit -> custom_http_header
val make_rate_limit_label_namespace : namespace:string -> unit -> rate_limit_label_namespace
val make_header_match_pattern : ?all:Yojson.Safe.t -> ?included_headers:string list -> ?excluded_headers:string list -> unit -> header_match_pattern
val make_body : ?oversize_handling:string -> unit -> body
val make_aws_managed_rules_bot_control_rule_set : inspection_level:string -> ?enable_machine_learning:bool -> unit -> aws_managed_rules_bot_control_rule_set
val make_custom_response_body : content_type:string -> content:string -> unit -> custom_response_body
val make_label : name:string -> unit -> label
val make_response_inspection_json : identifier:string -> success_values:string list -> failure_values:string list -> unit -> response_inspection_json
val make_cookies : match_scope:string -> match_pattern:cookie_match_pattern -> oversize_handling:string -> unit -> cookies
val make_headers : match_scope:string -> match_pattern:header_match_pattern -> oversize_handling:string -> unit -> headers
val make_request_inspection : username_field:field_identifier -> password_field:field_identifier -> payload_type:string -> unit -> request_inspection
val make_rate_limit_uri_path : text_transformations:text_transformation list -> unit -> rate_limit_uri_path
val make_captcha_config : ?immunity_time_property:immunity_time_property -> unit -> captcha_config
val make_rate_limit_query_string : text_transformations:text_transformation list -> unit -> rate_limit_query_string
val make_rate_limit_query_argument : text_transformations:text_transformation list -> name:string -> unit -> rate_limit_query_argument
val make_response_inspection : ?header:response_inspection_header -> ?body_contains:response_inspection_body_contains -> ?json:response_inspection_json -> ?status_code:response_inspection_status_code -> unit -> response_inspection
val make_custom_request_handling : insert_headers:custom_http_header list -> unit -> custom_request_handling
val make_ip_set_reference_statement : ?ip_set_forwarded_ip_config:ip_set_forwarded_ip_configuration -> arn:string -> unit -> ip_set_reference_statement
val make_custom_response : response_code:int -> ?custom_response_body_key:string -> ?response_headers:custom_http_header list -> unit -> custom_response
val make_challenge_config : ?immunity_time_property:immunity_time_property -> unit -> challenge_config
val make_geo_match_statement : ?forwarded_ip_config:forwarded_ip_configuration -> ?country_codes:string list -> unit -> geo_match_statement
val make_association_config : ?request_body: request_body_associated_resource_type_config Stdlib__Map.Make(Stdlib.String).t -> unit -> association_config
val make_request_inspection_acfp : ?username_field:field_identifier -> ?email_field:field_identifier -> ?password_field:field_identifier -> ?address_fields:field_identifier list -> payload_type:string -> ?phone_number_fields:field_identifier list -> unit -> request_inspection_acfp
val make_json_body : match_scope:string -> match_pattern:json_match_pattern -> ?invalid_fallback_behavior:string -> ?oversize_handling:string -> unit -> json_body
val make_rate_limit_header : text_transformations:text_transformation list -> name:string -> unit -> rate_limit_header
val make_allow_action : ?custom_request_handling:custom_request_handling -> unit -> allow_action
val make_captcha_action : ?custom_request_handling:custom_request_handling -> unit -> captcha_action
val make_aws_managed_rules_atp_rule_set : ?response_inspection:response_inspection -> ?enable_regex_in_path:bool -> login_path:string -> ?request_inspection:request_inspection -> unit -> aws_managed_rules_atp_rule_set
val make_rate_based_statement_custom_key : ?cookie:rate_limit_cookie -> ?forwarded_ip:Yojson.Safe.t -> ?query_argument:rate_limit_query_argument -> ?header:rate_limit_header -> ?http_method:Yojson.Safe.t -> ?query_string:rate_limit_query_string -> ?uri_path:rate_limit_uri_path -> ?ip:Yojson.Safe.t -> ?label_namespace:rate_limit_label_namespace -> unit -> rate_based_statement_custom_key
val make_aws_managed_rules_acfp_rule_set : registration_page_path:string -> ?response_inspection:response_inspection -> creation_path:string -> ?enable_regex_in_path:bool -> request_inspection:request_inspection_acfp -> unit -> aws_managed_rules_acfp_rule_set
val make_count_action : ?custom_request_handling:custom_request_handling -> unit -> count_action
val make_challenge_action : ?custom_request_handling:custom_request_handling -> unit -> challenge_action
val make_block_action : ?custom_response:custom_response -> unit -> block_action
val make_field_to_match : ?json_body:json_body -> ?all_query_arguments:Yojson.Safe.t -> ?single_query_argument:single_query_argument -> ?uri_path:Yojson.Safe.t -> ?query_string:Yojson.Safe.t -> ?headers:headers -> ?cookies:cookies -> ?method_:Yojson.Safe.t -> ?body:body -> ?single_header:single_header -> unit -> field_to_match
val make_size_constraint_statement : comparison_operator:string -> text_transformations:text_transformation list -> size:float -> field_to_match:field_to_match -> unit -> size_constraint_statement
val make_byte_match_statement : ?search_string_base64:string -> text_transformations:text_transformation list -> positional_constraint:string -> ?search_string:string -> field_to_match:field_to_match -> unit -> byte_match_statement
val make_xss_match_statement : text_transformations:text_transformation list -> field_to_match:field_to_match -> unit -> xss_match_statement
val make_regex_pattern_set_reference_statement : text_transformations:text_transformation list -> arn:string -> field_to_match:field_to_match -> unit -> regex_pattern_set_reference_statement
val make_rule_action : ?captcha:captcha_action -> ?block:block_action -> ?count:count_action -> ?allow:allow_action -> ?challenge:challenge_action -> unit -> rule_action
val make_managed_rule_group_config : ?username_field:field_identifier -> ?login_path:string -> ?aws_managed_rules_atp_rule_set:aws_managed_rules_atp_rule_set -> ?aws_managed_rules_bot_control_rule_set: aws_managed_rules_bot_control_rule_set -> ?password_field:field_identifier -> ?aws_managed_rules_acfp_rule_set:aws_managed_rules_acfp_rule_set -> ?payload_type:string -> unit -> managed_rule_group_config
val make_sqli_match_statement : ?sensitivity_level:string -> text_transformations:text_transformation list -> field_to_match:field_to_match -> unit -> sqli_match_statement
val make_default_action : ?block:block_action -> ?allow:allow_action -> unit -> default_action
val make_regex_match_statement : text_transformations:text_transformation list -> regex_string:string -> field_to_match:field_to_match -> unit -> regex_match_statement
val make_rule_action_override : action_to_use:rule_action -> name:string -> unit -> rule_action_override
val make_rule_group_reference_statement : ?rule_action_overrides:rule_action_override list -> arn:string -> ?excluded_rules:excluded_rule list -> unit -> rule_group_reference_statement
val make_rule : ?action:rule_action -> priority:int -> statement:statement -> ?challenge_config:challenge_config -> ?override_action:override_action -> ?rule_labels:label list -> visibility_config:visibility_config -> ?captcha_config:captcha_config -> name:string -> unit -> rule
val make_statement : ?size_constraint_statement:size_constraint_statement -> ?and_statement:and_statement -> ?xss_match_statement:xss_match_statement -> ?not_statement:not_statement -> ?byte_match_statement:byte_match_statement -> ?rate_based_statement:rate_based_statement -> ?geo_match_statement:geo_match_statement -> ?rule_group_reference_statement:rule_group_reference_statement -> ?label_match_statement:label_match_statement -> ?regex_match_statement:regex_match_statement -> ?sqli_match_statement:sqli_match_statement -> ?regex_pattern_set_reference_statement:regex_pattern_set_reference_statement -> ?or_statement:or_statement -> ?managed_rule_group_statement:managed_rule_group_statement -> ?ip_set_reference_statement:ip_set_reference_statement -> unit -> statement
val make_managed_rule_group_statement : vendor_name:string -> ?version:string -> ?rule_action_overrides:rule_action_override list -> ?managed_rule_group_configs:managed_rule_group_config list -> ?excluded_rules:excluded_rule list -> name:string -> ?scope_down_statement:statement -> unit -> managed_rule_group_statement
val make_or_statement : statements:statement list -> unit -> or_statement
val make_rate_based_statement : aggregate_key_type:string -> ?custom_keys:rate_based_statement_custom_key list -> ?forwarded_ip_config:forwarded_ip_configuration -> limit:int -> ?scope_down_statement:statement -> unit -> rate_based_statement
val make_not_statement : statement:statement -> unit -> not_statement
val make_and_statement : statements:statement list -> unit -> and_statement
val yojson_of_response_inspection_header : response_inspection_header -> Yojson.Safe.t
val yojson_of_json_match_pattern : json_match_pattern -> Yojson.Safe.t
val yojson_of_tag : tag -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_immunity_time_property : immunity_time_property -> Yojson.Safe.t
val yojson_of_response_inspection_body_contains : response_inspection_body_contains -> Yojson.Safe.t
val yojson_of_label_match_statement : label_match_statement -> Yojson.Safe.t
val yojson_of_forwarded_ip_configuration : forwarded_ip_configuration -> Yojson.Safe.t
val yojson_of_single_header : single_header -> Yojson.Safe.t
val yojson_of_override_action : override_action -> Yojson.Safe.t
val yojson_of_visibility_config : visibility_config -> Yojson.Safe.t
val yojson_of_ip_set_forwarded_ip_configuration : ip_set_forwarded_ip_configuration -> Yojson.Safe.t
val yojson_of_response_inspection_status_code : response_inspection_status_code -> Yojson.Safe.t
val yojson_of_request_body_associated_resource_type_config : request_body_associated_resource_type_config -> Yojson.Safe.t
val yojson_of_single_query_argument : single_query_argument -> Yojson.Safe.t
val yojson_of_text_transformation : text_transformation -> Yojson.Safe.t
val yojson_of_field_identifier : field_identifier -> Yojson.Safe.t
val yojson_of_excluded_rule : excluded_rule -> Yojson.Safe.t
val yojson_of_custom_http_header : custom_http_header -> Yojson.Safe.t
val yojson_of_rate_limit_label_namespace : rate_limit_label_namespace -> Yojson.Safe.t
val yojson_of_header_match_pattern : header_match_pattern -> Yojson.Safe.t
val yojson_of_body : body -> Yojson.Safe.t
val yojson_of_aws_managed_rules_bot_control_rule_set : aws_managed_rules_bot_control_rule_set -> Yojson.Safe.t
val yojson_of_custom_response_body : custom_response_body -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_label : label -> Yojson.Safe.t
val yojson_of_response_inspection_json : response_inspection_json -> Yojson.Safe.t
val yojson_of_cookies : cookies -> Yojson.Safe.t
val yojson_of_headers : headers -> Yojson.Safe.t
val yojson_of_request_inspection : request_inspection -> Yojson.Safe.t
val yojson_of_rate_limit_uri_path : rate_limit_uri_path -> Yojson.Safe.t
val yojson_of_captcha_config : captcha_config -> Yojson.Safe.t
val yojson_of_rate_limit_query_string : rate_limit_query_string -> Yojson.Safe.t
val yojson_of_rate_limit_query_argument : rate_limit_query_argument -> Yojson.Safe.t
val yojson_of_response_inspection : response_inspection -> Yojson.Safe.t
val yojson_of_custom_request_handling : custom_request_handling -> Yojson.Safe.t
val yojson_of_ip_set_reference_statement : ip_set_reference_statement -> Yojson.Safe.t
val yojson_of_custom_response : custom_response -> Yojson.Safe.t
val yojson_of_challenge_config : challenge_config -> Yojson.Safe.t
val yojson_of_geo_match_statement : geo_match_statement -> Yojson.Safe.t
val yojson_of_association_config : association_config -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_request_inspection_acfp : request_inspection_acfp -> Yojson.Safe.t
val yojson_of_json_body : json_body -> Yojson.Safe.t
val yojson_of_rate_limit_header : rate_limit_header -> Yojson.Safe.t
val yojson_of_allow_action : allow_action -> Yojson.Safe.t
val yojson_of_captcha_action : captcha_action -> Yojson.Safe.t
val yojson_of_aws_managed_rules_atp_rule_set : aws_managed_rules_atp_rule_set -> Yojson.Safe.t
val yojson_of_rate_based_statement_custom_key : rate_based_statement_custom_key -> Yojson.Safe.t
val yojson_of_aws_managed_rules_acfp_rule_set : aws_managed_rules_acfp_rule_set -> Yojson.Safe.t
val yojson_of_count_action : count_action -> Yojson.Safe.t
val yojson_of_challenge_action : challenge_action -> Yojson.Safe.t
val yojson_of_block_action : block_action -> Yojson.Safe.t
val yojson_of_field_to_match : field_to_match -> Yojson.Safe.t
val yojson_of_size_constraint_statement : size_constraint_statement -> Yojson.Safe.t
val yojson_of_byte_match_statement : byte_match_statement -> Yojson.Safe.t
val yojson_of_xss_match_statement : xss_match_statement -> Yojson.Safe.t
val yojson_of_regex_pattern_set_reference_statement : regex_pattern_set_reference_statement -> Yojson.Safe.t
val yojson_of_rule_action : rule_action -> Yojson.Safe.t
val yojson_of_managed_rule_group_config : managed_rule_group_config -> Yojson.Safe.t
val yojson_of_sqli_match_statement : sqli_match_statement -> Yojson.Safe.t
val yojson_of_default_action : default_action -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_regex_match_statement : regex_match_statement -> Yojson.Safe.t
val yojson_of_rule_action_override : rule_action_override -> Yojson.Safe.t
val yojson_of_rule_group_reference_statement : rule_group_reference_statement -> Yojson.Safe.t
val yojson_of_rule : rule -> [> `Assoc of (string * Yojson.Safe.t) list ]
val yojson_of_statement : statement -> Yojson.Safe.t
val yojson_of_managed_rule_group_statement : managed_rule_group_statement -> Yojson.Safe.t
val yojson_of_or_statement : or_statement -> Yojson.Safe.t
val yojson_of_rate_based_statement : rate_based_statement -> Yojson.Safe.t
val yojson_of_not_statement : not_statement -> Yojson.Safe.t
val yojson_of_and_statement : and_statement -> Yojson.Safe.t
val yojson_of_properties : properties -> [> `Assoc of (string * Yojson.Safe.t) list ]
type attributes = {
  1. ref_ : string;
  2. capacity : int;
  3. id : string;
  4. arn : string;
  5. label_namespace : string;
}
val create_attributes : string -> attributes
val cloudformation_type : string