Spec-Zone.ru › Ansible 2.7

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

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

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

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

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python >= 2.6
  • cs >= 0.6.10

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
account
-
Аккаунт, к которому относится экземпляр.
affinity_groups
-
Имена групп affinity, которые следует применить к новому экземпляру.

Псевдонимы: affinity_group
allow_root_disk_shrink
boolean
добавлен в 2.7
    Варианты:
  • нет ←
  • да
Включает уменьшение размера тома, когда новый размер меньше старого.
api_http_method
-
    Варианты:
  • get
  • post
Метод HTTP, используемый для запроса к API-точке входа.
Если не указано, рассматривается переменная среды CLOUDSTACK_METHOD.
В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания.
Значение по умолчанию get, если не указано.
api_key
-
Ключ API CloudStack API.
Если не указано, рассматривается переменная среды CLOUDSTACK_KEY.
В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания.
api_region
-
Значение по умолчанию:
"cloudstack"
Имя раздела ini в файле cloustack.ini.
Если не указано, рассматривается переменная среды CLOUDSTACK_REGION.
api_secret
-
Секретный ключ CloudStack API.
Если не задано, рассматривается переменная среды CLOUDSTACK_SECRET.
В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания.
api_timeout
-
Таймаут HTTP в секундах.
Если не указано, рассматривается переменная среды CLOUDSTACK_TIMEOUT.
В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания.
Значение по умолчанию 10 секунд, если не указано.
api_url
-
URL CloudStack API, например, https://cloud.example.com/client/api.
Если не указано, рассматривается переменная среды CLOUDSTACK_ENDPOINT.
В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания.
cpu
-
Количество ЦП для выделения экземпляру, используется с пользовательскими предложениями услуг.
cpu_speed
-
Тактовая частота/доли, выделенные экземпляру, используется с пользовательскими предложениями услуг.
details
-
добавлен в 2.6
Карта для указания пользовательских параметров.
disk_offering
-
Имя предложения диска, которое следует использовать.
disk_size
-
Размер диска в ГБ, необходимый при развертывании экземпляра из ISO.
display_name
-
Пользовательское имя отображения экземпляров.
Имя отображения будет установлено на name, если не указано.
Требуется либо name, либо display_name.
domain
-
Домен, к которому относится экземпляр.
force
boolean
    Варианты:
  • нет ←
  • да
Принудительно остановить/запустить экземпляр, если необходимо применить изменения, в противном случае работающий экземпляр не будет изменен.
group
-
Группа, в которой должен находиться новый экземпляр.
host
-
добавлен в 2.6
Хост, на котором должен быть развернут или запущен экземпляр.
Рассматривается только при state=started или экземпляр работает.
Требуются права root-администратора.
hypervisor
-
    Варианты:
  • KVM
  • kvm
  • VMware
  • vmware
  • BareMetal
  • baremetal
  • XenServer
  • xenserver
  • LXC
  • lxc
  • HyperV
  • hyperv
  • UCS
  • ucs
  • OVM
  • ovm
  • Simulator
  • simulator
Название гипервизора, используемого для создания нового экземпляра.
Актуально при использовании 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 может содержать только латинские буквы.
Имя будет сгенерировано (UUID) CloudStack, если не указано, и его нельзя изменить впоследствии.
Требуется либо name, либо display_name.
networks
-
Список сетей, используемых для нового экземпляра.

Псевдонимы: network
poll_async
boolean
    Варианты:
  • нет
  • да ←
Обрабатывать асинхронные задачи до завершения.
project
-
Имя проекта, в котором должен быть развернут экземпляр.
root_disk_size
-
Размер корневого диска в ГБ, необходимый при развертывании экземпляра с гипервизором KVM и изменении размера корневого диска при запуске (требуется CloudStack >= 4.4, cloud-initramfs-growroot установлен и включен в шаблоне).
security_groups
-
Список групп безопасности, которые должны быть применены к экземпляру.

Псевдонимы: security_group
service_offering
-
Имя или идентификатор предложения услуги нового экземпляра.
Если не задано, используется первое найденное предложение услуги.
ssh_key
-
Имя SSH-ключа, который должен быть развернут на новом экземпляре.
state
-
    Варианты:
  • развернутый
  • запущенный
  • остановленный
  • перезапущенный
  • восстановленный
  • уничтоженный
  • удаленный
  • текущий ←
  • отсутствует
Состояние экземпляра.
Теги
-
Список тегов. Теги представляют собой список словарей, имеющих ключи key и value.
Если вы хотите удалить все теги, установите пустой список, например, теги: [].

Псевдонимы: тег
Шаблон
-
Имя, отображаемый текст или идентификатор шаблона, который будет использоваться для создания нового экземпляра.
Требуется при использовании состояние=present.
Исключающие друг друга с параметром ISO.
Фильтр_шаблона
-
добавлено в 2.1
    Варианты:
  • все
  • выделенные
  • собственные
  • самовыполняемые
  • совместно_выполняемые
  • выполняемый ←
  • сообщества
Имя фильтра, используемого для поиска шаблона или образа.
Используется для параметров iso или template при состояние=present.
Фильтр all был добавлен в 2.6.

Псевдонимы: фильтр_изображения
Данные_пользователя
-
Необязательные данные (ASCII), которые могут быть отправлены экземпляру после успешного развертывания.
Данные будут автоматически закодированы в base64.
Рассмотрите возможность переключения на HTTP_POST, используя CLOUDSTACK_METHOD=post, чтобы увеличить предел размера HTTP_GET с 2 КБ до 32 КБ.
Зона
-
Имя зоны, в которой должен быть развернут экземпляр.
Если не задано, используется зона по умолчанию.

Примечания

Примечание

  • 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 можно найти в Руководстве по CloudStack Cloud.
  • Этот модуль поддерживает режим проверки.

Примеры

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

- name: 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

# 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.
  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

- name: 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

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

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

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

Значения возврата

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

Ключ Возвращаемое значение Описание
account
строка
успех
Аккаунт, к которому относится экземпляр.

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

Пример:
[ "webservers" ]
created
строка
успех
Дата создания экземпляра.

Пример:
2014-12-01T14:57:57+0100
default_ip
строка
успех
Основной IP-адрес экземпляра.

Пример:
10.23.37.42
default_ip6
строка
добавлено в 2.6
успех
Основной IPv6-адрес экземпляра.

Пример:
2a04:c43:c00:a07:4b4:beff:fe00:74
display_name
строка
успех
Имя экземпляра для отображения.

Пример:
web-01
domain
строка
успех
Домен, к которому относится экземпляр.

Пример:
example domain
group
строка
успех
Имя группы, к которой относится экземпляр.

Пример:
web
host
строка
добавлено в 2.6
успех и экземпляр запущен
Имя хоста гипервизора, на котором запущен экземпляр.

Пример:
host-01.example.com
hypervisor
строка
успех
Гипервизор, связанный с этим экземпляром.

Пример:
KVM
id
строка
успех
UUID экземпляра.

Пример:
04589590-ac63-4ffc-93f5-b698b8ac38b6
instance_name
строка
успех
Внутреннее имя экземпляра (только для ROOT администратора).

Пример:
i-44-3992-VM
iso
строка
успех
Имя ISO, с помощью которого был развернут экземпляр.

Пример:
Debian-8-64bit
name
строка
успех
Имя экземпляра.

Пример:
web-01
password
строка
успех
Пароль экземпляра, если он существует.

Пример:
Ge2oe7Do
password_enabled
логическое значение
успех
Истина, если настройка пароля включена.

Пример:
True
project
строка
успех
Имя проекта, к которому относится экземпляр.

Пример:
Production
public_ip
строка
успех
Общедоступный IP-адрес экземпляра через статическое правило NAT.

Пример:
1.2.3.4
security_groups
список
успех
Группы безопасности, к которым принадлежит экземпляр.

Пример:
[ "default" ]
service_offering
строка
успех
Имя предлагаемого сервиса экземпляра.

Пример:
2cpu_2gb
ssh_key
строка
успех
Имя SSH-ключа, развернутого на экземпляре.

Пример:
key@work
state
строка
успех
Состояние экземпляра.

Пример:
Запущен
tags
словарь
успех
Список тегов ресурсов, связанных с экземпляром.

Пример:
[ { "key": "foo", "value": "bar" } ]
template
строка
успех
Имя шаблона, с помощью которого был развернут экземпляр.

Пример:
Linux Debian 9 64-bit
template_display_text
строка
добавлено в 2.6
успех
Текст для отображения шаблона, с помощью которого был развернут экземпляр.

Пример:
Linux Debian 9 64-bit 200G Disk (2017-10-08-622866)
zone
строка
успех
Имя зоны, в которой находится экземпляр.

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


Статус

  • Данный модуль гарантированно не будет содержать обратной несовместимости в будущих изменениях. [stableinterface]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • René Moser (@resmo)

Подсказка

Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

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

Spec-Zone.ru

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