Spec-Zone.ru › Ansible

Модуль community.digitalocean.digital_ocean – Создание/удаление виртуальной машины/ключа SSH в DigitalOcean

Примечание

Этот модуль является частью коллекции community.digitalocean (версия 1.27.0).

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

Для установки используйте: 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

aliases: API_TOKEN

string

Токен API DigitalOcean.

backups_enabled

boolean

Необязательный, логический, включает резервное копирование вашей капли.

Варианты:

  • false ← (default)
  • true

command

string

Целевой объект, с которым вы хотите работать.

Варианты:

  • "droplet" ← (default)
  • "ssh"

id

aliases: droplet_id

integer

Числовое значение, ID капли, с которой вы хотите работать.

image_id

string

Это слаг образа, с которым вы хотите создать каплю.

ipv6

boolean

Необязательный, логический, включает IPv6 для вашей капли.

Варианты:

  • false ← (default)
  • true

name

string

Строка, это имя капли — должно соответствовать правилам форматирования имен хостов или имени SSH-ключа.

private_networking

boolean

Логическое значение, добавить дополнительный частный сетевой интерфейс к капле для меж-капельной связи.

Варианты:

  • false ← (default)
  • true

region_id

string

Это слаг региона, в котором вы хотите создать свой сервер.

size_id

string

Это слаг размера, с которым вы хотите создать каплю.

ssh_key_ids

list / elements=string

Необязательный, массив ID SSH-ключа (числовой), который вы хотите добавить на сервер.

ssh_pub_key

string

Открытый SSH-ключ, который вы хотите добавить в свою учетную запись.

state

string

Указывает желаемое состояние целевого объекта.

Варианты:

  • "present" ← (default)
  • "active"
  • "absent"
  • "deleted"

unique_name

boolean

Логическое значение, требует уникальных имен хостов. По умолчанию DigitalOcean разрешает множественные хосты с одинаковым именем. Установка этого значения в «yes» позволяет только один хост на имя. Полезно для идемпотентности.

Варианты:

  • false ← (default)
  • true

user_data

string

Непрозрачный блок данных, который предоставляется капле.

virtio

boolean

Логическое значение, включить драйвер virtio в капле для улучшенного сетевого и хранилища ввода/вывода.

Варианты:

  • false
  • true ← (default)

wait

boolean

Ожидать, пока капля не перейдет в состояние «running», прежде чем возвращать результат. Если wait имеет значение «no», ip_address может не быть возвращен.

Варианты:

  • false
  • true ← (default)

wait_timeout

integer

Сколько времени ждать, прежде чем wait завершится, в секундах.

По умолчанию: 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
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: ssh
    name: my_ssh_key
    ssh_pub_key: 'ssh-rsa AAAA...'

# Will return the droplet details including the droplet id (used for idempotence)
- name: Create a new Droplet
  community.digitalocean.digital_ocean:
    state: present
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: droplet
    name: mydroplet
    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
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    command: droplet
    id: 123
    name: mydroplet
    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
    oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
    ssh_key_ids: 123,456
    name: mydroplet
    size_id: 2gb
    region_id: ams2
    image_id: fedora-19-x64

Статус

  • Этот модуль будет удалён в версии 2.0.0. [устаревший]
  • Для получения дополнительной информации см. УСТАРЕВШИЙ.

Авторы

  • Vincent Viallet (@zbal)

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

  • Система отслеживания ошибок
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_module.html

Spec-Zone.ru

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