.. _envoy_api_file_envoy/data/dns/v2alpha/dns_table.proto: DNS Filter Table Data ===================== .. warning:: This API is work-in-progress and is subject to breaking changes. :ref:`DNS Filter config overview `. .. _envoy_api_msg_data.dns.v2alpha.DnsTable: data.dns.v2alpha.DnsTable ------------------------- `[data.dns.v2alpha.DnsTable proto] `_ This message contains the configuration for the DNS Filter if populated from the control plane .. code-block:: json { "external_retry_count": "...", "virtual_domains": [], "known_suffixes": [] } .. _envoy_api_field_data.dns.v2alpha.DnsTable.external_retry_count: external_retry_count (`uint32 `_) Control how many times envoy makes an attempt to forward a query to an external server .. _envoy_api_field_data.dns.v2alpha.DnsTable.virtual_domains: virtual_domains (:ref:`data.dns.v2alpha.DnsTable.DnsVirtualDomain `, *REQUIRED*) Fully qualified domain names for which Envoy will respond to queries .. _envoy_api_field_data.dns.v2alpha.DnsTable.known_suffixes: known_suffixes (:ref:`type.matcher.StringMatcher `) This field serves to help Envoy determine whether it can authoritatively answer a query for a name matching a suffix in this list. If the query name does not match a suffix in this list, Envoy will forward the query to an upstream DNS server .. _envoy_api_msg_data.dns.v2alpha.DnsTable.AddressList: data.dns.v2alpha.DnsTable.AddressList ------------------------------------- `[data.dns.v2alpha.DnsTable.AddressList proto] `_ This message contains a list of IP addresses returned for a query for a known name .. code-block:: json { "address": [] } .. _envoy_api_field_data.dns.v2alpha.DnsTable.AddressList.address: address (`string `_, *REQUIRED*) This field contains a well formed IP address that is returned in the answer for a name query. The address field can be an IPv4 or IPv6 address. Address family detection is done automatically when Envoy parses the string. Since this field is repeated, Envoy will return one randomly chosen entry from this list in the DNS response. The random index will vary per query so that we prevent clients pinning on a single address for a configured domain .. _envoy_api_msg_data.dns.v2alpha.DnsTable.DnsEndpoint: data.dns.v2alpha.DnsTable.DnsEndpoint ------------------------------------- `[data.dns.v2alpha.DnsTable.DnsEndpoint proto] `_ This message type is extensible and can contain a list of addresses or dictate some other method for resolving the addresses for an endpoint .. code-block:: json { "address_list": "{...}" } .. _envoy_api_field_data.dns.v2alpha.DnsTable.DnsEndpoint.address_list: address_list (:ref:`data.dns.v2alpha.DnsTable.AddressList `, *REQUIRED*) .. _envoy_api_msg_data.dns.v2alpha.DnsTable.DnsVirtualDomain: data.dns.v2alpha.DnsTable.DnsVirtualDomain ------------------------------------------ `[data.dns.v2alpha.DnsTable.DnsVirtualDomain proto] `_ .. code-block:: json { "name": "...", "endpoint": "{...}", "answer_ttl": "{...}" } .. _envoy_api_field_data.dns.v2alpha.DnsTable.DnsVirtualDomain.name: name (`string `_) The domain name for which Envoy will respond to query requests .. _envoy_api_field_data.dns.v2alpha.DnsTable.DnsVirtualDomain.endpoint: endpoint (:ref:`data.dns.v2alpha.DnsTable.DnsEndpoint `) The configuration containing the method to determine the address of this endpoint .. _envoy_api_field_data.dns.v2alpha.DnsTable.DnsVirtualDomain.answer_ttl: answer_ttl (`Duration `_) Sets the TTL in dns answers from Envoy returned to the client