openstack.cloud.security_group_rule – Добавить/Удалить правило из существующей группы безопасности
Примечание
Этот плагин входит в состав коллекции openstack.cloud (версия 1.2.1).
Для его установки используйте: ansible-galaxy collection install openstack.cloud
Для использования в плейбуке укажите: openstack.cloud.security_group_rule
Обзор
- Добавить или удалить правило из существующей группы безопасности
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- python >= 3.6
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_timeout целое число | Сколько времени должен ждать уровень сокета, прежде чем истечёт время ожидания для вызовов API. Если это значение опущено, оно не будет передано в библиотеку requests. | |
| auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии плагина авторизации облака. Для плагина по умолчанию password, он должен содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других плагинов этот параметр должен содержать параметры, требуемые плагином авторизации. Этот параметр не требуется, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. | |
| auth_type строка | Имя плагина авторизации для использования. Если облако использует что-то кроме аутентификации по паролю, имя плагина должно быть указано здесь, и содержимое параметра auth должно быть соответствующим образом обновлено. | |
| availability_zone строка | Игнорируется. Присутствует для обратной совместимости | |
| ca_cert строка | Путь к пакету сертификатов CA, который может использоваться для проверки запросов SSL API. псевдонимы: cacert | |
| client_cert строка | Путь к клиенту сертификата для использования в рамках SSL-транзакции. псевдонимы: cert | |
| client_key строка | Путь к ключу клиента для использования в рамках SSL-транзакции. псевдонимы: key | |
| cloud сырые данные | Именованное облако или конфигурация облака для работы с ним. Если cloud является строкой, она ссылается на именованную конфигурацию облака, определённую в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не требуется, если задан auth или присутствуют переменные окружения OpenStack OS_*. Если cloud является словарем, он содержит полную конфигурацию облака, как в разделе clouds.yaml. | |
| direction строка |
| Направление, в котором применяется правило группы безопасности. Не все провайдеры поддерживают egress. |
| ethertype строка |
| Должно быть IPv4 или IPv6, и адреса, представленные в CIDR, должны соответствовать правилам ingress или egress. Не все провайдеры поддерживают IPv6. |
| interface строка |
| Тип URL конечной точки для извлечения из каталога сервисов. псевдонимы: endpoint_type |
| port_range_max целое число | Конечный порт | |
| port_range_min целое число | Начальный порт | |
| project строка | Уникальное имя или идентификатор проекта. | |
| protocol строка |
| Протоколы IP ANY TCP UDP ICMP 112 (VRRP) 132 (SCTP) |
| region_name строка | Имя региона. | |
| remote_group строка | Имя или ID группы безопасности для связи (исключительно с remote_ip_prefix) | |
| remote_ip_prefix строка | Адрес(ы) источника IP в нотации CIDR (исключительно с remote_group) | |
| security_group строка / обязательно | Имя или ID группы безопасности | |
| state строка |
| Должен ли ресурс присутствовать или отсутствовать. |
| timeout целое число | По умолчанию: 180 | Сколько времени Ansible должен ждать запрашиваемый ресурс. |
| validate_certs булево |
| Нужно ли проверять запросы SSL API. До Ansible 2.3 это по умолчанию было yes.псевдонимы: verify |
| wait булево |
| Должен ли Ansible ждать, пока запрашиваемый ресурс не будет завершён. |
Примечания
Примечание
- Стандартные переменные окружения OpenStack, такие как
OS_USERNAME, могут использоваться вместо явного указания значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут поступать из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных окружения, и, наконец, из явных параметров в плейбуках. Более подробную информацию можно найти на сайте https://docs.openstack.org/openstacksdk/
Примеры
# Create a security group rule
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
port_range_min: 80
port_range_max: 80
remote_ip_prefix: 0.0.0.0/0
# Create a security group rule for ping
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
remote_ip_prefix: 0.0.0.0/0
# Another way to create the ping rule
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
port_range_min: -1
port_range_max: -1
remote_ip_prefix: 0.0.0.0/0
# Create a TCP rule covering all ports
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
port_range_min: 1
port_range_max: 65535
remote_ip_prefix: 0.0.0.0/0
# Another way to create the TCP rule above (defaults to all ports)
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: tcp
remote_ip_prefix: 0.0.0.0/0
# Create a rule for VRRP with numbered protocol 112
- openstack.cloud.security_group_rule:
security_group: loadbalancer_sg
protocol: 112
remote_group: loadbalancer-node_sg
# Create a security group rule for a given project
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: icmp
remote_ip_prefix: 0.0.0.0/0
project: myproj
# Remove the default created egress rule for IPv4
- openstack.cloud.security_group_rule:
cloud: mordred
security_group: foo
protocol: any
remote_ip_prefix: 0.0.0.0/0
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| direction строка | state == present | Направление, в котором применяется правило группы безопасности. Пример: egress |
| ethertype строка | state == present | Один из IPv4 или IPv6. Пример: IPv4 |
| id строка | state == present | Уникальный UUID правила. |
| port_range_max целое число | state == present | Максимальное значение порта в диапазоне, которое соответствует правилу группы безопасности. Пример: 8000 |
| port_range_min целое число | state == present | Минимальное значение порта в диапазоне, которое соответствует правилу группы безопасности. Пример: 8000 |
| protocol строка | state == present | Протокол, который соответствует правилу группы безопасности. Пример: tcp |
| remote_ip_prefix строка | state == present | Префикс удаленного IP-адреса, который необходимо связать с этим правилом группы безопасности. Пример: 0.0.0.0/0 |
| security_group_id строка | state == present | Идентификатор группы безопасности, который необходимо связать с этим правилом группы безопасности. |
Авторы
- OpenStack Ansible SIG
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/openstack/cloud/security_group_rule_module.html