ngine_io.cloudstack.cs_instance модуль – Управляет экземплярами и виртуальными машинами в облаках на базе Apache CloudStack.
Примечание
Этот модуль является частью коллекции ngine_io.cloudstack (версия 2.5.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для её установки используйте: ansible-galaxy collection install ngine_io.cloudstack. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования его в playbook укажите: ngine_io.cloudstack.cs_instance.
Новый в ngine_io.cloudstack 0.1.0
Описание
- Развёртывание, запуск, обновление, масштабирование, перезапуск, восстановление, остановка и удаление экземпляров.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
Параметр | Комментарии |
|---|---|
account string | Учетная запись, с которой связан экземпляр. |
affinity_groups aliases: affinity_group list / elements=string | Имена групп соответствия, которые должны быть применены к новому экземпляру. |
allow_root_disk_shrink boolean | Включает уменьшение размера тома, когда новый размер меньше старого. Варианты:
|
api_http_method string | HTTP-метод, используемый для запроса к конечной точке API. Если не указан, используется переменная окружения Варианты:
|
api_key string / required | Ключ API CloudStack API. Если не указан, используется переменная окружения |
api_secret string / required | Секретный ключ CloudStack API. Если не указан, используется переменная окружения |
api_timeout integer | Таймаут HTTP в секундах. Если не указан, используется переменная окружения Значение по умолчанию: |
api_url string / required | URL CloudStack API, например, https://cloud.example.com/client/api. Если не указан, используется переменная окружения |
api_verify_ssl_cert string | Проверка файла сертификата центра сертификации. Если не указан, используется переменная окружения |
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 aliases: ip_to_network list / elements=dictionary | Список сопоставлений в формате {‘network’: NetworkName, ‘ip’: 1.2.3.4} Взаимоисключающий параметр с networks. |
iso string | Имя или id ISO-образа, который будет использоваться для создания нового экземпляра. Обязательно при использовании state=present. Взаимоисключающий параметр с template. |
keyboard string | Тип клавиатурного устройства для экземпляра. Варианты:
|
memory integer | Объем памяти, выделенный для экземпляра, используется с пользовательскими предложениями сервисов |
name string | Имя хоста экземпляра. Имя будет сгенерировано (UUID) CloudStack, если не указано, и его нельзя изменить позже. Необходим либо |
networks aliases: network list / elements=string | Список сетей, которые будут использоваться для нового экземпляра. |
pod string добавлено в ngine_io.cloudstack 2.3.0 | Под (pod), на котором должен быть развернут или запущен экземпляр. Учитывается только при state=started или если экземпляр запущен. Требуются права администратора root. |
poll_async boolean | Опрашивать асинхронные задания до завершения. Варианты:
|
project string | Имя проекта, в котором будет развернут экземпляр. |
root_disk_size integer | Размер корневого диска в Гбайт, необходимый при развертывании экземпляра с гипервизором KVM и изменении размера корневого диска при запуске (требуется CloudStack >= 4.4, cloud-initramfs-growroot установлен и включен в шаблоне). |
security_groups aliases: security_group list / elements=string | Список групп безопасности, которые будут применены к экземпляру. |
service_offering string | Имя или id предложения сервиса для нового экземпляра. Если не указано, используется первое найденное предложение сервиса. |
ssh_key string | Имя ключа SSH, который будет развернут на новом экземпляре. |
state string | Состояние экземпляра. Варианты:
|
tags aliases: tag list / elements=dictionary | Список тегов. Теги представляют собой список словарей с ключами Если вы хотите удалить все теги, задайте пустой список, например, tags: []. |
template string | Имя, отображаемый текст или id шаблона, который будет использоваться для создания нового экземпляра. Обязательно при использовании state=present. Взаимоисключающий параметр с iso. |
template_filter aliases: 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.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 | Учетная запись, с которой связан экземпляр. Возвращается: success Пример: |
affinity_groups list / elements=string | Группы сродства, в которых находится экземпляр. Возвращается: success Пример: |
created string | Дата создания экземпляра. Возвращается: success Пример: |
default_ip string | IP-адрес по умолчанию экземпляра. Возвращается: success Пример: |
default_ip6 string | IPv6-адрес по умолчанию экземпляра. Возвращается: if available Пример: |
display_name string | Отображаемое имя экземпляра. Возвращается: success Пример: |
domain string | Домен, с которым связан экземпляр. Возвращается: success Пример: |
group string | Имя группы, с которой связан экземпляр. Возвращается: success Пример: |
host string | Имя хоста гипервизора, на котором запущен экземпляр. Возвращается: success и экземпляр запущен Пример: |
hypervisor string | Гипервизор, связанный с этим экземпляром. Возвращается: success Пример: |
id string | UUID экземпляра. Возвращается: success Пример: |
instance_name string | Внутреннее имя экземпляра (только для ROOT-администратора). Возвращается: success Пример: |
iso string | Имя ISO, с которым был развернут экземпляр. Возвращается: if available Пример: |
name string | Имя экземпляра. Возвращается: success Пример: |
password string | Пароль экземпляра, если существует. Возвращается: if available Пример: |
password_enabled boolean | True, если настройка пароля включена. Возвращается: success Пример: |
project string | Имя проекта, с которым связан экземпляр. Возвращается: success Пример: |
public_ip string | Публичный IP-адрес с экземпляром через правило статического NAT. Возвращается: if available Пример: |
security_groups список / элементы=строка | Безопасные группы, в которых находится экземпляр. Возвращается: успех Пример: |
service_offering строка | Имя предложения сервиса, которое имеет экземпляр. Возвращается: успех Пример: |
ssh_key строка | Имя SSH-ключа, развернутого на экземпляре. Возвращается: если доступен Пример: |
ssh_keys список / элементы=строка добавлено в ngine_io.cloudstack 2.5.0 | Имена SSH-ключей, развернутых на экземпляре. Возвращается: если доступен Пример: |
state строка | Состояние экземпляра. Возвращается: успех Пример: |
tags список / элементы=строка | Список тегов ресурсов, связанных с экземпляром. Возвращается: успех Пример: |
template строка | Имя шаблона, с помощью которого был развернут экземпляр. Возвращается: успех Пример: |
template_display_text строка | Текст отображения шаблона, с помощью которого был развернут экземпляр. Возвращается: успех Пример: |
user-data строка | Дополнительные данные, отправленные экземпляру. Возвращается: успех Пример: |
zone строка | Имя зоны, в которой находится экземпляр. Возвращается: успех Пример: |
Ссылки на сборку
© 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/ngine_io/cloudstack/cs_instance_module.html