# WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE module Aws module WAFV2 class Client < ::Seahorse::Client::Base include ::Aws::ClientStubs # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#initialize-instance_method def self.new: ( ?credentials: untyped, ?region: String, ?access_key_id: String, ?active_endpoint_cache: bool, ?adaptive_retry_wait_to_fill: bool, ?client_side_monitoring: bool, ?client_side_monitoring_client_id: String, ?client_side_monitoring_host: String, ?client_side_monitoring_port: Integer, ?client_side_monitoring_publisher: untyped, ?convert_params: bool, ?correct_clock_skew: bool, ?defaults_mode: String, ?disable_host_prefix_injection: bool, ?disable_request_compression: bool, ?endpoint: String, ?endpoint_cache_max_entries: Integer, ?endpoint_cache_max_threads: Integer, ?endpoint_cache_poll_interval: Integer, ?endpoint_discovery: bool, ?ignore_configured_endpoint_urls: bool, ?log_formatter: untyped, ?log_level: Symbol, ?logger: untyped, ?max_attempts: Integer, ?profile: String, ?request_min_compression_size_bytes: Integer, ?retry_backoff: Proc, ?retry_base_delay: Float, ?retry_jitter: (:none | :equal | :full | ^(Integer) -> Integer), ?retry_limit: Integer, ?retry_max_delay: Integer, ?retry_mode: ("legacy" | "standard" | "adaptive"), ?sdk_ua_app_id: String, ?secret_access_key: String, ?session_token: String, ?simple_json: bool, ?stub_responses: untyped, ?token_provider: untyped, ?use_dualstack_endpoint: bool, ?use_fips_endpoint: bool, ?validate_params: bool, ?endpoint_provider: untyped, ?http_proxy: String, ?http_open_timeout: (Float | Integer), ?http_read_timeout: (Float | Integer), ?http_idle_timeout: (Float | Integer), ?http_continue_timeout: (Float | Integer), ?ssl_timeout: (Float | Integer | nil), ?http_wire_trace: bool, ?ssl_verify_peer: bool, ?ssl_ca_bundle: String, ?ssl_ca_directory: String, ?ssl_ca_store: String, ?on_chunk_received: Proc, ?on_chunk_sent: Proc, ?raise_response_errors: bool ) -> instance | (?Hash[Symbol, untyped]) -> instance interface _AssociateWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::AssociateWebACLResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#associate_web_acl-instance_method def associate_web_acl: ( web_acl_arn: ::String, resource_arn: ::String ) -> _AssociateWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _AssociateWebACLResponseSuccess interface _CheckCapacityResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CheckCapacityResponse] def capacity: () -> ::Integer end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#check_capacity-instance_method def check_capacity: ( scope: ("CLOUDFRONT" | "REGIONAL"), rules: Array[ { name: ::String, priority: ::Integer, statement: { byte_match_statement: { search_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], positional_constraint: ("EXACTLY" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "CONTAINS_WORD") }?, sqli_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], sensitivity_level: ("LOW" | "HIGH")? }?, xss_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, size_constraint_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, comparison_operator: ("EQ" | "NE" | "LE" | "LT" | "GE" | "GT"), size: ::Integer, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, geo_match_statement: { country_codes: Array[("AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "XK")]?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }? }?, rule_group_reference_statement: { arn: ::String, excluded_rules: Array[ { name: ::String }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, ip_set_reference_statement: { arn: ::String, ip_set_forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH"), position: ("FIRST" | "LAST" | "ANY") }? }?, regex_pattern_set_reference_statement: { arn: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, rate_based_statement: { limit: ::Integer, evaluation_window_sec: ::Integer?, aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"), scope_down_statement: untyped?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }?, custom_keys: Array[ { header: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, cookie: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_argument: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_string: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, http_method: { }?, forwarded_ip: { }?, ip: { }?, label_namespace: { namespace: ::String }?, uri_path: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, ]? }?, and_statement: { statements: Array[ untyped, ] }?, or_statement: { statements: Array[ untyped, ] }?, not_statement: { statement: untyped }?, managed_rule_group_statement: { vendor_name: ::String, name: ::String, version: ::String?, excluded_rules: Array[ { name: ::String }, ]?, scope_down_statement: untyped?, managed_rule_group_configs: Array[ { login_path: ::String?, payload_type: ("JSON" | "FORM_ENCODED")?, username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, aws_managed_rules_bot_control_rule_set: { inspection_level: ("COMMON" | "TARGETED"), enable_machine_learning: bool? }?, aws_managed_rules_atp_rule_set: { login_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }, password_field: { identifier: ::String } }?, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }?, aws_managed_rules_acfp_rule_set: { creation_path: ::String, registration_page_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, email_field: { identifier: ::String }?, phone_number_fields: Array[ { identifier: ::String }, ]?, address_fields: Array[ { identifier: ::String }, ]? }, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }? }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, label_match_statement: { scope: ("LABEL" | "NAMESPACE"), key: ::String }?, regex_match_statement: { regex_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }?, override_action: { count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, none: { }? }?, rule_labels: Array[ { name: ::String }, ]?, visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }?, challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }? }, ] ) -> _CheckCapacityResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CheckCapacityResponseSuccess interface _CreateAPIKeyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateAPIKeyResponse] def api_key: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#create_api_key-instance_method def create_api_key: ( scope: ("CLOUDFRONT" | "REGIONAL"), token_domains: Array[::String] ) -> _CreateAPIKeyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateAPIKeyResponseSuccess interface _CreateIPSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateIPSetResponse] def summary: () -> Types::IPSetSummary end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#create_ip_set-instance_method def create_ip_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), ?description: ::String, ip_address_version: ("IPV4" | "IPV6"), addresses: Array[::String], ?tags: Array[ { key: ::String, value: ::String }, ] ) -> _CreateIPSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateIPSetResponseSuccess interface _CreateRegexPatternSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateRegexPatternSetResponse] def summary: () -> Types::RegexPatternSetSummary end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#create_regex_pattern_set-instance_method def create_regex_pattern_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), ?description: ::String, regular_expression_list: Array[ { regex_string: ::String? }, ], ?tags: Array[ { key: ::String, value: ::String }, ] ) -> _CreateRegexPatternSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateRegexPatternSetResponseSuccess interface _CreateRuleGroupResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateRuleGroupResponse] def summary: () -> Types::RuleGroupSummary end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#create_rule_group-instance_method def create_rule_group: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), capacity: ::Integer, ?description: ::String, ?rules: Array[ { name: ::String, priority: ::Integer, statement: { byte_match_statement: { search_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], positional_constraint: ("EXACTLY" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "CONTAINS_WORD") }?, sqli_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], sensitivity_level: ("LOW" | "HIGH")? }?, xss_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, size_constraint_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, comparison_operator: ("EQ" | "NE" | "LE" | "LT" | "GE" | "GT"), size: ::Integer, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, geo_match_statement: { country_codes: Array[("AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "XK")]?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }? }?, rule_group_reference_statement: { arn: ::String, excluded_rules: Array[ { name: ::String }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, ip_set_reference_statement: { arn: ::String, ip_set_forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH"), position: ("FIRST" | "LAST" | "ANY") }? }?, regex_pattern_set_reference_statement: { arn: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, rate_based_statement: { limit: ::Integer, evaluation_window_sec: ::Integer?, aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"), scope_down_statement: untyped?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }?, custom_keys: Array[ { header: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, cookie: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_argument: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_string: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, http_method: { }?, forwarded_ip: { }?, ip: { }?, label_namespace: { namespace: ::String }?, uri_path: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, ]? }?, and_statement: { statements: Array[ untyped, ] }?, or_statement: { statements: Array[ untyped, ] }?, not_statement: { statement: untyped }?, managed_rule_group_statement: { vendor_name: ::String, name: ::String, version: ::String?, excluded_rules: Array[ { name: ::String }, ]?, scope_down_statement: untyped?, managed_rule_group_configs: Array[ { login_path: ::String?, payload_type: ("JSON" | "FORM_ENCODED")?, username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, aws_managed_rules_bot_control_rule_set: { inspection_level: ("COMMON" | "TARGETED"), enable_machine_learning: bool? }?, aws_managed_rules_atp_rule_set: { login_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }, password_field: { identifier: ::String } }?, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }?, aws_managed_rules_acfp_rule_set: { creation_path: ::String, registration_page_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, email_field: { identifier: ::String }?, phone_number_fields: Array[ { identifier: ::String }, ]?, address_fields: Array[ { identifier: ::String }, ]? }, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }? }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, label_match_statement: { scope: ("LABEL" | "NAMESPACE"), key: ::String }?, regex_match_statement: { regex_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }?, override_action: { count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, none: { }? }?, rule_labels: Array[ { name: ::String }, ]?, visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }?, challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }? }, ], visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, ?tags: Array[ { key: ::String, value: ::String }, ], ?custom_response_bodies: Hash[::String, { content_type: ("TEXT_PLAIN" | "TEXT_HTML" | "APPLICATION_JSON"), content: ::String }] ) -> _CreateRuleGroupResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateRuleGroupResponseSuccess interface _CreateWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::CreateWebACLResponse] def summary: () -> Types::WebACLSummary end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#create_web_acl-instance_method def create_web_acl: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), default_action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }, ?description: ::String, ?rules: Array[ { name: ::String, priority: ::Integer, statement: { byte_match_statement: { search_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], positional_constraint: ("EXACTLY" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "CONTAINS_WORD") }?, sqli_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], sensitivity_level: ("LOW" | "HIGH")? }?, xss_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, size_constraint_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, comparison_operator: ("EQ" | "NE" | "LE" | "LT" | "GE" | "GT"), size: ::Integer, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, geo_match_statement: { country_codes: Array[("AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "XK")]?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }? }?, rule_group_reference_statement: { arn: ::String, excluded_rules: Array[ { name: ::String }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, ip_set_reference_statement: { arn: ::String, ip_set_forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH"), position: ("FIRST" | "LAST" | "ANY") }? }?, regex_pattern_set_reference_statement: { arn: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, rate_based_statement: { limit: ::Integer, evaluation_window_sec: ::Integer?, aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"), scope_down_statement: untyped?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }?, custom_keys: Array[ { header: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, cookie: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_argument: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_string: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, http_method: { }?, forwarded_ip: { }?, ip: { }?, label_namespace: { namespace: ::String }?, uri_path: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, ]? }?, and_statement: { statements: Array[ untyped, ] }?, or_statement: { statements: Array[ untyped, ] }?, not_statement: { statement: untyped }?, managed_rule_group_statement: { vendor_name: ::String, name: ::String, version: ::String?, excluded_rules: Array[ { name: ::String }, ]?, scope_down_statement: untyped?, managed_rule_group_configs: Array[ { login_path: ::String?, payload_type: ("JSON" | "FORM_ENCODED")?, username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, aws_managed_rules_bot_control_rule_set: { inspection_level: ("COMMON" | "TARGETED"), enable_machine_learning: bool? }?, aws_managed_rules_atp_rule_set: { login_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }, password_field: { identifier: ::String } }?, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }?, aws_managed_rules_acfp_rule_set: { creation_path: ::String, registration_page_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, email_field: { identifier: ::String }?, phone_number_fields: Array[ { identifier: ::String }, ]?, address_fields: Array[ { identifier: ::String }, ]? }, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }? }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, label_match_statement: { scope: ("LABEL" | "NAMESPACE"), key: ::String }?, regex_match_statement: { regex_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }?, override_action: { count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, none: { }? }?, rule_labels: Array[ { name: ::String }, ]?, visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }?, challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }? }, ], visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, ?tags: Array[ { key: ::String, value: ::String }, ], ?custom_response_bodies: Hash[::String, { content_type: ("TEXT_PLAIN" | "TEXT_HTML" | "APPLICATION_JSON"), content: ::String }], ?captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }, ?challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }, ?token_domains: Array[::String], ?association_config: { request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), { default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64") }]? } ) -> _CreateWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateWebACLResponseSuccess interface _DeleteAPIKeyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteAPIKeyResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_api_key-instance_method def delete_api_key: ( scope: ("CLOUDFRONT" | "REGIONAL"), api_key: ::String ) -> _DeleteAPIKeyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteAPIKeyResponseSuccess interface _DeleteFirewallManagerRuleGroupsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteFirewallManagerRuleGroupsResponse] def next_web_acl_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_firewall_manager_rule_groups-instance_method def delete_firewall_manager_rule_groups: ( web_acl_arn: ::String, web_acl_lock_token: ::String ) -> _DeleteFirewallManagerRuleGroupsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteFirewallManagerRuleGroupsResponseSuccess interface _DeleteIPSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteIPSetResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_ip_set-instance_method def delete_ip_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String ) -> _DeleteIPSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteIPSetResponseSuccess interface _DeleteLoggingConfigurationResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteLoggingConfigurationResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_logging_configuration-instance_method def delete_logging_configuration: ( resource_arn: ::String, ?log_type: ("WAF_LOGS"), ?log_scope: ("CUSTOMER" | "SECURITY_LAKE") ) -> _DeleteLoggingConfigurationResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteLoggingConfigurationResponseSuccess interface _DeletePermissionPolicyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeletePermissionPolicyResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_permission_policy-instance_method def delete_permission_policy: ( resource_arn: ::String ) -> _DeletePermissionPolicyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeletePermissionPolicyResponseSuccess interface _DeleteRegexPatternSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteRegexPatternSetResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_regex_pattern_set-instance_method def delete_regex_pattern_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String ) -> _DeleteRegexPatternSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteRegexPatternSetResponseSuccess interface _DeleteRuleGroupResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteRuleGroupResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_rule_group-instance_method def delete_rule_group: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String ) -> _DeleteRuleGroupResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteRuleGroupResponseSuccess interface _DeleteWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DeleteWebACLResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#delete_web_acl-instance_method def delete_web_acl: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String ) -> _DeleteWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteWebACLResponseSuccess interface _DescribeAllManagedProductsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DescribeAllManagedProductsResponse] def managed_products: () -> ::Array[Types::ManagedProductDescriptor] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#describe_all_managed_products-instance_method def describe_all_managed_products: ( scope: ("CLOUDFRONT" | "REGIONAL") ) -> _DescribeAllManagedProductsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeAllManagedProductsResponseSuccess interface _DescribeManagedProductsByVendorResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DescribeManagedProductsByVendorResponse] def managed_products: () -> ::Array[Types::ManagedProductDescriptor] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#describe_managed_products_by_vendor-instance_method def describe_managed_products_by_vendor: ( vendor_name: ::String, scope: ("CLOUDFRONT" | "REGIONAL") ) -> _DescribeManagedProductsByVendorResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeManagedProductsByVendorResponseSuccess interface _DescribeManagedRuleGroupResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DescribeManagedRuleGroupResponse] def version_name: () -> ::String def sns_topic_arn: () -> ::String def capacity: () -> ::Integer def rules: () -> ::Array[Types::RuleSummary] def label_namespace: () -> ::String def available_labels: () -> ::Array[Types::LabelSummary] def consumed_labels: () -> ::Array[Types::LabelSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#describe_managed_rule_group-instance_method def describe_managed_rule_group: ( vendor_name: ::String, name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), ?version_name: ::String ) -> _DescribeManagedRuleGroupResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DescribeManagedRuleGroupResponseSuccess interface _DisassociateWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::DisassociateWebACLResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#disassociate_web_acl-instance_method def disassociate_web_acl: ( resource_arn: ::String ) -> _DisassociateWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DisassociateWebACLResponseSuccess interface _GenerateMobileSdkReleaseUrlResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GenerateMobileSdkReleaseUrlResponse] def url: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#generate_mobile_sdk_release_url-instance_method def generate_mobile_sdk_release_url: ( platform: ("IOS" | "ANDROID"), release_version: ::String ) -> _GenerateMobileSdkReleaseUrlResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GenerateMobileSdkReleaseUrlResponseSuccess interface _GetDecryptedAPIKeyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetDecryptedAPIKeyResponse] def token_domains: () -> ::Array[::String] def creation_timestamp: () -> ::Time end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_decrypted_api_key-instance_method def get_decrypted_api_key: ( scope: ("CLOUDFRONT" | "REGIONAL"), api_key: ::String ) -> _GetDecryptedAPIKeyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetDecryptedAPIKeyResponseSuccess interface _GetIPSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetIPSetResponse] def ip_set: () -> Types::IPSet def lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_ip_set-instance_method def get_ip_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String ) -> _GetIPSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetIPSetResponseSuccess interface _GetLoggingConfigurationResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetLoggingConfigurationResponse] def logging_configuration: () -> Types::LoggingConfiguration end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_logging_configuration-instance_method def get_logging_configuration: ( resource_arn: ::String, ?log_type: ("WAF_LOGS"), ?log_scope: ("CUSTOMER" | "SECURITY_LAKE") ) -> _GetLoggingConfigurationResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetLoggingConfigurationResponseSuccess interface _GetManagedRuleSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetManagedRuleSetResponse] def managed_rule_set: () -> Types::ManagedRuleSet def lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_managed_rule_set-instance_method def get_managed_rule_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String ) -> _GetManagedRuleSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetManagedRuleSetResponseSuccess interface _GetMobileSdkReleaseResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetMobileSdkReleaseResponse] def mobile_sdk_release: () -> Types::MobileSdkRelease end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_mobile_sdk_release-instance_method def get_mobile_sdk_release: ( platform: ("IOS" | "ANDROID"), release_version: ::String ) -> _GetMobileSdkReleaseResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetMobileSdkReleaseResponseSuccess interface _GetPermissionPolicyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetPermissionPolicyResponse] def policy: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_permission_policy-instance_method def get_permission_policy: ( resource_arn: ::String ) -> _GetPermissionPolicyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetPermissionPolicyResponseSuccess interface _GetRateBasedStatementManagedKeysResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetRateBasedStatementManagedKeysResponse] def managed_keys_ipv4: () -> Types::RateBasedStatementManagedKeysIPSet def managed_keys_ipv6: () -> Types::RateBasedStatementManagedKeysIPSet end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_rate_based_statement_managed_keys-instance_method def get_rate_based_statement_managed_keys: ( scope: ("CLOUDFRONT" | "REGIONAL"), web_acl_name: ::String, web_acl_id: ::String, ?rule_group_rule_name: ::String, rule_name: ::String ) -> _GetRateBasedStatementManagedKeysResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRateBasedStatementManagedKeysResponseSuccess interface _GetRegexPatternSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetRegexPatternSetResponse] def regex_pattern_set: () -> Types::RegexPatternSet def lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_regex_pattern_set-instance_method def get_regex_pattern_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String ) -> _GetRegexPatternSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRegexPatternSetResponseSuccess interface _GetRuleGroupResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetRuleGroupResponse] def rule_group: () -> Types::RuleGroup def lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_rule_group-instance_method def get_rule_group: ( ?name: ::String, ?scope: ("CLOUDFRONT" | "REGIONAL"), ?id: ::String, ?arn: ::String ) -> _GetRuleGroupResponseSuccess | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetRuleGroupResponseSuccess interface _GetSampledRequestsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetSampledRequestsResponse] def sampled_requests: () -> ::Array[Types::SampledHTTPRequest] def population_size: () -> ::Integer def time_window: () -> Types::TimeWindow end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_sampled_requests-instance_method def get_sampled_requests: ( web_acl_arn: ::String, rule_metric_name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), time_window: { start_time: ::Time, end_time: ::Time }, max_items: ::Integer ) -> _GetSampledRequestsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetSampledRequestsResponseSuccess interface _GetWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetWebACLResponse] def web_acl: () -> Types::WebACL def lock_token: () -> ::String def application_integration_url: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_web_acl-instance_method def get_web_acl: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String ) -> _GetWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetWebACLResponseSuccess interface _GetWebACLForResourceResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::GetWebACLForResourceResponse] def web_acl: () -> Types::WebACL end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#get_web_acl_for_resource-instance_method def get_web_acl_for_resource: ( resource_arn: ::String ) -> _GetWebACLForResourceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetWebACLForResourceResponseSuccess interface _ListAPIKeysResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListAPIKeysResponse] def next_marker: () -> ::String def api_key_summaries: () -> ::Array[Types::APIKeySummary] def application_integration_url: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_api_keys-instance_method def list_api_keys: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListAPIKeysResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAPIKeysResponseSuccess interface _ListAvailableManagedRuleGroupVersionsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListAvailableManagedRuleGroupVersionsResponse] def next_marker: () -> ::String def versions: () -> ::Array[Types::ManagedRuleGroupVersion] def current_default_version: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_available_managed_rule_group_versions-instance_method def list_available_managed_rule_group_versions: ( vendor_name: ::String, name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListAvailableManagedRuleGroupVersionsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAvailableManagedRuleGroupVersionsResponseSuccess interface _ListAvailableManagedRuleGroupsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListAvailableManagedRuleGroupsResponse] def next_marker: () -> ::String def managed_rule_groups: () -> ::Array[Types::ManagedRuleGroupSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_available_managed_rule_groups-instance_method def list_available_managed_rule_groups: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListAvailableManagedRuleGroupsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListAvailableManagedRuleGroupsResponseSuccess interface _ListIPSetsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListIPSetsResponse] def next_marker: () -> ::String def ip_sets: () -> ::Array[Types::IPSetSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_ip_sets-instance_method def list_ip_sets: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListIPSetsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListIPSetsResponseSuccess interface _ListLoggingConfigurationsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListLoggingConfigurationsResponse] def logging_configurations: () -> ::Array[Types::LoggingConfiguration] def next_marker: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_logging_configurations-instance_method def list_logging_configurations: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer, ?log_scope: ("CUSTOMER" | "SECURITY_LAKE") ) -> _ListLoggingConfigurationsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListLoggingConfigurationsResponseSuccess interface _ListManagedRuleSetsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListManagedRuleSetsResponse] def next_marker: () -> ::String def managed_rule_sets: () -> ::Array[Types::ManagedRuleSetSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_managed_rule_sets-instance_method def list_managed_rule_sets: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListManagedRuleSetsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListManagedRuleSetsResponseSuccess interface _ListMobileSdkReleasesResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListMobileSdkReleasesResponse] def release_summaries: () -> ::Array[Types::ReleaseSummary] def next_marker: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_mobile_sdk_releases-instance_method def list_mobile_sdk_releases: ( platform: ("IOS" | "ANDROID"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListMobileSdkReleasesResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListMobileSdkReleasesResponseSuccess interface _ListRegexPatternSetsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListRegexPatternSetsResponse] def next_marker: () -> ::String def regex_pattern_sets: () -> ::Array[Types::RegexPatternSetSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_regex_pattern_sets-instance_method def list_regex_pattern_sets: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListRegexPatternSetsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListRegexPatternSetsResponseSuccess interface _ListResourcesForWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListResourcesForWebACLResponse] def resource_arns: () -> ::Array[::String] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_resources_for_web_acl-instance_method def list_resources_for_web_acl: ( web_acl_arn: ::String, ?resource_type: ("APPLICATION_LOAD_BALANCER" | "API_GATEWAY" | "APPSYNC" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE") ) -> _ListResourcesForWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListResourcesForWebACLResponseSuccess interface _ListRuleGroupsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListRuleGroupsResponse] def next_marker: () -> ::String def rule_groups: () -> ::Array[Types::RuleGroupSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_rule_groups-instance_method def list_rule_groups: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListRuleGroupsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListRuleGroupsResponseSuccess interface _ListTagsForResourceResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListTagsForResourceResponse] def next_marker: () -> ::String def tag_info_for_resource: () -> Types::TagInfoForResource end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_tags_for_resource-instance_method def list_tags_for_resource: ( ?next_marker: ::String, ?limit: ::Integer, resource_arn: ::String ) -> _ListTagsForResourceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess interface _ListWebACLsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::ListWebACLsResponse] def next_marker: () -> ::String def web_acls: () -> ::Array[Types::WebACLSummary] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#list_web_acls-instance_method def list_web_acls: ( scope: ("CLOUDFRONT" | "REGIONAL"), ?next_marker: ::String, ?limit: ::Integer ) -> _ListWebACLsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListWebACLsResponseSuccess interface _PutLoggingConfigurationResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::PutLoggingConfigurationResponse] def logging_configuration: () -> Types::LoggingConfiguration end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#put_logging_configuration-instance_method def put_logging_configuration: ( logging_configuration: { resource_arn: ::String, log_destination_configs: Array[::String], redacted_fields: Array[ { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, ]?, managed_by_firewall_manager: bool?, logging_filter: { filters: Array[ { behavior: ("KEEP" | "DROP"), requirement: ("MEETS_ALL" | "MEETS_ANY"), conditions: Array[ { action_condition: { action: ("ALLOW" | "BLOCK" | "COUNT" | "CAPTCHA" | "CHALLENGE" | "EXCLUDED_AS_COUNT") }?, label_name_condition: { label_name: ::String }? }, ] }, ], default_behavior: ("KEEP" | "DROP") }?, log_type: ("WAF_LOGS")?, log_scope: ("CUSTOMER" | "SECURITY_LAKE")? } ) -> _PutLoggingConfigurationResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutLoggingConfigurationResponseSuccess interface _PutManagedRuleSetVersionsResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::PutManagedRuleSetVersionsResponse] def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#put_managed_rule_set_versions-instance_method def put_managed_rule_set_versions: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String, ?recommended_version: ::String, ?versions_to_publish: Hash[::String, { associated_rule_group_arn: ::String?, forecasted_lifetime: ::Integer? }] ) -> _PutManagedRuleSetVersionsResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutManagedRuleSetVersionsResponseSuccess interface _PutPermissionPolicyResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::PutPermissionPolicyResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#put_permission_policy-instance_method def put_permission_policy: ( resource_arn: ::String, policy: ::String ) -> _PutPermissionPolicyResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutPermissionPolicyResponseSuccess interface _TagResourceResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::TagResourceResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#tag_resource-instance_method def tag_resource: ( resource_arn: ::String, tags: Array[ { key: ::String, value: ::String }, ] ) -> _TagResourceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _TagResourceResponseSuccess interface _UntagResourceResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UntagResourceResponse] end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#untag_resource-instance_method def untag_resource: ( resource_arn: ::String, tag_keys: Array[::String] ) -> _UntagResourceResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UntagResourceResponseSuccess interface _UpdateIPSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateIPSetResponse] def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#update_ip_set-instance_method def update_ip_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, ?description: ::String, addresses: Array[::String], lock_token: ::String ) -> _UpdateIPSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateIPSetResponseSuccess interface _UpdateManagedRuleSetVersionExpiryDateResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateManagedRuleSetVersionExpiryDateResponse] def expiring_version: () -> ::String def expiry_timestamp: () -> ::Time def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#update_managed_rule_set_version_expiry_date-instance_method def update_managed_rule_set_version_expiry_date: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, lock_token: ::String, version_to_expire: ::String, expiry_timestamp: ::Time ) -> _UpdateManagedRuleSetVersionExpiryDateResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateManagedRuleSetVersionExpiryDateResponseSuccess interface _UpdateRegexPatternSetResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateRegexPatternSetResponse] def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#update_regex_pattern_set-instance_method def update_regex_pattern_set: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, ?description: ::String, regular_expression_list: Array[ { regex_string: ::String? }, ], lock_token: ::String ) -> _UpdateRegexPatternSetResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateRegexPatternSetResponseSuccess interface _UpdateRuleGroupResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateRuleGroupResponse] def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#update_rule_group-instance_method def update_rule_group: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, ?description: ::String, ?rules: Array[ { name: ::String, priority: ::Integer, statement: { byte_match_statement: { search_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], positional_constraint: ("EXACTLY" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "CONTAINS_WORD") }?, sqli_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], sensitivity_level: ("LOW" | "HIGH")? }?, xss_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, size_constraint_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, comparison_operator: ("EQ" | "NE" | "LE" | "LT" | "GE" | "GT"), size: ::Integer, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, geo_match_statement: { country_codes: Array[("AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "XK")]?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }? }?, rule_group_reference_statement: { arn: ::String, excluded_rules: Array[ { name: ::String }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, ip_set_reference_statement: { arn: ::String, ip_set_forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH"), position: ("FIRST" | "LAST" | "ANY") }? }?, regex_pattern_set_reference_statement: { arn: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, rate_based_statement: { limit: ::Integer, evaluation_window_sec: ::Integer?, aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"), scope_down_statement: untyped?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }?, custom_keys: Array[ { header: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, cookie: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_argument: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_string: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, http_method: { }?, forwarded_ip: { }?, ip: { }?, label_namespace: { namespace: ::String }?, uri_path: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, ]? }?, and_statement: { statements: Array[ untyped, ] }?, or_statement: { statements: Array[ untyped, ] }?, not_statement: { statement: untyped }?, managed_rule_group_statement: { vendor_name: ::String, name: ::String, version: ::String?, excluded_rules: Array[ { name: ::String }, ]?, scope_down_statement: untyped?, managed_rule_group_configs: Array[ { login_path: ::String?, payload_type: ("JSON" | "FORM_ENCODED")?, username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, aws_managed_rules_bot_control_rule_set: { inspection_level: ("COMMON" | "TARGETED"), enable_machine_learning: bool? }?, aws_managed_rules_atp_rule_set: { login_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }, password_field: { identifier: ::String } }?, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }?, aws_managed_rules_acfp_rule_set: { creation_path: ::String, registration_page_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, email_field: { identifier: ::String }?, phone_number_fields: Array[ { identifier: ::String }, ]?, address_fields: Array[ { identifier: ::String }, ]? }, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }? }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, label_match_statement: { scope: ("LABEL" | "NAMESPACE"), key: ::String }?, regex_match_statement: { regex_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }?, override_action: { count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, none: { }? }?, rule_labels: Array[ { name: ::String }, ]?, visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }?, challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }? }, ], visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, lock_token: ::String, ?custom_response_bodies: Hash[::String, { content_type: ("TEXT_PLAIN" | "TEXT_HTML" | "APPLICATION_JSON"), content: ::String }] ) -> _UpdateRuleGroupResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateRuleGroupResponseSuccess interface _UpdateWebACLResponseSuccess include ::Seahorse::Client::_ResponseSuccess[Types::UpdateWebACLResponse] def next_lock_token: () -> ::String end # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/WAFV2/Client.html#update_web_acl-instance_method def update_web_acl: ( name: ::String, scope: ("CLOUDFRONT" | "REGIONAL"), id: ::String, default_action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }, ?description: ::String, ?rules: Array[ { name: ::String, priority: ::Integer, statement: { byte_match_statement: { search_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], positional_constraint: ("EXACTLY" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | "CONTAINS_WORD") }?, sqli_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ], sensitivity_level: ("LOW" | "HIGH")? }?, xss_match_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, size_constraint_statement: { field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, comparison_operator: ("EQ" | "NE" | "LE" | "LT" | "GE" | "GT"), size: ::Integer, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, geo_match_statement: { country_codes: Array[("AF" | "AX" | "AL" | "DZ" | "AS" | "AD" | "AO" | "AI" | "AQ" | "AG" | "AR" | "AM" | "AW" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BM" | "BT" | "BO" | "BQ" | "BA" | "BW" | "BV" | "BR" | "IO" | "BN" | "BG" | "BF" | "BI" | "KH" | "CM" | "CA" | "CV" | "KY" | "CF" | "TD" | "CL" | "CN" | "CX" | "CC" | "CO" | "KM" | "CG" | "CD" | "CK" | "CR" | "CI" | "HR" | "CU" | "CW" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "ET" | "FK" | "FO" | "FJ" | "FI" | "FR" | "GF" | "PF" | "TF" | "GA" | "GM" | "GE" | "DE" | "GH" | "GI" | "GR" | "GL" | "GD" | "GP" | "GU" | "GT" | "GG" | "GN" | "GW" | "GY" | "HT" | "HM" | "VA" | "HN" | "HK" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IM" | "IL" | "IT" | "JM" | "JP" | "JE" | "JO" | "KZ" | "KE" | "KI" | "KP" | "KR" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MO" | "MK" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MQ" | "MR" | "MU" | "YT" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MS" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NC" | "NZ" | "NI" | "NE" | "NG" | "NU" | "NF" | "MP" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PN" | "PL" | "PT" | "PR" | "QA" | "RE" | "RO" | "RU" | "RW" | "BL" | "SH" | "KN" | "LC" | "MF" | "PM" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SX" | "SK" | "SI" | "SB" | "SO" | "ZA" | "GS" | "SS" | "ES" | "LK" | "SD" | "SR" | "SJ" | "SZ" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TK" | "TO" | "TT" | "TN" | "TR" | "TM" | "TC" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UM" | "UY" | "UZ" | "VU" | "VE" | "VN" | "VG" | "VI" | "WF" | "EH" | "YE" | "ZM" | "ZW" | "XK")]?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }? }?, rule_group_reference_statement: { arn: ::String, excluded_rules: Array[ { name: ::String }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, ip_set_reference_statement: { arn: ::String, ip_set_forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH"), position: ("FIRST" | "LAST" | "ANY") }? }?, regex_pattern_set_reference_statement: { arn: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, rate_based_statement: { limit: ::Integer, evaluation_window_sec: ::Integer?, aggregate_key_type: ("IP" | "FORWARDED_IP" | "CUSTOM_KEYS" | "CONSTANT"), scope_down_statement: untyped?, forwarded_ip_config: { header_name: ::String, fallback_behavior: ("MATCH" | "NO_MATCH") }?, custom_keys: Array[ { header: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, cookie: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_argument: { name: ::String, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, query_string: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }?, http_method: { }?, forwarded_ip: { }?, ip: { }?, label_namespace: { namespace: ::String }?, uri_path: { text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, ]? }?, and_statement: { statements: Array[ untyped, ] }?, or_statement: { statements: Array[ untyped, ] }?, not_statement: { statement: untyped }?, managed_rule_group_statement: { vendor_name: ::String, name: ::String, version: ::String?, excluded_rules: Array[ { name: ::String }, ]?, scope_down_statement: untyped?, managed_rule_group_configs: Array[ { login_path: ::String?, payload_type: ("JSON" | "FORM_ENCODED")?, username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, aws_managed_rules_bot_control_rule_set: { inspection_level: ("COMMON" | "TARGETED"), enable_machine_learning: bool? }?, aws_managed_rules_atp_rule_set: { login_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }, password_field: { identifier: ::String } }?, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }?, aws_managed_rules_acfp_rule_set: { creation_path: ::String, registration_page_path: ::String, request_inspection: { payload_type: ("JSON" | "FORM_ENCODED"), username_field: { identifier: ::String }?, password_field: { identifier: ::String }?, email_field: { identifier: ::String }?, phone_number_fields: Array[ { identifier: ::String }, ]?, address_fields: Array[ { identifier: ::String }, ]? }, response_inspection: { status_code: { success_codes: Array[::Integer], failure_codes: Array[::Integer] }?, header: { name: ::String, success_values: Array[::String], failure_values: Array[::String] }?, body_contains: { success_strings: Array[::String], failure_strings: Array[::String] }?, json: { identifier: ::String, success_values: Array[::String], failure_values: Array[::String] }? }?, enable_regex_in_path: bool? }? }, ]?, rule_action_overrides: Array[ { name: ::String, action_to_use: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? } }, ]? }?, label_match_statement: { scope: ("LABEL" | "NAMESPACE"), key: ::String }?, regex_match_statement: { regex_string: ::String, field_to_match: { single_header: { name: ::String }?, single_query_argument: { name: ::String }?, all_query_arguments: { }?, uri_path: { }?, query_string: { }?, body: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, method: { }?, json_body: { match_pattern: { all: { }?, included_paths: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), invalid_fallback_behavior: ("MATCH" | "NO_MATCH" | "EVALUATE_AS_STRING")?, oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH")? }?, headers: { match_pattern: { all: { }?, included_headers: Array[::String]?, excluded_headers: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, cookies: { match_pattern: { all: { }?, included_cookies: Array[::String]?, excluded_cookies: Array[::String]? }, match_scope: ("ALL" | "KEY" | "VALUE"), oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, header_order: { oversize_handling: ("CONTINUE" | "MATCH" | "NO_MATCH") }?, ja3_fingerprint: { fallback_behavior: ("MATCH" | "NO_MATCH") }? }, text_transformations: Array[ { priority: ::Integer, type: ("NONE" | "COMPRESS_WHITE_SPACE" | "HTML_ENTITY_DECODE" | "LOWERCASE" | "CMD_LINE" | "URL_DECODE" | "BASE64_DECODE" | "HEX_DECODE" | "MD5" | "REPLACE_COMMENTS" | "ESCAPE_SEQ_DECODE" | "SQL_HEX_DECODE" | "CSS_DECODE" | "JS_DECODE" | "NORMALIZE_PATH" | "NORMALIZE_PATH_WIN" | "REMOVE_NULLS" | "REPLACE_NULLS" | "BASE64_DECODE_EXT" | "URL_DECODE_UNI" | "UTF8_TO_UNICODE") }, ] }? }, action: { block: { custom_response: { response_code: ::Integer, custom_response_body_key: ::String?, response_headers: Array[ { name: ::String, value: ::String }, ]? }? }?, allow: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, captcha: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, challenge: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }? }?, override_action: { count: { custom_request_handling: { insert_headers: Array[ { name: ::String, value: ::String }, ] }? }?, none: { }? }?, rule_labels: Array[ { name: ::String }, ]?, visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }?, challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }? }, ], visibility_config: { sampled_requests_enabled: bool, cloud_watch_metrics_enabled: bool, metric_name: ::String }, lock_token: ::String, ?custom_response_bodies: Hash[::String, { content_type: ("TEXT_PLAIN" | "TEXT_HTML" | "APPLICATION_JSON"), content: ::String }], ?captcha_config: { immunity_time_property: { immunity_time: ::Integer }? }, ?challenge_config: { immunity_time_property: { immunity_time: ::Integer }? }, ?token_domains: Array[::String], ?association_config: { request_body: Hash[("CLOUDFRONT" | "API_GATEWAY" | "COGNITO_USER_POOL" | "APP_RUNNER_SERVICE" | "VERIFIED_ACCESS_INSTANCE"), { default_size_inspection_limit: ("KB_16" | "KB_32" | "KB_48" | "KB_64") }]? } ) -> _UpdateWebACLResponseSuccess | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateWebACLResponseSuccess end end end