Spec-Zone.ru › Ansible 2.5

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_timeout
(добавлено в 2.5)
По умолчанию:
30
Время ожидания в секундах для вызовов API cloudscale.ch.
api_token
Токен API cloudscale.ch.
Также может быть передан в переменной среды CLOUDSCALE_API_TOKEN.
bulk_volume_size_gb
Размер объёма накопителя в ГБ.
Объём накопителя не создается, если параметр не задан.
flavor
Конфигурация сервера.
image
Изображение, используемое для создания сервера.
name
Имя сервера.
Необходимо указать name или uuid. Эти параметры взаимоисключающие.
ssh_keys
Список открытых ключей SSH.
Используйте полное содержимое файла .pub.
state
    Варианты:
  • running ←
  • stopped
  • absent
Состояние сервера
use_ipv6 По умолчанию:
yes
Включить IPv6 на публичном сетевом интерфейсе.
use_private_network По умолчанию:
no
Прикрепить частный сетевой интерфейс к серверу.
use_public_network По умолчанию:
yes
Прикрепить публичный сетевой интерфейс к серверу.
user_data
Данные конфигурации cloud-init (cloud-config) для сервера.
uuid
UUID сервера.
Необходимо указать name или uuid. Эти параметры взаимоисключающие.
volume_size_gb По умолчанию:
10
Размер корневого объёма в ГБ.

Примечания

Примечание

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

Примеры

# 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
строка
успех, если state ≠ absent
Список серверов в одной группе антиаффинитета

flavor
строка
успех, если state ≠ absent
Конфигурация, используемая для этого сервера

Пример:
flex-8
href
строка
успех, если state ≠ absent
URL API для получения подробностей о сервере

Пример:
https://api.cloudscale.ch/v1/servers/cfde831a-4e87-4a75-960f-89b0148aa2cc
image
строка
успех, если state ≠ absent
Изображение, используемое для загрузки этого сервера

Пример:
debian-8
interfaces
список
успех, если state ≠ absent
Список сетевых портов, подключенных к серверу

Пример:
[{'type': 'public', 'addresses': ['...']}]
name
строка
успех
Имя отображения сервера

Пример:
its-a-me-mario.cloudscale.ch
ssh_fingerprints
список
успех, если state ≠ absent
Список отпечатков ключей SSH. Будет null, пока ключи хоста не будут получены с сервера.

Пример:
['ecdsa-sha2-nistp256 SHA256:XXXX', '...']
ssh_host_keys
список
успех, если state ≠ absent
Список ключей хоста SSH. Будет null, пока ключи хоста не будут получены с сервера.

Пример:
['ecdsa-sha2-nistp256 XXXXX', '...']
state
строка
успех
Текущее состояние сервера

Пример:
running
uuid
строка
успех
Уникальный идентификатор этого сервера

Пример:
cfde831a-4e87-4a75-960f-89b0148aa2cc
volumes
список
успех, если state ≠ absent
Список объёмов, прикрепленных к серверу

Пример:
[{'device': '/dev/vda', 'size_gb': '50', 'type': 'ssd'}]


Статус

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

Автор

  • Gaudenz Steinlin (@gaudenz) <gaudenz.steinlin@cloudscale.ch>

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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