Spec-Zone.ru › Ansible

Модуль 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

Разрешает уменьшение размера тома, если новый размер меньше старого.

Возможные значения:

  • false ← (по умолчанию)
  • true

api_http_method

string

Метод HTTP, используемый для запроса к конечной точке API.

Если параметр не задан, используется переменная окружения CLOUDSTACK_METHOD.

Возможные значения:

  • "get" ← (по умолчанию)
  • "post"

api_key

string / обязательный

Ключ API CloudStack.

Если параметр не задан, используется переменная окружения CLOUDSTACK_KEY.

api_secret

string / обязательный

Секретный ключ API CloudStack.

Если параметр не задан, используется переменная окружения CLOUDSTACK_SECRET.

api_timeout

integer

Тайм-аут HTTP в секундах.

Если параметр не задан, используется переменная окружения CLOUDSTACK_TIMEOUT.

По умолчанию: 10

api_url

string / обязательный

URL API CloudStack, например https://cloud.example.com/client/api.

Если параметр не задан, используется переменная окружения CLOUDSTACK_ENDPOINT.

api_verify_ssl_cert

string

Проверять файл сертификата удостоверяющего центра (CA).

Если параметр не задан, используется переменная окружения CLOUDSTACK_VERIFY.

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

Принудительно останавливать/запускать экземпляр, если это требуется для применения изменений; в противном случае работающий экземпляр не будет изменён.

Возможные значения:

  • false ← (по умолчанию)
  • true

group

string

Группа, в которую следует поместить новый экземпляр.

host

string

Узел, на котором следует развернуть или запустить экземпляр.

Учитывается только при state=started или если экземпляр запущен.

Требуются права администратора root.

hypervisor

string

Название гипервизора, используемого для создания нового экземпляра.

Имеет значение при использовании state=present, но учитывается, только если гипервизор не задан для ISO/шаблона.

Если параметр не задан или гипервизор не найден для ISO/шаблона, будет использоваться первый найденный гипервизор.

Возможные значения: KVM, VMware, BareMetal, XenServer, LXC, HyperV, UCS, OVM, Simulator.

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

Тип клавиатурного устройства для экземпляра.

Возможные значения:

  • "de"
  • "de-ch"
  • "es"
  • "fi"
  • "fr"
  • "fr-be"
  • "fr-ch"
  • "is"
  • "it"
  • "jp"
  • "nl-be"
  • "no"
  • "pt"
  • "uk"
  • "us"

memory

integer

Объём памяти, выделяемой экземпляру; используется с пользовательскими предложениями услуг.

name

string

Имя узла экземпляра. name может содержать только ASCII-буквы.

Если имя не указано, CloudStack сгенерирует его (UUID); впоследствии его нельзя будет изменить.

Необходимо указать либо name, либо display_name.

networks

псевдонимы: network

list / elements=string

Список сетей для нового экземпляра.

pod

string

добавлено в ngine_io.cloudstack 2.3.0

Под, в котором следует развернуть или запустить экземпляр.

Учитывается только при state=started или если экземпляр запущен.

Требуются права администратора root.

poll_async

boolean

Опрос асинхронных заданий до их завершения.

Возможные значения:

  • false
  • true ← (по умолчанию)

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

Состояние экземпляра.

Возможные значения:

  • "deployed"
  • "started"
  • "stopped"
  • "restarted"
  • "restored"
  • "destroyed"
  • "expunged"
  • "present" ← (по умолчанию)
  • "absent"

tags

псевдонимы: tag

list / elements=dictionary

Список тегов. Теги представляют собой список словарей с ключами key и value.

Чтобы удалить все теги, задайте пустой список, например tags: [].

template

string

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

Требуется при использовании state=present.

Несовместим с параметром iso.

template_filter

псевдонимы: iso_filter

string

Название фильтра для поиска шаблона или ISO.

Используется для параметров iso или template при state=present.

Возможные значения:

  • "all"
  • "featured"
  • "self"
  • "selfexecutable"
  • "sharedexecutable"
  • "executable" ← (по умолчанию)
  • "community"

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

Если false, SSL-сертификаты не проверяются.

Если параметр не задан, используется переменная окружения CLOUDSTACK_DANGEROUS_NO_TLS_VERIFY.

Используйте этот параметр только на подконтрольных вам сайтах с самоподписанными сертификатами.

Возможные значения:

  • false
  • true ← (по умолчанию)

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

Учетная запись, с которой связан экземпляр.

Возвращается: при успехе

Пример: "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_keys

list / elements=string

добавлено в ngine_io.cloudstack 2.5.0

Имена ключей SSH, развернутых в экземпляре.

Возвращается: если доступно

Пример: ["key@work", "key@home"]

state

string

Состояние экземпляра.

Возвращается: при успехе

Пример: "Running"

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–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

Spec-Zone.ru

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