ngine_io.cloudstack.cs_ip_address – Управляет ассоциациями публичных IP-адресов в облаках на базе Apache CloudStack.
Примечание
Этот плагин входит в коллекцию ngine_io.cloudstack (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack
Для использования в книге задач укажите: ngine_io.cloudstack.cs_ip_address
Новое в версии 0.1.0: модуля ngine_io.cloudstack
Обзор
- Получает и связывает публичный IP-адрес с учётной записью или проектом.
- Из-за ограничений API это не идемпотентный вызов, поэтому убедитесь, что вызываете его только условно, когда state=present.
- Добавление тегов к IP-адресу также может сделать вызов идемпотентным.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, выполняющем этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| 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, см. также примечания. | |
| api_verify_ssl_cert строка | Файл сертификата CA. Если не указан, рассматривается переменная среды CLOUDSTACK_VERIFY. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. Значение по умолчанию null, если не указано. | |
| domain строка | Домен, к которому относится IP-адрес. | |
| ip_address строка | Публичный IP-адрес. Обязательно, если state=absent и tags не заданы. | |
| network строка | Сеть, к которой относится IP-адрес. Взаимоисключительно с vpc. | |
| poll_async булево |
| Ожидать завершения асинхронных задач. |
| project строка | Имя проекта, к которому относится IP-адрес. | |
| state строка |
| Состояние IP-адреса. |
| tags список / элементы=словарь | Список тегов. Теги — список словарей с ключами key и value. Теги могут использоваться в качестве уникального идентификатора IP-адресов. В этом случае, по крайней мере, один из них должен быть уникальным для обеспечения идемпотентности. псевдонимы: tag | |
| vpc строка | VPC, к которому относится IP-адрес. Взаимоисключительно с network. | |
| 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 conditionally
ngine_io.cloudstack.cs_ip_address:
network: My Network
register: ip_address
when: instance.public_ip is undefined
- name: Disassociate an IP address
ngine_io.cloudstack.cs_ip_address:
ip_address: 1.2.3.4
state: absent
- name: Associate an IP address with tags
ngine_io.cloudstack.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
ngine_io.cloudstack.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 словарь | успех | Список тегов ресурсов, связанных с IP-адресом. Пример: [ { "key": "myCustomID", "value": "5510c31a-416e-11e8-9013-02000a6b00bf" } ] |
| zone строка | успех | Имя зоны, к которой относится IP-адрес. Пример: ch-gva-2 |
Авторы
- 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.10/collections/ngine_io/cloudstack/cs_ip_address_module.html