You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::WAFV2::Types::NotStatement

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing NotStatement as input to an Aws::Client method, you can use a vanilla Hash:

{
  statement: { # required
    byte_match_statement: {
      search_string: "data", # required
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
      },
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
        },
      ],
      positional_constraint: "EXACTLY", # required, accepts EXACTLY, STARTS_WITH, ENDS_WITH, CONTAINS, CONTAINS_WORD
    },
    sqli_match_statement: {
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
      },
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
        },
      ],
    },
    xss_match_statement: {
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
      },
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
        },
      ],
    },
    size_constraint_statement: {
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
      },
      comparison_operator: "EQ", # required, accepts EQ, NE, LE, LT, GE, GT
      size: 1, # required
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
        },
      ],
    },
    geo_match_statement: {
      country_codes: ["AF"], # accepts 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
      forwarded_ip_config: {
        header_name: "ForwardedIPHeaderName", # required
        fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
      },
    },
    rule_group_reference_statement: {
      arn: "ResourceArn", # required
      excluded_rules: [
        {
          name: "EntityName", # required
        },
      ],
    },
    ip_set_reference_statement: {
      arn: "ResourceArn", # required
      ip_set_forwarded_ip_config: {
        header_name: "ForwardedIPHeaderName", # required
        fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
        position: "FIRST", # required, accepts FIRST, LAST, ANY
      },
    },
    regex_pattern_set_reference_statement: {
      arn: "ResourceArn", # required
      field_to_match: { # required
        single_header: {
          name: "FieldToMatchData", # required
        },
        single_query_argument: {
          name: "FieldToMatchData", # required
        },
        all_query_arguments: {
        },
        uri_path: {
        },
        query_string: {
        },
        body: {
        },
        method: {
        },
      },
      text_transformations: [ # required
        {
          priority: 1, # required
          type: "NONE", # required, accepts NONE, COMPRESS_WHITE_SPACE, HTML_ENTITY_DECODE, LOWERCASE, CMD_LINE, URL_DECODE
        },
      ],
    },
    rate_based_statement: {
      limit: 1, # required
      aggregate_key_type: "IP", # required, accepts IP, FORWARDED_IP
      scope_down_statement: {
        # recursive Statement
      },
      forwarded_ip_config: {
        header_name: "ForwardedIPHeaderName", # required
        fallback_behavior: "MATCH", # required, accepts MATCH, NO_MATCH
      },
    },
    and_statement: {
      statements: [ # required
        {
          # recursive Statement
        },
      ],
    },
    or_statement: {
      statements: [ # required
        {
          # recursive Statement
        },
      ],
    },
    not_statement: {
      # recursive NotStatement
    },
    managed_rule_group_statement: {
      vendor_name: "VendorName", # required
      name: "EntityName", # required
      excluded_rules: [
        {
          name: "EntityName", # required
        },
      ],
    },
  },
}

This is the latest version of AWS WAF, named AWS WAFV2, released in November, 2019. For information, including how to migrate your AWS WAF resources from the prior release, see the AWS WAF Developer Guide.

A logical rule statement used to negate the results of another rule statement. You provide one Statement within the NotStatement.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#statementTypes::Statement

The statement to negate. You can use any statement that can be nested.

Returns: