ngine_io.cloudstack.cs_volume – Управляет томами на облаках, основанных на Apache CloudStack.
Примечание
Этот плагин является частью коллекции ngine_io.cloudstack (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack.
Для использования в playbook, укажите: ngine_io.cloudstack.cs_volume.
Новое в версии 0.1.0: из ngine_io.cloudstack
Обзор
- Создание, удаление, подключение, отключение, извлечение или загрузка томов.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account строка | Аккаунт, к которому относится том. | |
| api_http_method строка |
| Метод HTTP, используемый для запроса к API-точке. Если не указано, используется переменная среды CLOUDSTACK_METHOD. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. Значение по умолчанию – get если не указано. |
| api_key строка | API-ключ API CloudStack. Если не указано, используется переменная среды CLOUDSTACK_KEY. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. | |
| api_region строка | Значение по умолчанию: "cloudstack" | Имя раздела ini в файле cloustack.ini.Если не указано, используется переменная среды CLOUDSTACK_REGION. |
| api_secret строка | Секретный ключ API CloudStack. Если не задано, используется переменная среды CLOUDSTACK_SECRET. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. | |
| api_timeout целое число | Таймаут HTTP в секундах. Если не указано, используется переменная среды CLOUDSTACK_TIMEOUT. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. Значение по умолчанию – 10 секунд, если не указано. | |
| api_url строка | URL API CloudStack, например https://cloud.example.com/client/api. Если не указано, используется переменная среды CLOUDSTACK_ENDPOINT. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. | |
| api_verify_ssl_cert строка | Файл сертификата авторитета CA. Если не указано, используется переменная среды CLOUDSTACK_VERIFY. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. Значение по умолчанию – null если не указано. | |
| custom_id строка | Пользовательский идентификатор ресурса. Доступно только для администраторов. | |
| device_id целое число | Идентификатор устройства на виртуальной машине, к которому подключен том. Рассматривается только если state равен attached. | |
| disk_offering строка | Название предложения для диска. Требуется один из параметров disk_offering, snapshot, если состояние тома не state=present. | |
| display_volume логическое значение |
| Показывать том конечному пользователю или нет. Доступно только для администраторов. |
| domain строка | Название домена, в котором будет развернут том. | |
| force логическое значение |
| Принудительно удалить том, даже если он подключен к виртуальной машине. Рассматривается только при state=absent. |
| format строка |
| Формат тома. Рассматривается только при state=uploaded. |
| max_iops целое число | Максимальное количество операций ввода-вывода в секунду. | |
| min_iops целое число | Минимальное количество операций ввода-вывода в секунду. | |
| mode строка |
| Режим извлечения тома. Рассматривается только при state=extracted. |
| name строка / обязательно | Название тома.
name может содержать только ASCII символы. | |
| poll_async логическое значение |
| Ожидать завершения асинхронных задач. |
| project строка | Имя проекта, в котором будет развернут том. | |
| shrink_ok логическое значение |
| Разрешить уменьшение размера тома. |
| size целое число | Размер диска в ГБ | |
| snapshot строка | Имя снимка для диска. Требуется один из параметров disk_offering, snapshot, если состояние тома не state=present. | |
| state строка |
| Состояние тома. |
| tags список / элементы=словарь | Список тегов. Теги – список словарей с ключами key и value. Для удаления всех тегов задайте пустой список, например tags: []. псевдонимы: tag | |
| url строка | URL, на который будет извлечен том при state=extracted
или URL, откуда загрузить том при state=uploaded. Рассматривается только если state равен extracted или uploaded. | |
| vm строка | Имя виртуальной машины, к которой нужно подключить том. | |
| zone строка | Имя зоны, в которой должен быть развернут том. Если не задано, используется зона по умолчанию. |
Примечания
Примечание
- 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.
- Этот модуль поддерживает режим проверки.
Примеры
- name: create volume within project and zone with specified storage options
ngine_io.cloudstack.cs_volume:
name: web-vm-1-volume
project: Integration
zone: ch-zrh-ix-01
disk_offering: PerfPlus Storage
size: 20
- name: create/attach volume to instance
ngine_io.cloudstack.cs_volume:
name: web-vm-1-volume
disk_offering: PerfPlus Storage
size: 20
vm: web-vm-1
state: attached
- name: detach volume
ngine_io.cloudstack.cs_volume:
name: web-vm-1-volume
state: detached
- name: remove volume
ngine_io.cloudstack.cs_volume:
name: web-vm-1-volume
state: absent
- name: Extract DATA volume to make it downloadable
ngine_io.cloudstack.cs_volume:
state: extracted
name: web-vm-1-volume
register: data_vol_out
- name: Create new volume by downloading source volume
ngine_io.cloudstack.cs_volume:
state: uploaded
name: web-vm-1-volume-2
format: VHD
url: "{{ data_vol_out.url }}"
Значения возврата
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| attached string | success | Дата присоединения тома. Пример: 2014-12-01T14:57:57+0100 |
| created string | success | Дата создания тома. Пример: 2014-12-01T14:57:57+0100 |
| device_id integer | success | Идентификатор устройства на виртуальной машине пользователя, к которому присоединен том (не возвращается при отключении). Пример: 1 |
| display_name string | success | Отображаемое имя тома. Пример: web-volume-01 |
| domain string | success | Домен, к которому принадлежит том. Пример: example domain |
| group string | success | Группа, к которой принадлежит том. Пример: web |
| id string | success | Идентификатор тома. |
| name string | success | Имя тома. Пример: web-volume-01 |
| project string | success | Проект, к которому принадлежит том. Пример: Production |
| size integer | success | Размер дискового тома. Пример: 20 |
| state string | success | Состояние тома. Пример: Присоединён |
| type string | success | Тип дискового тома. Пример: DATADISK |
| url string | success когда state=extracted | URL загруженного тома или URL для скачивания в зависимости от режима извлечения. Пример: http://1.12.3.4/userdata/387e2c7c-7c42-4ecc-b4ed-84e8367a1965.vhd |
| vm string | success | Имя виртуальной машины, к которой присоединен том (не возвращается при отключении). Пример: web-01 |
| zone string | success | Имя зоны, в которой находится том. Пример: ch-gva-2 |
Авторы
- Jefferson Girão (@jeffersongirao)
- 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.10/collections/ngine_io/cloudstack/cs_volume_module.html