Модуль ngine_io.cloudstack.instance — управление экземплярами и виртуальными машинами в облаках на базе Apache CloudStack.
Примечание
Этот модуль входит в состав коллекции ngine_io.cloudstack (версия 3.0.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в состав ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install ngine_io.cloudstack. Для использования этого модуля могут потребоваться дополнительные зависимости; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: ngine_io.cloudstack.instance.
Добавлено в ngine_io.cloudstack 0.1.0
Краткое описание
- Развёртывание, запуск, обновление, масштабирование, перезапуск, восстановление, остановка и удаление экземпляров.
Псевдонимы: cs_instance
Требования
Следующие требования необходимы на узле, на котором выполняется этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
Параметр | Комментарии |
|---|---|
account string | Учётная запись, с которой связан экземпляр. |
affinity_groups псевдонимы: affinity_group list / elements=string | Названия групп сродства, которые следует применить к новому экземпляру. |
allow_root_disk_shrink boolean | Разрешает уменьшение размера тома, если новый размер меньше старого. Возможные значения:
|
api_http_method string | Метод HTTP, используемый для запроса к конечной точке API. Если параметр не задан, используется переменная окружения Возможные значения:
|
api_key string / обязательный | Ключ API CloudStack. Если параметр не задан, используется переменная окружения |
api_secret string / обязательный | Секретный ключ API CloudStack. Если параметр не задан, используется переменная окружения |
api_timeout integer | Тайм-аут HTTP в секундах. Если параметр не задан, используется переменная окружения По умолчанию: |
api_url string / обязательный | URL API CloudStack, например https://cloud.example.com/client/api. Если параметр не задан, используется переменная окружения |
api_verify_ssl_cert string | Проверять файл сертификата удостоверяющего центра (CA). Если параметр не задан, используется переменная окружения |
cluster string добавлено в ngine_io.cloudstack 2.3.0 | Кластер, в котором следует развернуть или запустить экземпляр. Учитывается только при state=started или если экземпляр запущен. Требуются права администратора root. |
cpu integer | Количество процессоров, выделяемых экземпляру; используется с пользовательскими предложениями услуг. |
cpu_speed integer | Тактовая частота/доли ресурсов, выделяемые экземпляру; используется с пользовательскими предложениями услуг. |
details dictionary | Словарь для указания пользовательских параметров. |
disk_offering string | Название используемого предложения диска. |
disk_size integer | Размер диска в Гбайтах; требуется при развёртывании экземпляра из ISO. |
display_name string | Пользовательское отображаемое имя экземпляров. Если не задано, в качестве отображаемого имени будет использоваться name. Необходимо указать либо name, либо display_name. |
domain string | Домен, с которым связан экземпляр. |
force boolean | Принудительно останавливать/запускать экземпляр, если это требуется для применения изменений; в противном случае работающий экземпляр не будет изменён. Возможные значения:
|
group string | Группа, в которую следует поместить новый экземпляр. |
host string | Узел, на котором следует развернуть или запустить экземпляр. Учитывается только при state=started или если экземпляр запущен. Требуются права администратора root. |
hypervisor string | Название гипервизора, используемого для создания нового экземпляра. Имеет значение при использовании state=present, но учитывается, только если гипервизор не задан для ISO/шаблона. Если параметр не задан или гипервизор не найден для ISO/шаблона, будет использоваться первый найденный гипервизор. Возможные значения: |
ip6_address string | Адрес IPv6 для сети экземпляра по умолчанию. |
ip_address string | Адрес IPv4 для сети экземпляра по умолчанию при создании. |
ip_to_networks псевдонимы: ip_to_network list / elements=dictionary | Список соответствий в формате {‘network’: NetworkName, ‘ip’: 1.2.3.4} Несовместим с параметром networks. |
iso string | Название или идентификатор ISO, используемого для создания нового экземпляра. Требуется при использовании state=present. Несовместим с параметром template. |
keyboard string | Тип клавиатурного устройства для экземпляра. Возможные значения:
|
memory integer | Объём памяти, выделяемой экземпляру; используется с пользовательскими предложениями услуг. |
name string | Имя узла экземпляра. Если имя не указано, CloudStack сгенерирует его (UUID); впоследствии его нельзя будет изменить. Необходимо указать либо |
networks псевдонимы: network list / elements=string | Список сетей для нового экземпляра. |
pod string добавлено в ngine_io.cloudstack 2.3.0 | Под, в котором следует развернуть или запустить экземпляр. Учитывается только при state=started или если экземпляр запущен. Требуются права администратора root. |
poll_async boolean | Опрос асинхронных заданий до их завершения. Возможные значения:
|
project string | Название проекта, в котором следует развернуть экземпляр. |
root_disk_size integer | Размер корневого диска в Гбайтах; требуется, если экземпляр развёртывается с гипервизором KVM и размер корневого диска нужно изменить при запуске (требуется CloudStack >= 4.4, а также установленный и включённый в шаблоне cloud-initramfs-growroot). |
security_groups псевдонимы: security_group list / elements=string | Список групп безопасности, к которым следует применить экземпляр. |
service_offering string | Название или идентификатор предложения услуг для нового экземпляра. Если параметр не задан, используется первое найденное предложение услуг. |
ssh_keys псевдонимы: ssh_key list / elements=string | Список названий SSH-ключей, которые следует установить на новый экземпляр. |
state string | Состояние экземпляра. Возможные значения:
|
tags псевдонимы: tag list / elements=dictionary | Список тегов. Теги представляют собой список словарей с ключами Чтобы удалить все теги, задайте пустой список, например tags: []. |
template string | Название, отображаемый текст или идентификатор шаблона, используемого для создания нового экземпляра. Требуется при использовании state=present. Несовместим с параметром iso. |
template_filter псевдонимы: iso_filter string | Название фильтра для поиска шаблона или ISO. Используется для параметров iso или template при state=present. Возможные значения:
|
user_data string | Необязательные данные (ASCII), которые можно передать экземпляру после успешного развёртывания. Данные автоматически кодируются в Base64. Рассмотрите возможность переключения на HTTP_POST с помощью CLOUDSTACK_METHOD=post, чтобы увеличить ограничение размера HTTP_GET с 2 КБ до 32 КБ. Несовместим с параметром user_data_name. |
user_data_details dictionary добавлено в ngine_io.cloudstack 2.5.0 | Словарь для указания значений параметров переменных в userdata. |
user_data_name string добавлено в ngine_io.cloudstack 2.5.0 | Название используемых пользовательских данных. Несовместим с параметром user_data. |
validate_certs boolean добавлено в ngine_io.cloudstack 2.4.0 | Если Если параметр не задан, используется переменная окружения Используйте этот параметр только на подконтрольных вам сайтах с самоподписанными сертификатами. Возможные значения:
|
zone string / обязательный | Название зоны, в которой следует развернуть экземпляр. |
Примечания
Примечание
- Подробное руководство по модулям CloudStack см. в руководстве по облаку CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
# NOTE: Names of offerings and ISOs depending on the CloudStack configuration.
- name: create a instance from an ISO
ngine_io.cloudstack.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.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.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.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.instance:
name: web-vm-1
zone: zone01
state: stopped
- name: ensure an instance is running
ngine_io.cloudstack.instance:
name: web-vm-1
zone: zone01
state: started
- name: remove an instance
ngine_io.cloudstack.instance:
name: web-vm-1
zone: zone01
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, ниже перечислены поля, уникальные для этого модуля:
Ключ | Описание |
|---|---|
account string | Учетная запись, с которой связан экземпляр. Возвращается: при успехе Пример: |
affinity_groups list / elements=string | Группы сходства, в которые входит экземпляр. Возвращается: при успехе Пример: |
created string | Дата создания экземпляра. Возвращается: при успехе Пример: |
default_ip string | IP-адрес экземпляра по умолчанию. Возвращается: при успехе Пример: |
default_ip6 string | IPv6-адрес экземпляра по умолчанию. Возвращается: если доступно Пример: |
display_name string | Отображаемое имя экземпляра. Возвращается: при успехе Пример: |
domain string | Домен, с которым связан экземпляр. Возвращается: при успехе Пример: |
group string | Имя группы, с которой связан экземпляр. Возвращается: при успехе Пример: |
host string | Имя хоста гипервизора, на котором работает экземпляр. Возвращается: при успехе, если экземпляр запущен Пример: |
hypervisor string | Гипервизор, связанный с этим экземпляром. Возвращается: при успехе Пример: |
id string | UUID экземпляра. Возвращается: при успехе Пример: |
instance_name string | Внутреннее имя экземпляра (только для администратора ROOT). Возвращается: при успехе Пример: |
iso string | Имя ISO-образа, с которым был развернут экземпляр. Возвращается: если доступно Пример: |
name string | Имя экземпляра. Возвращается: при успехе Пример: |
password string | Пароль экземпляра, если он задан. Возвращается: если доступно Пример: |
password_enabled boolean | Значение true, если настройка пароля включена. Возвращается: при успехе Пример: |
project string | Имя проекта, с которым связан экземпляр. Возвращается: при успехе Пример: |
public_ip string | Публичный IP-адрес экземпляра, назначенный с помощью правила статического NAT. Возвращается: если доступно Пример: |
security_groups list / elements=string | Группы безопасности, в которые входит экземпляр. Возвращается: при успехе Пример: |
service_offering string | Название предложения услуг, назначенного экземпляру. Возвращается: при успехе Пример: |
ssh_keys list / elements=string добавлено в ngine_io.cloudstack 2.5.0 | Имена ключей SSH, развернутых в экземпляре. Возвращается: если доступно Пример: |
state string | Состояние экземпляра. Возвращается: при успехе Пример: |
tags list / elements=string | Список тегов ресурса, связанных с экземпляром. Возвращается: при успехе Пример: |
template string | Имя шаблона, с помощью которого был развернут экземпляр. Возвращается: при успехе Пример: |
template_display_text string | Отображаемый текст шаблона, с помощью которого был развернут экземпляр. Возвращается: при успехе Пример: |
user-data string | Необязательные данные, переданные экземпляру. Возвращается: при успехе Пример: |
zone string | Имя зоны, в которой находится экземпляр. Возвращается: при успехе Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/ngine_io/cloudstack/instance_module.html