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:
Property | Type | Description | Cloudlets |
---|---|---|---|
allowDeny | Enumeration | If 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 |
disabled | Boolean | Optional. If set to true , disables a rule so it is not evaluated against incoming requests. The default setting is false . | All |
end | Integer | The end time for this match. Enter the value in UTC in seconds since the epoch. | All |
forwardSettings | Object | This 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 |
id | Integer | Akamai internal use only. | All |
matches | Array | See matches in the following tables. | All |
matchURL | String | If using a URL match, this property is the URL that the Cloudlet uses to match the incoming request. | Edge Redirector, Forward Rewrite |
name | String | The name of the rule. | All |
originId | String | The 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 |
passThroughPercent | Number | The 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 |
pathAndQS | String | If 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 |
redirectURL | String | The URL Edge Redirector redirects the request to. If using useRelativeUrl , you can enter a path for the value. | Edge Redirector |
start | Integer | The start time for this match. Enter the value in UTC in seconds since the epoch. | All |
statusCode | Integer | The HTTP response status code, which is either 301 (permanent redirect) or 302 (temporary redirect). | Edge Redirector |
type | String | The type of Cloudlet the rule is for. For example, the string for Visitor Prioritization is vpMatchRule . | All |
useIncomingQueryString | Boolean | If set to true , the Cloudlet includes the query string from the request in the rewritten or forwarded URL. | Audience Segmentation, Edge Redirector, Forward Rewrite |
useIncomingSchemeAndHost | Boolean | If 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 |
useRelativeUrl | Enumeration | If 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:
Property | Type | Description |
---|---|---|
caseSensitive | Boolean | If true , the match is case sensitive. |
checkIPs | Enumeration | For 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. |
matchOperator | Enumeration | Valid entries for this property are contains , exists , and equals . |
matchType | Enumeration | The type of match used. Possible values include the hostname (hostname ) or the cookie (cookie ). See the Match Type Property section. |
matchValue | String | This 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. |
negate | Boolean | If true , negates the match. |
objectMatchValue | Object | An 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:
Property | Type | Description |
---|---|---|
type | Enumeration | The 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. |
name | Array | If 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 . |
nameCaseSensitive | Boolean | Set to true if the entry for the name property should be evaluated based on case sensitivity. |
nameHasRegex | Boolean | Set to true if the entry for the name property is a regular expression. |
nameHasWildcard | Boolean | Set to true if the entry for the name property includes wildcards. |
value | Array | If 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. |
valueCaseSensitive | Boolean | Set to true if the entries for the value property should be evaluated based on case sensitivity. |
valueHasRegex | Boolean | Set to true if the entries for the value property includes a capture group for a regular expression. |
valueHasWildcard | Boolean | Set to true if the entries for the value property includes wildcards. |
options | Array | If 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 Type | Description | Example Match Value |
---|---|---|
all | A match of all incoming requests. Note that in the Cloudlets Policy Manager application, this match type is called Default . | Not applicable |
clientip | The IPv4 address or CIDR list to match on. | 182.1.0.0 |
clientipv6 | The IPv6 address or CIDR list to match on. | 0:0:0:0:0:ffff:b601:0 |
continent | The continent to match on. See Continent Codes for a list of valid codes. | SA |
cookie | The cookie values to match on. | name=value1 |
countrycode | The country to match on. See Country Codes for a list of valid codes. | US |
deviceCharacteristics | The 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 |
header | The 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 |
method | The HTTP method used for the request. | GET |
path (m) | The URL paths to match on. | /clothing/children/shoes/shoe1.jpg |
protocol | The protocol to match on. You can only enter a single value in this field. | http |
proxy | The 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 |
range | A 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. |
regex | The regular expression to match on. | ab(c.)d+ |
regioncode | The 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 Value | Description |
---|---|
accept_third_party_cookie | Indicates whether the device, by default, accepts a cookie set from a pixel in a page of a different domain. |
ajax_support_javascript | Indicates whether the device supports asynchronous JavaScript and XML (AJAX), a set of programming techniques. |
cookie_support | Indicates 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_support | Indicates whether the device has full Flash support. |
is_mobile | Indicates whether the requesting device is a mobile device. |
is_tablet | Indicates whether the device is a tablet. |
is_wireless_device | Indicates 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:
Cloudlet | Supported Match Types | |
---|---|---|
Application Load Balancer | all , clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , query , regioncode | |
API Prioritization | clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , regioncode | |
Audience Segmentation | clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , range , regex ,regioncode | |
Edge Redirector | all , clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , regex , regioncode | |
Forward Rewrite | clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , regex , regioncode | |
Phased Release | all , clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , regioncode | |
Request Control | all , clientip , clientipv6 , continent , cookie , countrycode , header , method , path , proxy , query , regioncode , | |
Visitor Prioritization | clientip , clientipv6 , continent , cookie , countrycode , deviceCharacteristics , extension , header , hostname , method , path , protocol , proxy , query , regioncode |