Spec-Zone.ru › Ansible

Модуль community.general.dnsmadeeasy – Взаимодействие с dnsmadeeasy.com (сервис хостинга DNS)

Примечание

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

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

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

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

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

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

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

Требования

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

  • hashlib
  • hmac

Параметры

Параметр

Комментарии

account_key

string / required

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

account_secret

string / required

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

autoFailover

boolean

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

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

Варианты:

  • false ← (default)
  • true

contactList

string

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

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

domain

string / required

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

failover

boolean

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

Варианты:

  • false ← (default)
  • 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 ← (default)
  • true

port

integer

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

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

protocol

string

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

Варианты:

  • "TCP"
  • "UDP"
  • "HTTP" ← (default)
  • "DNS"
  • "SMTP"
  • "HTTPS"

record_name

string

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

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 ← (default)
  • true

sensitivity

string

Количество проверок, выполняемых монитором перед переключением, где Low = 8, Medium = 5 и High = 3.

Варианты:

  • "Low"
  • "Medium" ← (default)
  • "High"

state

string / required

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

Варианты:

  • "present"
  • "absent"

systemDescription

string

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

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

validate_certs

boolean

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

Варианты:

  • false
  • true ← (default)

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: отсутствует

Может работать в check_mode и возвращать прогноз состояния “изменено” без изменения цели.

diff_mode

Поддержка: отсутствует

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

Примечания

Примечание

  • Сервис DNS Made Easy требует, чтобы машины, взаимодействующие с API, имели правильно установленное время и часовой пояс. Убедитесь, что ваше время отличается от фактического не более чем на несколько секунд, используя NTP.
  • Этот модуль возвращает записи и мониторы в элементе “result”, когда ‘state’ установлен в ‘present’. Эти значения могут быть зарегистрированы и использованы в ваших playbooks.
  • Только записи типа A могут иметь монитор или failover.
  • Для добавления failover требуются параметры ‘failover’, ‘autoFailover’, ‘port’, ‘protocol’, ‘ip1’ и ‘ip2’.
  • Для добавления монитора требуются параметры ‘monitor’, ‘port’, ‘protocol’, ‘maxEmails’, ‘systemDescription’ и ‘ip1’.
  • Монитор и 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/dnsmadeeasy_module.html

Spec-Zone.ru

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