{ "id":"/axapi/v3/cgnv6/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":63, "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 }, "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", "minLength":1, "maxLength":127, "partition-visibility":"shared", "not":"drop", "description":"Forward to service group (Service group name)", "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 }, "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 }, "class-list":{ "type":"object", "$ref":"/axapi/v3/cgnv6/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/cgnv6/template/dns/{name}/class-list/lid/{lidnum}", "array":[ { "properties":{ "lidnum":{ "type":"number", "format":"number", "minimum":1, "maximum":31, "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" } } }, "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" ] } ] } } }, "dns64":{ "type":"object", "$ref":"/axapi/v3/cgnv6/template/dns/{name}/dns64", "properties":{ "enable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Enable DNS64 (Need to config this option before config any other dns64 options)" }, "answer-only-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Only translate the Answer Section" }, "auth-data":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Set AA flag in DNS Response" }, "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" }, "compress-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Always try DNS Compression" }, "deep-check-qr":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Check DNS Question Record" }, "deep-check-rr-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Check DNS Response Records" }, "drop-cname-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Drop DNS CNAME Response" }, "edns-append":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append EDNS Record when send A Query to server" }, "fast-append":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append translated Records when original Response only has Answer Section" }, "ignore-rcode3-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Ignore DNS error Response with rcode 3" }, "max-qr-length":{ "type":"number", "format":"number", "minimum":1, "maximum":1023, "default":128, "partition-visibility":"shared", "description":"Max Question Record Length, default is 128" }, "parallel-query":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Forward AAAA Query & generate A Query in parallel" }, "passive-query-disable":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Disable Generate A query upon empty or error Response" }, "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" }, "trans-ptr":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Translate DNS PTR Records" }, "trans-ptr-query":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Translate DNS PTR Query" }, "ttl":{ "type":"number", "format":"number", "minimum":1, "maximum":1000000000, "partition-visibility":"shared", "description":"Specify Max TTL in DNS Response, unit: second" }, "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" ] }