{
"id": "dns_lookup",
"schema": {
"type": "object",
"title": "",
"additionalProperties": true,
"properties": {
"dnsLookupFields": {
"title": "DNS lookup fields",
"description": "List of field names on which to perform DNS lookup",
"type": "array",
"items": {
"type": "object",
"properties": {
"inFieldName": {
"type": "string",
"title": "Lookup field name"
},
"resourceRecordType": {
"title": "Resource record type",
"description": "The DNS record type (RR) to return. Defaults to 'A'.",
"type": "string",
"enum": [
"A",
"AAAA",
"ANY",
"CNAME",
"MX",
"NAPTR",
"NS",
"PTR",
"SOA",
"SRV",
"TXT"
],
"enumNames": [
"A",
"AAAA",
"ANY",
"CNAME",
"MX",
"NAPTR",
"NS",
"PTR",
"SOA",
"SRV",
"TXT"
],
"default": "A"
},
"outFieldName": {
"type": "string",
"title": "Output field name",
"description": "Name of field to add lookup results to. Leave blank to overwrite the lookup field."
}
}
}
},
"reverseLookupFields": {
"title": "Reverse DNS lookup fields",
"description": "List of field names on which to perform reverse DNS lookup",
"type": "array",
"items": {
"type": "object",
"properties": {
"inFieldName": {
"type": "string",
"title": "Lookup field name",
"description": "Name of the field containing the IP to look up. If the field value is not in IPv4 or IPv6 format, the lookup is skipped."
},
"outFieldName": {
"type": "string",
"title": "Output field name",
"description": "Name of field to add the resolved domain to. Leave blank to overwrite the lookup field."
}
}
}
},
"dnsServers": {
"title": "DNS server overrides",
"description": "IPs, in RFC 5952 format, of the DNS servers to use for resolution. Examples: IPv4 1.1.1.1, 4.2.2.2:53, or IPv6 [2001:4860:4860::8888], [2001:4860:4860::8888]:1053. If not specified, system's DNS will be used.",
"type": "array",
"items": {
"type": "string"
}
},
"cacheTTL": {
"type": "number",
"title": "Cache time to live (minutes)",
"description": "How frequently to expire and refetch DNS cache. Use 0 to disable.",
"default": 30
},
"maxCacheSize": {
"type": "number",
"title": "Cache size limit",
"default": 5000,
"description": "The maximum number of DNS resolutions to be cached locally. Leave at default unless you understand the implications of changing.",
"maximum": 100000
},
"useResolvConf": {
"title": "Use /etc/resolv.conf",
"description": "Attempt to resolve DNS short names using the search or domain directive from /etc/resolv.conf",
"type": "boolean",
"default": false
},
"lookupFallback": {
"title": "Fall back to DNS.lookup()",
"description": "If unable to resolve a DNS short name, make a DNS.lookup() call to resolve it. Caution: This might degrade performance in unrelated areas of @{product}.",
"type": "boolean",
"default": false
},
"domainOverrides": {
"title": "Use search or domain fallbacks",
"description": "Specify fallback values for the DNS resolver to use when it cannot resolve a DNS short name",
"type": "array",
"items": {
"type": "string",
"properties": {
"domainOverride": {
"type": "string",
"title": "fallback"
}
}
}
},
"lookupFailLogLevel": {
"title": "Log level for failed lookups",
"type": "string",
"enum": ["silly", "debug", "info", "warn", "error"],
"enumNames": ["silly", "debug", "info", "warn", "error"],
"default": "error"
}
}
}
}