Spec-Zone.ru › Ansible 2.11

ngine_io.cloudstack.cs_instance – Управляет экземплярами и виртуальными машинами в облаках на основе Apache CloudStack.

Примечание

Этот плагин является частью коллекции ngine_io.cloudstack (версия 2.0.0).

Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack.

Для использования в книге задач укажите: ngine_io.cloudstack.cs_instance.

Новое в версии 0.1.0: модуля ngine_io.cloudstack

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

Обзор

  • Развертывание, запуск, обновление, масштабирование, перезапуск, восстановление, остановка и уничтожение экземпляров.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • cs >= 0.9.0

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
account
строка
Аккаунт, к которому относится экземпляр.
affinity_groups
список / элементы=строка
Названия групп сродства, которые должны быть применены к новому экземпляру.

псевдонимы: affinity_group
allow_root_disk_shrink
булево
    Варианты:
  • нет ←
  • да
Включает уменьшение размера тома, когда новый размер меньше старого.
api_http_method
строка
    Варианты:
  • get ←
  • post
HTTP-метод, используемый для запроса к API-точке входа.
Если не указан, используется переменная среды CLOUDSTACK_METHOD.
api_key
строка / обязательно
API-ключ CloudStack API.
Если не указан, используется переменная среды CLOUDSTACK_KEY.
api_secret
строка / обязательно
Секретный ключ CloudStack API.
Если не указан, используется переменная среды CLOUDSTACK_SECRET.
api_timeout
целое число
По умолчанию:
10
Таймаут HTTP в секундах.
Если не указан, используется переменная среды CLOUDSTACK_TIMEOUT.
api_url
строка / обязательно
URL CloudStack API, например, https://cloud.example.com/client/api.
Если не указан, используется переменная среды CLOUDSTACK_ENDPOINT.
api_verify_ssl_cert
строка
Проверка сертификата авторитета CA.
Если не указан, используется переменная среды CLOUDSTACK_VERIFY.
cpu
целое число
Количество процессоров, выделяемых экземпляру, используется с настраиваемыми предложениями услуг.
cpu_speed
целое число
Частота тактовой частоты/доли, выделенные экземпляру, используются с настраиваемыми предложениями услуг.
details
словарь
Карта для указания пользовательских параметров.
disk_offering
строка
Имя предложения диска, которое будет использоваться.
disk_size
целое число
Размер диска в ГБ, необходимый при развертывании экземпляра из ISO.
display_name
строка
Пользовательское имя отображения экземпляров.
Имя отображения будет установлено в name, если не указано.
Необходимо указать либо name, либо display_name.
domain
строка
Домен, к которому относится экземпляр.
force
булево
    Варианты:
  • нет ←
  • да
Принудительно остановить/запустить экземпляр, если это необходимо для применения изменений. В противном случае запущенный экземпляр не будет изменён.
group
строка
Группа, в которой должен находиться новый экземпляр.
host
строка
Хост, на котором экземпляр должен быть развернут или запущен.
Учитывается только при state=started или экземпляр запущен.
Требуются права администратора root.
hypervisor
строка
Имя гипервизора, который должен использоваться для создания нового экземпляра.
Актуально при использовании state=present, но учитывается только если не задано в ISO/шаблоне.
Если не задано или не найдено в ISO/шаблоне, будет использован первый найденный гипервизор.
Возможные значения: KVM, VMware, BareMetal, XenServer, LXC, HyperV, UCS, OVM, Simulator.
ip6_address
строка
IPv6-адрес для сети по умолчанию экземпляра.
ip_address
строка
IPv4-адрес для сети по умолчанию экземпляра во время создания.
ip_to_networks
список / элементы=словарь
Список сопоставлений в формате {'network': ИмяСети, 'ip': 1.2.3.4}
Исключает параметр networks.

псевдонимы: ip_to_network
iso
строка
Имя или идентификатор ISO, который необходимо использовать для создания нового экземпляра.
Требуется при использовании state=present.
Исключает параметр template.
keyboard
строка
    Варианты:
  • de
  • de-ch
  • es
  • fi
  • fr
  • fr-be
  • fr-ch
  • is
  • it
  • jp
  • nl-be
  • no
  • pt
  • uk
  • us
Тип клавиатуры для экземпляра.
memory
целое число
Память, выделенная экземпляру, используется с настраиваемыми предложениями услуг.
name
строка
Имя хоста экземпляра. name может содержать только буквы ASCII.
Имя будет сгенерировано (UUID) CloudStack, если не указано, и его нельзя изменить впоследствии.
Необходимо указать либо name, либо display_name.
networks
список / элементы=строка
Список сетей для использования с новым экземпляром.

псевдонимы: network
poll_async
булево
    Варианты:
  • нет
  • да ←
Опрашивать асинхронные задачи до завершения.
project
строка
Имя проекта, в котором будет развернут экземпляр.
root_disk_size
целое число
Размер корневого диска в ГБ, необходимый при развертывании экземпляра с гипервизором KVM и желании изменить размер корневого диска при запуске (требуется CloudStack >= 4.4, cloud-initramfs-growroot установлен и включен в шаблоне).
security_groups
список / элементы=строка
Список групп безопасности, которые должны быть применены к экземпляру.

псевдонимы: security_group
service_offering
строка
Имя или идентификатор предложения услуг нового экземпляра.
Если не указано, используется первое найденное предложение услуг.
ssh_key
строка
Имя SSH-ключа, который будет развернут на новом экземпляре.
state
строка
    Варианты:
  • развернут
  • запущен
  • остановлен
  • перезапущен
  • восстановлен
  • уничтожен
  • удален
  • настоящий ←
  • отсутствует
Состояние экземпляра.
tags
список / элементы=словарь
Список тегов. Теги — список словарей с ключами key и value.
Чтобы удалить все теги, задайте пустой список, например, теги: [].

псевдонимы: tag
template
строка
Имя, текст отображения или идентификатор шаблона, который необходимо использовать для создания нового экземпляра.
Требуется при использовании state=present.
Исключает параметр iso.
template_filter
строка
    Варианты:
  • все
  • выделенные
  • собственный
  • собственный_исполняемый
  • совместный_исполняемый
  • исполняемый ←
  • сообщество
Имя фильтра, используемого для поиска шаблона или iso.
Используется для параметров iso или template при state=present.
Фильтр all был добавлен в версии 2.6.

псевдонимы: iso_filter
user_data
строка
Дополнительные данные (ASCII), которые можно отправить экземпляру после успешного развертывания.
Данные будут автоматически закодированы в base64.
Рекомендуется переключиться на HTTP_POST, используя CLOUDSTACK_METHOD=post, чтобы увеличить лимит размера HTTP_GET с 2 КБ до 32 КБ.
zone
строка / обязательно
Имя зоны, в которой должен быть развернут экземпляр.

Примечания

Примечание

  • Подробное руководство по модулям cloudstack можно найти в Руководстве по облачным сервисам CloudStack.
  • Этот модуль поддерживает режим проверки.

Примеры

# NOTE: Names of offerings and ISOs depending on the CloudStack configuration.
- name: create a instance from an ISO
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    iso: Linux Debian 7 64-bit
    hypervisor: VMware
    project: Integration
    zone: ch-zrh-ix-01
    service_offering: 1cpu_1gb
    disk_offering: PerfPlus Storage
    disk_size: 20
    networks:
      - Server Integration
      - Sync Integration
      - Storage Integration

- name: for changing a running instance, use the 'force' parameter
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    zone: zone01
    display_name: web-vm-01.example.com
    iso: Linux Debian 7 64-bit
    service_offering: 2cpu_2gb
    force: yes

# NOTE: user_data can be used to kickstart the instance using cloud-init yaml config.
- name: create or update a instance on Exoscale's public cloud using display_name.
  ngine_io.cloudstack.cs_instance:
    display_name: web-vm-1
    zone: zone01
    template: Linux Debian 7 64-bit
    service_offering: Tiny
    ssh_key: john@example.com
    tags:
      - key: admin
        value: john
      - key: foo
        value: bar
    user_data: |
        #cloud-config
        packages:
          - nginx

- name: create an instance with multiple interfaces specifying the IP addresses
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    zone: zone01
    template: Linux Debian 7 64-bit
    service_offering: Tiny
    ip_to_networks:
      - network: NetworkA
        ip: 10.1.1.1
      - network: NetworkB
        ip: 192.0.2.1

- name: ensure an instance is stopped
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    zone: zone01
    state: stopped

- name: ensure an instance is running
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    zone: zone01
    state: started

- name: remove an instance
  ngine_io.cloudstack.cs_instance:
    name: web-vm-1
    zone: zone01
    state: absent

Значения возврата

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

Ключ Возвращаемое значение Описание
account
string
успешно
Аккаунт, к которому относится экземпляр.

Пример:
example account
affinity_groups
list / elements=string
успешно
Группы аффинити, в которых находится экземпляр.

Пример:
[ "webservers" ]
created
string
успешно
Дата создания экземпляра.

Пример:
2014-12-01T14:57:57+0100
default_ip
string
успешно
Основной IP-адрес экземпляра.

Пример:
10.23.37.42
default_ip6
string
если доступно
Основной IPv6-адрес экземпляра.

Пример:
2a04:c43:c00:a07:4b4:beff:fe00:74
display_name
string
успешно
Имя экземпляра для отображения.

Пример:
web-01
domain
string
успешно
Домен, к которому относится экземпляр.

Пример:
example domain
group
string
успешно
Имя группы, к которой относится экземпляр.

Пример:
web
host
string
успешно и экземпляр запущен
Имя хоста гипервизора, на котором запущен экземпляр.

Пример:
host-01.example.com
hypervisor
string
успешно
Гипервизор, связанный с этим экземпляром.

Пример:
KVM
id
string
успешно
UUID экземпляра.

Пример:
04589590-ac63-4ffc-93f5-b698b8ac38b6
instance_name
string
успешно
Внутреннее имя экземпляра (только для администратора ROOT).

Пример:
i-44-3992-VM
iso
string
если доступно
Название ISO, с которым был развернут экземпляр.

Пример:
Debian-8-64bit
name
string
успешно
Имя экземпляра.

Пример:
web-01
password
string
если доступно
Пароль экземпляра, если он существует.

Пример:
Ge2oe7Do
password_enabled
boolean
успешно
True, если настройка пароля включена.

Пример:
True
project
string
успешно
Название проекта, к которому относится экземпляр.

Пример:
Production
public_ip
string
если доступно
Публичный IP-адрес экземпляра через правило статической NAT.

Пример:
1.2.3.4
security_groups
list / elements=string
успешно
Безопасные группы, в которых находится экземпляр.

Пример:
[ "default" ]
service_offering
string
успешно
Название предлагаемой услуги для экземпляра.

Пример:
2cpu_2gb
ssh_key
string
если доступно
Имя SSH-ключа, развернутого для экземпляра.

Пример:
key@work
state
string
успешно
Состояние экземпляра.

Пример:
Запущен
tags
list / elements=string
успешно
Список тегов ресурсов, связанных с экземпляром.

Пример:
[ { "key": "foo", "value": "bar" } ]
template
string
успешно
Название шаблона, с которым был развернут экземпляр.

Пример:
Linux Debian 9 64-bit
template_display_text
string
успешно
Текст для отображения шаблона, с которым был развернут экземпляр.

Пример:
Linux Debian 9 64-bit 200G Disk (2017-10-08-622866)
user-data
string
успешно
Дополнительные данные, отправленные экземпляру.

Пример:
VXNlciBkYXRhIGV4YW1wbGUK
zone
string
успешно
Имя зоны, в которой находится экземпляр.

Пример:
ch-gva-2


Авторы

  • René Moser (@resmo)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ngine_io/cloudstack/cs_instance_module.html

Spec-Zone.ru

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