cs_ip_address - Управляет ассоциациями публичных IP-адресов в облаках на основе Apache CloudStack.
Новая версия 2.0.
Обзор
- Получает и связывает публичный IP-адрес со счетом или проектом.
- Из-за ограничений API это не идемпотентный вызов, поэтому убедитесь, что вы вызываете его только условно, когда
state=present. - Добавление тегов к IP-адресу также может сделать вызов идемпотентным.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- cs >= 0.6.10
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account | Аккаунт, к которому относится IP-адрес. | |
| api_http_method |
| 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, см. также примечания. | |
| domain | Домен, к которому относится IP-адрес. | |
| ip_address | Публичный IP-адрес. Требуется, если state=absent и tags не заданы | |
| network | Сеть, к которой относится IP-адрес. | |
| poll_async bool |
| Ожидать асинхронные задачи, пока задача не завершится. |
| project | Название проекта, к которому относится IP-адрес. | |
| state |
| Состояние IP-адреса. |
| tags (добавлено в 2.6) | Список тегов. Теги представляют собой список словарей с ключами key и value. Теги могут использоваться в качестве уникального идентификатора для IP-адресов. В этом случае хотя бы один из них должен быть уникальным для обеспечения идемпотентности. псевдонимы: тег | |
| vpc (добавлено в 2.2) | VPC, к которому относится IP-адрес. | |
| zone | Имя зоны, в которой находится IP-адрес. Если не указано, используется зона по умолчанию. |
Примечания
Примечание
- 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: Associate an IP address conditonally
local_action:
module: cs_ip_address
network: My Network
register: ip_address
when: instance.public_ip is undefined
- name: Disassociate an IP address
local_action:
module: cs_ip_address
ip_address: 1.2.3.4
state: absent
- name: Associate an IP address with tags
local_action:
module: cs_ip_address
network: My Network
tags:
- key: myCustomID
- value: 5510c31a-416e-11e8-9013-02000a6b00bf
register: ip_address
- name: Disassociate an IP address with tags
local_action:
module: cs_ip_address
state: absent
tags:
- key: myCustomID
- value: 5510c31a-416e-11e8-9013-02000a6b00bf
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| account строка | успех | Аккаунт, к которому относится IP-адрес. Пример: example account |
| domain строка | успех | Домен, к которому относится IP-адрес. Пример: example domain |
| id строка | успех | UUID публичного IP-адреса. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| ip_address строка | успех | Публичный IP-адрес. Пример: 1.2.3.4 |
| project строка | успех | Имя проекта, к которому относится IP-адрес. Пример: Production |
| tags словарь (добавлено в 2.6) | успех | Список тегов ресурсов, связанных с IP-адресом. Пример: [ { "key": "myCustomID", "value": "5510c31a-416e-11e8-9013-02000a6b00bf" } ] |
| zone строка | успех | Имя зоны, к которой относится IP-адрес. Пример: ch-gva-2 |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые изменения интерфейса.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Более подробную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Darren Worrall (@dazworrall)
- 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.6/modules/cs_ip_address_module.html