Match properties

This section provides information on the various types of properties used with Cloudlets match rules.

Match rules properties

The Match Rules (matchRules) array contains all of your rules and includes the following properties, which vary based on the Cloudlet you are using:

PropertyTypeDescriptionCloudlets
allowDenyEnumerationIf set to allow, the request is sent to origin when all conditions are true. If deny, the request is denied when all conditions are true. If denybranded, the request is denied and rerouted according to the configuration of the Request Control behavior.Request Control
disabledBooleanOptional. If set to true, disables a rule so it is not evaluated against incoming requests. The default setting is false.All
endIntegerThe end time for this match. Enter the value in UTC in seconds since the epoch.All
forwardSettingsObjectThis property defines data used to construct a new request URL if all conditions are met. If all of the conditions you set are true, then the Edge Server returns an HTTP response from the rewritten URL. The following properties can be used with this object: originId, pathAndQS, percent, and useIncomingQueryString.Audience Segmentation, Forward Rewrite
idIntegerAkamai internal use only.All
matchesArraySee matches in the following tables.All
matchURLStringIf using a URL match, this property is the URL that the Cloudlet uses to match the incoming request.Edge Redirector, Forward Rewrite
nameStringThe name of the rule.All
originIdStringThe ID of the Conditional Origin requests are forwarded to. To retrieve the originId, run a GET on the /cloudlets/api/v2/properties endpoint.Application Load Balancer, Audience Segmentation, Forward Rewrite, Phased Release
passThroughPercentNumberThe range 0.000: 99.000 specifies the percentage of requests that pass through to the origin. The value of 100 means the request always passes through to the origin. For Visitor Prioritization, a value of -1 means send everyone to the waiting room.API Prioritization, Visitor Prioritization
pathAndQSStringIf a value is provided and match conditions are met, this property defines the path/resource/query string to rewrite URL for the incoming request.Audience Segmentation, Forward Rewrite
redirectURLStringThe URL Edge Redirector redirects the request to. If using useRelativeUrl, you can enter a path for the value.Edge Redirector
startIntegerThe start time for this match. Enter the value in UTC in seconds since the epoch.All
statusCodeIntegerThe HTTP response status code, which is either 301 (permanent redirect) or 302 (temporary redirect).Edge Redirector
typeStringThe type of Cloudlet the rule is for. For example, the string for Visitor Prioritization is vpMatchRule.All
useIncomingQueryStringBooleanIf set to true, the Cloudlet includes the query string from the request in the rewritten or forwarded URL.Audience Segmentation, Edge Redirector, Forward Rewrite
useIncomingSchemeAndHostBooleanIf set to true, the Cloudlet copies both the protocol/scheme and the hostname from the incoming request to use in the redirect URL.Edge Redirector
useRelativeUrlEnumerationIf set to relative_url, takes the path entered for the redirectUrl and sets it in the response's Location header. The client or browser receiving the request decides which protocol and hostname to use.
If set to copy_scheme_hostname, creates an absolute path by taking the protocol and hostname from the incoming request and combining them with path information entered for the redirectUrl. This absolute path is set in the response's Location header.
If this property is not included, or is set to none, then the redirectUrl should be fully-qualified URL.
Edge Redirector

Match conditions properties

Each object within the matches array defines potential conditions, like case sensitivity (caseSensitive) or the type of match (matchType). These properties apply to all Cloudlets.

A matches property contains an array of objects with the following properties/conditions:

PropertyTypeDescription
caseSensitiveBooleanIf true, the match is case sensitive.
checkIPsEnumerationFor clientip, continent, countrycode, proxy, and regioncode match types, 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.
matchOperatorEnumerationValid entries for this property are contains, exists, and equals.
matchTypeEnumerationThe type of match used. Possible values include the hostname (hostname) or the cookie (cookie). See the Match Type Property section.
matchValueStringThis depends on the matchType. If the matchType is hostname, then matchValue is the fully qualified domain name, like www.akamai.com. See the examples in the Match Type Property table.
negateBooleanIf true, negates the match.
objectMatchValueObjectAn object used when a rule either includes more complex match criteria, like multiple value attributes, or a range match.
Match value object properties

The following table lists the properties available for the objectMatchValue object:

PropertyTypeDescription
typeEnumerationThe array type, which can be one of the following: object, range, or simple. Use the simple option when adding only an array of string-based values.
nameArrayIf using a match type that supports name attributes, enter the value in the incoming request to match on. The following match types support this property: cookie, header, parameter, and query.
nameCaseSensitiveBooleanSet to true if the entry for the name property should be evaluated based on case sensitivity.
nameHasRegexBooleanSet to true if the entry for the name property is a regular expression.
nameHasWildcardBooleanSet to true if the entry for the name property includes wildcards.
valueArrayIf using the simple or range array types, enter the value attributes in the incoming request to match on. Valid entries vary by match type. For example, GET and POST are valid entries for the method match type, while any integer is valid for the numberOfFields match type.
valueCaseSensitiveBooleanSet to true if the entries for the value property should be evaluated based on case sensitivity.
valueHasRegexBooleanSet to true if the entries for the value property includes a capture group for a regular expression.
valueHasWildcardBooleanSet to true if the entries for the value property includes wildcards.
optionsArrayIf using the object type, use this array to list the values to match on.

Match type property

The matchType properties provide information about the match types used to conditionally pass through the request.

📘

Match types with an "m" support multiple space-separated values (not names).

Match TypeDescriptionExample Match Value
allA match of all incoming requests. Note that in the Cloudlets Policy Manager application, this match type is called Default.Not applicable
clientipThe IPv4 address or CIDR list to match on.182.1.0.0
clientipv6The IPv6 address or CIDR list to match on.0:0:0:0:0:ffff:b601:0
continentThe continent to match on. See Continent Codes for a list of valid codes.SA
cookieThe cookie values to match on.name=value1
countrycodeThe country to match on. See Country Codes for a list of valid codes.US
deviceCharacteristicsThe device characteristic to match on. See Device Characteristics Match Values for the list of available match values.is_mobile=true
extension (m)The file extensions to match on.jpg png gif
headerThe parts of the request header to match on.See Matches in Requests and Responses for an example.
hostname (m)The hostnames to match on.www.akamai.com
methodThe HTTP method used for the request.GET
path (m)The URL paths to match on./clothing/children/shoes/shoe1.jpg
protocolThe protocol to match on. You can only enter a single value in this field.http
proxyThe type of proxy to match on. Values include anonymous, transparent, and both.anonymous
query (m)The query string values to match on.name or name=value1 or name=value1 value2
rangeA range of two numbers between 1 and 100 (inclusive) for the random value assigned to a user. If the random value assigned to an incoming request falls within this range, the match is true.See Audience Segmentation for an example.
regexThe regular expression to match on.ab(c.)d+
regioncodeThe region within a country to match on, like a state or province. See Region Codes for a list of valid codes.MA
Device characteristics match values

The following values are available for the deviceCharacteristics match type:

Match ValueDescription
accept_third_party_cookieIndicates whether the device, by default, accepts a cookie set from a pixel in a page of a different domain.
ajax_support_javascriptIndicates whether the device supports asynchronous JavaScript and XML (AJAX), a set of programming techniques.
cookie_supportIndicates whether the device's browser supports cookies. However, this device characteristic does not indicate that cookies exist. In addition, if the value is false because the native browser does not support cookies, cookies may be supported using other methods.
full_flash_supportIndicates whether the device has full Flash support.
is_mobileIndicates whether the requesting device is a mobile device.
is_tabletIndicates whether the device is a tablet.
is_wireless_deviceIndicates whether the device is, or is not, wireless. A mobile phone returns true, but a desktop or laptop returns false.

Supported match types by Cloudlet

The following table lists, by Cloudlet, the supported match types:

CloudletSupported Match Types
Application Load Balancerall, clientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, query, regioncode
API Prioritizationclientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, regioncode
Audience Segmentationclientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, range, regex,regioncode
Edge Redirectorall, clientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, regex, regioncode
Forward Rewriteclientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, regex, regioncode
Phased Releaseall, clientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, regioncode
Request Controlall, clientip, clientipv6, continent, cookie, countrycode, header, method, path, proxy, query, regioncode,
Visitor Prioritizationclientip, clientipv6, continent, cookie, countrycode, deviceCharacteristics, extension, header, hostname, method, path, protocol, proxy, query, regioncode