cs_firewall - Управляет правилами брандмауэра в облаках на базе Apache CloudStack.
Новая в версии 2.0.
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Создаёт и удаляет правила брандмауэра.
Требования (к хосту, на котором выполняется модуль)
- python >= 2.6
- cs >= 0.6.10
Параметры
| параметр | обязательно | по умолчанию | выбор | комментарии |
|---|---|---|---|---|
| account | нет | Аккаунт, к которому относится правило брандмауэра. | ||
| api_http_method | нет | get |
| Используемый HTTP-метод. |
| api_key | нет | Ключ API CloudStack API. | ||
| api_region | нет | cloudstack | Имя раздела ini в файле cloustack.ini. | |
| api_secret | нет | Секретный ключ CloudStack API. | ||
| api_timeout | нет | 10 | Таймаут HTTP. | |
| api_url | нет | URL CloudStack API, например, https://cloud.example.com/client/api. | ||
| cidr | нет | 0.0.0.0/0 | 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 | нет | True | Ожидать завершения асинхронных задач. | |
| project | нет | Имя проекта, к которому относится правило брандмауэра. | ||
| protocol | нет | tcp |
| Протокол правила брандмауэра. all доступен только, если type=egress
|
| start_port | нет | Начальный порт для этого правила. Учитывается, если protocol=tcp или protocol=udp.псевдонимы: порт | ||
| state | нет | present |
| Состояние правила брандмауэра. |
| tags (добавлено в 2.4)
| нет | Список тегов. Теги — список словарей с ключами key и value.Чтобы удалить все теги, установите пустой список, например, tags: [].псевдонимы: тег | ||
| type | нет | ingress |
| Тип правила брандмауэра. |
| zone | нет | Имя зоны, в которой находится виртуальная машина. Если не задано, используется зона по умолчанию. |
Примеры
# 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
# 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
# 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
# Allow all outbound traffic
- local_action:
module: cs_firewall
network: my_network
type: egress
protocol: all
# 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 |
| 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 |
Примечания
Примечание
- 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 можно найти по адресу http://docs.ansible.com/ansible/guide_cloudstack.html
- Этот модуль поддерживает режим проверки.
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют отсутствие несовместимых с предыдущими версиями изменений интерфейса.
Для получения помощи в разработке модулей, если у вас есть такое желание, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/cs_firewall_module.html