Spec-Zone.ru › Ansible

Инвентаризация community.dns.hetzner_dns_records — создание инвентаризации из записей Hetzner DNS

Примечание

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

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

Чтобы установить её, используйте: ansible-galaxy collection install community.dns.

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

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

  • Краткое описание
  • Параметры
  • Примечания
  • См. также
  • Примеры

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

  • Чтобы Ansible мог распознать YAML-файл как файл инвентаризации для этого плагина, файл инвентаризации должен содержать plugin: community.dns.hetzner_dns_records, а его имя должно оканчиваться на hetzner_dns.yaml или hetzner_dns.yml.
  • Записи сопоставляются по префиксу / имени и значению записи.
  • Этот плагин позволяет создать инвентаризацию из записей Hetzner DNS.

Параметры

Параметр

Комментарии

filters

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

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

Список фильтров включения/исключения, позволяющих выбирать или исключать узлы из этой инвентаризации.

Фильтры обрабатываются последовательно до первого фильтра, для которого найдено совпадение с filters[].exclude или filters[].include. Если совпадение найдено с filters[].exclude, узел исключается, а если с filters[].include — включается. Если ни один фильтр не совпал, узел включается.

exclude

строка

Условие Jinja2. Если оно выполняется для узла, этот узел исключается.

Можно указать только один из параметров filters[].exclude и filters[].include.

include

строка

Условие Jinja2. Если оно выполняется для узла, этот узел включается.

Можно указать только один из параметров filters[].exclude и filters[].include.

hetzner_api_token

строка

Токен для нового API Hetzner DNS.

Если параметр не указан, значение считывается из переменной окружения HETZNER_API_TOKEN.

Необходимо указать ровно один из параметров hetzner_token и hetzner_api_token.

Конфигурация:

  • Переменная окружения: HETZNER_API_TOKEN

hetzner_token

псевдонимы: api_token

строка

Токен для классического API Hetzner DNS.

Если параметр не указан, значение считывается из переменной окружения HETZNER_DNS_TOKEN.

Необходимо указать ровно один из параметров hetzner_token и hetzner_api_token.

Конфигурация:

  • Переменная окружения: HETZNER_DNS_TOKEN

plugin

строка / обязательный

Название этого плагина. Для распознавания плагином самого себя здесь всегда должно быть указано community.dns.hetzner_dns_records.

Допустимые значения:

  • "community.dns.hetzner_dns_records"

simple_filters

словарь

Словарь пар значений фильтров.

До community.dns 3.0.0 этот параметр назывался filters. В community.dns 2.8.0 его переименовали из filters в simple_filters, а старое название оставалось доступным как псевдоним до community.dns 3.0.0. Теперь filters используется для другой цели.

По умолчанию: {}

type

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

Типы записей, значения которых следует использовать.

Допустимые значения:

  • "A" ← (по умолчанию)
  • "AAAA" ← (по умолчанию)
  • "CAA"
  • "CNAME" ← (по умолчанию)
  • "DANE"
  • "DS"
  • "HINFO"
  • "HTTPS"
  • "MX"
  • "NS"
  • "PTR"
  • "RP"
  • "SOA"
  • "SRV"
  • "SVCB"
  • "TLSA"
  • "TXT"

По умолчанию: ["A", "AAAA", "CNAME"]

txt_character_encoding

строка

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

Следует ли интерпретировать числовые escape-последовательности (\xyz) как восьмеричные или десятичные числа. Используется только при txt_transformation=quoted.

В community.dns 3.0.0 значение по умолчанию изменено на decimal. Ранее значением по умолчанию было octal. Значение decimal соответствует RFC 1035.

Допустимые значения:

  • "decimal" ← (по умолчанию)
  • "octal"

txt_transformation

строка

Определяет, как значения записей TXT преобразуются между API и входными и выходными данными этого модуля.

Значение api означает, что модуль возвращает значения в том виде, в каком их возвращает API, а передаёт в API в том виде, в каком они были переданы модулю. При проверке идемпотентности входная строка сравнивается со строками, возвращаемыми API. API может автоматически преобразовывать некоторые значения, например разбивать длинные значения или добавлять кавычки, что может вызывать проблемы с идемпотентностью.

Значение unquoted автоматически преобразует значения: вы можете передавать значения без кавычек, и модуль вернёт их без кавычек. Если передать значения в кавычках, к ним будут добавлены двойные кавычки.

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

Значение по умолчанию, unquoted, позволяет работать со значениями, не беспокоясь о правильном экранировании для DNS. Большинству пользователей следует использовать unquoted или quoted, но не api.

Примечание: код преобразования предполагает, что значения закодированы в UTF-8. Если вам нужна другая кодировка, используйте txt_transformation=api и обрабатывайте кодировку самостоятельно.

Допустимые значения:

  • "api"
  • "quoted"
  • "unquoted" ← (по умолчанию)

zone_id

строка

Идентификатор зоны DNS, которую нужно изменить.

Необходимо указать ровно один из параметров zone_name и zone_id.

zone_name

псевдонимы: zone

строка

Зона DNS, которую нужно изменить.

Необходимо указать ровно один из параметров zone_name и zone_id.

Примечания

Примечание

  • Параметр hetzner_token, специфичный для поставщика, можно шаблонизировать.
  • Обратите внимание, что оба API поддерживают не все типы записей. Старый API (hetzner_token) не поддерживает записи HTTPS, PTR и SVCB. Новый API (hetzner_api_token) не поддерживает записи DANE.
  • Параметры zone_name и zone_id можно шаблонизировать.

См. также

См. также

community.dns.hetzner_dns_record_set_info

Получение наборов записей в службе Hetzner DNS.

community.dns.hetzner_dns_record_info

Получение записей в службе Hetzner DNS.

Поддерживаемые записи DNS

Дополнительная информация о поддерживаемых типах записей DNS.

Примеры

# filename must end with hetzner_dns.yaml or hetzner_dns.yml

plugin: community.dns.hetzner_dns_records
zone_name: domain.de
simple_filters:
  type:
    - TXT
filters:
  - include: >-
      not ansible_host.startswith('v=')
  - exclude: true
txt_transformation: unquoted

# You can also configure the token by putting secret value into this file,
# but this is discouraged. Use a lookup like below, or leave it away and
# set it with the HETZNER_DNS_TOKEN environment variable.
hetzner_token: >-
  {{ (lookup('community.sops.sops', 'keys/hetzner.sops.yml') | from_yaml).hetzner_dns_token }}

Авторы

  • Markus Bergholz (@markuman)
  • 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/hetzner_dns_records_inventory.html

Spec-Zone.ru

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