10 KiB
Модуль decort_pfw
Обзор модуля decort_pfw
Модуль decort_pfw предназначен для настройки правил переадресации портов (port forwarding, destination NAT) на виртуальном маршрутизаторе заданной внутренней сети для заданной виртуальной машины.
Модуль поддерживает выполнение следующих действий над правилами:
- добавить
- получить информацию
- удалить
Параметры модуля decort_pfw
Ниже в алфавитном порядке приведен полный список параметров для модуля decort_pfw. Актуальную информацию по параметрам, которые поддерживает версия модуля, установленного на вашем Ansible-сервере, можно получить командой:
ansible-doc -t module decort_pfw
Параметр | Тип, допустимые значения | Описание |
---|---|---|
app_id | (string) | Идентификатор приложения, использующийся для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_APP_ID . |
app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения DECORT_APP_SECRET . |
authenticator | (str) Значения: oauth2 jwt |
Режим аутентификации при подключении к контроллеру облачной платформы DECORT. Обязательный параметр. |
compute_id | (int) | Идентификатор виртуальной машины. IP-адрес, который данная ВМ имеет во внутренней сети, заданной параметром vins_id , будет использоваться как внутренний IP-адрес в правилах. Обязательный параметр. |
controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT. Данный параметр является обязательным. |
jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме authenticator: jwt . Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения DECORT_JWT . |
oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме authenticator: oauth2 . Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения DECORT_OAUTH2_URL . |
rules | (list) | Список словарей, описывающих правила переадресации портов для заданной ВМ (параметр compute_id ) на виртуальном маршрутизаторе заданной внутренней сети (параметр vins_id ).Ключи словаря: • local_port (int) (обязательный) - внутренний порт; значения: от 1 до 65535 • proto (str) (обязательный) - протокол; значения: tcp или udp • public_port_end (int) (необязательный) - верхняя граница диапазона внешних портов; значения: от значения ключа public_port_start до 65535 ;• public_port_start (int) (обязательный) - нижняя граница диапазона внешних портов; значения: от 1 до 65535 |
state | (str) Значения: present absent Default: present |
Целевое состояние правил. Если state=absent , то, независимо от содержания параметра rules , будут удалены все правила для заданной ВМ (параметр compute_id ) на виртуальном маршрутизаторе заданной внутренней сети (параметр vins_id ). |
verify_ssl | (bool) Default: true |
Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты. Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
vins_id | (int) | Идентификатор внутренней сети, на виртуальном маршрутизаторе которой настраиваются правила переадресации портов. Заданная ВМ (параметр compute_id ) должна быть подключена к этой сети. Обязательный параметр. |
Возвращаемые значения модуля decort_pfw
Модуль decort_pfw возвращает информацию о правилах переадресации портов и сопутствующую информацию в виде словаря facts
со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
compute_id | int | Идентификатор ВМ. |
public_ip | string | IP-адрес во внешней сети, настроенный на виртуальном маршрутизаторе внутренней сети. |
rules | list | Список словарей, описывающих правила переадресации портов. Ключи словаря: • id (int) - идентификатор правила• localIp (str) - IP-адрес ВМ• localPort (int) - внутренний порт• protocol (str) - протокол• publicPortEnd (int) - верхняя граница диапазона внешних портов• publicPortStart (int) - нижняя граница диапазона внешних портов• vmId (int) - идентификатор ВМ• vmName (str) - имя ВМ |
state | string | Статус правил. Значения: PRESENT или ABSENT . |
vins_id | int | Идентификатор внутренней сети. |
Пример использования модуля decort_pfw
В данном примере для существующей ВМ (параметр compute_id
), подключённой к внутренней сети (параметр vins_id
), настраиваются два правила переадресации портов:
- Правило для одного порта: внешний порт
30022
на внутренний порт22
по протоколуtcp
. - Правило для диапазона портов: внешние порты с
30080
по30085
на внутренние порты с30080
по протоколуudp
.
- name: Add port forwarding rules
decort_pfw:
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
authenticator: oauth2
compute_id: "{{ my_vm.facts.id }}"
controller_url: "https://cloud.digitalenergy.online"
oauth2_url: "https://sso.digitalenergy.online"
rules:
- local_port: 22
proto: tcp
public_port_start: 30022
- local_port: 30080
proto: udp
public_port_end: 30085
public_port_start: 30080
vins_id: "{{ my_vins.facts.id }}"
register: my_pfw_rules
В данном примере результат выполнения модуля decort_pfw записывается в переменную my_pfw_rules
. Для доступа к списку правил используйте следующую конструкцию:
"{{ my_pfw_rules.facts.rules }}"