Spec-Zone.ru › Ansible 2.4

cloudscale_server - Управляет серверами на службе IaaS cloudscale.ch

Новое в версии 2.3.

  • Обзор
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Обзор

  • Создание, запуск, остановка и удаление серверов на службе IaaS cloudscale.ch.
  • Все операции выполняются с использованием общедоступного API v1 cloudscale.ch.
  • Для получения подробностей ознакомьтесь с полным руководством по API: https://www.cloudscale.ch/en/api/v1.
  • Для всех операций требуется действительный токен API. Вы можете создать любое количество токенов, используя панель управления cloudscale.ch по адресу https://control.cloudscale.ch.

Параметры

параметр обязательный по умолчанию выбор комментарии
anti_affinity_with
нет
UUID другого сервера для создания группы анти-аффинности
api_token
нет
Токен API cloudscale.ch.
Его также можно передать в переменной окружения CLOUDSCALE_API_TOKEN.
bulk_volume_size_gb
нет null (нет тома накопительного хранилища)
Размер тома накопительного хранилища в ГБ
flavor
нет
Тип сервера
image
нет
Изображение, используемое для создания сервера
name
нет
Имя сервера
Требуется либо name, либо uuid. Эти параметры взаимоисключающие.
ssh_keys
нет
Список открытых ключей SSH
Используйте полное содержимое вашего файла .pub.
state
нет running
  • running
  • stopped
  • absent
Состояние сервера
use_ipv6
нет True
Включить IPv6 на публичном сетевом интерфейсе
use_private_network
нет
Присоединить частный сетевой интерфейс к серверу
use_public_network
нет True
Присоединить публичный сетевой интерфейс к серверу
user_data
нет
Данные конфигурации cloud-init (cloud-config) для использования на сервере.
uuid
нет
UUID сервера
Требуется либо name, либо uuid. Эти параметры взаимоисключающие.
volume_size_gb
нет 10
Размер системного тома в ГБ

Примеры

# Start a server (if it does not exist) and register the server details
- name: Start cloudscale.ch server
  cloudscale_server:
    name: my-shiny-cloudscale-server
    image: debian-8
    flavor: flex-4
    ssh_keys: ssh-rsa XXXXXXXXXX...XXXX ansible@cloudscale
    use_private_network: True
    bulk_volume_size_gb: 100
    api_token: xxxxxx
  register: server1

# Start another server in anti-affinity to the first one
- name: Start second cloudscale.ch server
  cloudscale_server:
    name: my-other-shiny-server
    image: ubuntu-16.04
    flavor: flex-8
    ssh_keys: ssh-rsa XXXXXXXXXXX ansible@cloudscale
    anti_affinity_with: '{{ server1.uuid }}'
    api_token: xxxxxx

# Stop the first server
- name: Stop my first server
  cloudscale_server:
    uuid: '{{ server1.uuid }}'
    state: stopped
    api_token: xxxxxx

# Delete my second server
- name: Delete my second server
  cloudscale_server:
    name: my-other-shiny-server
    state: absent
    api_token: xxxxxx

# Start a server and wait for the SSH host keys to be generated
- name: Start server and wait for SSH host keys
  cloudscale_server:
    name: my-cloudscale-server-with-ssh-key
    image: debian-8
    flavor: flex-4
    ssh_keys: ssh-rsa XXXXXXXXXXX ansible@cloudscale
    api_token: xxxxxx
  register: server
  until: server.ssh_fingerprints
  retries: 60
  delay: 2

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

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

название описание возвращаемое тип пример
anti_affinity_with
Список серверов в той же группе анти-аффинности
успех, когда состояние != absent строка []
flavor
Тип сервера, который использовался для этого сервера
успех, когда состояние != absent строка flex-8
href
URL API для получения подробностей о данном сервере
успех, когда состояние != absent строка https://api.cloudscale.ch/v1/servers/cfde831a-4e87-4a75-960f-89b0148aa2cc
image
Изображение, используемое для загрузки этого сервера
успех, когда состояние != absent строка debian-8
interfaces
Список сетевых портов, подключенных к серверу
успех, когда состояние != absent список [{'type': 'public', 'addresses': ['...']}]
name
Имя отображения сервера
успех строка its-a-me-mario.cloudscale.ch
ssh_fingerprints
Список отпечатков ключей SSH хоста. Будет null, пока ключи хоста не будут извлечены с сервера.
успех, когда состояние != absent список ['ecdsa-sha2-nistp256 SHA256:XXXX', '...']
ssh_host_keys
Список ключей SSH хоста. Будет null, пока ключи хоста не будут извлечены с сервера.
успех, когда состояние != absent список ['ecdsa-sha2-nistp256 XXXXX', '...']
state
Текущий статус сервера
успех строка running
uuid
Уникальный идентификатор этого сервера
успех строка cfde831a-4e87-4a75-960f-89b0148aa2cc
volumes
Список томов, подключенных к серверу
успех, когда состояние != absent список [{'device': '/dev/vda', 'size_gb': '50', 'type': 'ssd'}]

Примечания

Примечание

  • Вместо параметра api_token можно использовать переменную окружения CLOUDSCALE_API_TOKEN.
  • Для создания нового сервера, как минимум, необходимы параметры name, ssh_key, image и flavor.
  • Если существует более одного сервера с именем, заданным параметром name, выполнение прерывается.
  • После создания сервера все параметры, кроме state, становятся только для чтения. Вы не можете изменить имя, тип или любое другое свойство. Это ограничение API cloudscale.ch. Модуль проигнорирует расхождения между настроенными параметрами и работающим сервером, если существует сервер с правильным именем или UUID. Изменяться будут только состояния.

Статус

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

Для получения помощи в разработке модулей, если вы так склонны, пожалуйста, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cloudscale_server_module.html

Spec-Zone.ru

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