{ "id":"/axapi/v3/gslb/policy/{name}/dns", "type":"object", "node-type":"scalar", "title":"dns", "partition-visibility":"shared", "description":"DNS related policy", "properties":{ "action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Apply DNS action for service", "optional":true }, "active-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Only keep active servers", "optional":true }, "active-only-fail-safe":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Continue if no candidate", "optional":true }, "dns-addition-mx":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append MX Records in Addition Section", "optional":true }, "dns-auto-map":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Automatically build DNS Infrastructure", "optional":true }, "backup-alias":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Return alias name when fail", "optional":true }, "backup-server":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Return fallback server when fail", "optional":true }, "external-ip":{ "type":"number", "format":"flag", "default":1, "partition-visibility":"shared", "description":"Return DNS response with external IP address", "optional":true }, "external-soa":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Return DNS response with external SOA Record", "optional":true }, "cname-detect":{ "type":"number", "format":"flag", "default":1, "partition-visibility":"shared", "description":"Apply GSLB for DNS Server response when service is Canonical Name (CNAME)", "optional":true }, "ip-replace":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Replace DNS Server Response with GSLB Service-IPs", "optional":true }, "geoloc-alias":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Return alias name by geo-location", "optional":true }, "geoloc-action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Apply DNS action by geo-location", "optional":true }, "geoloc-policy":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Apply different policy by geo-location", "optional":true }, "selected-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Only keep selected servers", "optional":true }, "selected-only-value":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "partition-visibility":"shared", "description":"Answer Number", "optional":true }, "cache":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Cache DNS Server response", "optional":true }, "aging-time":{ "type":"number", "format":"number", "minimum":0, "maximum":1000000000, "default":0, "partition-visibility":"shared", "description":"Specify aging-time, default is TTL in DNS record, unit: second (Aging time, default 0 means using TTL in DNS record as aging time)", "optional":true }, "delegation":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Zone Delegation", "optional":true }, "hint":{ "type":"string", "format":"enum", "default":"addition", "partition-visibility":"shared", "description":"'none': None; 'answer': Append Hint Records in DNS Answer Section; 'addition': Append Hint Records in DNS Addition Section; ", "enum":[ "none", "answer", "addition" ], "optional":true }, "logging":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'none': None; 'query': DNS Query; 'response': DNS Response; 'both': Both DNS Query and Response; ", "enum":[ "none", "query", "response", "both" ], "optional":true }, "template":{ "type":"string", "format":"string-rlx", "minLength":1, "maxLength":127, "partition-visibility":"shared", "$ref":"/axapi/v3/slb/template/logging", "description":"Logging template (Logging Template Name)", "optional":true }, "ttl":{ "type":"number", "format":"number", "minimum":0, "maximum":1000000000, "default":10, "partition-visibility":"shared", "not":"use-server-ttl", "description":"Specify the TTL value contained in DNS record (TTL value, unit: second, default is 10)", "optional":true }, "use-server-ttl":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"ttl", "description":"Use DNS Server Response TTL value in GSLB Proxy mode", "optional":true }, "server":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Run GSLB as DNS server mode", "optional":true }, "server-srv":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide SRV Records", "optional":true }, "server-mx":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide MX Records", "optional":true }, "server-naptr":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide NAPTR Records", "optional":true }, "server-addition-mx":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append MX Records in Addition Section", "optional":true }, "server-ns":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide NS Records", "optional":true }, "server-auto-ns":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide A-Records for NS-Records automatically", "optional":true }, "server-ptr":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide PTR Records", "optional":true }, "server-auto-ptr":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide PTR Records automatically", "optional":true }, "server-txt":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide TXT Records", "optional":true }, "server-custom":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide Custom Records", "optional":true }, "server-any":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"server-any-with-metric", "description":"Provide All Records", "optional":true }, "server-any-with-metric":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"server-any", "description":"Provide All Records with GSLB Metrics applied to A/AAAA Records", "optional":true }, "server-authoritative":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"As authoritative server", "optional":true }, "server-sec":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide DNSSEC support", "optional":true }, "server-ns-list":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append All NS Records in Authoritative Section", "optional":true }, "server-full-list":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Append All A Records in Authoritative Section", "optional":true }, "server-mode-only":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"zone-owner-mode", "description":"Only run GSLB as DNS server mode", "optional":true }, "zone-owner-mode":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "not":"server-mode-only", "description":"Only run GSLB as DNS server mode with zone ownership", "optional":true }, "server-cname":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide CNAME Records", "optional":true }, "server-caa":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Provide CAA Records", "optional":true }, "ipv6":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "dns-ipv6-option":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'mix': Return both AAAA Record and A Record; 'smart': Return AAAA Record by DNS Query Type; 'mapping': Map A Record to AAAA Record; ", "enum":[ "mix", "smart", "mapping" ] }, "dns-ipv6-mapping-type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'addition': Append Mapped Record in DNS Addition Section; 'answer': Append Mapped Record in DNS Answer Section; 'exclusive': Only return AAAA Record; 'replace': Replace Record with Mapped Record; ", "enum":[ "addition", "answer", "exclusive", "replace" ] } } } ] }, "block-action":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Specify Action", "optional":true }, "action-type":{ "type":"string", "format":"enum", "partition-visibility":"shared", "description":"'drop': Drop query; 'reject': Send refuse response; 'ignore': Send empty response; ", "enum":[ "drop", "reject", "ignore" ], "optional":true }, "proxy-block-port-range-list":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "proxy-block-range-from":{ "type":"number", "format":"number", "partition-visibility":"shared", "description":"Specify Type Range (From)" }, "proxy-block-range-to":{ "type":"number", "format":"number", "partition-visibility":"shared", "description":"To" } } } ] }, "block-value":{ "type":"array", "minItems":1, "items":{ "type":"object" }, "uniqueItems":true, "array":[ { "properties":{ "block-value":{ "type":"number", "format":"number", "minimum":1, "maximum":255, "partition-visibility":"shared", "description":"Specify Type Number" } } } ] }, "block-type":{ "type":"string", "format":"enum-list", "partition-visibility":"shared", "enum":[ "a", "aaaa", "ns", "mx", "srv", "cname", "ptr", "soa", "txt" ], "optional":true }, "sticky":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Make DNS Record sticky for certain time", "optional":true }, "sticky-mask":{ "type":"string", "format":"ipv4-netmask-brief", "default":"/32", "partition-visibility":"shared", "description":"Specify IP mask, default is /32", "optional":true }, "sticky-ipv6-mask":{ "type":"number", "format":"number", "minimum":1, "maximum":128, "default":128, "partition-visibility":"shared", "description":"Specify IPv6 mask length, default is 128", "optional":true }, "sticky-aging-time":{ "type":"number", "format":"number", "minimum":1, "maximum":65535, "default":5, "partition-visibility":"shared", "description":"Specify aging-time, unit: min, default is 5 (Aging time)", "optional":true }, "dynamic-preference":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"Make dynamically change the preference", "optional":true }, "dynamic-weight":{ "type":"number", "format":"flag", "default":0, "partition-visibility":"shared", "description":"dynamically change the weight", "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 } } }