{ "id":"/axapi/v3/ddos/dns-cache/{name}", "type":"object", "node-type":"list", "title":"dns-cache", "partition-visibility":"shared", "description":"DNS Cache Settings", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DNS Cache Instance Name", "optional":false }, "zone-domain-lookup-miss-action":{ "type":"string", "format":"enum", "default":"respond-nxdomain", "partition-visibility":"shared", "description":"'respond-nxdomain': Send NxDomain response; 'drop': Drop the request; ", "enum":[ "respond-nxdomain", "drop" ], "optional":true }, "default-serving-action":{ "type":"string", "format":"enum", "default":"serve-from-cache", "partition-visibility":"shared", "description":"'serve-from-cache': Serve DNS records; 'forward': Forward to DNS server; 'drop': Drop the request; ", "enum":[ "serve-from-cache", "forward", "drop" ], "optional":true }, "any-query-action-str":{ "type":"string", "format":"enum", "default":"respond-refuse", "partition-visibility":"shared", "description":"'respond-refuse': Send refuse response (default); 'respond-empty': Send empty response; 'drop': Drop the request; ", "enum":[ "respond-refuse", "respond-empty", "drop" ], "optional":true }, "non-authoritative-zone-query-action-str":{ "type":"string", "format":"enum", "default":"respond-refuse", "partition-visibility":"shared", "description":"'default': Default action: respond-refuse; 'forward': Forward to DNS server; 'respond-refuse': Send refuse response; 'drop': Drop the request; ", "enum":[ "default", "forward", "respond-refuse", "drop" ], "optional":true }, "neg-cache-action-follow-q-rate":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Negative cached response queries counted toward query-rate-threshold", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sampling-enable":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "counters1":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'all': all; 'total-cached-fqdn': total-cached-fqdn; 'total-cached-records': total-cached-records; 'fqdn-a': fqdn-a; 'fqdn-aaaa': fqdn-aaaa; 'fqdn-cname': fqdn-cname; 'fqdn-ns': fqdn-ns; 'fqdn-mx': fqdn-mx; 'fqdn-soa': fqdn-soa; 'fqdn-srv': fqdn-srv; 'fqdn-txt': fqdn-txt; 'fqdn-ptr': fqdn-ptr; 'fqdn-other': fqdn-other; 'fqdn-wildcard': fqdn-wildcard; 'fqdn-delegation': fqdn-delegation; 'shard-size': shard-size; 'resp-ext-size': resp-ext-size; 'a-record': a-record; 'aaaa-record': aaaa-record; 'cname-record': cname-record; 'ns-record': ns-record; 'mx-record': mx-record; 'soa-record': soa-record; 'srv-record': srv-record; 'txt-record': txt-record; 'ptr-record': ptr-record; 'other-record': other-record; 'fqdn-in-shard-filter': fqdn-in-shard-filter; ", "enum":[ "all", "total-cached-fqdn", "total-cached-records", "fqdn-a", "fqdn-aaaa", "fqdn-cname", "fqdn-ns", "fqdn-mx", "fqdn-soa", "fqdn-srv", "fqdn-txt", "fqdn-ptr", "fqdn-other", "fqdn-wildcard", "fqdn-delegation", "shard-size", "resp-ext-size", "a-record", "aaaa-record", "cname-record", "ns-record", "mx-record", "soa-record", "srv-record", "txt-record", "ptr-record", "other-record", "fqdn-in-shard-filter" ] } } } ] }, "zone-transfer":{ "type":"object", "$ref":"/axapi/v3/ddos/dns-cache/{name}/zone-transfer", "properties":{ "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "domain-group":{ "type":"object", "$ref":"/axapi/v3/ddos/dns-cache/{name}/domain-group", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DNS domain group" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "domain-list-policy-list":{ "type":"array", "minItems":1, "items":{ "type":"domain-list-policy" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dns-cache/{name}/domain-group/domain-list-policy/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DNS domain list policy", "optional":false }, "server-ipv4":{ "type":"string", "format":"ipv4-address", "partition-visibility":"shared", "description":"Master ipv4 address", "optional":true }, "server-v4-port":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":53, "partition-visibility":"shared", "description":"Port number (default 53)", "optional":true }, "client-ipv4":{ "type":"string", "format":"ipv4-address", "partition-visibility":"shared", "description":"Client ipv4 address", "optional":true }, "server-ipv6":{ "type":"string", "format":"ipv6-address", "partition-visibility":"shared", "description":"Master ipv6 address", "optional":true }, "server-v6-port":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":53, "partition-visibility":"shared", "description":"Port number (default 53)", "optional":true }, "client-ipv6":{ "type":"string", "format":"ipv6-address", "partition-visibility":"shared", "description":"Client ipv6 address", "optional":true }, "refresh-interval-hours":{ "type":"number", "format":"number", "minimum":0, "maximum":24, "default":4, "partition-visibility":"shared", "description":"Zone transfer refresh rate in hours (Default 4). 0 means no refresh", "optional":true }, "ttl-override":{ "type":"number", "format":"number", "minimum":1, "maximum":2147483647, "partition-visibility":"shared", "description":"Override the TTL value for zone transfer", "optional":true }, "respond-with-authority":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Respond with authority section for all requests under this list", "optional":true }, "oversize-answer-response":{ "type":"string", "format":"enum", "default":"set-truncate-bit", "partition-visibility":"shared", "description":"'set-truncate-bit': Set the TC bit for oversize answer(default); 'disable-truncate-bit': Do not set TC bit for oversize answer; ", "enum":[ "set-truncate-bit", "disable-truncate-bit" ], "optional":true }, "resolve-cname-record":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Always try to resolve domain in CNAME record answer section", "optional":true }, "manual-refresh":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Manually refresh the particular zone", "optional":true }, "force":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Force update even the serial is the same", "optional":true }, "cache-all-records":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"cache all fqdn records including uncommon types", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "packet-capturing":{ "type":"object", "$ref":"/axapi/v3/ddos/dns-cache/{name}/domain-group/domain-list-policy/{name}/packet-capturing", "properties":{ "root-zone-list":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "root-zone":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Specify root zone to be captured" }, "capture-config":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/capture-config", "description":"Capture-config name" }, "capture-mode":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'regular': Capture packet anyway; 'capture-on-failure': Capture packet if last XFR was failed; ", "enum":[ "regular", "capture-on-failure" ] } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } } }, "required":[ "name" ] } ] } } }, "sharded-domain-group-list":{ "type":"array", "minItems":1, "items":{ "type":"sharded-domain-group" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dns-cache/{name}/sharded-domain-group/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DNS sharded domain group", "optional":false }, "match-action":{ "type":"string", "format":"enum", "default":"forward", "partition-visibility":"shared", "description":"'forward': Forward query to server (default); 'tunnel-encap': Encapsulate the query and send on a tunnel; ", "enum":[ "forward", "tunnel-encap" ], "optional":true }, "encap-template":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DDOS encap template to sepcify the tunnel endpoint", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "sharded-domain-list-policy-list":{ "type":"array", "minItems":1, "items":{ "type":"sharded-domain-list-policy" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dns-cache/{name}/sharded-domain-group/{name}/sharded-domain-list-policy/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"DNS sharded domain list policy", "optional":false }, "server-ipv4":{ "type":"string", "format":"ipv4-address", "partition-visibility":"shared", "description":"Master ipv4 address", "optional":true }, "server-v4-port":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":53, "partition-visibility":"shared", "description":"Port number (default 53)", "optional":true }, "client-ipv4":{ "type":"string", "format":"ipv4-address", "partition-visibility":"shared", "description":"Client ipv4 address", "optional":true }, "server-ipv6":{ "type":"string", "format":"ipv6-address", "partition-visibility":"shared", "description":"Master ipv6 address", "optional":true }, "server-v6-port":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":53, "partition-visibility":"shared", "description":"Port number (default 53)", "optional":true }, "client-ipv6":{ "type":"string", "format":"ipv6-address", "partition-visibility":"shared", "description":"Client ipv6 address", "optional":true }, "refresh-interval-hours":{ "type":"number", "format":"number", "minimum":0, "maximum":24, "default":4, "partition-visibility":"shared", "description":"Zone transfer refresh rate in hours (Default 4). 0 means no refresh", "optional":true }, "manual-refresh":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Manually refresh the particular zone", "optional":true }, "force":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Force update even the serial is the same", "optional":true }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object", "optional":true }, "user-tag":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"Customized tag", "optional":true }, "packet-capturing":{ "type":"object", "$ref":"/axapi/v3/ddos/dns-cache/{name}/sharded-domain-group/{name}/sharded-domain-list-policy/{name}/packet-capturing", "properties":{ "root-zone-list":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "root-zone":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Specify root zone to be captured" }, "capture-config":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":128, "partition-visibility":"shared", "$ref":"/axapi/v3/capture-config", "description":"Capture-config name" }, "capture-mode":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'regular': Capture packet anyway; 'capture-on-failure': Capture packet if last XFR was failed; ", "enum":[ "regular", "capture-on-failure" ] } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } } }, "required":[ "name" ] } ] } }, "required":[ "name" ] } ] }, "fqdn-manual-override-action-list":{ "type":"array", "minItems":1, "items":{ "type":"fqdn-manual-override-action" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dns-cache/{name}/fqdn-manual-override-action/{fqdn-name}", "array":[ { "properties":{ "fqdn-name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Specify fqdn name", "optional":false }, "action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'default': Default; 'forward': Forward to DNS server; 'drop': Drop the request; 'serve-from-cache': Serve DNS records; ", "enum":[ "default", "forward", "drop", "serve-from-cache" ], "optional":true } }, "required":[ "fqdn-name" ] } ] }, "zone-manual-override-action-list":{ "type":"array", "minItems":1, "items":{ "type":"zone-manual-override-action" }, "uniqueItems":true, "$ref":"/axapi/v3/ddos/dns-cache/{name}/zone-manual-override-action/{zone-name}", "array":[ { "properties":{ "zone-name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":253, "partition-visibility":"shared", "description":"Specify zone name", "optional":false }, "action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'default': Default; 'forward': Forward to DNS server; 'drop': Drop the request; 'serve-from-cache': Serve DNS records; ", "enum":[ "default", "forward", "drop", "serve-from-cache" ], "optional":true } }, "required":[ "zone-name" ] } ] } }, "object-keys":[ "name" ], "required":[ "name" ] }