Модуль hetzner.hcloud.zone — создание и управление DNS-зонами в Hetzner Cloud.
Примечание
Этот модуль входит в коллекцию hetzner.hcloud (версия 6.9.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install hetzner.hcloud. Для работы с этим модулем требуются дополнительные компоненты. Подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: hetzner.hcloud.zone.
Краткое описание
- Создание, обновление и удаление DNS-зон в Hetzner Cloud.
- Подробнее см. в документации по API зон.
Псевдонимы: hcloud_zone
Требования
Следующие компоненты должны быть установлены на узле, на котором выполняется этот модуль.
- python-dateutil >= 2.7.5
- requests >=2.20
Параметры
Параметр | Комментарии |
|---|---|
api_endpoint псевдонимы: endpoint string | Конечная точка API Hetzner Cloud. Это значение также можно задать с помощью переменной среды По умолчанию: |
api_endpoint_hetzner string | Конечная точка API Hetzner. Это значение также можно задать с помощью переменной среды По умолчанию: |
api_token string / обязательный | Токен для API Hetzner Cloud. Это значение также можно задать с помощью переменной среды |
delete_protection boolean | Защитить зону от удаления. Варианты:
|
id integer | ID управляемой зоны. Требуется, только если не указан |
labels dictionary | Пары «ключ-значение», заданные пользователем. |
mode string | Режим зоны. Обязателен, если зона не существует. Варианты:
|
name string | Имя управляемой зоны. Требуется, только если не указан Поддерживаются все имена с общедоступными доменами верхнего уровня (например, .de, .com, .co.uk). Поддомены не поддерживаются. Имя должно быть в нижнем регистре и не должно заканчиваться точкой. Интернационализированные доменные имена необходимо преобразовать в формат Punycode с префиксом ACE, например, xn--mnchen-3ya.de (münchen.de). |
primary_nameservers list / elements=dictionary | Основные DNS-серверы зоны. Применимо только к зонам с |
|
address string |
Общедоступный адрес IPv4 или IPv6 основного DNS-сервера. |
|
port integer |
Порт основного DNS-сервера. |
|
tsig_algorithm string |
Алгоритм подписи транзакций (TSIG), используемый для создания ключа TSIG. |
|
tsig_key string |
Ключ подписи транзакций (TSIG). |
state string | Состояние зоны.
Варианты:
|
ttl integer | TTL зоны. |
zonefile string | Файл зоны для импорта. Необязателен, если Обязателен, если |
См. также
См. также
- Документация по API Hetzner
-
Полный справочник по API Hetzner.
Примеры
- name: Create a primary Zone
hetzner.hcloud.zone:
name: example.com
mode: primary
ttl: 10800
labels:
key: value
state: present
- name: Create a primary Zone using a zonefile
hetzner.hcloud.zone:
name: example.com
mode: primary
zonefile: |
$ORIGIN example.com.
$TTL 3600
@ 300 IN CAA 0 issue "letsencrypt.org"
@ 600 IN A 192.168.254.2
@ 600 IN A 192.168.254.3
@ IN AAAA fdd0:367a:0cb7::2
@ IN AAAA fdd0:367a:0cb7::3
www IN CNAME example.com.
blog IN CNAME example.com.
anything IN TXT "some value"
state: present
- name: Create a primary Zone with Internationalized Domain Name (IDN)
hetzner.hcloud.zone:
# Leverage Python's encoding.idna module https://docs.python.org/3/library/codecs.html#module-encodings.idna
name: "{{ 'këks-🍪-example.com'.encode('idna') }}"
mode: primary
state: present
- name: Create a secondary Zone
hetzner.hcloud.zone:
name: example.com
mode: secondary
primary_nameservers:
- address: 203.0.113.1
port: 53
labels:
key: value
state: present
- name: Delete a Zone
hetzner.hcloud.zone:
name: example.com
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
hcloud_zone dictionary | Экземпляр зоны. Возвращается: всегда |
|
authoritative_nameservers dictionary |
Авторитетные DNS-серверы зоны. Возвращается: всегда |
|
assigned list / elements=string |
Авторитетные DNS-серверы Hetzner, назначенные зоне. Возвращается: всегда Пример: |
|
delegated list / elements=string |
Авторитетные DNS-серверы, делегированные родительской DNS-зоне. Возвращается: всегда Пример: |
|
delegation_last_check string |
Момент последней проверки делегирования DNS-зоны (в формате ISO-8601). Возвращается: всегда Пример: |
|
delegation_status string |
Состояние делегирования. Возвращается: всегда Пример: |
|
delete_protection boolean |
Защита зоны от удаления. Возвращается: всегда Пример: |
|
id integer |
ID зоны. Возвращается: всегда Пример: |
|
labels dictionary |
Метки, заданные пользователем (пары «ключ-значение») Возвращается: всегда Пример: |
|
mode string |
Режим зоны. Возвращается: всегда Пример: |
|
name string |
Имя зоны. Возвращается: всегда Пример: |
|
primary_nameservers list / elements=dictionary |
Основные DNS-серверы зоны. Возвращается: всегда |
|
address string |
Общедоступный адрес IPv4 или IPv6 основного DNS-сервера. Возвращается: всегда Пример: |
|
port integer |
Порт основного DNS-сервера. Возвращается: всегда Пример: |
|
tsig_algorithm string |
Алгоритм подписи транзакций (TSIG), используемый для создания ключа TSIG. Возвращается: всегда Пример: |
|
tsig_key string |
Ключ подписи транзакций (TSIG). Возвращается: всегда |
|
record_count integer |
Количество ресурсных записей (RR) в зоне. Возвращается: всегда Пример: |
|
registrar string |
Регистратор зоны. Возвращается: всегда Пример: |
|
status string |
Состояние зоны. Возвращается: всегда Пример: |
|
ttl integer |
TTL зоны. Возвращается: всегда Пример: |
Ссылки на коллекцию
© 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/hetzner/hcloud/zone_module.html