Spec-Zone.ru › Ansible

community.dns.lookup_as_dict lookup – Поиск записей DNS в виде словарей

Примечание

Этот плагин поиска входит в коллекцию community.dns (версия 3.5.5).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.dns. Для использования этого плагина поиска требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.dns.lookup_as_dict.

Добавлено в community.dns 2.6.0

  • Краткое описание
  • Требования
  • Аргументы
  • Параметры-ключевые слова
  • Примечания
  • Примеры
  • Возвращаемое значение

Краткое описание

  • Ищет записи DNS и возвращает их в виде интерпретированных словарей.

Требования

Перечисленные ниже компоненты должны быть установлены на локальном управляющем узле, который выполняет этот поиск.

  • dnspython >= 1.15.0 (возможно, подойдут и более старые версии)

Аргументы

Параметр

Комментарии

Terms

список / элементы=строка / обязательный

Имя домена или имена доменов для запроса.

Параметры-ключевые слова

Здесь описаны параметры-ключевые слова поиска. В следующих примерах это значения key1=value1, key2=value2 и так далее: lookup('community.dns.lookup_as_dict', key1=value1, key2=value2, ...) и query('community.dns.lookup_as_dict', key1=value1, key2=value2, ...)

Параметр

Комментарии

nxdomain_handling

строка

Способ обработки ошибок NXDOMAIN. Они возникают при запросе неизвестного доменного имени.

empty (по умолчанию) возвращает пустой результат для этого доменного имени. Это означает, что для соответствующего доменного имени ничего не добавляется в _result.

fail приводит к сбою поиска.

Варианты:

  • "empty" ← (по умолчанию)
  • "fail"

query_retry

целое число

Количество повторных попыток при тайм-аутах DNS-запросов.

По умолчанию: 3

query_timeout

число с плавающей точкой

Тайм-аут для каждого DNS-запроса в секундах.

По умолчанию: 10.0

search

логическое значение

добавлено в community.dns 3.0.0

Если false, предполагается, что входные данные являются абсолютным доменным именем.

Если true, предполагается, что входные данные являются относительным доменным именем, если они не оканчиваются на .. Для относительных имён будет использоваться список поиска, заданный в конфигурации системного резолвера, а к относительным именам может добавляться домен резолвера.

Обратите внимание, что это поведение изменилось в community.dns 3.0.0. В community.dns 2.x.y был доступен только вариант search=false.

Варианты:

  • false
  • true ← (по умолчанию)

server

список / элементы=строка

DNS-сервер или серверы, используемые для поиска результата. Должен быть указан список из одного или нескольких IP-адресов.

По умолчанию используется стандартный системный резолвер.

servfail_retries

целое число

Количество повторных попыток при ошибках SERVFAIL.

По умолчанию: 0

type

строка

Тип записи для получения.

Поддержка HTTPS и SVCB добавлена в community.dns 3.4.0.

Варианты:

  • "A" ← (по умолчанию)
  • "AAAA"
  • "CAA"
  • "CNAME"
  • "DNAME"
  • "DNSKEY"
  • "DS"
  • "HINFO"
  • "HTTPS"
  • "LOC"
  • "MX"
  • "NAPTR"
  • "NS"
  • "NSEC"
  • "NSEC3"
  • "NSEC3PARAM"
  • "PTR"
  • "RP"
  • "RRSIG"
  • "SOA"
  • "SPF"
  • "SRV"
  • "SSHFP"
  • "SVCB"
  • "TLSA"
  • "TXT"

Примечания

Примечание

  • При совместном использовании параметров позиционных и параметров-ключевых слов позиционные параметры необходимо указывать перед параметрами-ключевыми словами: lookup('community.dns.lookup_as_dict', term1, term2, key1=value1, key2=value2) и query('community.dns.lookup_as_dict', term1, term2, key1=value1, key2=value2)
  • Обратите внимание: при использовании этого плагина поиска с lookup(), если результатом является список из одного элемента, Ansible возвращает сам элемент, а не список. Такое поведение может вызвать неожиданности и привести к проблемам, поэтому лучше использовать query() вместо lookup(). См. примеры, а также раздел Принудительный возврат списков результатами поиска в документации Ansible.

Примеры

- name: Look up A (IPv4) records for example.org as a list of dictionaries
  ansible.builtin.debug:
    msg: "{{ query('community.dns.lookup_as_dict', 'example.org.') }}"

- name: Look up AAAA (IPv6) records for example.org as a list of IPv6 addresses
  ansible.builtin.debug:
    msg: "{{ query('community.dns.lookup_as_dict', 'example.org.', type='AAAA' ) | map(attribute='address') }}"

- name: Look up TXT records for ansible.com as a list of strings
  ansible.builtin.debug:
    msg: "{{ query('community.dns.lookup_as_dict', 'ansible.com.', type='TXT' ) | map(attribute='value') }}"

Возвращаемое значение

Ключ

Описание

Возвращаемое значение

list / elements=dictionary

Записи типа type для всех запрошенных DNS-имен.

Если в _terms запрашивается несколько DNS-имен, результирующие списки объединяются.

В зависимости от type возвращаются разные поля.

Для type=TXT и type=SPF объединённое значение также возвращается как _result[].value.

Возвращается: при успешном выполнении

Пример: [{"address": "127.0.0.1"}]

address

string

IPv4- или IPv6-адрес.

Возвращается: если type=A или type=AAAA

algorithm

integer

Идентификатор алгоритма.

Возвращается: если type=DNSKEY или type=DS или type=NSEC3 или type=NSEC3PARAM или type=RRSIG или type=SSHFP

altitude

float

Высота над уровнем моря.

Возвращается: если type=LOC

cert

string

Сертификат.

Возвращается: если type=TLSA

cpu

string

Процессор.

Возвращается: если type=HINFO

digest

string

Дайджест.

Возвращается: если type=DS

digest_type

integer

Тип дайджеста.

Возвращается: если type=DS

exchange

string

Почтовый сервер обмена.

Возвращается: если type=MX

expiration

integer

Метка времени истечения срока действия в формате Unix.

Возвращается: если type=RRSIG

expire

integer

Количество секунд, по истечении которых вторичные серверы имён должны перестать отвечать на запросы для этой зоны, если основной сервер имён не отвечает.

Возвращается: если type=SOA

fingerprint

string

Отпечаток.

Возвращается: если type=SSHFP

flags

integer

Флаги.

Фактически для type=NAPTR имеет тип string.

Возвращается: если type=CAA или type=DNSKEY или type=NAPTR или type=NSEC3 или type=NSEC3PARAM

fp_type

integer

Тип отпечатка.

Возвращается: если type=SSHFP

horizontal_precision

float

Точность горизонтального положения.

Возвращается: если type=LOC

inception

integer

Метка времени создания в формате Unix.

Возвращается: если type=RRSIG

iterations

integer

Количество итераций.

Возвращается: если type=NSEC3 или type=NSEC3PARAM

key

string

Ключ.

Возвращается: если type=DNSKEY

key_tag

integer

Тег ключа.

Возвращается: если type=DS или type=RRSIG

labels

integer

Метки.

Возвращается: если type=RRSIG

latitude

list / elements=integer

Широта местоположения.

Возвращается: если type=LOC

longitude

list / elements=integer

Долгота местоположения.

Возвращается: если type=LOC

mbox

string

Почтовый ящик.

Возвращается: если type=RP

minimum

integer

Используется для вычисления TTL при отрицательном кэшировании.

Возвращается: если type=SOA

mname

string

Основной сервер имён для этой зоны.

Возвращается: если type=SOA

mtype

integer

Тип mtype.

Возвращается: если type=TLSA

next

string

Следующее значение.

Возвращается: если type=NSEC или type=NSEC3

order

integer

Значение порядка.

Возвращается: если type=NAPTR

original_ttl

integer

Исходный TTL.

Возвращается: если type=RRSIG

os

string

Операционная система.

Возвращается: если type=HINFO

params

dictionary

Параметры. Подробности см. в документе RFC 9460.

Возвращается: если type=HTTPS или type=SVCB

alpn

list / elements=string

Список идентификаторов ALPN в кодировке Base64.

Возвращается: при успешном выполнении

ech

any

Ключ ECH (Encrypted Client Hello) в кодировке Base64.

Возвращается: при успешном выполнении

ipv4hint

list / elements=string

Список IPv4-адресов.

Возвращается: при успешном выполнении

ipv6hint

list / elements=string

Список IPv6-адресов.

Возвращается: при успешном выполнении

mandatory

list / elements=string

Ключи параметров, которые считаются обязательными.

Возвращается: при успешном выполнении

no-default-alpn

any

Если этот ключ присутствует, значение всегда будет null.

Возвращается: при успешном выполнении

ohttp

any

Если этот ключ присутствует, значение всегда будет null.

Возвращается: при успешном выполнении

port

integer

Порт.

Возвращается: при успешном выполнении

port

integer

Порт.

Возвращается: если type=SRV

preference

integer

Значение приоритета этой записи.

Возвращается: если type=MX или type=NAPTR

priority

integer

Значение приоритета этой записи.

Возвращается: если type=HTTPS, type=SRV или type=SVCB

protocol

integer

Протокол.

Возвращается: если type=DNSKEY

refresh

integer

Количество секунд, по истечении которых вторичные серверы имён должны запросить у основного сервера имён запись SOA для обнаружения изменений в зоне.

Возвращается: если type=SOA

regexp

string

Регулярное выражение.

Возвращается: если type=NAPTR

replacement

string

Замена.

Возвращается: если type=NAPTR

retry

integer

Количество секунд, по истечении которых вторичные серверы имён должны повторить запрос серийного номера у основного сервера имён, если тот не отвечает.

Возвращается: если type=SOA

rname

string

Адрес электронной почты администратора, ответственного за эту зону.

Возвращается: если type=SOA

salt

string

Соль.

Возвращается: если type=NSEC3 или type=NSEC3PARAM

selector

integer

Селектор.

Возвращается: если type=TLSA

serial

integer

Серийный номер этой зоны.

Возвращается: если type=SOA

service

string

Служба.

Возвращается: если type=NAPTR

signature

string

Подпись.

Возвращается: если type=RRSIG

signer

string

Подписант.

Возвращается: если type=RRSIG

size

float

Размер местоположения.

Возвращается: если type=LOC

strings

list / elements=string

Список строк для этой записи.

Объединённый результат см. в _result[].value.

Возвращается: если type=SPF или type=TXT

tag

string

Тег.

Возвращается: если type=CAA

target

string

Цель.

Возвращается: если type=CNAME, type=DNAME, type=HTTPS, type=NS, type=PTR, type=SRV или type=SVCB

txt

string

Значение TXT.

Возвращается: если type=RP

type_covered

string

Покрываемый тип.

Возвращается: если type=RRSIG

usage

integer

Флаг использования.

Возвращается: если type=TLSA

value

string

Значение.

Для type=SPF или type=TXT это конкатенация _result[].strings.

Возвращается: если type=CAA, type=SPF или type=TXT

vertical_precision

float

Вертикальная точность местоположения.

Возвращается: если type=LOC

weight

integer

Вес службы.

Возвращается: если type=SRV

windows

string

Окна.

Возвращается: если type=NSEC или type=NSEC3

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (DNS)
  • Отправить сообщение об ошибке
  • Запросить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/dns/lookup_as_dict_lookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API