Spec-Zone.ru › Ansible

Модуль 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.

Это значение также можно задать с помощью переменной среды HCLOUD_ENDPOINT.

По умолчанию: "https://api.hetzner.cloud/v1"

api_endpoint_hetzner

string

Конечная точка API Hetzner.

Это значение также можно задать с помощью переменной среды HETZNER_ENDPOINT.

По умолчанию: "https://api.hetzner.com/v1"

api_token

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

Токен для API Hetzner Cloud.

Это значение также можно задать с помощью переменной среды HCLOUD_TOKEN.

delete_protection

boolean

Защитить зону от удаления.

Варианты:

  • false
  • true

id

integer

ID управляемой зоны.

Требуется, только если не указан name зоны.

labels

dictionary

Пары «ключ-значение», заданные пользователем.

mode

string

Режим зоны.

Обязателен, если зона не существует.

Варианты:

  • "primary"
  • "secondary"

name

string

Имя управляемой зоны.

Требуется, только если не указан id зоны или зона не существует.

Поддерживаются все имена с общедоступными доменами верхнего уровня (например, .de, .com, .co.uk). Поддомены не поддерживаются.

Имя должно быть в нижнем регистре и не должно заканчиваться точкой.

Интернационализированные доменные имена необходимо преобразовать в формат Punycode с префиксом ACE, например, xn--mnchen-3ya.de (münchen.de).

primary_nameservers

list / elements=dictionary

Основные DNS-серверы зоны.

Применимо только к зонам с mode=secondary.

address

string

Общедоступный адрес IPv4 или IPv6 основного DNS-сервера.

port

integer

Порт основного DNS-сервера.

tsig_algorithm

string

Алгоритм подписи транзакций (TSIG), используемый для создания ключа TSIG.

tsig_key

string

Ключ подписи транзакций (TSIG).

state

string

Состояние зоны.

import не является идемпотентным.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)
  • "import"

ttl

integer

TTL зоны.

zonefile

string

Файл зоны для импорта.

Необязателен, если state=present и зона не существует; в противном случае игнорируется.

Обязателен, если state=import.

См. также

См. также

Документация по 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, назначенные зоне.

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

Пример: ["hydrogen.ns.hetzner.com.", "oxygen.ns.hetzner.com.", "helium.ns.hetzner.de."]

delegated

list / elements=string

Авторитетные DNS-серверы, делегированные родительской DNS-зоне.

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

Пример: ["hydrogen.ns.hetzner.com.", "oxygen.ns.hetzner.com.", "helium.ns.hetzner.de."]

delegation_last_check

string

Момент последней проверки делегирования DNS-зоны (в формате ISO-8601).

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

Пример: "2023-11-06T13:36:56+00:00"

delegation_status

string

Состояние делегирования.

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

Пример: "valid"

delete_protection

boolean

Защита зоны от удаления.

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

Пример: false

id

integer

ID зоны.

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

Пример: 12345

labels

dictionary

Метки, заданные пользователем (пары «ключ-значение»)

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

Пример: {"key": "value"}

mode

string

Режим зоны.

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

Пример: "primary"

name

string

Имя зоны.

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

Пример: "example.com"

primary_nameservers

list / elements=dictionary

Основные DNS-серверы зоны.

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

address

string

Общедоступный адрес IPv4 или IPv6 основного DNS-сервера.

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

Пример: "203.0.113.1"

port

integer

Порт основного DNS-сервера.

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

Пример: 53

tsig_algorithm

string

Алгоритм подписи транзакций (TSIG), используемый для создания ключа TSIG.

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

Пример: "hmac-sha256"

tsig_key

string

Ключ подписи транзакций (TSIG).

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

record_count

integer

Количество ресурсных записей (RR) в зоне.

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

Пример: 4

registrar

string

Регистратор зоны.

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

Пример: "hetzner"

status

string

Состояние зоны.

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

Пример: "ok"

ttl

integer

TTL зоны.

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

Пример: 10800

Авторы

  • Jonas Lammler (@jooola)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Справочник по API Hetzner Cloud
  • Список изменений API Hetzner Cloud

© 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

Spec-Zone.ru

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