ngine_io.cloudstack.cs_portforward – Управляет правилами переадресации портов на облаках, основанных на Apache CloudStack.
Примечание
Этот плагин входит в коллекцию ngine_io.cloudstack (версия 2.0.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack
Чтобы использовать его в книге задач, укажите: ngine_io.cloudstack.cs_portforward
Новый в версии 0.1.0: of ngine_io.cloudstack
Описание
- Создание, обновление и удаление правил переадресации портов.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account строка | Аккаунт, к которому относится vm. | |
| api_http_method строка |
| HTTP-метод, используемый для запроса к API-точке входа. Если не задано, рассматривается переменная окружения CLOUDSTACK_METHOD. |
| api_key строка / обязательно | Ключ API CloudStack API. Если не задано, рассматривается переменная окружения CLOUDSTACK_KEY. | |
| api_secret строка / обязательно | Секретный ключ CloudStack API. Если не задано, рассматривается переменная окружения CLOUDSTACK_SECRET. | |
| api_timeout целое число | Значение по умолчанию: 10 | Таймаут HTTP в секундах. Если не задано, рассматривается переменная окружения CLOUDSTACK_TIMEOUT. |
| api_url строка / обязательно | URL CloudStack API, например, https://cloud.example.com/client/api. Если не задано, рассматривается переменная окружения CLOUDSTACK_ENDPOINT. | |
| api_verify_ssl_cert строка | Проверка файла сертификата авторитета CA. Если не задано, рассматривается переменная окружения CLOUDSTACK_VERIFY. | |
| domain строка | Домен, к которому относится vm. | |
| ip_address строка / обязательно | Общедоступный IP-адрес, которому назначено правило. | |
| network строка | Имя сети. Требуется при переадресации портов в VPC. | |
| open_firewall логическое значение |
| Указать, должно ли быть создано правило брандмауэра для общедоступного порта при создании нового правила. Не поддерживается при переадресации портов в VPC. Используйте cs_firewall для управления правилами брандмауэра. |
| poll_async логическое значение |
| Проверять асинхронные задачи до завершения работы. |
| private_end_port целое число | Конечный частный порт для этого правила. Если не указан, равен private_port. | |
| private_port целое число / обязательно | Начальный частный порт для этого правила. | |
| project строка | Имя проекта, в котором находится vm. | |
| protocol строка |
| Протокол правила переадресации портов. |
| public_end_port целое число | Конечный общедоступный порт для этого правила. Если не указан, равен public_port. | |
| public_port целое число / обязательно | Начальный общедоступный порт для этого правила. | |
| state строка |
| Состояние правила переадресации портов. |
| tags список / элементы=словарь | Список тегов. Теги представлены списком словарей, содержащих ключи key и value. Для удаления всех тегов задайте пустой список, например, tags: []. псевдонимы: tag | |
| vm строка | Имя виртуальной машины, для которой создается правило переадресации портов. Требуется, если state=present. | |
| vm_guest_ip строка | Вторичный IP-адрес VM гостевой сетевой карты для правила переадресации портов. | |
| vpc строка | Имя VPC. | |
| zone строка / обязательно | Имя зоны, в которой находится виртуальная машина. |
Примечания
Примечание
- Подробное руководство по модулям cloudstack можно найти в руководстве по облаку CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
- name: 1.2.3.4:80 -> web01:8080
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
vm: web01
public_port: 80
private_port: 8080
- name: forward SSH and open firewall
ngine_io.cloudstack.cs_portforward:
ip_address: '{{ public_ip }}'
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: '{{ ansible_ssh_port }}'
private_port: 22
open_firewall: true
- name: forward DNS traffic, but do not open firewall
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: 53
private_port: 53
protocol: udp
- name: remove ssh port forwarding
ngine_io.cloudstack.cs_portforward:
ip_address: 1.2.3.4
zone: zone01
public_port: 22
private_port: 22
state: absent
- name: forward SSH in backend tier of VPC
ngine_io.cloudstack.cs_portforward:
ip_address: '{{ public_ip }}'
zone: zone01
vm: '{{ inventory_hostname }}'
public_port: '{{ ansible_ssh_port }}'
private_port: 22
vpc: myVPC
network: backend
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| id строка | успех | UUID общедоступного IP-адреса. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| ip_address строка | успех | Общедоступный IP-адрес. Пример: 1.2.3.4 |
| network строка | успех | Имя сети. Пример: dmz |
| private_end_port целое число | успех | Конечный порт на IP-адресе виртуальной машины. Пример: 80 |
| 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 |
Авторы
- René Moser (@resmo)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ngine_io/cloudstack/cs_portforward_module.html