Phased release match rule

akamai_cloudlets_phased_release_match_rule

Every policy version specifies the match rules that govern how the Cloudlet is used. Matches specify conditions that need to be met in the incoming request.

Use the akamai_cloudlets_phased_release_match_rule data source to build a match rule JSON object for the Phased Release Cloudlet.

Example

This example returns the JSON-encoded rules for the Phased Release Cloudlet.

data "akamai_cloudlets_phased_release_match_rule" "example" {
    match_rules {
        name  = "rule"
        start = 1644865045
        end   = 1645037845
        forward_settings {
            origin_id = "1234"
            percent   = 100
        }
        matches {
            case_sensitive = false
            check_ips      = "CONNECTING_IP XFF_HEADERS"
            match_operator = "equals"
            match_type     = "header"
            negate         = false
            object_match_value {
                type = "object"
                name = "Content-Type"
                options {
                    value = ["application/json"]
                }
            }
        }
    }   
}     

Argument reference

This data source supports these arguments:

  • match_rules -¬†(Optional) A list of Cloudlet-specific match rules for a policy.

    • name -¬†(Optional) The name of the rule.

    • type -¬†(Optional) The type of Cloudlet the rule is for. For example, the string for Phased Release is cdMatchRule.

    • start -¬†(Optional) The start time for this match. Specify the value in UTC in seconds since the epoch.

    • end -¬†(Optional) The end time for this match. Specify the value in UTC in seconds since the epoch.

    • matches -¬†(Optional) A list of conditions to apply to a Cloudlet, including:

      • match_type -¬†(Optional) The type of match used, either header, hostname, path, extension, query, cookie, deviceCharacteristics, clientip, continent, countrycode, regioncode, protocol, method, or proxy.

      • match_value -¬†(Optional) This depends on the match_type. If the match_type is hostname, then match_value is the fully qualified domain name, like www.akamai.com.

      • match_operator -¬†(Optional) Compares a string expression with a pattern, either contains, exists, or equals.

      • case_sensitive -¬†(Optional) Whether the match is case sensitive.

      • negate -¬†(Optional) Whether to negate the match.

      • check_ips -¬†(Optional) For clientip, continent, countrycode, proxy, and regioncode match types, this defines the part of the request that determines the IP address to use. Values include the connecting IP address (CONNECTING_IP) and the X_Forwarded_For header (XFF_HEADERS). To select both, enter the two values separated by a space delimiter. When both values are included, the connecting IP address is evaluated first.

      • object_match_value -¬†(Optional) If match_value is empty, this argument is required. An object used when a rule includes more complex match criteria, like multiple value attributes. Includes these sub-arguments:

        • name -¬†(Optional) If you're using a match_type that supports name attributes, specify the part the incoming request to match on, either cookie, header, parameter, or query.

        • type -¬†(Required) The type of the array, either object or simple. Use the simple option when adding only an array of string-based values.

        • name_case_sensitive -¬†(Optional) Whether the name argument should be evaluated based on case sensitivity.

        • name_has_wildcard -¬†(Optional) Whether the name argument includes wildcards.

        • options -¬†(Optional) If you set the type argument to object, use this array to list the values to match on.

          • value -¬†(Optional) Specify the values in the incoming request to match on.
          • value_has_wildcard -¬†(Optional) Whether the value argument includes wildcards.
          • value_case_sensitive -¬†(Optional) Whether the value argument should be evaluated based on case sensitivity.
          • value_escaped -¬†(Optional) Whether the value argument should be compared in an escaped form.
        • value -¬†(Optional) If you set the type argument to simple, specify the values in the incoming request to match on.

  • match_url -¬†(Optional) If you're using a URL match, this specifies the URL that the Cloudlet uses to match the incoming request.

  • forward_settings - ¬†(Required) The data used to construct a new request URL if all match conditions are met. If all conditions are met, the edge server returns an HTTP response from the rewritten URL.

    • origin_id -¬†(Required) The ID of the new origin requests are forwarded to. This type of origin is known as a Conditional Origin.
    • percent -¬†(Required)
  • disabled -¬†(Optional) Whether to disable a rule so it is not evaluated against incoming requests.

  • matches_always -¬†(Optional) Whether the match supports default rules that apply to all requests.

Attributes reference

This data source returns these attributes:

  • type - The type of Cloudlet the rule is for.
  • json - A match_rules JSON structure generated from the API schema that defines the rules for this policy.