cs_firewall - Управляет правилами брандмауэра в облаках на базе Apache CloudStack.
Новая версия с 2.0.
Описание
- Создаёт и удаляет правила брандмауэра.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- cs >= 0.6.10
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account | Аккаунт, к которому относится правило брандмауэра. | |
| 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, см. также примечания. | |
| cidrs | Значение по умолчанию: "0.0.0.0/0" | Список CIDR (полная запись) для использования в правиле брандмауэра. С версии 2.5 — список CIDR. Псевдонимы: cidr |
| domain | Домен, к которому относится правило брандмауэра. | |
| end_port | Конечный порт для данного правила. Учитывается, если protocol=tcp или protocol=udp. Если не указан, равен start_port. | |
| icmp_code | Код ошибки для этого сообщения icmp. Рассматривается, если protocol=icmp. | |
| icmp_type | Тип сообщения icmp. Рассматривается, если protocol=icmp. | |
| ip_address | Общедоступный IP-адрес, присвоенный правилу входящего трафика. Обязателен, если type=ingress. | |
| network | Сеть, к которой относится правило исходящего трафика. Обязателен, если type=egress. | |
| poll_async bool |
| Ожидать завершения асинхронных задач. |
| project | Название проекта, к которому относится правило брандмауэра. | |
| protocol |
| Протокол правила брандмауэра. all доступен только, если type=egress. |
| start_port | Начальный порт для данного правила. Учитывается, если protocol=tcp или protocol=udp. Псевдонимы: port | |
| state |
| Состояние правила брандмауэра. |
| tags (добавлен в 2.4) | Список тегов. Теги — список словарей, содержащих ключи key и value. Для удаления всех тегов задайте пустой список, например, tags: []. Псевдонимы: tag | |
| type |
| Тип правила брандмауэра. |
| 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: Allow inbound port 80/tcp from 1.2.3.4 to 4.3.2.1
local_action:
module: cs_firewall
ip_address: 4.3.2.1
port: 80
cidr: 1.2.3.4/32
- name: Allow inbound tcp/udp port 53 to 4.3.2.1
local_action:
module: cs_firewall
ip_address: 4.3.2.1
port: 53
protocol: '{{ item }}'
with_items:
- tcp
- udp
- name: Ensure firewall rule is removed
local_action:
module: cs_firewall
ip_address: 4.3.2.1
start_port: 8000
end_port: 8888
cidr: 17.0.0.0/8
state: absent
- name: Allow all outbound traffic
local_action:
module: cs_firewall
network: my_network
type: egress
protocol: all
- name: Allow only HTTP outbound traffic for an IP
local_action:
module: cs_firewall
network: my_network
type: egress
port: 80
cidr: 10.101.1.20
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| cidr строка | успех | Строка CIDR правила. Пример: 0.0.0.0/0 |
| cidrs список (добавлен в версии 2.5) | успех | Список CIDR правила. Пример: ['0.0.0.0/0'] |
| end_port целое число | успех | Конечный порт правила. Пример: 80 |
| icmp_code целое число | успех | Код ICMP правила. Пример: 1 |
| icmp_type целое число | успех | Тип ICMP правила. Пример: 1 |
| id строка | успех | UUID правила. Пример: 04589590-ac63-4ffc-93f5-b698b8ac38b6 |
| ip_address строка | успех | IP-адрес правила, если type=ingress
Пример: 10.100.212.10 |
| network строка | успех | Имя сети, если type=egress
Пример: my_network |
| protocol строка | успех | Протокол правила. Пример: tcp |
| start_port целое число | успех | Начальный порт правила. Пример: 80 |
| type строка | успех | Тип правила. Пример: ingress |
Статус
Этот модуль помечен как 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_firewall_module.html