Spec-Zone.ru › Ansible 2.4

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

Новая версия с 2.0.

  • Описание
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Описание

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

Требования (к хосту, на котором выполняется модуль)

  • python >= 2.6
  • cs >= 0.6.10

Параметры

параметр обязателен по умолчанию возможные значения комментарии
account
нет
Учётная запись, к которой относится экземпляр.
affinity_groups
нет
Имена групп совместимости, которые должны быть применены к новому экземпляру.
псевдонимы: affinity_group
api_http_method
нет get
  • get
  • post
Используемый HTTP-метод.
api_key
нет
API-ключ CloudStack API.
api_region
нет cloudstack
Имя раздела ini в файле cloustack.ini.
api_secret
нет
Секретный ключ CloudStack API.
api_timeout
нет 10
Таймаут HTTP.
api_url
нет
URL CloudStack API, например, https://cloud.example.com/client/api.
cpu
нет
Количество ЦП, выделяемых экземпляру; используется с настраиваемыми предложениями услуг.
cpu_speed
нет
Тактовая частота/доли, выделенные экземпляру; используется с настраиваемыми предложениями услуг.
disk_offering
нет
Имя предлагаемого диска, которое необходимо использовать.
disk_size
нет
Размер диска в Гбайт, необходимый при развёртывании экземпляра из ISO.
display_name
нет
Пользовательское имя отображения экземпляров.
Имя отображения будет установлено в name если не указано.
Необходимо указать либо name, либо display_name.
domain
нет
Домен, к которому относится экземпляр.
force
нет
Принудительная остановка/запуск экземпляра, если требуется применить изменения, в противном случае запущенный экземпляр не будет изменён.
group
нет
Группа, в которой должен находиться новый экземпляр.
hypervisor
нет
  • KVM
  • VMware
  • BareMetal
  • XenServer
  • LXC
  • HyperV
  • UCS
  • OVM
Название гипервизора, который следует использовать для создания нового экземпляра.
Актуально при использовании state=present, но учитывается только если не задано в ISO/шаблоне.
Если не установлено или не найдено в ISO/шаблоне, используется первый найденный гипервизор.
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
нет True
Обрабатывать асинхронные задачи до завершения.
project
нет
Имя проекта, в котором необходимо развернуть экземпляр.
root_disk_size
нет
Размер корневого диска в Гбайт, необходимый при развёртывании экземпляра с гипервизором KVM и необходимости изменения размера корневого диска при запуске (требуется CloudStack >= 4.4, установлено и включено cloud-initramfs-growroot в шаблоне)
security_groups
нет
Список групп безопасности, которые необходимо применить к экземпляру.
псевдонимы: security_group
service_offering
нет
Имя или идентификатор предложения услуг нового экземпляра.
Если не задано, используется первое найденное предложение услуг.
ssh_key
нет
Имя SSH-ключа, который необходимо развернуть на новом экземпляре.
state
нет present
  • deployed
  • started
  • stopped
  • restarted
  • restored
  • destroyed
  • expunged
  • present
  • absent
Состояние экземпляра.
tags
нет
Список тегов. Теги — это список словарей, имеющих ключи key и value.
Если нужно удалить все теги, установите пустой список, например, tags: [].
псевдонимы: tag
template
нет
Имя или идентификатор шаблона, который необходимо использовать для создания нового экземпляра.
Требуется при использовании state=present.
Взаимоисключающее с параметром ISO.
template_filter
(добавлен в 2.1)
нет executable
  • featured
  • self
  • selfexecutable
  • sharedexecutable
  • executable
  • community
Имя фильтра, используемого для поиска шаблона или ISO.
Используется для параметров iso или template в state=present.
псевдонимы: iso_filter
user_data
нет
Необязательные данные (ASCII), которые можно отправить экземпляру после успешного развёртывания.
Данные будут автоматически закодированы в base64.
Рассмотрите возможность переключения на HTTP_POST, используя CLOUDSTACK_METHOD=post, чтобы увеличить лимит размера HTTP_GET с 2 КБ до 32 КБ.
zone
нет
Имя зоны, в которой необходимо развернуть экземпляр.
Если не задано, используется зона по умолчанию.

Примеры

# Create a instance from an ISO
# NOTE: Names of offerings and ISOs depending on the CloudStack configuration.
- 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
  delegate_to: localhost

# For changing a running instance, use the 'force' parameter
- cs_instance:
    name: web-vm-1
    display_name: web-vm-01.example.com
    iso: Linux Debian 7 64-bit
    service_offering: 2cpu_2gb
    force: yes
  delegate_to: localhost

# Create or update a instance on Exoscale's public cloud using display_name.
# Note: user_data can be used to kickstart the instance using cloud-init yaml config.
- cs_instance:
    display_name: web-vm-1
    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
  delegate_to: localhost

# Create an instance with multiple interfaces specifying the IP addresses
- cs_instance:
    name: web-vm-1
    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
  delegate_to: localhost

# Ensure an instance is stopped
- cs_instance:
    name: web-vm-1
    state: stopped
  delegate_to: localhost

# Ensure an instance is running
- cs_instance:
    name: web-vm-1
    state: started
  delegate_to: localhost

# Remove an instance
- cs_instance:
    name: web-vm-1
    state: absent
  delegate_to: localhost

Возвращаемые значения

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

name description returned type sample
account
Аккаунт, к которому относится экземпляр.
success string example account
affinity_groups
Группы близости, в которых находится экземпляр.
success list [ "webservers" ]
created
Дата создания экземпляра.
success string 2014-12-01T14:57:57+0100
default_ip
Основной IP-адрес экземпляра.
success string 10.23.37.42
display_name
Отображаемое имя экземпляра.
success string web-01
domain
Домен, к которому относится экземпляр.
success string example domain
group
Имя группы, к которой относится экземпляр.
success string web
hypervisor
Гипервизор, связанный с этим экземпляром.
success string KVM
id
UUID экземпляра.
success string 04589590-ac63-4ffc-93f5-b698b8ac38b6
instance_name
Внутреннее имя экземпляра (только для администраторов ROOT).
success string i-44-3992-VM
iso
Имя ISO, с которым был развернут экземпляр.
success string Debian-8-64bit
name
Имя экземпляра.
success string web-01
password
Пароль экземпляра, если он существует.
success string Ge2oe7Do
password_enabled
True, если включено 설정 password.
success boolean True
project
Название проекта, к которому относится экземпляр.
success string Production
public_ip
Общедоступный IP-адрес экземпляра через статическое правило NAT.
success string 1.2.3.4
security_groups
Группы безопасности, в которых находится экземпляр.
success list [ "default" ]
service_offering
Название предлагаемого сервиса для экземпляра.
success string 2cpu_2gb
ssh_key
Имя SSH-ключа, развернутого на экземпляре.
success string key@work
state
Состояние экземпляра.
success string Running
tags
Список тегов ресурсов, связанных с экземпляром.
success dict [ { "key": "foo", "value": "bar" } ]
template
Имя шаблона, с которым был развернут экземпляр.
success string Debian-8-64bit
zone
Имя зоны, в которой находится экземпляр.
success string ch-gva-2

Примечания

Примечание

  • Ansible использует метод конфигурации библиотеки cs если учетные данные не предоставлены аргументами api_url, api_key, api_secret. Конфигурация считывается из нескольких мест в следующем порядке. - Переменные среды CLOUDSTACK_ENDPOINT, CLOUDSTACK_KEY, CLOUDSTACK_SECRET и CLOUDSTACK_METHOD. CLOUDSTACK_TIMEOUT - Переменная среды CLOUDSTACK_CONFIG указывающая на файл .ini - Файл cloudstack.ini в текущей рабочей директории. - Файл .cloudstack.ini в домашней директории пользователя. Допускается указание нескольких учетных данных и конечных точек с использованием разделов ini в cloudstack.ini. Используйте аргумент api_region для выбора имени раздела, по умолчанию используется раздел cloudstack. Для получения дополнительной информации обратитесь к https://github.com/exoscale/cs.
  • Подробное руководство по модулям cloudstack можно найти по адресу http://docs.ansible.com/ansible/guide_cloudstack.html
  • Этот модуль поддерживает режим проверки.

Статус

Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будет вноситься обратной совместимости с интерфейсом изменений.

Для получения помощи в разработке модулей, если вы этого пожелаете, пожалуйста, прочтите Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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