Spec-Zone.ru › Ansible

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

Включает уменьшение размера тома, когда новый размер меньше старого.

Варианты:

  • false ← (default)
  • true

api_http_method

string

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

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

Варианты:

  • "get" ← (default)
  • "post"

api_key

string / required

Ключ API CloudStack API.

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

api_secret

string / required

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

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

api_timeout

integer

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

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

Значение по умолчанию: 10

api_url

string / required

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

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

api_verify_ssl_cert

string

Проверка файла сертификата центра сертификации.

Если не указан, используется переменная окружения 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 ← (default)
  • 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

aliases: ip_to_network

list / elements=dictionary

Список сопоставлений в формате {‘network’: NetworkName, ‘ip’: 1.2.3.4}

Взаимоисключающий параметр с networks.

iso

string

Имя или id 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.

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

Необходим либо name, либо display_name.

networks

aliases: network

list / elements=string

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

pod

string

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

Под (pod), на котором должен быть развернут или запущен экземпляр.

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

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

poll_async

boolean

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

Варианты:

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

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

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

Варианты:

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

tags

aliases: tag

list / elements=dictionary

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

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

template

string

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

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

Взаимоисключающий параметр с iso.

template_filter

aliases: 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.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

Пример: "example account"

affinity_groups

list / elements=string

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

Возвращается: success

Пример: ["[ \"webservers\" ]"]

created

string

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

Возвращается: success

Пример: "2014-12-01T14:57:57+0100"

default_ip

string

IP-адрес по умолчанию экземпляра.

Возвращается: success

Пример: "10.23.37.42"

default_ip6

string

IPv6-адрес по умолчанию экземпляра.

Возвращается: if available

Пример: "2a04:c43:c00:a07:4b4:beff:fe00:74"

display_name

string

Отображаемое имя экземпляра.

Возвращается: success

Пример: "web-01"

domain

string

Домен, с которым связан экземпляр.

Возвращается: success

Пример: "example domain"

group

string

Имя группы, с которой связан экземпляр.

Возвращается: success

Пример: "web"

host

string

Имя хоста гипервизора, на котором запущен экземпляр.

Возвращается: success и экземпляр запущен

Пример: "host-01.example.com"

hypervisor

string

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

Возвращается: success

Пример: "KVM"

id

string

UUID экземпляра.

Возвращается: success

Пример: "04589590-ac63-4ffc-93f5-b698b8ac38b6"

instance_name

string

Внутреннее имя экземпляра (только для ROOT-администратора).

Возвращается: success

Пример: "i-44-3992-VM"

iso

string

Имя ISO, с которым был развернут экземпляр.

Возвращается: if available

Пример: "Debian-8-64bit"

name

string

Имя экземпляра.

Возвращается: success

Пример: "web-01"

password

string

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

Возвращается: if available

Пример: "Ge2oe7Do"

password_enabled

boolean

True, если настройка пароля включена.

Возвращается: success

Пример: true

project

string

Имя проекта, с которым связан экземпляр.

Возвращается: success

Пример: "Production"

public_ip

string

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

Возвращается: if available

Пример: "1.2.3.4"

security_groups

список / элементы=строка

Безопасные группы, в которых находится экземпляр.

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

Пример: ["[ \"default\" ]"]

service_offering

строка

Имя предложения сервиса, которое имеет экземпляр.

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

Пример: "2cpu_2gb"

ssh_key

строка

Имя SSH-ключа, развернутого на экземпляре.

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

Пример: "key@work"

ssh_keys

список / элементы=строка

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

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

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

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

state

строка

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

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

Пример: "Running"

tags

список / элементы=строка

Список тегов ресурсов, связанных с экземпляром.

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

Пример: ["[ { \"key\": \"foo\"", " \"value\": \"bar\" } ]"]

template

строка

Имя шаблона, с помощью которого был развернут экземпляр.

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

Пример: "Linux Debian 9 64-bit"

template_display_text

строка

Текст отображения шаблона, с помощью которого был развернут экземпляр.

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

Пример: "Linux Debian 9 64-bit 200G Disk (2017-10-08-622866)"

user-data

строка

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

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

Пример: "VXNlciBkYXRhIGV4YW1wbGUK"

zone

строка

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

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

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

Авторы

  • René Moser (@resmo)

Ссылки на сборку

  • Трекер задач
  • Репозиторий (источники)

© 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

Spec-Zone.ru

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