digital_ocean - Создание/удаление виртуальной машины/ключа SSH в DigitalOcean
Новое в версии 1.3.
Описание
- Создание/удаление виртуальной машины в DigitalOcean и, при необходимости, ожидание её запуска или развертывание ключа SSH.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- dopy
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_token (добавлено в 1.9.5) | Токен API DigitalOcean. | |
| backups_enabled bool (добавлено в 1.6) |
| Необязательный, булевый, включает резервное копирование вашей виртуальной машины. |
| command |
| На каком объекте нужно выполнить операцию. |
| id | Числовое значение, идентификатор виртуальной машины, на которой нужно выполнить операцию. алиасы: droplet_id | |
| image_id | Это идентификатор образа, который будет использоваться для создания виртуальной машины. | |
| ipv6 bool (добавлено в 2.2) |
| Необязательный, булевый, включить IPv6 для вашей виртуальной машины. |
| name | Строка, это имя виртуальной машины - должно соответствовать правилам именования хостов или имя ключа SSH. | |
| private_networking bool (добавлено в 1.4) |
| Булево значение, добавить дополнительный частный сетевой интерфейс к виртуальной машине для межвиртуальной связи. |
| region_id | Это идентификатор региона, в котором вы хотите создать свой сервер. | |
| size_id | Это идентификатор размера, который вы хотите использовать для создания виртуальной машины. | |
| ssh_key_ids | Необязательный, массив идентификаторов ключей SSH (числовые), которые вы хотите добавить к серверу. | |
| ssh_pub_key | Открытый ключ SSH, который вы хотите добавить к вашей учётной записи. | |
| state |
| Указывает желаемое состояние целевого объекта. |
| unique_name bool (добавлено в 1.4) |
| Булево значение, требовать уникальные имена хостов. По умолчанию DigitalOcean разрешает несколько хостов с одинаковыми именами. Установка "да" позволяет только одному хосту на одно имя. Полезно для идемпотентности. |
| user_data (добавлено в 2.0) | неструктурированные данные, доступные виртуальной машине | |
| virtio bool (добавлено в 1.4) |
| Булево значение, включить драйвер virtio в виртуальной машине для улучшенного сетевого и дискового ввода/вывода. |
| wait bool |
| Подождать, пока виртуальная машина перейдет в состояние 'running', прежде чем возвращаться. Если 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
- digital_ocean:
state: present
command: ssh
name: my_ssh_key
ssh_pub_key: 'ssh-rsa AAAA...'
api_token: XXX
# Create a new Droplet
# Will return the droplet details including the droplet id (used for idempotence)
- 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.
- 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.
- 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
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/digital_ocean_module.html