You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decort-ansible/wiki/7.0.0/модуль-decort_pfw.md

6.2 KiB

Модуль decort_pfw

Обзор модуля decort_pfw

Модуль decort_pfw предназначен для настройки правил переадресации портов (port forwarding, destination NAT) на виртуальном маршрутизаторе заданной внутренней сети для заданной виртуальной машины.
Модуль поддерживает выполнение следующих действий над правилами:

  • добавить
  • получить информацию
  • удалить

Параметры модуля decort_pfw

Ниже приведен список параметров для модуля decort_pfw (за исключением общих параметров авторизации):

Параметр Тип, допустимые значения Описание
compute_id (int) Идентификатор виртуальной машины. IP-адрес, который данная ВМ имеет во внутренней сети, заданной параметром vins_id, будет использоваться как внутренний IP-адрес в правилах. Обязательный параметр.
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).
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 }}"