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-ключ API CloudStack. Если не указан, рассматривается переменная среды CLOUDSTACK_KEY. В качестве последнего варианта, значение берётся из файла конфигурации ini, см. также примечания. | |
| api_region - | Значение по умолчанию: "cloudstack" | Имя раздела ini в файле cloustack.ini. Если не указано, рассматривается переменная среды CLOUDSTACK_REGION. |
| api_secret - | Секретный ключ API CloudStack. Если не задан, рассматривается переменная среды CLOUDSTACK_SECRET. В качестве последнего варианта, значение берётся из файла конфигурации ini, см. также примечания. | |
| api_timeout - | Таймаут HTTP в секундах. Если не указан, рассматривается переменная среды CLOUDSTACK_TIMEOUT. В качестве последнего варианта, значение берётся из файла конфигурации ini, см. также примечания. Значение по умолчанию – 10 секунд, если не указано. | |
| api_url - | URL API CloudStack, например 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]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- 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.7/modules/cs_portforward_module.html