cs_portforward - Управляет правилами переадресации портов в облаках на основе Apache CloudStack.
Новое в версии 2.0.
Обзор
- Создание, обновление и удаление правил переадресации портов.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- cs >= 0.6.10
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account | Аккаунт, к которому относится vm. | |
| api_http_method |
| HTTP-метод, используемый для запроса к API-точке. Если не указано, используется переменная среды CLOUDSTACK_METHOD. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. Значение по умолчанию: get при отсутствии указания. |
| api_key | API-ключ CloudStack API. Если не указано, используется переменная среды CLOUDSTACK_KEY. В качестве последнего варианта, значение берется из файла конфигурации ini, см. также примечания. | |
| api_region | По умолчанию: "cloudstack" | Имя раздела в файле конфигурации 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 | Домен, к которому относится vm. | |
| ip_address обязательно | Общедоступный IP-адрес, которому назначено правило. | |
| network (добавлено в 2.3) | Имя сети. | |
| open_firewall | По умолчанию: "нет" | Создавать ли правило брандмауэра для общедоступного порта при создании нового правила. Используйте cs_firewall для управления правилами брандмауэра. |
| poll_async | По умолчанию: "да" | Проверяйте асинхронные задачи до завершения. |
| private_end_port | Конечный частный порт для данного правила. Если не указано, равно private_port. | |
| private_port обязательно | Начальный частный порт для данного правила. | |
| project | Имя проекта, в котором находится vm. | |
| protocol |
| Протокол правила переадресации портов. |
| public_end_port | Конечный общедоступный порт для данного правила. Если не указано, равно public_port. | |
| public_port обязательно | Начальный общедоступный порт для данного правила. | |
| state |
| Состояние правила переадресации портов. |
| tags (добавлено в 2.4) | Список тегов. Теги представляют собой список словарей, имеющих ключи key и value. Чтобы удалить все теги, установите пустой список, например, tags: []. псевдонимы: tag | |
| vm | Имя виртуальной машины, для которой создается правило переадресации портов. Требуется, если state=present. | |
| vm_guest_ip | По умолчанию: "нет" | Вторичный IP-адрес гостевой сети виртуальной машины для правила переадресации портов. |
| vpc (добавлено в 2.3) | Имя VPC. | |
| zone | Имя зоны, в которой находится виртуальная машина. Если не указано, используется зона по умолчанию. |
Примечания
Примечание
- 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: 1.2.3.4:80 -> web01:8080
local_action:
module: cs_portforward
ip_address: 1.2.3.4
vm: web01
public_port: 80
private_port: 8080
- name: forward SSH and open firewall
local_action:
module: cs_portforward
ip_address: '{{ public_ip }}'
vm: '{{ inventory_hostname }}'
public_port: '{{ ansible_ssh_port }}'
private_port: 22
open_firewall: true
- name: forward DNS traffic, but do not open firewall
local_action:
module: cs_portforward
ip_address: 1.2.3.4
vm: '{{ inventory_hostname }}'
public_port: 53
private_port: 53
protocol: udp
- name: remove ssh port forwarding
local_action:
module: cs_portforward
ip_address: 1.2.3.4
public_port: 22
private_port: 22
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| id строка | успех | UUID публичного IP-адреса. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| ip_address строка | успех | Публичный IP-адрес. Пример: 1.2.3.4 |
| network строка | успех | Имя сети. Пример: dmz |
| private_end_port целое число | успех | Конечный порт на IP-адресе виртуальной машины. |
| private_port целое число | успех | Начальный порт на IP-адресе виртуальной машины. Пример: 80 |
| protocol строка | успех | Протокол. Пример: tcp |
| public_end_port целое число | успех | Конечный порт на публичном IP-адресе. Пример: 80 |
| public_port целое число | успех | Начальный порт на публичном IP-адресе. Пример: 80 |
| tags список | успех | Теги, относящиеся к переадресации портов. |
| vm_display_name строка | успех | Имя для отображения виртуальной машины. Пример: web-01 |
| vm_guest_ip строка | успех | IP-адрес виртуальной машины. Пример: 10.101.65.152 |
| vm_name строка | успех | Имя виртуальной машины. Пример: web-01 |
| vpc строка | успех | Имя VPC. Пример: my_vpc |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие изменений интерфейса, несовместимых со старыми версиями.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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_portforward_module.html