community.digitalocean.digital_ocean – Создание/удаление виртуальной машины/ключа SSH в DigitalOcean
Примечание
Этот плагин входит в коллекцию community.digitalocean (версия 1.0.0).
Для его установки используйте: ansible-galaxy collection install community.digitalocean.
Для использования в книге задач укажите: community.digitalocean.digital_ocean.
УСТАРЕВШИЙ
- Удален в
-
версии 2.0.0
- Почему
-
Модуль обновлен для удаления внешней зависимости с увеличенной функциональностью.
- Альтернатива
-
Используйте community.digitalocean.digital_ocean_droplet вместо этого.
Описание
- Создание/удаление виртуальной машины в DigitalOcean и, при необходимости, ожидание ее перехода в состояние «запущен», или развертывание ключа SSH.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- dopy
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_token строка | Токен API DigitalOcean. | |
| backups_enabled логическое значение |
| Необязательно, логическое значение, включает резервное копирование для вашей виртуальной машины. |
| command строка |
| Целевой объект, на котором нужно выполнить операцию. |
| id строка | Числовое значение, идентификатор виртуальной машины, на которой нужно выполнить операцию. псевдонимы: droplet_id | |
| image_id строка | Это имя образа, с которым должна быть создана виртуальная машина. | |
| ipv6 логическое значение |
| Необязательно, логическое значение, включить IPv6 для вашей виртуальной машины. |
| name строка | Строка, это имя виртуальной машины — должно соответствовать правилам именования хостов, или имя ключа SSH. | |
| private_networking логическое значение |
| Логическое значение, добавить дополнительный частный сетевой интерфейс к виртуальной машине для межмашинного взаимодействия. |
| region_id строка | Это имя региона, в котором вы хотите создать свой сервер. | |
| size_id строка | Это имя размера, с которым вы хотите создать виртуальную машину. | |
| ssh_key_ids строка | Необязательно, массив идентификаторов ключей SSH (числовые), которые вы хотите добавить к серверу. | |
| ssh_pub_key строка | Открытый ключ SSH, который вы хотите добавить к своей учетной записи. | |
| state строка |
| Укажите желаемое состояние целевого объекта. |
| unique_name логическое значение |
| Логическое значение, требует уникальных имен хостов. По умолчанию DigitalOcean позволяет несколько хостов с одинаковым именем. Установка в «да» позволяет только одному хосту на имя. Полезно для идемпотентности. |
| user_data строка | неструктурированный блок данных, который доступен виртуальной машине | |
| virtio логическое значение |
| Логическое значение, включить драйвер virtio в виртуальной машине для улучшенного ввода-вывода сети и хранилища. |
| wait логическое значение |
| Подождать, пока виртуальная машина перейдет в состояние «запущена», прежде чем возвращаться. Если wait="нет", адрес ip может не быть возвращен. |
| wait_timeout строка | По умолчанию: 300 | Время ожидания, в секундах. |
Примечания
Примечание
- Можно использовать две переменные окружения: DO_API_KEY и DO_API_TOKEN. Они оба относятся к токену v2.
- Начиная с Ansible 1.9.5 и 2.0, используется версия 2 API DigitalOcean, что удаляет
client_idиapi_keyв пользуapi_token. - Если вы используете Ansible 1.9.4 или более раннюю версию, возможно, вы не сможете использовать включенную версию этого модуля, так как используемая версия API была удалена. Обновите Ansible или, если это невозможно, попробуйте загрузить последнюю версию этого модуля с github и поместить его в каталог «library».
Примеры
# Ensure a SSH key is present
# If a key matches this name, will return the ssh key id and changed = False
# If no existing key matches this name, a new key is created, the ssh key id is returned and changed = False
- name: Ensure a SSH key is present
community.digitalocean.digital_ocean:
state: present
command: ssh
name: my_ssh_key
ssh_pub_key: 'ssh-rsa AAAA...'
api_token: XXX
# Will return the droplet details including the droplet id (used for idempotence)
- name: Create a new Droplet
community.digitalocean.digital_ocean:
state: present
command: droplet
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
wait_timeout: 500
register: my_droplet
- debug:
msg: "ID is {{ my_droplet.droplet.id }}"
- debug:
msg: "IP is {{ my_droplet.droplet.ip_address }}"
# Ensure a droplet is present
# If droplet id already exist, will return the droplet details and changed = False
# If no droplet matches the id, a new droplet will be created and the droplet details (including the new id) are returned, changed = True.
- name: Ensure a droplet is present
community.digitalocean.digital_ocean:
state: present
command: droplet
id: 123
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
wait_timeout: 500
# Create a droplet with ssh key
# The ssh key id can be passed as argument at the creation of a droplet (see ssh_key_ids).
# Several keys can be added to ssh_key_ids as id1,id2,id3
# The keys are used to connect as root to the droplet.
- name: Create a droplet with ssh key
community.digitalocean.digital_ocean:
state: present
ssh_key_ids: 123,456
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
Статус
- Этот модуль будет удален в версии 2.0.0. [устаревший]
- Дополнительную информацию см. в УСТАРЕВШИЙ.
Авторы
- Vincent Viallet (@zbal)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/digitalocean/digital_ocean_module.html