Visitor prioritization match rule

Build a match rule JSON object for the visitor prioritization cloudlet.

data "akamai_cloudlets_visitor_prioritization_match_rule" "my_vp_match_rule" {
    match_rules {
        name = "my_vp_match_rule"
        match_url = "my_vp_match_rule.com"
        pass_through_percent = -1
        matches {
            case_sensitive = false
            match_type = "protocol"
            match_operator = "equals"
            match_value    = "http"
            check_ips = "CONNECTING_IP"
            negate = false
        }
    }
}

output "my_vp_match_rule" {
  value = data.akamai_cloudlets_visitor_prioritization_match_rule.my_vp_match_rule
}
Changes to Outputs:
my_vp_match_rule = {
      id          = "12ab3cde4f5g678h901234567i890123j456k789"
      json        = jsonencode(
            [
              {
                  matchURL           = "my_vp_match_rule.com"
                  matches            = [
                      {
                          caseSensitive = false
                          checkIPs      = "CONNECTING_IP"
                          matchOperator = "equals"
                          matchType     = "protocol"
                          matchValue    = "http"
                          negate        = false
                        },
                    ]
                  name               = "my_vp_match_rule"
                  passThroughPercent = -1
                  type               = "vpMatchRule"
                },
            ]
        )
      match_rules = [
          {
              disabled             = false
              end                  = 0
              match_url            = "my_vp_match_rule.com"
              matches              = [
                  {
                      case_sensitive     = false
                      check_ips          = "CONNECTING_IP"
                      match_operator     = "equals"
                      match_type         = "protocol"
                      match_value        = "http"
                      negate             = false
                      object_match_value = []
                    },
                ]
              name                 = "my_vp_match_rule"
              pass_through_percent = -1
              start                = 0
              type                 = "vpMatchRule"
            },
        ]
    }

Arguments

Pass a match_rules list with the options that best fit your business case. While the match definitions arguments are optional, expected, at a minimum, is the pass_through_percent argument.

Use the information in the match options table to build out your rule's matches criteria.

ArgumentRequiredDescription
pass_through_percentThe percent of requests that pass through to the origin. Value options are:
  • 0.0-99.0.
  • 100 sets all requests to pass through.
  • -1 sends all requests to the waiting room.
nameA human-readable name for your rule.
startThe start time for the match. Value is UTC through seconds.
endThe end time for the match. Value is UTC through seconds.
match_urlThe URL that the cloudlet uses to match with the incoming request.
disabledWhether to disable a rule so it is not evaluated against incoming requests.
matchesThe match object definitions list.

Match options

The options listed are nested within the matches argument.

All match options are optional.

ArgumentDescription
match_typeThe type of match used. Value is one of:

  • header

  • hostname

  • path

  • extension

  • query

  • regex

  • cookie

  • deviceCharacteristics

  • clientip

  • continent

  • countrycode

  • regioncode

  • protocol

  • method

  • proxy
match_valueA value that reflects your match type, for example, if you set your match type to countrycode, the value would reflect the match country.
match_operatorCompares a string expression with a pattern. Value is one of:

  • contains

  • exists

  • equals
case_sensitiveWhether the match is case sensitive.
negateWhether to negate the match.
check_ipsFor clientip, continent, countrycode, proxy, and regioncode match types, the part of the request that defines the part of the request to use as the IP address. Value options:

  • CONNECTING_IP

  • XFF_HEADERS

  • You can use both separated by a space. When both values are included, the connecting IP address is evaluated first.
object_match_valueUse when a rule includes more complex match criteria, like multiple value attributes. Value options:

  • name. One of cookie, header, parameter, or query.

  • type. Required. The type of list, either object or simple.

  • name_case_sensitive. Whether the evaluation of the name argument is case sensitive.

  • name_has_wildcard. Whether the name argument includes wildcards.
  • options. If you set the type argument to object, use this to list the values on which to match.

    • value. The values in the incoming request on which to match.

    • value_has_wildcard. Whether the value argument includes wildcards.

    • value_case_sensitive. Whether the evaluation of the value argument is case sensitive.

    • value_escaped. Whether the compared value argument can be an escaped form.
  • value. If you set the type argument to simple, provide the values in the incoming request on which to match.

Attributes

Returned is a jsonencoded list of the match rules defined in your query. Set the output type to capture the result based on your need as you use the return in the policy resource.