Spec-Zone.ru › Ansible

Модуль community.dns.hetzner_dns_record_set — добавление и удаление наборов записей в службе Hetzner DNS

Примечание

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

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

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

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

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

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примечания
  • См. также
  • Примеры
  • Возвращаемые значения

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

  • Создает и удаляет наборы записей DNS в службе Hetzner DNS.

Параметры

Параметр

Комментарии

bulk_operation_threshold

целое число

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

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

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

hetzner_api_token

строка

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

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

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

hetzner_token

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

строка

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

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

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

on_existing

строка

Этот параметр определяет поведение, если набор записей уже существует, но отличается от указанного набора записей. Для сравнения всех записей типа type, соответствующих prefix или record, используются value и ttl.

Если задано значение replace, запись будет обновлена (state=present) или удалена (state=absent). Это прежнее поведение overwrite=true.

Если задано значение keep_and_fail, модуль завершится с ошибкой и не изменит записи. Это прежнее поведение overwrite=false, если state=present.

Если задано значение keep_and_warn, модуль выдаст предупреждение и не изменит записи.

Если задано значение keep, модуль не изменит записи. Это прежнее поведение overwrite=false, если state=absent.

Если state=absent и значение не равно replace, необходимо указать value.

Варианты:

  • "replace" ← (по умолчанию)
  • "keep_and_fail"
  • "keep_and_warn"
  • "keep"

prefix

строка

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

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

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

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

record

строка

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

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

state

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

Указывает состояние ресурсной записи.

Варианты:

  • "present"
  • "absent"

ttl

целое число

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

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" ← (по умолчанию)

type

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

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

Варианты:

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

value

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

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

Допускаются списки YAML или несколько значений, разделенных запятыми.

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

Необходимо указать, если state=present или если on_existing не равно replace.

Игнорируется, если state=absent и on_existing=replace.

zone_id

строка

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

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

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

zone_name

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

строка

Изменяемая зона 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

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

В режиме diff будут возвращены сведения об изменениях (или о возможных изменениях в check_mode).

idempotent

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

При повторном запуске с теми же аргументами вне режима проверки модуль сообщает об отсутствии изменений.

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

Примечания

Примечание

  • Обратите внимание: не все типы записей поддерживаются обоими API. Старый API (hetzner_token) не поддерживает записи HTTPS, PTR и SVCB. Новый API (hetzner_api_token) не поддерживает записи DANE.
  • Для записей CNAME используйте в значениях абсолютные DNS-имена. Абсолютные DNS-имена заканчиваются точкой ., например foo.example.com.. Если использовать относительное DNS-имя без завершающей точки, значение будет относительным к зоне записи CNAME.

См. также

См. также

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

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

Примеры

- name: Add new.foo.com as an A record with 3 IPs
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value: 1.1.1.1,2.2.2.2,3.3.3.3
    hetzner_token: access_token

- name: Update new.foo.com as an A record with a list of 3 IPs
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: new.foo.com
    type: A
    ttl: 7200
    value:
      - 1.1.1.1
      - 2.2.2.2
      - 3.3.3.3
    hetzner_token: access_token

- name: Retrieve the details for new.foo.com
  community.dns.hetzner_dns_record_set_info:
    zone: foo.com
    record: new.foo.com
    type: A
    hetzner_token: access_token
  register: rec

- name: Delete new.foo.com A record using the results from the facts retrieval command
  community.dns.hetzner_dns_record_set:
    state: absent
    zone: foo.com
    record: "{{ rec.set.record }}"
    ttl: "{{ rec.set.ttl }}"
    type: "{{ rec.set.type }}"
    value: "{{ rec.set.value }}"
    hetzner_token: access_token

- name: Add an AAAA record
  # Note that because there are colons in the value that the IPv6 address must be quoted!
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: localhost.foo.com
    type: AAAA
    ttl: 7200
    value: "::1"
    hetzner_token: access_token

- name: Add a TXT record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: localhost.foo.com
    type: TXT
    ttl: 7200
    value: 'bar'
    hetzner_token: access_token

- name: Remove the TXT record
  community.dns.hetzner_dns_record_set:
    state: absent
    zone: foo.com
    record: localhost.foo.com
    type: TXT
    ttl: 7200
    value: 'bar'
    hetzner_token: access_token

- name: Add a CAA record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: foo.com
    type: CAA
    value:
      - '128 issue "letsencrypt.org"'
      - '128 iodef "mailto:webmaster@foo.com"'
    hetzner_token: access_token

- name: Add an MX record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: foo.com
    type: MX
    ttl: 3600
    value:
      - "10 mail.foo.com"
    hetzner_token: access_token

- name: Add a CNAME record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: bla.foo.com
    record: foo.com
    type: CNAME
    ttl: 3600
    value:
      - foo.foo.com
    hetzner_token: access_token

- name: Add a PTR record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.foo.com
    record: foo.com
    type: PTR
    ttl: 3600
    value:
      - foo.foo.com
    hetzner_token: access_token

- name: Add an SPF record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: foo.com
    type: SPF
    ttl: 3600
    value:
      - "v=spf1 a mx ~all"
    hetzner_token: access_token

- name: Add a PTR record
  community.dns.hetzner_dns_record_set:
    state: present
    zone: foo.com
    record: foo.com
    type: PTR
    ttl: 3600
    value:
      - "10 100 3333 service.foo.com"
    hetzner_token: access_token

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

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

Ключ

Описание

zone_id

строка

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

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

Пример: "23"

Авторы

  • 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_record_set_module.html

Spec-Zone.ru

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