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 | Сколько времени ждать, прежде чем wait откажется, в секундах. |
Примечания
Примечание
- Можно использовать две переменные среды: 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/digitalocean/digital_ocean_module.html