JSON Schema for Rules
Following is a schema representation of the rules.
{
"type": "object",
"required": true,
"properties": {
"rules": {
"type": "array",
"required": false,
"items":{
"type": "object",
"required": true,
"properties": {
"behaviors": {
"type": "array",
"required": true,
"items":{
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"enum": [
"origin",
"caching",
"referer-whitelist",
"referer-blacklist",
"geo-whitelist",
"geo-blacklist",
"ip-whitelist",
"ip-blacklist",
"content-refresh",
"cachekey-query-args",
"modify-outgoing-request-path",
"site-failover",
"downstream-caching ",
],
"required": true
},
"type": {
"type": "string",
"required": false
},
"params": {
"type": "string",
"required": false
},
# Origin does not use value.
"value": {
"type": "string",
"required": false
}
}
}
},
"matches": {
"type": "array",
"required": true,
"items": {
"type": "object",
"required": true,
"properties": {
"name": {
"type": "string",
"enum": [
"http-method",
"url-scheme",
"url-path",
"url-extension",
"url-filename",
"header",
"url-wildcard"
],
"required": true
},
"value": {
"type": "string",
"required": true
},
"negated": {
"type": "boolean",
"required": false
}
}
}
}
}
}
}
}
}
rules
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
object | 1..n | None | behaviors, matches |
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
object | 1..n | rules | name, type, params, value |
name
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
enum("origin", "caching", "referer-whitelist", "referer-blacklist", "geo-whitelist", "geo-blacklist", "ip-whitelist", "ip-blacklist", "content-refresh", "cachekey-query-args", "modify-outgoing-request-path", "site-failover", "downstream-caching") | 1..1 | behaviors | None |
type
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
String | 0..1 | behaviors | None |
params
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
String | 0..1 | behaviors | None |
value
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
String | 0..1 | behaviors | None |
matches
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
object | 1..n | rules | name, value, negated |
name
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
enum( "http-method", "url-scheme", "url-path", "url-extension", "url-filename", "header", "url-wildcard") | 1..1 | matches | None |
value
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
String | 1..1 | matches | None |
negated
Data Type | Cardinality | Parent Element | Child Element(s) |
---|---|---|---|
boolean | 0..1 | matches | None |