{ "id":"/axapi/v3/slb/template/dns/{name}/recursive-dns-resolution", "type":"object", "node-type":"scalar", "title":"recursive-dns-resolution", "partition-visibility":"shared", "description":"Recursive DNS resolver configuration", "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", "optional":true }, "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" ], "optional":true }, "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" ], "optional":true }, "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", "optional":true }, "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", "optional":true }, "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", "optional":true }, "full-response":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Serve all records (authority and additional) when applicable", "optional":true }, "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", "optional":true }, "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" ], "optional":true }, "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)", "optional":true }, "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)", "optional":true }, "use-client-qid":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Use client side query id for recursive query", "optional":true }, "default-recursive":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Default recursive mode, forward query to bound service-group if hostnames matched", "optional":true }, "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" ], "optional":true }, "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" ], "optional":true }, "dnssec-validation":{ "type":"string", "format":"enum", "default":"disabled", "partition-visibility":"shared", "description":"'enabled': Enable DNSSEC validation; 'disabled': Disable DNSSEC validation; ", "enum":[ "enabled", "disabled" ], "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 }, "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" } } } } }