Spec-Zone.ru › Ansible

Модуль community.dns.hosttech_dns_record_set – Добавление или удаление записей DNS в службе Hosttech DNS

Примечание

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

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

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

Для использования в playbook, укажите: community.dns.hosttech_dns_record_set.

Новая в community.dns 2.0.0

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

Описание

  • Создаёт и удаляет записи DNS в службе Hosttech DNS.
  • Этот модуль заменяет hosttech_dns_record из community.dns до версии 2.0.0.

Требования

Ниже перечислены требования, которые должны быть выполнены на хосте, где выполняется этот модуль.

  • lxml

Параметры

Параметр

Комментарии

hosttech_password

строка

Пароль пользователя API Hosttech.

Если указан, также необходимо указать hosttech_username.

Исключает hosttech_token.

hosttech_token

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

строка

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

Пароль пользователя API Hosttech.

Исключает hosttech_username и hosttech_password.

Начиная с community.dns 1.2.0, можно использовать псевдоним api_token.

hosttech_username

строка

Имя пользователя пользователя API Hosttech.

Если указан, также необходимо указать hosttech_password.

Исключает hosttech_token.

on_existing

строка

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

Если установлено 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) новой записи в секундах.

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

txt_character_encoding

строка

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

Как интерпретировать числовые последовательности обратного слэша (\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" ← (по умолчанию)

type

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

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

Варианты:

  • "A"
  • "AAAA"
  • "CAA"
  • "CNAME"
  • "MX"
  • "NS"
  • "PTR"
  • "SPF"
  • "SRV"
  • "TXT"

value

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

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

Разрешены списки YAML или несколько значений, разделённых запятыми.

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

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

Будет проигнорировано, если state=absent и on_existing=replace.

END_OF_DOCUMENT_MARKER

zone_id

integer

added in community.dns 0.2.0

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

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

zone_name

aliases: zone

string

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

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

added in community.dns 2.4.0

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

check_mode

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

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

diff_mode

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

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

Примеры

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

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

- name: Retrieve the details for new.foo.com
  community.dns.hosttech_dns_record_set_info:
    zone_name: foo.com
    record: new.foo.com
    type: A
    hosttech_username: foo
    hosttech_password: bar
  register: rec

- name: Delete new.foo.com A record using the results from the facts retrieval command
  community.dns.hosttech_dns_record_set:
    state: absent
    zone_name: foo.com
    record: "{{ rec.set.record }}"
    ttl: "{{ rec.set.ttl }}"
    type: "{{ rec.set.type }}"
    value: "{{ rec.set.value }}"
    hosttech_username: foo
    hosttech_password: bar

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

- name: Add a TXT record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: foo.com
    record: localhost.foo.com
    type: TXT
    ttl: 7200
    value: 'bar'
    hosttech_username: foo
    hosttech_password: bar

- name: Remove the TXT record
  community.dns.hosttech_dns_record_set:
    state: absent
    zone_name: foo.com
    record: localhost.foo.com
    type: TXT
    ttl: 7200
    value: 'bar'
    hosttech_username: foo
    hosttech_password: bar

- name: Add a CAA record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: foo.com
    record: foo.com
    type: CAA
    ttl: 3600
    value:
    - '128 issue "letsencrypt.org"'
    - '128 iodef "mailto:webmaster@foo.com"'
    hosttech_token: access_token

- name: Add an MX record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: foo.com
    record: foo.com
    type: MX
    ttl: 3600
    value:
    - "10 mail.foo.com"
    hosttech_token: access_token

- name: Add a CNAME record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: bla.foo.com
    record: foo.com
    type: CNAME
    ttl: 3600
    value:
    - foo.foo.com
    hosttech_username: foo
    hosttech_password: bar

- name: Add a PTR record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: foo.foo.com
    record: foo.com
    type: PTR
    ttl: 3600
    value:
    - foo.foo.com
    hosttech_token: access_token

- name: Add an SPF record
  community.dns.hosttech_dns_record_set:
    state: present
    zone_name: foo.com
    record: foo.com
    type: SPF
    ttl: 3600
    value:
    - "v=spf1 a mx ~all"
    hosttech_username: foo
    hosttech_password: bar

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

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

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

Ключ

Описание

zone_id

integer

added in community.dns 0.2.0

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

Возвращается: success

Пример: 23

Авторы

  • 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/hosttech_dns_record_set_module.html

Spec-Zone.ru

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