{ "id":"/axapi/v3/slb/template/dns/{name}", "type":"object", "node-type":"list", "title":"dns", "partition-visibility":"shared", "description":"DNS template", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "description":"DNS Template Name", "optional":false }, "default-policy":{ "type":"string", "format":"enum", "default":"nocache", "partition-visibility":"shared", "description":"'nocache': Cache disable; 'cache': Cache enable; ", "enum":[ "nocache", "cache" ], "optional":true }, "cache-record-serving-policy":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'global': Follow global cofiguration (Default); 'no-change': No change in record order; 'round-robin': Round-robin; ", "enum":[ "global", "no-change", "round-robin" ], "optional":true }, "remove-aa-flag":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Make answers created from cache non-authoritative", "optional":true }, "disable-dns-template":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable DNS template", "optional":true }, "period":{ "type":"number", "format":"number", "minimum":1, "maximum":10000, "partition-visibility":"shared", "description":"Period in minutes", "optional":true }, "drop":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"forward", "description":"Drop the malformed query", "optional":true }, "forward":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "not":"drop", "description":"Forward to service group (Service group name)", "optional":true }, "max-query-length":{ "type":"number", "format":"number", "minimum":1, "maximum":4095, "partition-visibility":"shared", "description":"Define Maximum DNS Query Length, default is unlimited (Specify Maximum Length)", "optional":true }, "max-cache-entry-size":{ "type":"number", "format":"number", "minimum":1, "maximum":4096, "default":1024, "partition-visibility":"shared", "description":"Define maximum cache entry size (Maximum cache entry size per VIP (default 1024))", "optional":true }, "max-cache-size":{ "type":"number", "format":"number", "platform-specific-range":1, "platform-specific-default":1, "partition-visibility":"shared", "description":"Define maximum cache size (Maximum cache entry per VIP)", "optional":true }, "enable-cache-sharing":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable DNS cache sharing", "optional":true }, "disable-ra-cached-resp":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable DNS recursive available flag in cached response", "optional":true }, "remove-padding-to-server":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Remove EDNS(0) padding to server", "optional":true }, "add-padding-to-client":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'block-length': Block-Length Padding; 'random-block-length': Random-Block-Length Padding; ", "enum":[ "block-length", "random-block-length" ], "optional":true }, "remove-csubnet":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Remove EDNS(0) client subnet from client queries", "optional":true }, "insert-ipv4":{ "type":"number", "format":"number", "minimum":0, "maximum":32, "partition-visibility":"shared", "description":"prefix-length to insert for IPv4", "optional":true }, "insert-ipv6":{ "type":"number", "format":"number", "minimum":0, "maximum":128, "partition-visibility":"shared", "description":"prefix-length to insert for IPv6", "optional":true }, "redirect-to-tcp-port":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Direct the client to retry with TCP for DNS UDP request", "optional":true }, "query-id-switch":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use DNS query ID to create sesion", "optional":true }, "dnssec-service-group":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/service-group", "description":"Use different service group if DNSSEC DO bit set (Service Group Name)", "optional":true }, "disable-rpz-attach-soa":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable attaching SOA due to RPZ", "optional":true }, "cache-ttl-adjustment-enable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"enable the ttl adjustment for dns cache response", "optional":true }, "dns-logging":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/template/dns-logging", "description":"dns logging template (DNS Logging template name)", "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 }, "dns64":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/dns64", "properties":{ "enable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable DNS64" }, "cache":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use a cached A-query response to provide AAAA query responses for the same hostname" }, "change-query":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Always change incoming AAAA DNS Query to A" }, "parallel-query":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Forward AAAA Query & generate A Query in parallel" }, "retry":{ "type":"number", "format":"number", "minimum":0, "maximum":15, "default":3, "partition-visibility":"shared", "description":"Retry count, default is 3 (Retry Number)" }, "single-response-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Single Response which is used to avoid ambiguity" }, "timeout":{ "type":"number", "format":"number", "minimum":0, "maximum":15, "default":1, "partition-visibility":"shared", "description":"Timeout to send additional Queries, unit: second, default is 1" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "negative-dns-cache":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/negative-dns-cache", "properties":{ "enable-negative-dns-cache":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable DNS negative cache (Need to turn-on the dns-cache for this feature)" }, "bypass-query-threshold":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":100, "partition-visibility":"shared", "description":"the threshold bypass the query, default is 100" }, "max-negative-cache-ttl":{ "type":"number", "format":"number", "minimum":0, "maximum":604800, "default":7200, "partition-visibility":"shared", "description":"Max negative cache ttl, default is 2 hours" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "udp-retransmit":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/udp-retransmit", "properties":{ "retry-interval":{ "type":"number", "format":"number", "minimum":1, "maximum":400, "default":10, "partition-visibility":"shared", "description":"DNS Retry Interval value 1 - 400 in units of 100ms, default is 10 (default is 1000ms) (1 - 400 in units of 100ms, default is 10 (1000ms/1sec))" }, "max-trials":{ "type":"number", "format":"number", "minimum":1, "maximum":5, "default":3, "partition-visibility":"shared", "description":"Total number of times to try DNS query to server before closing client connection, default 3" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "query-type-filter":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/query-type-filter", "properties":{ "query-type-action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'allow': Allow only certain DNS query types; 'deny': Deny only certain DNS query types; ", "enum":[ "allow", "deny" ] }, "query-type":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "str-query-type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'A': Address record; 'AAAA': IPv6 Address record; 'CNAME': Canonical name record; 'MX': Mail exchange record; 'NS': Name server record; 'SRV': Service locator; 'PTR': PTR resource record; 'SOA': Start of authority record; 'TXT': Text record; 'ANY': All cached record; ", "enum":[ "A", "AAAA", "CNAME", "MX", "NS", "SRV", "PTR", "SOA", "TXT", "ANY" ] }, "num-query-type":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Other record type value" } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "query-class-filter":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/query-class-filter", "properties":{ "query-class-action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'allow': Allow only certain DNS query classes; 'deny': Deny only certain DNS query classes; ", "enum":[ "allow", "deny" ] }, "query-class":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "str-query-class":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'INTERNET': INTERNET query class; 'CHAOS': CHAOS query class; 'HESIOD': HESIOD query class; 'NONE': NONE query class; 'ANY': ANY query class; ", "enum":[ "INTERNET", "CHAOS", "HESIOD", "NONE", "ANY" ] }, "num-query-class":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Other query class value" } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "rpz-list":{ "type":"array", "minItems":1, "items":{ "type":"rpz" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/rpz/{seq-id}", "array":[ { "properties":{ "seq-id":{ "type":"number", "format":"number", "minimum":1, "maximum":8, "partition-visibility":"shared", "description":"sequential id of RPZ", "optional":false }, "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Specify a Response Policy Zone name", "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 }, "logging":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/rpz/{seq-id}/logging", "properties":{ "enable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Log RPZ triggered action" }, "rpz-action":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "str-rpz-action":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'drop': Log RPZ due to drop action; 'pass-thru': Log RPZ due to pass-thru action; 'nxdomain': Log RPZ due to nxdomain action; 'nodata': Log RPZ due to nodata action; 'tcp-only': Log RPZ due to tcp-only action; 'local-data': Log RPZ due to local-data action; ", "enum":[ "drop", "pass-thru", "nxdomain", "nodata", "tcp-only", "local-data" ] } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } } }, "required":[ "seq-id" ] } ] }, "class-list":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/class-list", "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Specify a class list name" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "lid-list":{ "type":"array", "minItems":1, "items":{ "type":"lid" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/class-list/lid/{lidnum}", "array":[ { "properties":{ "lidnum":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Specify a limit ID", "optional":false }, "conn-rate-limit":{ "type":"number", "format":"number", "minimum":1, "maximum":2147483647, "partition-visibility":"shared", "description":"Connection rate limit", "optional":true }, "per":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Per (Number of 100ms)", "optional":true }, "over-limit-action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Action when exceeds limit", "optional":true }, "action-value":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'dns-cache-disable': Disable DNS cache when it exceeds limit; 'dns-cache-enable': Enable DNS cache when it exceeds limit; 'forward': Forward the traffic even it exceeds limit; ", "enum":[ "dns-cache-disable", "dns-cache-enable", "forward" ], "optional":true }, "lockout":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Don't accept any new connection for certain time (Lockout duration in minutes)", "optional":true }, "log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Log a message", "optional":true }, "log-interval":{ "type":"number", "format":"number", "minimum":1, "maximum":255, "partition-visibility":"shared", "description":"Log interval (minute, by default system will log every over limit instance)", "optional":true }, "dns":{ "type":"object", "properties":{ "cache-action":{ "type":"string", "format":"enum", "default":"cache-disable", "partition-visibility":"shared", "description":"'cache-disable': Disable dns cache; 'cache-enable': Enable dns cache; ", "enum":[ "cache-disable", "cache-enable" ] }, "ttl":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"TTL for cache entry (TTL in seconds)" }, "weight":{ "type":"number", "format":"number", "minimum":1, "maximum":7, "partition-visibility":"shared", "description":"Weight for cache entry" }, "honor-server-response-ttl":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Honor the server reponse TTL" } } }, "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 } }, "required":[ "lidnum" ] } ] } } }, "response-rate-limiting":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting", "properties":{ "response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":5, "partition-visibility":"shared", "description":"Responses exceeding this rate within the window will be dropped (default 5 per second)" }, "filter-response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":10, "partition-visibility":"shared", "description":"Maximum allowed request rate for the filter. This should match average traffic. (default 10 per seconds)" }, "slip-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"TC-rate", "description":"Every n'th response that would be rate-limited will be let through instead" }, "TC-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"slip-rate", "description":"Every n'th response that would be rate-limited will respond with TC bit" }, "match-subnet":{ "type":"string", "format":"ipv4-netmask", "default":"255.255.255.255", "partition-visibility":"shared", "description":"IP subnet mask (response rate by IP subnet mask)" }, "match-subnet-v6":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "default":128, "partition-visibility":"shared", "description":"IPV6 subnet mask (response rate by IPv6 subnet mask)" }, "window":{ "type":"number", "format":"number", "minimum":1, "maximum":60, "default":1, "partition-visibility":"shared", "description":"Rate-Limiting Interval in Seconds (default is one)" }, "src-ip-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared" }, "enable-log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable logging" }, "action":{ "type":"string", "format":"enum", "default":"rate-limit", "partition-visibility":"shared", "description":"'log-only': Only log rate-limiting, do not actually rate limit. Requires enable-log configuration; 'rate-limit': Rate-Limit based on configuration (Default); 'whitelist': Whitelist, disable rate-limiting; ", "enum":[ "log-only", "rate-limit", "whitelist" ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "rrl-class-list-list":{ "type":"array", "minItems":1, "items":{ "type":"rrl-class-list" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting/rrl-class-list/{name}", "array":[ { "properties":{ "name":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "description":"Class-list name", "optional":false }, "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 }, "lid-list":{ "type":"array", "minItems":1, "items":{ "type":"lid" }, "uniqueItems":true, "$ref":"/axapi/v3/slb/template/dns/{name}/response-rate-limiting/rrl-class-list/{name}/lid/{lidnum}", "array":[ { "properties":{ "lidnum":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "partition-visibility":"shared", "description":"Specify a limit ID", "optional":false }, "lid-response-rate":{ "type":"number", "format":"number", "minimum":1, "maximum":1000, "default":5, "partition-visibility":"shared", "description":"Responses exceeding this rate within the window will be dropped (default 5 per second)", "optional":true }, "lid-slip-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"lid-tc-rate", "description":"Every n'th response that would be rate-limited will be let through instead", "optional":true }, "lid-tc-rate":{ "type":"number", "format":"number", "minimum":2, "maximum":10, "partition-visibility":"shared", "not":"lid-slip-rate", "description":"Every n'th response that would be rate-limited will respond with TC bit", "optional":true }, "lid-match-subnet":{ "type":"string", "format":"ipv4-netmask", "default":"255.255.255.255", "partition-visibility":"shared", "description":"IP subnet mask (response rate by IP subnet mask)", "optional":true }, "lid-match-subnet-v6":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "default":128, "partition-visibility":"shared", "description":"IPV6 subnet mask (response rate by IPv6 subnet mask)", "optional":true }, "lid-window":{ "type":"number", "format":"number", "minimum":1, "maximum":60, "default":1, "partition-visibility":"shared", "description":"Rate-Limiting Interval in Seconds (default is one)", "optional":true }, "lid-src-ip-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "optional":true }, "lid-enable-log":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable logging", "optional":true }, "lid-action":{ "type":"string", "format":"enum", "default":"rate-limit", "partition-visibility":"shared", "description":"'log-only': Only log rate-limiting, do not actually rate limit. Requires enable-log configuration; 'rate-limit': Rate-Limit based on configuration (Default); 'whitelist': Whitelist, disable rate-limiting; ", "enum":[ "log-only", "rate-limit", "whitelist" ], "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 } }, "required":[ "lidnum" ] } ] } }, "required":[ "name" ] } ] } } }, "local-dns-resolution":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/local-dns-resolution", "properties":{ "host-list-cfg":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "hostnames":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Hostnames class-list name (dns type)" } } } ] }, "local-resolver-cfg":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "local-resolver":{ "type":"string", "format":"ipv4-address", "partition-visibility":"shared", "description":"Local dns servers (address)" } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "recursive-dns-resolution":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/recursive-dns-resolution", "properties":{ "host-list-cfg":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "hostnames":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/class-list", "description":"Hostnames class-list name (dns type), perform resolution while query name matched" } } } ] }, "csubnet-retry":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"retry when server REFUSED AX inserted EDNS(0) subnet, works only when insert-client-subnet is configured" }, "ns-cache-lookup":{ "type":"string", "format":"enum", "default":"enabled", "partition-visibility":"shared", "description":"'disabled': Disable NS Cache Lookup; 'enabled': Enable NS Cache Lookup; ", "enum":[ "disabled", "enabled" ] }, "use-service-group-response":{ "type":"string", "format":"enum", "default":"enabled", "partition-visibility":"shared", "description":"'disabled': Start Recursive Resolver if Server response doesnt have final answer; 'enabled': Forward Backend Server response to client and dont start recursive resolver; ", "enum":[ "disabled", "enabled" ] }, "ipv4-nat-pool":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/ip/nat/pool", "description":"IPv4 Source NAT pool or pool group" }, "ipv6-nat-pool":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":63, "partition-visibility":"shared", "$ref":"/axapi/v3/ipv6/nat/pool", "description":"IPv6 Source NAT pool or pool group" }, "retries-per-level":{ "type":"number", "format":"number", "minimum":1, "maximum":6, "default":6, "partition-visibility":"shared", "description":"Number of DNS query retries at each server level before closing client connection, default 6" }, "full-response":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Serve all records (authority and additional) when applicable" }, "max-trials":{ "type":"number", "format":"number", "minimum":1, "maximum":255, "default":255, "partition-visibility":"shared", "description":"Total number of times to try DNS query to server before closing client connection, default 255" }, "request-for-pending-resolution":{ "type":"string", "format":"enum", "default":"respond-with-servfail", "partition-visibility":"shared", "description":"'drop': Drop of the request during ongoing; 'respond-with-servfail': Respond with SERVFAIL of the request during ongoing; 'start-new-resolution': Start new resolution of the request during ongoing; ", "enum":[ "drop", "respond-with-servfail", "start-new-resolution" ] }, "udp-retry-interval":{ "type":"number", "format":"number", "minimum":1, "maximum":6, "default":1, "partition-visibility":"shared", "description":"UDP DNS Retry Interval value 1-6, default is 1 sec (1-6 , default is 1 sec)" }, "udp-initial-interval":{ "type":"number", "format":"number", "minimum":1, "maximum":6, "default":5, "partition-visibility":"shared", "description":"UDP DNS Retry Interval value 1-6, default is 5 sec (1-6, default is 5sec)" }, "use-client-qid":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use client side query id for recursive query" }, "default-recursive":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Default recursive mode, forward query to bound service-group if hostnames matched" }, "force-cname-resolution":{ "type":"string", "format":"enum", "default":"enabled", "partition-visibility":"shared", "description":"'enabled': Force CNAME resolution always; 'disabled': Use answer record in CNAME response if it exists, else resolve; ", "enum":[ "enabled", "disabled" ] }, "fast-ns-selection":{ "type":"string", "format":"enum", "default":"enabled", "partition-visibility":"shared", "description":"'enabled': Enable fast NS selection; 'disabled': Disable fast NS selection; ", "enum":[ "enabled", "disabled" ] }, "dnssec-validation":{ "type":"string", "format":"enum", "default":"disabled", "partition-visibility":"shared", "description":"'enabled': Enable DNSSEC validation; 'disabled': Disable DNSSEC validation; ", "enum":[ "enabled", "disabled" ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" }, "lookup-order":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/recursive-dns-resolution/lookup-order", "properties":{ "query-type":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "str-query-type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'A': Address record; 'AAAA': IPv6 Address record; 'CNAME': Canonical name record; 'MX': Mail exchange record; 'NS': Name server record; 'SRV': Service locator; 'PTR': PTR resource record; 'SOA': Start of authority record; 'TXT': Text record; 'ANY': All cached record; ", "enum":[ "A", "AAAA", "CNAME", "MX", "NS", "SRV", "PTR", "SOA", "TXT", "ANY" ] }, "num-query-type":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "description":"Other query type value" }, "order":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'ipv4-precede-ipv6': Recursive lookup via IPv4 then IPv6; 'ipv6-precede-ipv4': Recursive lookup via IPv6 then IPv4; ", "enum":[ "ipv4-precede-ipv6", "ipv6-precede-ipv4" ] } } } ] }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } }, "gateway-health-check":{ "type":"object", "$ref":"/axapi/v3/slb/template/dns/{name}/recursive-dns-resolution/gateway-health-check", "properties":{ "query-name":{ "type":"string", "format":"string", "minLength":1, "maxLength":255, "default":"a10networks.com", "partition-visibility":"shared", "description":"Specify the query name used in probe queries, default \"a10networks.com\"" }, "retry":{ "type":"number", "format":"number", "minimum":1, "maximum":6, "default":6, "partition-visibility":"shared", "description":"Maximum number of DNS query retries at each server level before health check fails, default 6 (Retry count (default 6))" }, "timeout":{ "type":"number", "format":"number", "minimum":1, "maximum":6, "default":5, "partition-visibility":"shared", "description":"Specify the health check timeout before retrying or finish, default is 5 sec (Timeout value, in seconds (default 5))" }, "interval":{ "type":"number", "format":"number", "minimum":1, "maximum":300, "default":10, "partition-visibility":"shared", "description":"Specify the health check interval, default is 10 sec (Interval value, in seconds (default 10))" }, "up-retry":{ "type":"number", "format":"number", "minimum":1, "maximum":10, "default":1, "partition-visibility":"shared", "description":"Specify number of times that health check consecutively passes before declaring gateway UP, default 1 (up-retry count (default 1))" }, "retry-multi":{ "type":"number", "format":"number", "minimum":1, "maximum":10, "default":1, "partition-visibility":"shared", "description":"Specify number of times that health check consecutively fails before declaring gateway DOWN, default 1 (retry-multi count (default 1))" }, "gwhc-ns-cache-lookup":{ "type":"string", "format":"enum", "default":"disabled", "partition-visibility":"shared", "description":"'disabled': Disable NS Cache Lookup; 'enabled': Enable NS Cache Lookup; ", "enum":[ "disabled", "enabled" ] }, "str-query-type":{ "type":"string", "format":"enum", "default":"A", "partition-visibility":"shared", "not":"num-query-type", "description":"'A': Address record; 'AAAA': IPv6 Address record; 'CNAME': Canonical name record; 'MX': Mail exchange record; 'NS': Name server record; 'SRV': Service locator; 'PTR': PTR resource record; 'SOA': Start of authority record; 'TXT': Text record; ", "enum":[ "A", "AAAA", "CNAME", "MX", "NS", "SRV", "PTR", "SOA", "TXT" ] }, "num-query-type":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "partition-visibility":"shared", "not":"str-query-type", "description":"Other record type value" }, "uuid":{ "type":"string", "format":"string", "minLength":1, "maxLength":64, "partition-visibility":"shared", "modify-not-allowed":1, "description":"uuid of the object" } } } } } }, "object-keys":[ "name" ], "required":[ "name" ] }