rax – создание/удаление экземпляра в Rackspace Public Cloud
Описание
- создаёт/удаляет экземпляр Rackspace Public Cloud и, по желанию, ждёт, пока он станет «запущенным».
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- pyrax
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key - | Ключ API Rackspace, переопределяет credentials. псевдонимы: password | |
| auth_endpoint - | По умолчанию: "https://identity.api.rackspacecloud.com/v2.0/" | URI службы аутентификации. |
| auto_increment boolean |
| Увеличивать ли автоматически числовой идентификатор созданных серверов. Применимо только при использовании атрибута group или мета-ключа. |
| boot_from_volume boolean |
| Загружать ли экземпляр с тома Cloud Block Storage. Если yes и задан image, новый том будет создан во время загрузки. Для создания нового тома при загрузке требуется boot_volume_size вместе с image. |
| boot_volume - | Идентификатор или имя тома Cloud Block Storage, используемого в качестве загрузочного тома экземпляра | |
| boot_volume_size - | По умолчанию: 100 | Размер создаваемого тома в гигабайтах. Требуется только при использовании image и boot_from_volume. |
| boot_volume_terminate boolean |
| Удалить ли boot_volume или созданный том из image при завершении работы сервера |
| config_drive boolean |
| Подключить только для чтения том конфигурации к серверу как метку config-2 |
| count - | По умолчанию: 1 | количество запускаемых экземпляров |
| count_offset - | По умолчанию: 1 | номер для начала подсчета |
| credentials - | Файл с учетными данными Rackspace. Игнорируется, если заданы api_key и username. псевдонимы: creds_file | |
| disk_config - |
| Стратегия разбиения дисков |
| env - | Настройка среды в ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| exact_count boolean |
| Явно гарантировать точное количество экземпляров, используется со state=active/present. Если задан yes и count меньше совпавших серверов, серверы будут удалены для соответствия count. Если количество совпавших серверов меньше указанного в count, будут добавлены дополнительные серверы. |
| extra_client_args - | Хэш пар ключ/значение, используемых при создании клиента cloudservers. Это продвинутый параметр, используйте его с осторожностью. | |
| extra_create_args - | Хэш пар ключ/значение, используемых при создании нового сервера. Это продвинутый параметр, используйте его с осторожностью. | |
| files - | Файлы для вставки в экземпляр. remotefilename:localcontent | |
| flavor - | Используемый flavor для экземпляра | |
| group - | Группа хостов, которая должна быть назначена серверу, также используется для идемпотентных операций, чтобы гарантировать определенное количество экземпляров. | |
| identity_type - | По умолчанию: "rackspace" | Механизм аутентификации, например, rackspace или keystone. |
| image - | Используемый образ для экземпляра. Может быть id, human_id или name. При использовании boot_from_volume с этим изображением будет создан том Cloud Block Storage. | |
| instance_ids - | Список идентификаторов экземпляров, используется только при state='absent' для удаления экземпляров. | |
| key_name - | Используемая пара ключей для экземпляра псевдонимы: keypair | |
| meta - | Хэш метаданных, которые нужно связать с экземпляром | |
| name - | Имя, которое нужно присвоить экземпляру | |
| networks - | По умолчанию: ["public", "private"] | Сеть для подключения к экземплярам. Если задано, необходимо указать ВСЕ сети, включая общедоступный и частный интерфейсы. Может быть id или label. |
| region - | По умолчанию: "DFW" | Регион для создания экземпляра. |
| state - |
| Указывает желаемое состояние ресурса |
| tenant_id - | Идентификатор арендатора, используемый для аутентификации. | |
| tenant_name - | Имя арендатора, используемое для аутентификации. | |
| user_data - | Данные, которые нужно загрузить на том конфигурации серверов. Этот параметр подразумевает config_drive. Может быть путем к файлу или строкой | |
| username - | Имя пользователя Rackspace, переопределяет credentials. | |
| validate_certs boolean |
| Требовать или нет проверку SSL для API-точек доступа. псевдонимы: verify_ssl |
| wait boolean |
| Ожидать, пока экземпляр не перейдет в состояние 'running', перед возвратом. |
| wait_timeout - | По умолчанию: 300 | Время ожидания, прежде чем ожидание сдастся, в секундах |
Примечания
Примечание
-
exact_count может быть «деструктивным», если количество работающих серверов в группе больше, чем указано в count. В таком случае состояние фактически устанавливается в
absentи лишние серверы удаляются. В случае удаления возвращаемая структура данных будет иметьactionустановленное вdelete, и будут удалены самые старые серверы в группе. - Можно использовать следующие переменные среды:
RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION. -
RAX_CREDENTIALSиRAX_CREDS_FILEуказывают на файл с данными для авторизации pyrax. См. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAMEиRAX_API_KEYпозволяют обойтись без файла с данными для авторизации. -
RAX_REGIONопределяет регион облака Rackspace Public Cloud (DFW, ORD, LON и т. д.).
Примеры
- name: Build a Cloud Server
gather_facts: False
tasks:
- name: Server build request
local_action:
module: rax
credentials: ~/.raxpub
name: rax-test1
flavor: 5
image: b11d9567-e412-4255-96b9-bd63ab23bcfe
key_name: my_rackspace_key
files:
/root/test.txt: /home/localuser/test.txt
wait: yes
state: present
networks:
- private
- public
register: rax
- name: Build an exact count of cloud servers with incremented names
hosts: local
gather_facts: False
tasks:
- name: Server build requests
local_action:
module: rax
credentials: ~/.raxpub
name: test%03d.example.org
flavor: performance1-1
image: ubuntu-1204-lts-precise-pangolin
state: present
count: 10
count_offset: 10
exact_count: yes
group: test
wait: yes
register: rax
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Jesse Keating (@omgjlk)
- Matt Martz (@sivel)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/rax_module.html