Spec-Zone.ru › Ansible

Модуль community.dns.hetzner_dns_record_sets – Массовая синхронизация записей DNS в сервисе Hetzner DNS

Примечание

Этот модуль является частью коллекции community.dns (версия 3.0.5).

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

Для установки используйте: ansible-galaxy collection install community.dns.

Для использования в книге задач укажите: community.dns.hetzner_dns_record_sets.

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

  • Описание
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Массовая синхронизация записей DNS в сервисе Hetzner DNS.
  • Можно пропустить определенные записи DNS, указав record_sets[].ignore=true для этой записи.
  • Модуль позволяет устанавливать, изменять и удалять несколько записей DNS одновременно.
  • С опцией prune, также возможно удаление существующих записей, которые не указаны в параметрах модуля. Это позволяет синхронизировать ожидаемое состояние зоны DNS с ожидаемым состоянием.

Параметры

Параметр

Комментарии

bulk_operation_threshold

целое число

Определяет порог, с которого используются массовые операции.

Значение по умолчанию 2 означает, что если запланировано 2 или более операций одного типа, и API поддерживает массовые операции для этого типа операций, они будут использованы.

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

hetzner_token

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

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

Токен для API Hetzner.

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

prune

логический тип

Если установлено true, будут удалены все существующие записи в зоне, которые не указаны в record_sets.

Варианты:

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

record_sets

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

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

Записи, которые должны присутствовать в зоне.

ignore

логический тип

Если установлено true, record_sets[].value будут проигнорированы.

Это полезно, когда prune=true, но вы не хотите, чтобы определенные записи были удалены без необходимости знать их текущее значение.

Варианты:

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

prefix

строка

Префикс записи DNS.

Это часть record_sets[].record перед zone_name. Например, если запись, которую нужно изменить, это www.example.com для зоны example.com, префикс — www. Если запись в этом примере будет example.com, префикс будет '' (пустая строка).

Должен быть указан ровно один из record_sets[].record и record_sets[].prefix.

record

строка

Полная запись DNS для создания или удаления.

Должен быть указан ровно один из record_sets[].record и record_sets[].prefix.

ttl

целое число

TTL новой записи в секундах.

type

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

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

Варианты:

  • "A"
  • "AAAA"
  • "CAA"
  • "CNAME"
  • "DANE"
  • "DS"
  • "HINFO"
  • "MX"
  • "NS"
  • "RP"
  • "SOA"
  • "SRV"
  • "TLSA"
  • "TXT"

value

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

Новое значение при создании записи DNS.

Разрешены списки YAML или несколько значений через запятую.

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

Должно быть указано, если record_sets[].ignore=false.

txt_character_encoding

строка

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

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

Значение по умолчанию изменено на decimal в community.dns 3.0.0. Раньше значением по умолчанию было 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" ← (по умолчанию)
END_OF_DOCUMENT_MARKER

zone_id

string

Идентификатор зоны DNS для изменения.

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

zone_name

aliases: zone

string

Зона DNS для изменения.

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.dns.hetzner

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

Используйте group/community.dns.hetzner в module_defaults для установки значений по умолчанию для этого модуля.

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз состояния изменений без модификации целевых данных.

diff_mode

Поддержка: полная

Возвращает подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode), когда используется режим сравнения.

Примечания

Примечание

  • Для записей CNAME, используйте абсолютные имена DNS для значений. Абсолютные имена DNS оканчиваются на заключительную точку ., например foo.example.com.. Если вы используете относительное имя DNS без заключительной точки, значение будет относительным к зоне записи CNAME.

Примеры

- name: Make sure some records exist and have the expected values
  community.dns.hetzner_dns_record_sets:
    zone: foo.com
    records:
      - prefix: new
        type: A
        ttl: 7200
        value:
          - 1.1.1.1
          - 2.2.2.2
      - prefix: new
        type: AAAA
        ttl: 7200
        value:
          - "::1"
      - record: foo.com
        type: TXT
        value:
          - test
    hetzner_token: access_token

- name: Synchronize DNS zone with a fixed set of records
  # If a record exists that is not mentioned here, it will be deleted
  community.dns.hetzner_dns_record_sets:
    zone_id: 23
    purge: true
    records:
      - prefix: ''
        type: A
        value: 127.0.0.1
      - prefix: ''
        type: AAAA
        value: "::1"
      - prefix: ''
        type: NS
        value:
          - ns-1.hoster.com
          - ns-2.hoster.com
          - ns-3.hoster.com
    hetzner_token: access_token

Значения возврата

Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:

Ключ

Описание

zone_id

string

Идентификатор зоны.

Возвращаемое значение: успех

Пример: "23"

Авторы

  • Markus Bergholz (@markuman)
  • Felix Fontein (@felixfontein)

Ссылки на сборку

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

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

Spec-Zone.ru

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