rax - создание/удаление экземпляра в Rackspace Public Cloud
Описание
- создаёт/удаляет экземпляр Rackspace Public Cloud и необязательно ожидает, пока он станет «запущенным».
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- pyrax
Параметры
| параметр | обязательный | по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| api_key | нет | Ключ API Rackspace, переопределяет credentials. алиасы: пароль | ||
| auth_endpoint (добавлен в 1.5)
| нет | https://identity.api.rackspacecloud.com/v2.0/ | URI службы аутентификации. | |
| auto_increment (добавлен в 1.5)
| нет | True |
| Увеличивать ли автоматически одно число с именем созданных серверов. Применимо только при использовании атрибута group или мета ключа. |
| boot_from_volume (добавлен в 1.9)
| нет | нет |
| Загружать ли экземпляр с тома облачного блочного хранилища. Если указаны yes и image, новый том будет создан во время запуска. boot_volume_size требуется вместе с image для создания нового тома во время запуска. |
| boot_volume (добавлен в 1.9)
| нет | Идентификатор или имя тома облачного блочного хранилища, используемого в качестве загрузочного тома экземпляра | ||
| boot_volume_size (добавлен в 1.9)
| нет | 100 | Размер создаваемого тома в гигабайтах. Требуется только с image и boot_from_volume. | |
| boot_volume_terminate (добавлен в 1.9)
| нет | Подлежит ли boot_volume или недавно созданный том из image удалению при удалении сервера | ||
| config_drive (добавлен в 1.7)
| нет |
| Присоединить только для чтения том конфигурации к серверу как метка config-2 | |
| count (добавлен в 1.4)
| нет | 1 | количество экземпляров, которые необходимо запустить | |
| count_offset (добавлен в 1.4)
| нет | 1 | номер, с которого начинать счёт | |
| credentials | нет | Файл, в котором находятся учетные данные Rackspace. Игнорируется, если указаны api_key и username. алиасы: creds_file | ||
| disk_config (добавлен в 1.4)
| нет | auto |
| Стратегия разбиения дисков |
| env (добавлен в 1.5)
| нет | Среда, как настроено в ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | ||
| exact_count (добавлен в 1.4)
| нет |
| Явно гарантировать точное количество экземпляров, используется со state=active/present. Если указано yes, и count меньше сопоставленных серверов, серверы будут удалены, чтобы соответствовать счету. Если количество сопоставленных серверов меньше, чем указано в count, дополнительные серверы будут добавлены. | |
| extra_client_args (добавлен в 1.6)
| нет | Словарь пар ключ/значение, используемых при создании клиента cloudservers. Это считается расширенным параметром, используйте его разумно и с осторожностью. | ||
| extra_create_args (добавлен в 1.6)
| нет | Словарь пар ключ/значение, используемых при создании нового сервера. Это считается расширенным параметром, используйте его разумно и с осторожностью. | ||
| files | нет | Файлы для вставки в экземпляр. remotefilename:localcontent | ||
| flavor | нет | Используемый flavor экземпляра | ||
| group (добавлен в 1.4)
| нет | Группа хостов для назначения серверу, также используется для идемпотентных операций, чтобы гарантировать определенное количество экземпляров | ||
| identity_type (добавлен в 1.5)
| нет | rackspace | Механизм аутентификации, например, rackspace или keystone. | |
| image | нет | Используемый image экземпляра. Может быть id, human_id или name. При boot_from_volume, том облачного блочного хранилища будет создан с этим image | ||
| instance_ids (добавлен в 1.4)
| нет | Список идентификаторов экземпляров, в настоящее время используется только при state='absent' для удаления экземпляров | ||
| key_name | нет | Используемая пара ключей на экземпляре алиасы: keypair | ||
| meta | нет | Словарь метаданных для ассоциации с экземпляром | ||
| name | нет | Имя, присваиваемое экземпляру | ||
| networks (добавлен в 1.4)
| нет | [u'public', u'private'] | Сеть, к которой подключаются экземпляры. Если указано, необходимо указать ВСЕ сети, включая публичные и частные интерфейсы. Может быть id или label. | |
| region | нет | DFW | Регион для создания экземпляра. | |
| state | нет | present |
| Указывает желаемое состояние ресурса |
| tenant_id (добавлен в 1.5)
| нет | Идентификатор арендатора, используемый для аутентификации. | ||
| tenant_name (добавлен в 1.5)
| нет | Имя арендатора, используемое для аутентификации. | ||
| user_data (добавлен в 1.7)
| нет | Данные, которые необходимо загрузить в том конфигурации серверов. Этот параметр подразумевает config_drive. Может быть путем к файлу или строкой | ||
| username | нет | Имя пользователя Rackspace, переопределяет credentials. | ||
| verify_ssl (добавлен в 1.5)
| нет | Требовать ли проверку SSL API-точек конечных. | ||
| wait | нет | нет |
| Ожидать, пока экземпляр не станет 'запущенным', прежде чем возвращаться |
| wait_timeout | нет | 300 | Через сколько секунд ожидание прекращается |
Примеры
- 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
Примечания
Примечание
-
exact_count может быть «деструктивным», если количество запущенных серверов в group больше, чем указано в count. В таком случае state фактически устанавливается в
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, ...)
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Для помощи в разработке модулей, если вы так склонны, пожалуйста, прочитайте Информацию сообщества и вклад, Тестирование 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/rax_module.html