community.general.rax – создание/удаление экземпляра в облаке Rackspace Public Cloud
Примечание
Этот плагин входит в состав коллекции community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в книге задач укажите: community.general.rax.
Описание
- создает/удаляет экземпляр Rackspace Public Cloud и, необязательно, ожидает его перехода в состояние «запущен».
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- pyrax
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Ключ API Rackspace, переопределяет credentials. псевдонимы: password | |
| auth_endpoint строка | URI службы аутентификации. Если не указано, будет установлено значение https://identity.api.rackspacecloud.com/v2.0/
| |
| auto_increment логическое |
| Устанавливать ли счётчик с именем созданного сервера. Применимо только при использовании атрибута group или ключа meta. |
| boot_from_volume логическое |
| Загружать ли экземпляр с тома Cloud Block Storage. Если yes, и image указано, при загрузке будет создан новый том. boot_volume_size требуется вместе с image для создания нового тома при загрузке. |
| boot_volume строка | ID или имя тома Cloud Block Storage для использования в качестве загрузочного тома экземпляра | |
| boot_volume_size целое число | Значение по умолчанию: 100 | Размер создаваемого тома в гигабайтах. Требуется только вместе с image и boot_from_volume. |
| boot_volume_terminate логическое |
| Удалить ли boot_volume или новый том, созданный из image, при удалении сервера |
| config_drive логическое |
| Присоединить только для чтения том конфигурации к серверу как метку config-2 |
| count целое число | Значение по умолчанию: 1 | количество запускаемых экземпляров |
| count_offset целое число | Значение по умолчанию: 1 | номер с которого начинать подсчёт |
| credentials путь | Файл для поиска учетных данных Rackspace. Игнорируется, если указаны api_key и username. псевдонимы: creds_file | |
| disk_config строка |
| Стратегия разбиения диска Если не указано, предполагается значение auto. |
| env строка | Настройка среды, как в ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| exact_count логическое |
| Явно обеспечить точное количество экземпляров, используется со state=active/present. Если указано как yes, и count меньше, чем совпадающие серверы, серверы будут удалены, чтобы соответствовать количеству. Если количество совпадающих серверов меньше, чем указано в count, будут добавлены дополнительные серверы. |
| extra_client_args словарь | Хэш пар ключ/значение, которые будут использоваться при создании клиента cloudservers. Это считается расширенным вариантом, используйте его разумно и с осторожностью. | |
| extra_create_args словарь | Хэш пар ключ/значение, которые будут использоваться при создании нового сервера. Это считается расширенным вариантом, используйте его разумно и с осторожностью. | |
| files словарь | Файлы для вставки в экземпляр. remotefilename:localcontent | |
| flavor строка | тип экземпляра для использования | |
| group строка | группа хостов для назначения сервера, также используется для идемпотентных операций, чтобы гарантировать определённое количество экземпляров | |
| identity_type строка | Значение по умолчанию: "rackspace" | Механизм аутентификации, например, rackspace или keystone. |
| image строка | используемый образ для экземпляра. Может быть id, human_id или name. При boot_from_volume, будет создан том Cloud Block Storage с этим образом | |
| instance_ids список / элементы=строка | список id экземпляров, в настоящее время используется только при state='absent' для удаления экземпляров | |
| key_name строка | ключевая пара для использования на экземпляре псевдонимы: keypair | |
| meta словарь | Хэш метаданных, которые нужно связать с экземпляром | |
| name строка | Имя, которое нужно присвоить экземпляру | |
| networks список / элементы=строка | Значение по умолчанию: ["public", "private"] | Сеть для подключения к экземплярам. Если указано, вы должны включить ВСЕ сети, включая публичные и частные интерфейсы. Может быть id или label. |
| region строка | Регион для создания экземпляра. | |
| state строка |
| Указать желаемое состояние ресурса |
| tenant_id строка | ID арендатора, используемый для аутентификации. | |
| tenant_name строка | Имя арендатора, используемое для аутентификации. | |
| user_data строка | Данные, которые нужно загрузить в том конфигурации серверов. Этот параметр подразумевает config_drive. Может быть путём к файлу или строкой | |
| username строка | Имя пользователя Rackspace, переопределяет credentials. | |
| validate_certs логическое |
| Требовать или нет проверку SSL API-точек доступа. псевдонимы: verify_ssl |
| wait логическое |
| подождать, пока экземпляр не перейдёт в состояние «запущен», прежде чем вернуть результат |
| wait_timeout целое число | Значение по умолчанию: 300 | время ожидания в секундах |
Примечания
Примечание
-
exact_count может быть «разрушительным», если количество работающих серверов в группе больше, чем указано в 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, …)
Примеры
- 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
Авторы
- Jesse Keating (@omgjlk)
- Matt Martz (@sivel)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/rax_module.html