Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Чтобы использовать его в плейбуке, укажите: 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

string

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

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

Несовместим с hosttech_token.

hosttech_token

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

string

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

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

Несовместим с hosttech_username и hosttech_password.

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

hosttech_username

string

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

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

Несовместимо с hosttech_token.

on_existing

string

Этот параметр определяет поведение, если набор записей уже существует, но отличается от указанного набора. При сравнении для всех записей типа 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

string

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

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

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

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

record

string

Полная DNS-запись, которую нужно создать или удалить.

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

state

string / обязательный

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

Варианты:

  • "present"
  • "absent"

ttl

integer

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

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

txt_character_encoding

string

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

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

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

Варианты:

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

txt_transformation

string

Определяет, как значения записей 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

string / обязательный

Тип DNS-записи, которую нужно создать или удалить.

Варианты:

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

value

list / элементы=string

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

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

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

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

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

zone_id

integer

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

ID изменяемой DNS-зоны.

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

zone_name

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

string

Изменяемая DNS-зона.

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

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

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

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

check_mode

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

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

diff_mode

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

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

idempotent

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

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

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

См. также

См. также

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

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

Примеры

- 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

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

ID зоны.

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

Пример: 23

Авторы

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

Spec-Zone.ru

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