Spec-Zone.ru › Ansible

Модуль community.general.dnsmadeeasy — интерфейс с dnsmadeeasy.com (служба хостинга DNS)

Примечание

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

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

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

Чтобы использовать модуль в плейбуке, укажите: community.general.dnsmadeeasy.

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры

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

  • Управляет записями DNS с помощью REST API версии 2 службы DNS Made Easy. Модуль работает только с записями; управление доменами и поддержка мониторинга/учётных записей пока не реализованы. См.: https://www.dnsmadeeasy.com/integration/restapi/.

Требования

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

  • hashlib
  • hmac

Параметры

Параметр

Комментарии

account_key

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

Ключ API учётной записи.

account_secret

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

Секретный ключ учётной записи.

autoFailover

boolean

Если значение равно true, после переключения возврат на основной IP-адрес выполняется вручную.

Если значение равно false, после переключения возврат на основной IP-адрес выполняется автоматически.

Возможные значения:

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

contactList

string

Имя или ID списка контактов, который получает уведомления от монитора.

Значение по умолчанию '' означает владельца учётной записи.

domain

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

Домен, с которым нужно работать. Можно указать имя домена (например, mydomain.com) или числовой ID домена в DNS Made Easy (например, 839989) для ускорения разрешения.

failover

boolean

Если true, добавить или изменить конфигурацию переключения при отказе. Применимо только к записям A.

Возможные значения:

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

httpFile

string

Файл на FQDN, к которому монитор обращается по HTTP или HTTPS.

httpFqdn

string

Полное доменное имя, используемое монитором.

httpQueryString

string

Строка в httpFile, которую монитор ищет при обращении по HTTP или HTTPS.

ip1

string

Основной IP-адрес для переключения при отказе.

Обязателен при добавлении или изменении монитора либо конфигурации переключения при отказе.

ip2

string

Вторичный IP-адрес для переключения при отказе.

Обязателен при добавлении или изменении конфигурации переключения при отказе.

ip3

string

Третичный IP-адрес для переключения при отказе.

ip4

string

Четвертичный IP-адрес для переключения при отказе.

ip5

string

Пятый IP-адрес для переключения при отказе.

maxEmails

integer

Количество писем, отправляемых монитором списку контактов.

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

monitor

boolean

Если true, добавить или изменить монитор. Применимо только к записям A.

Возможные значения:

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

port

integer

Порт, используемый монитором.

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

protocol

string

Протокол, используемый монитором.

Возможные значения:

  • "TCP"
  • "UDP"
  • "HTTP" ← (по умолчанию)
  • "DNS"
  • "SMTP"
  • "HTTPS"

record_name

string

Имя записи, которую нужно получить, создать, удалить или обновить. Если record_name не указано, в «result» будут возвращены все записи домена независимо от аргумента state.

record_ttl

integer

«Время жизни» записи. Количество секунд, в течение которых запись остаётся в кэше DNS-серверов.

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

record_type

string

Тип записи.

Возможные значения:

  • "A"
  • "AAAA"
  • "CNAME"
  • "ANAME"
  • "HTTPRED"
  • "MX"
  • "NS"
  • "PTR"
  • "SRV"
  • "TXT"

record_value

string

Значение записи. HTTPRED: <URL перенаправления>, MX: <приоритет> <целевое имя>, NS: <имя сервера имён>, PTR: <целевое имя>, SRV: <приоритет> <вес> <порт> <целевое имя>, TXT: <текстовое значение>».

Если record_value не указано, изменения не вносятся, а запись возвращается в result (то есть этот модуль можно использовать для получения текущих ID, типа и TTL записи).

sandbox

boolean

Определяет, следует ли использовать API песочницы. В противном случае (по умолчанию) используется производственный API DNS Made Easy.

Возможные значения:

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

sensitivity

string

Количество проверок, выполняемых монитором до переключения при отказе: низкая — 8, средняя — 5, высокая — 3.

Возможные значения:

  • "Low"
  • "Medium" ← (по умолчанию)
  • "High"

state

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

Должна ли запись существовать.

Возможные значения:

  • "present"
  • "absent"

systemDescription

string

Описание, используемое монитором.

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

validate_certs

boolean

Если false, сертификаты SSL не проверяются. Используйте этот параметр только на подконтрольных вам сайтах с самоподписанными сертификатами.

Возможные значения:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

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

diff_mode

Поддержка: нет

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

Примечания

Примечание

  • Служба DNS Made Easy требует, чтобы на компьютерах, взаимодействующих с API, были правильно настроены время и часовой пояс. Убедитесь, что ваше время отличается от фактического не более чем на несколько секунд, используя NTP.
  • При state=present этот модуль возвращает запись (или записи) и монитор (или мониторы) в элементе result. Эти значения можно зарегистрировать и использовать в плейбуках.
  • Для записей A можно задать только monitor или failover.
  • Для добавления конфигурации переключения при отказе необходимы параметры failover, autoFailover, port, protocol, ip1 и ip2.
  • Для добавления монитора необходимы параметры monitor, port, protocol, maxEmails, systemDescription и ip1.
  • Параметры monitor и failover используют общие параметры port, protocol и ip1.

Примеры

- name: Fetch my.com domain records
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
  register: response

- name: Create a record
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1

- name: Update the previously created record
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_value: 192.0.2.23

- name: Fetch a specific record
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
  register: response

- name: Delete a record
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    record_type: A
    state: absent
    record_name: test

- name: Add a failover
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    failover: true
    ip1: 127.0.0.2
    ip2: 127.0.0.3

- name: Add a failover
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    failover: true
    ip1: 127.0.0.2
    ip2: 127.0.0.3
    ip3: 127.0.0.4
    ip4: 127.0.0.5
    ip5: 127.0.0.6

- name: Add a monitor
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    monitor: true
    ip1: 127.0.0.2
    protocol: HTTP # default
    port: 80 # default
    maxEmails: 1
    systemDescription: Monitor Test A record
    contactList: my contact list

- name: Add a monitor with http options
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    monitor: true
    ip1: 127.0.0.2
    protocol: HTTP # default
    port: 80 # default
    maxEmails: 1
    systemDescription: Monitor Test A record
    contactList: 1174 # contact list id
    httpFqdn: http://my.com
    httpFile: example
    httpQueryString: some string

- name: Add a monitor and a failover
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    failover: true
    ip1: 127.0.0.2
    ip2: 127.0.0.3
    monitor: true
    protocol: HTTPS
    port: 443
    maxEmails: 1
    systemDescription: monitoring my.com status
    contactList: emergencycontacts

- name: Remove a failover
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    failover: false

- name: Remove a monitor
  community.general.dnsmadeeasy:
    account_key: key
    account_secret: secret
    domain: my.com
    state: present
    record_name: test
    record_type: A
    record_value: 127.0.0.1
    monitor: false

Авторы

  • Brice Burgess (@briceburg)

Ссылки на коллекцию

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

© 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/general/dnsmadeeasy_module.html

Spec-Zone.ru

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