dnsmadeeasy - Взаимодействие с dnsmadeeasy.com (услугой хостинга DNS).
Новое в версии 1.3.
Обзор
- Управляет записями DNS через REST API v2 службы DNS Made Easy. Он обрабатывает только записи; пока нет возможности манипулировать доменами или поддержкой мониторинга/аккаунта. Смотрите: https://www.dnsmadeeasy.com/integration/restapi/
Требования (к хосту, на котором выполняется модуль)
- hashlib
- hmac
Параметры
| параметр | обязательно | по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| account_key | да | Ключ API учетной записи. | ||
| account_secret | да | Секретный ключ учетной записи. | ||
| autoFailover (добавлен в 2.4)
| да | нет |
| Если true, откат к первичному IP-адресу выполняется вручную после переключения. Если false, откат к первичному IP-адресу выполняется автоматически после переключения. |
| contactList (добавлен в 2.4)
| да | Имя или идентификатор списка контактов, которым будет сообщать монитор. По умолчанию '' — владелец учетной записи. | ||
| domain | да | Домен для работы. Может быть именем домена (например, "mydomain.com") или числовым идентификатором домена в DNS Made Easy (например, "839989") для более быстрого разрешения | ||
| failover (добавлен в 2.4)
| да | нет |
| Если yes, добавить или изменить переключение. Применимо только для записей типа A. |
| httpFile (добавлен в 2.4)
| нет | Файл по адресу Fqdn, который монитор запрашивает для HTTP или HTTPS. | ||
| httpFqdn (добавлен в 2.4)
| нет | Полное доменное имя, используемое монитором. | ||
| httpQueryString (добавлен в 2.4)
| нет | Строка в httpFile, которую монитор запрашивает для HTTP или HTTPS. | ||
| ip1 (добавлен в 2.4)
| нет | Основной IP-адрес для переключения. Требуется при добавлении или изменении монитора или переключения. | ||
| ip2 (добавлен в 2.4)
| нет | Вторичный IP-адрес для переключения. Требуется при добавлении или изменении переключения. | ||
| ip3 (добавлен в 2.4)
| нет | Третичный IP-адрес для переключения. | ||
| ip4 (добавлен в 2.4)
| нет | Четвертичный IP-адрес для переключения. | ||
| ip5 (добавлен в 2.4)
| нет | Пятичный IP-адрес для переключения. | ||
| maxEmails (добавлен в 2.4)
| да | 1 | Количество писем, отправляемых списку контактов монитором. | |
| monitor (добавлен в 2.4)
| да | нет |
| Если yes, добавить или изменить монитор. Применимо только для записей типа A. |
| port (добавлен в 2.4)
| да | 80 | Порт, используемый монитором. | |
| protocol (добавлен в 2.4)
| да | HTTP |
| Протокол, используемый монитором. |
| record_name | нет | Имя записи для получения/создания/удаления/обновления. Если record_name не указан, все записи для домена будут возвращены в «result», независимо от аргумента state. | ||
| record_ttl | нет | 1800 | Время жизни записи. Количество секунд, в течение которого запись остается кэшированной в серверах DNS. | |
| record_type | нет |
| Тип записи. | |
| record_value | нет | Значение записи. HTTPRED: <URL перенаправления>, MX: <приоритет> <целевое имя>, NS: <сервер имен>, PTR: <целевое имя>, SRV: <приоритет> <вес> <порт> <целевое имя>, TXT: <текстовое значение>" Если record_value не указан, изменения не будут внесены, и запись будет возвращена в 'result' (другими словами, этот модуль может использоваться для извлечения текущего идентификатора, типа и ttl записи). | ||
| sensitivity (добавлен в 2.4)
| да | Средний |
| Число проверок, выполняемых монитором перед переключением. Низкий = 8, Средний = 5, Высокий = 3. |
| state | да |
| должна ли запись существовать или нет | |
| systemDescription (добавлен в 2.4)
| да | Описание, используемое монитором. | ||
| validate_certs (добавлен в 1.5.1)
| нет | да |
| Если no, сертификаты SSL не будут проверены. Это следует использовать только на сайтах под личным контролем, использующих самоподписанные сертификаты. |
Примеры
# fetch my.com domain records
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
register: response
# create / ensure the presence of a record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
# update the previously created record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_value: 192.0.2.23
# fetch a specific record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
register: response
# delete a record / ensure it is absent
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: absent
record_name: test
# Add a failover
- 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
- 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
# Add a monitor
- 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: yes
ip1: 127.0.0.2
protocol: HTTP # default
port: 80 # default
maxEmails: 1
systemDescription: Monitor Test A record
contactList: my contact list
# Add a monitor with http options
- 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: yes
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
# Add a monitor and a failover
- 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: yes
protocol: HTTPS
port: 443
maxEmails: 1
systemDescription: monitoring my.com status
contactList: emergencycontacts
# Remove a failover
- 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: no
# Remove a monitor
- 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: no
Примечания
Примечание
- Сервис DNS Made Easy требует, чтобы машины, взаимодействующие с API, имели правильно установленное время и часовой пояс. Убедитесь, что вы находитесь в пределах нескольких секунд от фактического времени, используя NTP.
- Этот модуль возвращает записи(и) и мониторы в элементе «result», когда «state» установлен в «present». Эти значения могут быть зарегистрированы и использованы в ваших playbooks.
- Только записи типа A могут иметь монитор или переключение.
- Чтобы добавить переключение, необходимо указать параметры «failover», «autoFailover», «port», «protocol», «ip1» и «ip2».
- Чтобы добавить монитор, необходимо указать параметры «monitor», «port», «protocol», «maxEmails», «systemDescription» и «ip1».
- Монитор и переключение будут использовать общие параметры «port», «protocol» и «ip1».
Статус
Этот модуль помечен как предварительный просмотр, что означает, что его интерфейс не гарантированно будет обратной совместимостью.
Для получения помощи в разработке модулей, если вы склонны к этому, пожалуйста, прочтите Информацию сообщества и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/dnsmadeeasy_module.html