Spec-Zone.ru › Ansible

Модуль hetzner.hcloud.server — создание серверов в облаке Hetzner Cloud и управление ими.

Примечание

Этот модуль входит в коллекцию hetzner.hcloud (версия 6.9.0).

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

Для установки используйте: ansible-galaxy collection install hetzner.hcloud. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в сценарии, укажите: hetzner.hcloud.server.

  • Краткое описание
  • Требования
  • Параметры
  • См. также
  • Примеры
  • Возвращаемые значения

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

  • Создание серверов в облаке Hetzner Cloud, их обновление и управление ими.
  • Для управления указателем DNS сервера используйте модуль hetzner.hcloud.rdns.

Псевдонимы: hcloud_server

Требования

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

  • python-dateutil >= 2.7.5
  • requests >=2.20

Параметры

Параметр

Комментарии

api_endpoint

псевдонимы: endpoint

строка

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

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

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

api_endpoint_hetzner

строка

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

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

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

api_token

строка / обязательный

Токен API Hetzner Cloud.

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

backups

логическое значение

Включить или отключить резервное копирование для указанного сервера.

Варианты:

  • false
  • true

datacenter

строка

Устарело: Аргумент datacenter устарел и будет удалён после 1 июля 2026 года. Вместо него используйте аргумент location. См. https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.

Центр обработки данных Hetzner Cloud (имя или идентификатор), в котором нужно создать сервер.

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

Используется только при создании сервера.

delete_protection

логическое значение

Защитить сервер от удаления.

Значение должно совпадать с rebuild_protection.

Варианты:

  • false
  • true

enable_ipv4

логическое значение

Включить публичный адрес IPv4.

Варианты:

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

enable_ipv6

логическое значение

Включить публичный адрес IPv6.

Варианты:

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

firewalls

список / элементы=строка

Список сетевых экранов Hetzner Cloud (имя или идентификатор), которые нужно подключить к серверу.

force

логическое значение

Принудительно обновить сервер.

Если применяется обновление, сервер может быть выключен.

Варианты:

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

id

целое число

Идентификатор сервера Hetzner Cloud, которым нужно управлять.

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

image

строка

Образ Hetzner Cloud (имя или идентификатор), из которого нужно создать сервер.

Обязателен, если сервер не существует или если state=rebuild.

image_allow_deprecated

псевдонимы: allow_deprecated_image

логическое значение

Разрешить создание серверов с устаревшими образами.

Варианты:

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

ipv4

строка

Основной адрес IPv4 Hetzner Cloud (имя или идентификатор), который нужно использовать.

Если параметр не указан и enable_ipv4=true, новый основной IP-адрес IPv4 будет создан автоматически.

ipv6

строка

Основной адрес IPv6 Hetzner Cloud (имя или идентификатор), который нужно использовать.

Если параметр не указан и enable_ipv6=true, новый основной IP-адрес IPv6 будет создан автоматически.

labels

словарь

Пользовательские метки (пары «ключ — значение»).

location

строка

Местоположение Hetzner Cloud (имя или идентификатор), в котором нужно создать сервер.

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

Используется только при создании сервера.

name

строка

Имя сервера Hetzner Cloud, которым нужно управлять.

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

placement_group

строка

Группа размещения Hetzner Cloud (имя или идентификатор), в которой нужно создать сервер.

private_networks

список / элементы=строка

Список сетей Hetzner Cloud (имя или идентификатор), к которым нужно подключить сервер.

Если значение равно None, частные сети остаются без изменений (например, если они были добавлены ранее с помощью hcloud_server_network). Если задано любое другое значение (включая []), к серверу подключаются только указанные сети.

rebuild_protection

логическое значение

Защитить сервер от пересоздания.

Значение должно совпадать с delete_protection.

Варианты:

  • false
  • true

rescue_mode

строка

Укажите тип аварийной системы Hetzner, в которую нужно загрузить сервер.

server_type

строка

Тип сервера Hetzner Cloud (имя или идентификатор).

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

ssh_keys

список / элементы=строка

Список ключей SSH Hetzner Cloud (имя или идентификатор), которые нужно использовать при создании сервера.

Используется только при создании сервера.

state

строка

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

Варианты:

  • "absent"
  • "present" ← (по умолчанию)
  • "created"
  • "restarted"
  • "started"
  • "stopped"
  • "rebuild"

upgrade_disk

логическое значение

Изменять размер диска при изменении размера сервера.

Если впоследствии вы планируете перейти на сервер меньшего размера, укажите значение False.

Варианты:

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

user_data

строка

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

cloud-init, ignition и аналогичные инструменты подготовки могут получать конфигурацию пользователя из user_data сервера.

Используется при создании или пересоздании сервера.

volumes

список / элементы=строка

Список томов Hetzner Cloud (имя или идентификатор), которые нужно подключить к серверу.

Используется только при создании сервера.

См. также

См. также

Документация по API Hetzner

Полный справочник по API Hetzner.

Примеры

- name: Create a basic server
  hetzner.hcloud.server:
    name: my-server
    server_type: cpx22
    image: ubuntu-22.04
    state: present

- name: Create a basic server with ssh key
  hetzner.hcloud.server:
    name: my-server
    server_type: cpx22
    image: ubuntu-22.04
    location: fsn1
    ssh_keys:
      - me@myorganisation
    state: present

- name: Create a basic server with additional cloud-init data disabling SSH password authentication
  hetzner.hcloud.server:
    name: my-server
    server_type: cpx22
    image: ubuntu-22.04
    user_data: |
      #cloud-config
      ssh_pwauth: false
    state: present

- name: Resize an existing server
  hetzner.hcloud.server:
    name: my-server
    server_type: cpx22
    upgrade_disk: true
    state: present

- name: Ensure the server is absent (remove if needed)
  hetzner.hcloud.server:
    name: my-server
    state: absent

- name: Ensure the server is started
  hetzner.hcloud.server:
    name: my-server
    state: started

- name: Ensure the server is stopped
  hetzner.hcloud.server:
    name: my-server
    state: stopped

- name: Ensure the server is restarted
  hetzner.hcloud.server:
    name: my-server
    state: restarted

- name: Ensure the server is will be booted in rescue mode and therefore restarted
  hetzner.hcloud.server:
    name: my-server
    rescue_mode: linux64
    state: restarted

- name: Ensure the server is rebuild
  hetzner.hcloud.server:
    name: my-server
    image: ubuntu-22.04
    state: rebuild

- name: Add server to placement group
  hetzner.hcloud.server:
    name: my-server
    placement_group: my-placement-group
    force: true
    state: present

- name: Remove server from placement group
  hetzner.hcloud.server:
    name: my-server
    placement_group:
    state: present

- name: Add server with private network only
  hetzner.hcloud.server:
    name: my-server
    enable_ipv4: false
    enable_ipv6: false
    private_networks:
      - my-network
      - 4711
    state: present

Возвращаемые значения

Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

hcloud_server

dictionary

Экземпляр сервера

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

backup_window

boolean

Временной интервал (UTC), в течение которого выполняется резервное копирование, или null, если резервное копирование не включено

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

Пример: "22-02"

created

string

Момент времени создания сервера (в формате ISO-8601)

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

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

datacenter

string

Название центра обработки данных, в котором расположен сервер. Устарело: значение hcloud_server.datacenter считается устаревшим и будет удалено после 1 июля 2026 года. Вместо него используйте значение hcloud_server.location. См. https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.

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

Пример: "fsn1-dc14"

delete_protection

boolean

добавлено в hetzner.hcloud 0.1.0

True, если сервер защищён от удаления

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

Пример: false

id

integer

Числовой идентификатор сервера

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

Пример: 1937415

ipv4_address

string

Публичный IPv4-адрес сервера

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

Пример: "116.203.104.109"

ipv6

string

IPv6-сеть сервера

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

Пример: "2a01:4f8:1c1c:c140::/64"

labels

dictionary

Пользовательские метки (пары «ключ — значение»)

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

location

string

Название местоположения сервера

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

Пример: "fsn1"

name

string

Имя сервера

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

Пример: "my-server"

placement_group

string

добавлено в hetzner.hcloud 1.5.0

Группа размещения сервера

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

Пример: "4711"

private_networks

list / elements=string

Список частных сетей, к которым подключён сервер (имя или идентификатор)

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

Пример: ["my-network", "another-network", "4711"]

private_networks_info

list / elements=dictionary

Список частных сетей, к которым подключён сервер (словарь с именем и IP-адресом)

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

Пример: [{"ip": "192.168.1.1", "name": "my-network"}, {"ip": "10.185.50.40", "name": "another-network"}]

rebuild_protection

boolean

добавлено в hetzner.hcloud 0.1.0

True, если сервер защищён от пересоздания

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

Пример: false

rescue_enabled

boolean

True, если включён режим восстановления; при следующей перезагрузке сервер загрузится в систему восстановления

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

Пример: false

server_type

string

Название типа сервера

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

Пример: "cpx22"

status

string

Статус сервера

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

Пример: "running"

root_password

string

Пароль root для сервера

Возвращается: если сервер создан без ssh_keys

Пример: "YItygq1v3GYjjMomLaKc"

Авторы

  • Lukas Kaemmerling (@LKaemmerling)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Справочник по 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/server_module.html

Spec-Zone.ru

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